1 | |
---|
2 | SUBROUTINE UGLAST |
---|
3 | * |
---|
4 | * Termination routine to print histograms and statistics |
---|
5 | * |
---|
6 | #include "geant321/gcbank.inc" |
---|
7 | #include "geant321/gcflag.inc" |
---|
8 | #include "geant321/gckine.inc" |
---|
9 | #include "pvolum.inc" |
---|
10 | #include "celoss.inc" |
---|
11 | * |
---|
12 | DIMENSION XSEL1(NBIN),XSEL1C(NBIN),XSER1(NBIN),XSER1C(NBIN), |
---|
13 | + XSEL2(NBIN),XSEL2C(NBIN),XSER2(NBIN),XSER2C(NBIN) |
---|
14 | |
---|
15 | DIMENSION EDIST(100),EDISTC(100) |
---|
16 | * |
---|
17 | * *** Normalize and print energy distribution |
---|
18 | XEVENT=IEVENT |
---|
19 | CNORM = 100./(XEVENT*PKINE(3)) |
---|
20 | * |
---|
21 | * *** mean total energy deposit by charged and by neutral |
---|
22 | EDEPCH = CNORM*EDEPCH |
---|
23 | EDEPNE = CNORM*EDEPNE |
---|
24 | * |
---|
25 | * *** longitudinal profile |
---|
26 | DO 2 I = 1,NLTOT |
---|
27 | XSEL1 (I) = CNORM * SEL1 (I) |
---|
28 | XSEL2 (I) = CNORM*SQRT(ABS(XEVENT*SEL2 (I) - SEL1 (I)**2)) |
---|
29 | XSEL1C(I) = CNORM * SEL1C(I) |
---|
30 | XSEL2C(I) = CNORM*SQRT(ABS(XEVENT*SEL2C(I) - SEL1C(I)**2)) |
---|
31 | 2 CONTINUE |
---|
32 | CALL HPAK (5,XSEL2) |
---|
33 | CALL HPAK (7,XSEL2C) |
---|
34 | * |
---|
35 | * *** radial profile |
---|
36 | DO 3 I = 1,NRTOT |
---|
37 | XSER1 (I) = CNORM * SER1 (I) |
---|
38 | XSER2 (I) = CNORM*SQRT(ABS(XEVENT*SER2 (I) - SER1 (I)**2)) |
---|
39 | XSER1C(I) = CNORM * SER1C(I) |
---|
40 | XSER2C(I) = CNORM*SQRT(ABS(XEVENT*SER2C(I) - SER1C(I)**2)) |
---|
41 | 3 CONTINUE |
---|
42 | CALL HPAK ( 9,XSER2) |
---|
43 | CALL HPAK (11,XSER2C) |
---|
44 | * |
---|
45 | * *** total track length |
---|
46 | CNORM = 1./(XEVENT*X0) |
---|
47 | XTRCH1 = CNORM*STRCH1 |
---|
48 | XTRCH2 = CNORM*SQRT(ABS(XEVENT*STRCH2 - STRCH1**2)) |
---|
49 | XTRNE1 = CNORM*STRNE1 |
---|
50 | XTRNE2 = CNORM*SQRT(ABS(XEVENT*STRNE2 - STRNE1**2)) |
---|
51 | * |
---|
52 | * *** Print profiles (under condition iswit(2).gt.0) |
---|
53 | * |
---|
54 | if (iswit(2).gt.0) then |
---|
55 | PRINT 749 |
---|
56 | PRINT 750 |
---|
57 | PRINT 751 |
---|
58 | DO 15 I=1,NLTOT |
---|
59 | B0 = (I-1)*DLX0 |
---|
60 | B1 = I*DLX0 |
---|
61 | PRINT 754,B0,B1,XSEL1(I),XSEL2(I),B1,XSEL1C(I),XSEL2C(I) |
---|
62 | 15 CONTINUE |
---|
63 | |
---|
64 | PRINT 760 |
---|
65 | PRINT 751 |
---|
66 | DO 16 I=1,NRTOT |
---|
67 | B0 = (I-1)*DRX0 |
---|
68 | B1 = I*DRX0 |
---|
69 | PRINT 754,B0,B1,XSER1(I),XSER2(I),B1,XSER1C(I),XSER2C(I) |
---|
70 | 16 CONTINUE |
---|
71 | endif |
---|
72 | * |
---|
73 | * *** normalize histo of energy ditribution of contributing particles |
---|
74 | * and compute cumulative distribution |
---|
75 | SUM = HSUM (21) |
---|
76 | CALL HUNPAK(21,EDIST,'HIST',1) |
---|
77 | EDIST( 1) = EDIST(1)*100/SUM |
---|
78 | EDISTC(1) = EDIST(1) |
---|
79 | DO 17 I=2,100 |
---|
80 | EDIST (I) = EDIST (I)*100/SUM |
---|
81 | EDISTC(I) = EDISTC(I-1) + EDIST(I) |
---|
82 | 17 CONTINUE |
---|
83 | CALL HPAK (21,EDIST) |
---|
84 | CALL HPAK (22,EDISTC) |
---|
85 | * |
---|
86 | * *** print summary |
---|
87 | PRINT 770 |
---|
88 | PRINT 771,XSEL1C(NLTOT),XSEL2C(NLTOT) |
---|
89 | PRINT 774,EDEPCH |
---|
90 | PRINT 775,EDEPNE |
---|
91 | PRINT 772,XTRCH1,XTRCH2 |
---|
92 | PRINT 773,XTRNE1,XTRNE2 |
---|
93 | PRINT 749 |
---|
94 | * |
---|
95 | * *** Save selected histograms |
---|
96 | CALL HRPUT(0,'testem2.hbook','N') |
---|
97 | * |
---|
98 | * *** terminaison |
---|
99 | CALL GLAST |
---|
100 | * |
---|
101 | * *** close HIGZ |
---|
102 | CALL HPLEND |
---|
103 | * |
---|
104 | 749 FORMAT(//) |
---|
105 | 750 FORMAT(15X,'LATERAL PROFILE',35X,'CUMULATIVE LATERAL PROFILE'/) |
---|
106 | 751 FORMAT( 8X,'Bin',12X,' Mean ',5X,' rms', |
---|
107 | * 19X,'Bin', 9X,' Mean ',5X,' rms',/) |
---|
108 | 754 FORMAT( 3X,F5.2,'->',F5.2,' radl: ',F7.2,'% ',F7.2,'%', |
---|
109 | * 13X, '0->',F5.2,' radl: ',F7.2,'% ',F7.2,'%') |
---|
110 | 760 FORMAT(///,15X,'RADIAL PROFILE',35X,'CUMULATIVE RADIAL PROFILE'/) |
---|
111 | 770 FORMAT(/,30X,'SUMMARY',/) |
---|
112 | 771 FORMAT( 25X,'energy deposit : ',F7.2,' % E0 +- ',F7.2,' % E0') |
---|
113 | 772 FORMAT( 25X,'charged traklen: ',F7.2,' radl +- ',F7.2,' radl') |
---|
114 | 773 FORMAT( 25X,'neutral traklen: ',F7.2,' radl +- ',F7.2,' radl') |
---|
115 | 774 FORMAT( 25X,'edep by charged: ',F7.2,' % E0') |
---|
116 | 775 FORMAT( 25X,'edep by neutral: ',F7.2,' % E0') |
---|
117 | * |
---|
118 | END |
---|
119 | |
---|