]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | |
2 | C********************************************************************* | |
3 | ||
4 | SUBROUTINE LUTABU(MTABU) | |
5 | ||
6 | C...Purpose: to evaluate various properties of an event, with | |
7 | C...statistics accumulated during the course of the run and | |
8 | C...printed at the end. | |
9 | COMMON/LUJETS/N,K(4000,5),P(4000,5),V(4000,5) | |
10 | COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) | |
11 | COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4) | |
12 | COMMON/LUDAT3/MDCY(500,3),MDME(2000,2),BRAT(2000),KFDP(2000,5) | |
13 | SAVE /LUJETS/,/LUDAT1/,/LUDAT2/,/LUDAT3/ | |
14 | DIMENSION KFIS(100,2),NPIS(100,0:10),KFFS(400),NPFS(400,4), | |
15 | &FEVFM(10,4),FM1FM(3,10,4),FM2FM(3,10,4),FMOMA(4),FMOMS(4), | |
16 | &FEVEE(50),FE1EC(50),FE2EC(50),FE1EA(25),FE2EA(25), | |
17 | &KFDM(8),KFDC(200,0:8),NPDC(200) | |
18 | SAVE NEVIS,NKFIS,KFIS,NPIS,NEVFS,NPRFS,NFIFS,NCHFS,NKFFS, | |
19 | &KFFS,NPFS,NEVFM,NMUFM,FM1FM,FM2FM,NEVEE,FE1EC,FE2EC,FE1EA, | |
20 | &FE2EA,NEVDC,NKFDC,NREDC,KFDC,NPDC | |
21 | CHARACTER CHAU*16,CHIS(2)*12,CHDC(8)*12 | |
22 | DATA NEVIS/0/,NKFIS/0/,NEVFS/0/,NPRFS/0/,NFIFS/0/,NCHFS/0/, | |
23 | &NKFFS/0/,NEVFM/0/,NMUFM/0/,FM1FM/120*0./,FM2FM/120*0./, | |
24 | &NEVEE/0/,FE1EC/50*0./,FE2EC/50*0./,FE1EA/25*0./,FE2EA/25*0./, | |
25 | &NEVDC/0/,NKFDC/0/,NREDC/0/ | |
26 | ||
27 | C...Reset statistics on initial parton state. | |
28 | IF(MTABU.EQ.10) THEN | |
29 | NEVIS=0 | |
30 | NKFIS=0 | |
31 | ||
32 | C...Identify and order flavour content of initial state. | |
33 | ELSEIF(MTABU.EQ.11) THEN | |
34 | NEVIS=NEVIS+1 | |
35 | KFM1=2*IABS(MSTU(161)) | |
36 | IF(MSTU(161).GT.0) KFM1=KFM1-1 | |
37 | KFM2=2*IABS(MSTU(162)) | |
38 | IF(MSTU(162).GT.0) KFM2=KFM2-1 | |
39 | KFMN=MIN(KFM1,KFM2) | |
40 | KFMX=MAX(KFM1,KFM2) | |
41 | DO 100 I=1,NKFIS | |
42 | IF(KFMN.EQ.KFIS(I,1).AND.KFMX.EQ.KFIS(I,2)) THEN | |
43 | IKFIS=-I | |
44 | GOTO 110 | |
45 | ELSEIF(KFMN.LT.KFIS(I,1).OR.(KFMN.EQ.KFIS(I,1).AND. | |
46 | & KFMX.LT.KFIS(I,2))) THEN | |
47 | IKFIS=I | |
48 | GOTO 110 | |
49 | ENDIF | |
50 | 100 CONTINUE | |
51 | IKFIS=NKFIS+1 | |
52 | 110 IF(IKFIS.LT.0) THEN | |
53 | IKFIS=-IKFIS | |
54 | ELSE | |
55 | IF(NKFIS.GE.100) RETURN | |
56 | DO 130 I=NKFIS,IKFIS,-1 | |
57 | KFIS(I+1,1)=KFIS(I,1) | |
58 | KFIS(I+1,2)=KFIS(I,2) | |
59 | DO 120 J=0,10 | |
60 | NPIS(I+1,J)=NPIS(I,J) | |
61 | 120 CONTINUE | |
62 | 130 CONTINUE | |
63 | NKFIS=NKFIS+1 | |
64 | KFIS(IKFIS,1)=KFMN | |
65 | KFIS(IKFIS,2)=KFMX | |
66 | DO 140 J=0,10 | |
67 | NPIS(IKFIS,J)=0 | |
68 | 140 CONTINUE | |
69 | ENDIF | |
70 | NPIS(IKFIS,0)=NPIS(IKFIS,0)+1 | |
71 | ||
72 | C...Count number of partons in initial state. | |
73 | NP=0 | |
74 | DO 160 I=1,N | |
75 | IF(K(I,1).LE.0.OR.K(I,1).GT.12) THEN | |
76 | ELSEIF(IABS(K(I,2)).GT.80.AND.IABS(K(I,2)).LE.100) THEN | |
77 | ELSEIF(IABS(K(I,2)).GT.100.AND.MOD(IABS(K(I,2))/10,10).NE.0) | |
78 | & THEN | |
79 | ELSE | |
80 | IM=I | |
81 | 150 IM=K(IM,3) | |
82 | IF(IM.LE.0.OR.IM.GT.N) THEN | |
83 | NP=NP+1 | |
84 | ELSEIF(K(IM,1).LE.0.OR.K(IM,1).GT.20) THEN | |
85 | NP=NP+1 | |
86 | ELSEIF(IABS(K(IM,2)).GT.80.AND.IABS(K(IM,2)).LE.100) THEN | |
87 | ELSEIF(IABS(K(IM,2)).GT.100.AND.MOD(IABS(K(IM,2))/10,10).NE.0) | |
88 | & THEN | |
89 | ELSE | |
90 | GOTO 150 | |
91 | ENDIF | |
92 | ENDIF | |
93 | 160 CONTINUE | |
94 | NPCO=MAX(NP,1) | |
95 | IF(NP.GE.6) NPCO=6 | |
96 | IF(NP.GE.8) NPCO=7 | |
97 | IF(NP.GE.11) NPCO=8 | |
98 | IF(NP.GE.16) NPCO=9 | |
99 | IF(NP.GE.26) NPCO=10 | |
100 | NPIS(IKFIS,NPCO)=NPIS(IKFIS,NPCO)+1 | |
101 | MSTU(62)=NP | |
102 | ||
103 | C...Write statistics on initial parton state. | |
104 | ELSEIF(MTABU.EQ.12) THEN | |
105 | FAC=1./MAX(1,NEVIS) | |
106 | WRITE(MSTU(11),5000) NEVIS | |
107 | DO 170 I=1,NKFIS | |
108 | KFMN=KFIS(I,1) | |
109 | IF(KFMN.EQ.0) KFMN=KFIS(I,2) | |
110 | KFM1=(KFMN+1)/2 | |
111 | IF(2*KFM1.EQ.KFMN) KFM1=-KFM1 | |
112 | CALL LUNAME(KFM1,CHAU) | |
113 | CHIS(1)=CHAU(1:12) | |
114 | IF(CHAU(13:13).NE.' ') CHIS(1)(12:12)='?' | |
115 | KFMX=KFIS(I,2) | |
116 | IF(KFIS(I,1).EQ.0) KFMX=0 | |
117 | KFM2=(KFMX+1)/2 | |
118 | IF(2*KFM2.EQ.KFMX) KFM2=-KFM2 | |
119 | CALL LUNAME(KFM2,CHAU) | |
120 | CHIS(2)=CHAU(1:12) | |
121 | IF(CHAU(13:13).NE.' ') CHIS(2)(12:12)='?' | |
122 | WRITE(MSTU(11),5100) CHIS(1),CHIS(2),FAC*NPIS(I,0), | |
123 | & (NPIS(I,J)/FLOAT(NPIS(I,0)),J=1,10) | |
124 | 170 CONTINUE | |
125 | ||
126 | C...Copy statistics on initial parton state into /LUJETS/. | |
127 | ELSEIF(MTABU.EQ.13) THEN | |
128 | FAC=1./MAX(1,NEVIS) | |
129 | DO 190 I=1,NKFIS | |
130 | KFMN=KFIS(I,1) | |
131 | IF(KFMN.EQ.0) KFMN=KFIS(I,2) | |
132 | KFM1=(KFMN+1)/2 | |
133 | IF(2*KFM1.EQ.KFMN) KFM1=-KFM1 | |
134 | KFMX=KFIS(I,2) | |
135 | IF(KFIS(I,1).EQ.0) KFMX=0 | |
136 | KFM2=(KFMX+1)/2 | |
137 | IF(2*KFM2.EQ.KFMX) KFM2=-KFM2 | |
138 | K(I,1)=32 | |
139 | K(I,2)=99 | |
140 | K(I,3)=KFM1 | |
141 | K(I,4)=KFM2 | |
142 | K(I,5)=NPIS(I,0) | |
143 | DO 180 J=1,5 | |
144 | P(I,J)=FAC*NPIS(I,J) | |
145 | V(I,J)=FAC*NPIS(I,J+5) | |
146 | 180 CONTINUE | |
147 | 190 CONTINUE | |
148 | N=NKFIS | |
149 | DO 200 J=1,5 | |
150 | K(N+1,J)=0 | |
151 | P(N+1,J)=0. | |
152 | V(N+1,J)=0. | |
153 | 200 CONTINUE | |
154 | K(N+1,1)=32 | |
155 | K(N+1,2)=99 | |
156 | K(N+1,5)=NEVIS | |
157 | MSTU(3)=1 | |
158 | ||
159 | C...Reset statistics on number of particles/partons. | |
160 | ELSEIF(MTABU.EQ.20) THEN | |
161 | NEVFS=0 | |
162 | NPRFS=0 | |
163 | NFIFS=0 | |
164 | NCHFS=0 | |
165 | NKFFS=0 | |
166 | ||
167 | C...Identify whether particle/parton is primary or not. | |
168 | ELSEIF(MTABU.EQ.21) THEN | |
169 | NEVFS=NEVFS+1 | |
170 | MSTU(62)=0 | |
171 | DO 260 I=1,N | |
172 | IF(K(I,1).LE.0.OR.K(I,1).GT.20.OR.K(I,1).EQ.13) GOTO 260 | |
173 | MSTU(62)=MSTU(62)+1 | |
174 | KC=LUCOMP(K(I,2)) | |
175 | MPRI=0 | |
176 | IF(K(I,3).LE.0.OR.K(I,3).GT.N) THEN | |
177 | MPRI=1 | |
178 | ELSEIF(K(K(I,3),1).LE.0.OR.K(K(I,3),1).GT.20) THEN | |
179 | MPRI=1 | |
180 | ELSEIF(K(K(I,3),2).GE.91.AND.K(K(I,3),2).LE.93) THEN | |
181 | MPRI=1 | |
182 | ELSEIF(KC.EQ.0) THEN | |
183 | ELSEIF(K(K(I,3),1).EQ.13) THEN | |
184 | IM=K(K(I,3),3) | |
185 | IF(IM.LE.0.OR.IM.GT.N) THEN | |
186 | MPRI=1 | |
187 | ELSEIF(K(IM,1).LE.0.OR.K(IM,1).GT.20) THEN | |
188 | MPRI=1 | |
189 | ENDIF | |
190 | ELSEIF(KCHG(KC,2).EQ.0) THEN | |
191 | KCM=LUCOMP(K(K(I,3),2)) | |
192 | IF(KCM.NE.0) THEN | |
193 | IF(KCHG(KCM,2).NE.0) MPRI=1 | |
194 | ENDIF | |
195 | ENDIF | |
196 | IF(KC.NE.0.AND.MPRI.EQ.1) THEN | |
197 | IF(KCHG(KC,2).EQ.0) NPRFS=NPRFS+1 | |
198 | ENDIF | |
199 | IF(K(I,1).LE.10) THEN | |
200 | NFIFS=NFIFS+1 | |
201 | IF(LUCHGE(K(I,2)).NE.0) NCHFS=NCHFS+1 | |
202 | ENDIF | |
203 | ||
204 | C...Fill statistics on number of particles/partons in event. | |
205 | KFA=IABS(K(I,2)) | |
206 | KFS=3-ISIGN(1,K(I,2))-MPRI | |
207 | DO 210 IP=1,NKFFS | |
208 | IF(KFA.EQ.KFFS(IP)) THEN | |
209 | IKFFS=-IP | |
210 | GOTO 220 | |
211 | ELSEIF(KFA.LT.KFFS(IP)) THEN | |
212 | IKFFS=IP | |
213 | GOTO 220 | |
214 | ENDIF | |
215 | 210 CONTINUE | |
216 | IKFFS=NKFFS+1 | |
217 | 220 IF(IKFFS.LT.0) THEN | |
218 | IKFFS=-IKFFS | |
219 | ELSE | |
220 | IF(NKFFS.GE.400) RETURN | |
221 | DO 240 IP=NKFFS,IKFFS,-1 | |
222 | KFFS(IP+1)=KFFS(IP) | |
223 | DO 230 J=1,4 | |
224 | NPFS(IP+1,J)=NPFS(IP,J) | |
225 | 230 CONTINUE | |
226 | 240 CONTINUE | |
227 | NKFFS=NKFFS+1 | |
228 | KFFS(IKFFS)=KFA | |
229 | DO 250 J=1,4 | |
230 | NPFS(IKFFS,J)=0 | |
231 | 250 CONTINUE | |
232 | ENDIF | |
233 | NPFS(IKFFS,KFS)=NPFS(IKFFS,KFS)+1 | |
234 | 260 CONTINUE | |
235 | ||
236 | C...Write statistics on particle/parton composition of events. | |
237 | ELSEIF(MTABU.EQ.22) THEN | |
238 | FAC=1./MAX(1,NEVFS) | |
239 | WRITE(MSTU(11),5200) NEVFS,FAC*NPRFS,FAC*NFIFS,FAC*NCHFS | |
240 | DO 270 I=1,NKFFS | |
241 | CALL LUNAME(KFFS(I),CHAU) | |
242 | KC=LUCOMP(KFFS(I)) | |
243 | MDCYF=0 | |
244 | IF(KC.NE.0) MDCYF=MDCY(KC,1) | |
245 | WRITE(MSTU(11),5300) KFFS(I),CHAU,MDCYF,(FAC*NPFS(I,J),J=1,4), | |
246 | & FAC*(NPFS(I,1)+NPFS(I,2)+NPFS(I,3)+NPFS(I,4)) | |
247 | 270 CONTINUE | |
248 | ||
249 | C...Copy particle/parton composition information into /LUJETS/. | |
250 | ELSEIF(MTABU.EQ.23) THEN | |
251 | FAC=1./MAX(1,NEVFS) | |
252 | DO 290 I=1,NKFFS | |
253 | K(I,1)=32 | |
254 | K(I,2)=99 | |
255 | K(I,3)=KFFS(I) | |
256 | K(I,4)=0 | |
257 | K(I,5)=NPFS(I,1)+NPFS(I,2)+NPFS(I,3)+NPFS(I,4) | |
258 | DO 280 J=1,4 | |
259 | P(I,J)=FAC*NPFS(I,J) | |
260 | V(I,J)=0. | |
261 | 280 CONTINUE | |
262 | P(I,5)=FAC*K(I,5) | |
263 | V(I,5)=0. | |
264 | 290 CONTINUE | |
265 | N=NKFFS | |
266 | DO 300 J=1,5 | |
267 | K(N+1,J)=0 | |
268 | P(N+1,J)=0. | |
269 | V(N+1,J)=0. | |
270 | 300 CONTINUE | |
271 | K(N+1,1)=32 | |
272 | K(N+1,2)=99 | |
273 | K(N+1,5)=NEVFS | |
274 | P(N+1,1)=FAC*NPRFS | |
275 | P(N+1,2)=FAC*NFIFS | |
276 | P(N+1,3)=FAC*NCHFS | |
277 | MSTU(3)=1 | |
278 | ||
279 | C...Reset factorial moments statistics. | |
280 | ELSEIF(MTABU.EQ.30) THEN | |
281 | NEVFM=0 | |
282 | NMUFM=0 | |
283 | DO 330 IM=1,3 | |
284 | DO 320 IB=1,10 | |
285 | DO 310 IP=1,4 | |
286 | FM1FM(IM,IB,IP)=0. | |
287 | FM2FM(IM,IB,IP)=0. | |
288 | 310 CONTINUE | |
289 | 320 CONTINUE | |
290 | 330 CONTINUE | |
291 | ||
292 | C...Find particles to include, with (pion,pseudo)rapidity and azimuth. | |
293 | ELSEIF(MTABU.EQ.31) THEN | |
294 | NEVFM=NEVFM+1 | |
295 | NLOW=N+MSTU(3) | |
296 | NUPP=NLOW | |
297 | DO 410 I=1,N | |
298 | IF(K(I,1).LE.0.OR.K(I,1).GT.10) GOTO 410 | |
299 | IF(MSTU(41).GE.2) THEN | |
300 | KC=LUCOMP(K(I,2)) | |
301 | IF(KC.EQ.0.OR.KC.EQ.12.OR.KC.EQ.14.OR.KC.EQ.16.OR. | |
302 | & KC.EQ.18) GOTO 410 | |
303 | IF(MSTU(41).GE.3.AND.KCHG(KC,2).EQ.0.AND.LUCHGE(K(I,2)).EQ.0) | |
304 | & GOTO 410 | |
305 | ENDIF | |
306 | PMR=0. | |
307 | IF(MSTU(42).EQ.1.AND.K(I,2).NE.22) PMR=ULMASS(211) | |
308 | IF(MSTU(42).GE.2) PMR=P(I,5) | |
309 | PR=MAX(1E-20,PMR**2+P(I,1)**2+P(I,2)**2) | |
310 | YETA=SIGN(LOG(MIN((SQRT(PR+P(I,3)**2)+ABS(P(I,3)))/SQRT(PR), | |
311 | & 1E20)),P(I,3)) | |
312 | IF(ABS(YETA).GT.PARU(57)) GOTO 410 | |
313 | PHI=ULANGL(P(I,1),P(I,2)) | |
314 | IYETA=512.*(YETA+PARU(57))/(2.*PARU(57)) | |
315 | IYETA=MAX(0,MIN(511,IYETA)) | |
316 | IPHI=512.*(PHI+PARU(1))/PARU(2) | |
317 | IPHI=MAX(0,MIN(511,IPHI)) | |
318 | IYEP=0 | |
319 | DO 340 IB=0,9 | |
320 | IYEP=IYEP+4**IB*(2*MOD(IYETA/2**IB,2)+MOD(IPHI/2**IB,2)) | |
321 | 340 CONTINUE | |
322 | ||
323 | C...Order particles in (pseudo)rapidity and/or azimuth. | |
324 | IF(NUPP.GT.MSTU(4)-5-MSTU(32)) THEN | |
325 | CALL LUERRM(11,'(LUTABU:) no more memory left in LUJETS') | |
326 | RETURN | |
327 | ENDIF | |
328 | NUPP=NUPP+1 | |
329 | IF(NUPP.EQ.NLOW+1) THEN | |
330 | K(NUPP,1)=IYETA | |
331 | K(NUPP,2)=IPHI | |
332 | K(NUPP,3)=IYEP | |
333 | ELSE | |
334 | DO 350 I1=NUPP-1,NLOW+1,-1 | |
335 | IF(IYETA.GE.K(I1,1)) GOTO 360 | |
336 | K(I1+1,1)=K(I1,1) | |
337 | 350 CONTINUE | |
338 | 360 K(I1+1,1)=IYETA | |
339 | DO 370 I1=NUPP-1,NLOW+1,-1 | |
340 | IF(IPHI.GE.K(I1,2)) GOTO 380 | |
341 | K(I1+1,2)=K(I1,2) | |
342 | 370 CONTINUE | |
343 | 380 K(I1+1,2)=IPHI | |
344 | DO 390 I1=NUPP-1,NLOW+1,-1 | |
345 | IF(IYEP.GE.K(I1,3)) GOTO 400 | |
346 | K(I1+1,3)=K(I1,3) | |
347 | 390 CONTINUE | |
348 | 400 K(I1+1,3)=IYEP | |
349 | ENDIF | |
350 | 410 CONTINUE | |
351 | K(NUPP+1,1)=2**10 | |
352 | K(NUPP+1,2)=2**10 | |
353 | K(NUPP+1,3)=4**10 | |
354 | ||
355 | C...Calculate sum of factorial moments in event. | |
356 | DO 480 IM=1,3 | |
357 | DO 430 IB=1,10 | |
358 | DO 420 IP=1,4 | |
359 | FEVFM(IB,IP)=0. | |
360 | 420 CONTINUE | |
361 | 430 CONTINUE | |
362 | DO 450 IB=1,10 | |
363 | IF(IM.LE.2) IBIN=2**(10-IB) | |
364 | IF(IM.EQ.3) IBIN=4**(10-IB) | |
365 | IAGR=K(NLOW+1,IM)/IBIN | |
366 | NAGR=1 | |
367 | DO 440 I=NLOW+2,NUPP+1 | |
368 | ICUT=K(I,IM)/IBIN | |
369 | IF(ICUT.EQ.IAGR) THEN | |
370 | NAGR=NAGR+1 | |
371 | ELSE | |
372 | IF(NAGR.EQ.1) THEN | |
373 | ELSEIF(NAGR.EQ.2) THEN | |
374 | FEVFM(IB,1)=FEVFM(IB,1)+2. | |
375 | ELSEIF(NAGR.EQ.3) THEN | |
376 | FEVFM(IB,1)=FEVFM(IB,1)+6. | |
377 | FEVFM(IB,2)=FEVFM(IB,2)+6. | |
378 | ELSEIF(NAGR.EQ.4) THEN | |
379 | FEVFM(IB,1)=FEVFM(IB,1)+12. | |
380 | FEVFM(IB,2)=FEVFM(IB,2)+24. | |
381 | FEVFM(IB,3)=FEVFM(IB,3)+24. | |
382 | ELSE | |
383 | FEVFM(IB,1)=FEVFM(IB,1)+NAGR*(NAGR-1.) | |
384 | FEVFM(IB,2)=FEVFM(IB,2)+NAGR*(NAGR-1.)*(NAGR-2.) | |
385 | FEVFM(IB,3)=FEVFM(IB,3)+NAGR*(NAGR-1.)*(NAGR-2.)*(NAGR-3.) | |
386 | FEVFM(IB,4)=FEVFM(IB,4)+NAGR*(NAGR-1.)*(NAGR-2.)*(NAGR-3.)* | |
387 | & (NAGR-4.) | |
388 | ENDIF | |
389 | IAGR=ICUT | |
390 | NAGR=1 | |
391 | ENDIF | |
392 | 440 CONTINUE | |
393 | 450 CONTINUE | |
394 | ||
395 | C...Add results to total statistics. | |
396 | DO 470 IB=10,1,-1 | |
397 | DO 460 IP=1,4 | |
398 | IF(FEVFM(1,IP).LT.0.5) THEN | |
399 | FEVFM(IB,IP)=0. | |
400 | ELSEIF(IM.LE.2) THEN | |
401 | FEVFM(IB,IP)=2.**((IB-1)*IP)*FEVFM(IB,IP)/FEVFM(1,IP) | |
402 | ELSE | |
403 | FEVFM(IB,IP)=4.**((IB-1)*IP)*FEVFM(IB,IP)/FEVFM(1,IP) | |
404 | ENDIF | |
405 | FM1FM(IM,IB,IP)=FM1FM(IM,IB,IP)+FEVFM(IB,IP) | |
406 | FM2FM(IM,IB,IP)=FM2FM(IM,IB,IP)+FEVFM(IB,IP)**2 | |
407 | 460 CONTINUE | |
408 | 470 CONTINUE | |
409 | 480 CONTINUE | |
410 | NMUFM=NMUFM+(NUPP-NLOW) | |
411 | MSTU(62)=NUPP-NLOW | |
412 | ||
413 | C...Write accumulated statistics on factorial moments. | |
414 | ELSEIF(MTABU.EQ.32) THEN | |
415 | FAC=1./MAX(1,NEVFM) | |
416 | IF(MSTU(42).LE.0) WRITE(MSTU(11),5400) NEVFM,'eta' | |
417 | IF(MSTU(42).EQ.1) WRITE(MSTU(11),5400) NEVFM,'ypi' | |
418 | IF(MSTU(42).GE.2) WRITE(MSTU(11),5400) NEVFM,'y ' | |
419 | DO 510 IM=1,3 | |
420 | WRITE(MSTU(11),5500) | |
421 | DO 500 IB=1,10 | |
422 | BYETA=2.*PARU(57) | |
423 | IF(IM.NE.2) BYETA=BYETA/2**(IB-1) | |
424 | BPHI=PARU(2) | |
425 | IF(IM.NE.1) BPHI=BPHI/2**(IB-1) | |
426 | IF(IM.LE.2) BNAVE=FAC*NMUFM/FLOAT(2**(IB-1)) | |
427 | IF(IM.EQ.3) BNAVE=FAC*NMUFM/FLOAT(4**(IB-1)) | |
428 | DO 490 IP=1,4 | |
429 | FMOMA(IP)=FAC*FM1FM(IM,IB,IP) | |
430 | FMOMS(IP)=SQRT(MAX(0.,FAC*(FAC*FM2FM(IM,IB,IP)-FMOMA(IP)**2))) | |
431 | 490 CONTINUE | |
432 | WRITE(MSTU(11),5600) BYETA,BPHI,BNAVE,(FMOMA(IP),FMOMS(IP), | |
433 | & IP=1,4) | |
434 | 500 CONTINUE | |
435 | 510 CONTINUE | |
436 | ||
437 | C...Copy statistics on factorial moments into /LUJETS/. | |
438 | ELSEIF(MTABU.EQ.33) THEN | |
439 | FAC=1./MAX(1,NEVFM) | |
440 | DO 540 IM=1,3 | |
441 | DO 530 IB=1,10 | |
442 | I=10*(IM-1)+IB | |
443 | K(I,1)=32 | |
444 | K(I,2)=99 | |
445 | K(I,3)=1 | |
446 | IF(IM.NE.2) K(I,3)=2**(IB-1) | |
447 | K(I,4)=1 | |
448 | IF(IM.NE.1) K(I,4)=2**(IB-1) | |
449 | K(I,5)=0 | |
450 | P(I,1)=2.*PARU(57)/K(I,3) | |
451 | V(I,1)=PARU(2)/K(I,4) | |
452 | DO 520 IP=1,4 | |
453 | P(I,IP+1)=FAC*FM1FM(IM,IB,IP) | |
454 | V(I,IP+1)=SQRT(MAX(0.,FAC*(FAC*FM2FM(IM,IB,IP)-P(I,IP+1)**2))) | |
455 | 520 CONTINUE | |
456 | 530 CONTINUE | |
457 | 540 CONTINUE | |
458 | N=30 | |
459 | DO 550 J=1,5 | |
460 | K(N+1,J)=0 | |
461 | P(N+1,J)=0. | |
462 | V(N+1,J)=0. | |
463 | 550 CONTINUE | |
464 | K(N+1,1)=32 | |
465 | K(N+1,2)=99 | |
466 | K(N+1,5)=NEVFM | |
467 | MSTU(3)=1 | |
468 | ||
469 | C...Reset statistics on Energy-Energy Correlation. | |
470 | ELSEIF(MTABU.EQ.40) THEN | |
471 | NEVEE=0 | |
472 | DO 560 J=1,25 | |
473 | FE1EC(J)=0. | |
474 | FE2EC(J)=0. | |
475 | FE1EC(51-J)=0. | |
476 | FE2EC(51-J)=0. | |
477 | FE1EA(J)=0. | |
478 | FE2EA(J)=0. | |
479 | 560 CONTINUE | |
480 | ||
481 | C...Find particles to include, with proper assumed mass. | |
482 | ELSEIF(MTABU.EQ.41) THEN | |
483 | NEVEE=NEVEE+1 | |
484 | NLOW=N+MSTU(3) | |
485 | NUPP=NLOW | |
486 | ECM=0. | |
487 | DO 570 I=1,N | |
488 | IF(K(I,1).LE.0.OR.K(I,1).GT.10) GOTO 570 | |
489 | IF(MSTU(41).GE.2) THEN | |
490 | KC=LUCOMP(K(I,2)) | |
491 | IF(KC.EQ.0.OR.KC.EQ.12.OR.KC.EQ.14.OR.KC.EQ.16.OR. | |
492 | & KC.EQ.18) GOTO 570 | |
493 | IF(MSTU(41).GE.3.AND.KCHG(KC,2).EQ.0.AND.LUCHGE(K(I,2)).EQ.0) | |
494 | & GOTO 570 | |
495 | ENDIF | |
496 | PMR=0. | |
497 | IF(MSTU(42).EQ.1.AND.K(I,2).NE.22) PMR=ULMASS(211) | |
498 | IF(MSTU(42).GE.2) PMR=P(I,5) | |
499 | IF(NUPP.GT.MSTU(4)-5-MSTU(32)) THEN | |
500 | CALL LUERRM(11,'(LUTABU:) no more memory left in LUJETS') | |
501 | RETURN | |
502 | ENDIF | |
503 | NUPP=NUPP+1 | |
504 | P(NUPP,1)=P(I,1) | |
505 | P(NUPP,2)=P(I,2) | |
506 | P(NUPP,3)=P(I,3) | |
507 | P(NUPP,4)=SQRT(PMR**2+P(I,1)**2+P(I,2)**2+P(I,3)**2) | |
508 | P(NUPP,5)=MAX(1E-10,SQRT(P(I,1)**2+P(I,2)**2+P(I,3)**2)) | |
509 | ECM=ECM+P(NUPP,4) | |
510 | 570 CONTINUE | |
511 | IF(NUPP.EQ.NLOW) RETURN | |
512 | ||
513 | C...Analyze Energy-Energy Correlation in event. | |
514 | FAC=(2./ECM**2)*50./PARU(1) | |
515 | DO 580 J=1,50 | |
516 | FEVEE(J)=0. | |
517 | 580 CONTINUE | |
518 | DO 600 I1=NLOW+2,NUPP | |
519 | DO 590 I2=NLOW+1,I1-1 | |
520 | CTHE=(P(I1,1)*P(I2,1)+P(I1,2)*P(I2,2)+P(I1,3)*P(I2,3))/ | |
521 | & (P(I1,5)*P(I2,5)) | |
522 | THE=ACOS(MAX(-1.,MIN(1.,CTHE))) | |
523 | ITHE=MAX(1,MIN(50,1+INT(50.*THE/PARU(1)))) | |
524 | FEVEE(ITHE)=FEVEE(ITHE)+FAC*P(I1,4)*P(I2,4) | |
525 | 590 CONTINUE | |
526 | 600 CONTINUE | |
527 | DO 610 J=1,25 | |
528 | FE1EC(J)=FE1EC(J)+FEVEE(J) | |
529 | FE2EC(J)=FE2EC(J)+FEVEE(J)**2 | |
530 | FE1EC(51-J)=FE1EC(51-J)+FEVEE(51-J) | |
531 | FE2EC(51-J)=FE2EC(51-J)+FEVEE(51-J)**2 | |
532 | FE1EA(J)=FE1EA(J)+(FEVEE(51-J)-FEVEE(J)) | |
533 | FE2EA(J)=FE2EA(J)+(FEVEE(51-J)-FEVEE(J))**2 | |
534 | 610 CONTINUE | |
535 | MSTU(62)=NUPP-NLOW | |
536 | ||
537 | C...Write statistics on Energy-Energy Correlation. | |
538 | ELSEIF(MTABU.EQ.42) THEN | |
539 | FAC=1./MAX(1,NEVEE) | |
540 | WRITE(MSTU(11),5700) NEVEE | |
541 | DO 620 J=1,25 | |
542 | FEEC1=FAC*FE1EC(J) | |
543 | FEES1=SQRT(MAX(0.,FAC*(FAC*FE2EC(J)-FEEC1**2))) | |
544 | FEEC2=FAC*FE1EC(51-J) | |
545 | FEES2=SQRT(MAX(0.,FAC*(FAC*FE2EC(51-J)-FEEC2**2))) | |
546 | FEECA=FAC*FE1EA(J) | |
547 | FEESA=SQRT(MAX(0.,FAC*(FAC*FE2EA(J)-FEECA**2))) | |
548 | WRITE(MSTU(11),5800) 3.6*(J-1),3.6*J,FEEC1,FEES1,FEEC2,FEES2, | |
549 | & FEECA,FEESA | |
550 | 620 CONTINUE | |
551 | ||
552 | C...Copy statistics on Energy-Energy Correlation into /LUJETS/. | |
553 | ELSEIF(MTABU.EQ.43) THEN | |
554 | FAC=1./MAX(1,NEVEE) | |
555 | DO 630 I=1,25 | |
556 | K(I,1)=32 | |
557 | K(I,2)=99 | |
558 | K(I,3)=0 | |
559 | K(I,4)=0 | |
560 | K(I,5)=0 | |
561 | P(I,1)=FAC*FE1EC(I) | |
562 | V(I,1)=SQRT(MAX(0.,FAC*(FAC*FE2EC(I)-P(I,1)**2))) | |
563 | P(I,2)=FAC*FE1EC(51-I) | |
564 | V(I,2)=SQRT(MAX(0.,FAC*(FAC*FE2EC(51-I)-P(I,2)**2))) | |
565 | P(I,3)=FAC*FE1EA(I) | |
566 | V(I,3)=SQRT(MAX(0.,FAC*(FAC*FE2EA(I)-P(I,3)**2))) | |
567 | P(I,4)=PARU(1)*(I-1)/50. | |
568 | P(I,5)=PARU(1)*I/50. | |
569 | V(I,4)=3.6*(I-1) | |
570 | V(I,5)=3.6*I | |
571 | 630 CONTINUE | |
572 | N=25 | |
573 | DO 640 J=1,5 | |
574 | K(N+1,J)=0 | |
575 | P(N+1,J)=0. | |
576 | V(N+1,J)=0. | |
577 | 640 CONTINUE | |
578 | K(N+1,1)=32 | |
579 | K(N+1,2)=99 | |
580 | K(N+1,5)=NEVEE | |
581 | MSTU(3)=1 | |
582 | ||
583 | C...Reset statistics on decay channels. | |
584 | ELSEIF(MTABU.EQ.50) THEN | |
585 | NEVDC=0 | |
586 | NKFDC=0 | |
587 | NREDC=0 | |
588 | ||
589 | C...Identify and order flavour content of final state. | |
590 | ELSEIF(MTABU.EQ.51) THEN | |
591 | NEVDC=NEVDC+1 | |
592 | NDS=0 | |
593 | DO 670 I=1,N | |
594 | IF(K(I,1).LE.0.OR.K(I,1).GE.6) GOTO 670 | |
595 | NDS=NDS+1 | |
596 | IF(NDS.GT.8) THEN | |
597 | NREDC=NREDC+1 | |
598 | RETURN | |
599 | ENDIF | |
600 | KFM=2*IABS(K(I,2)) | |
601 | IF(K(I,2).LT.0) KFM=KFM-1 | |
602 | DO 650 IDS=NDS-1,1,-1 | |
603 | IIN=IDS+1 | |
604 | IF(KFM.LT.KFDM(IDS)) GOTO 660 | |
605 | KFDM(IDS+1)=KFDM(IDS) | |
606 | 650 CONTINUE | |
607 | IIN=1 | |
608 | 660 KFDM(IIN)=KFM | |
609 | 670 CONTINUE | |
610 | ||
611 | C...Find whether old or new final state. | |
612 | DO 690 IDC=1,NKFDC | |
613 | IF(NDS.LT.KFDC(IDC,0)) THEN | |
614 | IKFDC=IDC | |
615 | GOTO 700 | |
616 | ELSEIF(NDS.EQ.KFDC(IDC,0)) THEN | |
617 | DO 680 I=1,NDS | |
618 | IF(KFDM(I).LT.KFDC(IDC,I)) THEN | |
619 | IKFDC=IDC | |
620 | GOTO 700 | |
621 | ELSEIF(KFDM(I).GT.KFDC(IDC,I)) THEN | |
622 | GOTO 690 | |
623 | ENDIF | |
624 | 680 CONTINUE | |
625 | IKFDC=-IDC | |
626 | GOTO 700 | |
627 | ENDIF | |
628 | 690 CONTINUE | |
629 | IKFDC=NKFDC+1 | |
630 | 700 IF(IKFDC.LT.0) THEN | |
631 | IKFDC=-IKFDC | |
632 | ELSEIF(NKFDC.GE.200) THEN | |
633 | NREDC=NREDC+1 | |
634 | RETURN | |
635 | ELSE | |
636 | DO 720 IDC=NKFDC,IKFDC,-1 | |
637 | NPDC(IDC+1)=NPDC(IDC) | |
638 | DO 710 I=0,8 | |
639 | KFDC(IDC+1,I)=KFDC(IDC,I) | |
640 | 710 CONTINUE | |
641 | 720 CONTINUE | |
642 | NKFDC=NKFDC+1 | |
643 | KFDC(IKFDC,0)=NDS | |
644 | DO 730 I=1,NDS | |
645 | KFDC(IKFDC,I)=KFDM(I) | |
646 | 730 CONTINUE | |
647 | NPDC(IKFDC)=0 | |
648 | ENDIF | |
649 | NPDC(IKFDC)=NPDC(IKFDC)+1 | |
650 | ||
651 | C...Write statistics on decay channels. | |
652 | ELSEIF(MTABU.EQ.52) THEN | |
653 | FAC=1./MAX(1,NEVDC) | |
654 | WRITE(MSTU(11),5900) NEVDC | |
655 | DO 750 IDC=1,NKFDC | |
656 | DO 740 I=1,KFDC(IDC,0) | |
657 | KFM=KFDC(IDC,I) | |
658 | KF=(KFM+1)/2 | |
659 | IF(2*KF.NE.KFM) KF=-KF | |
660 | CALL LUNAME(KF,CHAU) | |
661 | CHDC(I)=CHAU(1:12) | |
662 | IF(CHAU(13:13).NE.' ') CHDC(I)(12:12)='?' | |
663 | 740 CONTINUE | |
664 | WRITE(MSTU(11),6000) FAC*NPDC(IDC),(CHDC(I),I=1,KFDC(IDC,0)) | |
665 | 750 CONTINUE | |
666 | IF(NREDC.NE.0) WRITE(MSTU(11),6100) FAC*NREDC | |
667 | ||
668 | C...Copy statistics on decay channels into /LUJETS/. | |
669 | ELSEIF(MTABU.EQ.53) THEN | |
670 | FAC=1./MAX(1,NEVDC) | |
671 | DO 780 IDC=1,NKFDC | |
672 | K(IDC,1)=32 | |
673 | K(IDC,2)=99 | |
674 | K(IDC,3)=0 | |
675 | K(IDC,4)=0 | |
676 | K(IDC,5)=KFDC(IDC,0) | |
677 | DO 760 J=1,5 | |
678 | P(IDC,J)=0. | |
679 | V(IDC,J)=0. | |
680 | 760 CONTINUE | |
681 | DO 770 I=1,KFDC(IDC,0) | |
682 | KFM=KFDC(IDC,I) | |
683 | KF=(KFM+1)/2 | |
684 | IF(2*KF.NE.KFM) KF=-KF | |
685 | IF(I.LE.5) P(IDC,I)=KF | |
686 | IF(I.GE.6) V(IDC,I-5)=KF | |
687 | 770 CONTINUE | |
688 | V(IDC,5)=FAC*NPDC(IDC) | |
689 | 780 CONTINUE | |
690 | N=NKFDC | |
691 | DO 790 J=1,5 | |
692 | K(N+1,J)=0 | |
693 | P(N+1,J)=0. | |
694 | V(N+1,J)=0. | |
695 | 790 CONTINUE | |
696 | K(N+1,1)=32 | |
697 | K(N+1,2)=99 | |
698 | K(N+1,5)=NEVDC | |
699 | V(N+1,5)=FAC*NREDC | |
700 | MSTU(3)=1 | |
701 | ENDIF | |
702 | ||
703 | C...Format statements for output on unit MSTU(11) (default 6). | |
704 | 5000 FORMAT(///20X,'Event statistics - initial state'/ | |
705 | &20X,'based on an analysis of ',I6,' events'// | |
706 | &3X,'Main flavours after',8X,'Fraction',4X,'Subfractions ', | |
707 | &'according to fragmenting system multiplicity'/ | |
708 | &4X,'hard interaction',24X,'1',7X,'2',7X,'3',7X,'4',7X,'5', | |
709 | &6X,'6-7',5X,'8-10',3X,'11-15',3X,'16-25',4X,'>25'/) | |
710 | 5100 FORMAT(3X,A12,1X,A12,F10.5,1X,10F8.4) | |
711 | 5200 FORMAT(///20X,'Event statistics - final state'/ | |
712 | &20X,'based on an analysis of ',I7,' events'// | |
713 | &5X,'Mean primary multiplicity =',F10.4/ | |
714 | &5X,'Mean final multiplicity =',F10.4/ | |
715 | &5X,'Mean charged multiplicity =',F10.4// | |
716 | &5X,'Number of particles produced per event (directly and via ', | |
717 | &'decays/branchings)'/ | |
718 | &5X,'KF Particle/jet MDCY',10X,'Particles',13X,'Antiparticles', | |
719 | &8X,'Total'/35X,'prim seco prim seco'/) | |
720 | 5300 FORMAT(1X,I6,4X,A16,I2,5(1X,F11.6)) | |
721 | 5400 FORMAT(///20X,'Factorial moments analysis of multiplicity'/ | |
722 | &20X,'based on an analysis of ',I6,' events'// | |
723 | &3X,'delta-',A3,' delta-phi <n>/bin',10X,'<F2>',18X,'<F3>', | |
724 | &18X,'<F4>',18X,'<F5>'/35X,4(' value error ')) | |
725 | 5500 FORMAT(10X) | |
726 | 5600 FORMAT(2X,2F10.4,F12.4,4(F12.4,F10.4)) | |
727 | 5700 FORMAT(///20X,'Energy-Energy Correlation and Asymmetry'/ | |
728 | &20X,'based on an analysis of ',I6,' events'// | |
729 | &2X,'theta range',8X,'EEC(theta)',8X,'EEC(180-theta)',7X, | |
730 | &'EECA(theta)'/2X,'in degrees ',3(' value error')/) | |
731 | 5800 FORMAT(2X,F4.1,' - ',F4.1,3(F11.4,F9.4)) | |
732 | 5900 FORMAT(///20X,'Decay channel analysis - final state'/ | |
733 | &20X,'based on an analysis of ',I6,' events'// | |
734 | &2X,'Probability',10X,'Complete final state'/) | |
735 | 6000 FORMAT(2X,F9.5,5X,8(A12,1X)) | |
736 | 6100 FORMAT(2X,F9.5,5X,'into other channels (more than 8 particles ', | |
737 | &'or table overflow)') | |
738 | ||
739 | RETURN | |
740 | END |