2 C***********************************************************************
4 SUBROUTINE PYSTAT(MSTAT)
6 C...Prints out information about cross-sections, decay widths, branching
7 C...ratios, kinematical limits, status codes and parameter values.
8 COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
9 COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4)
10 COMMON/LUDAT3/MDCY(500,3),MDME(2000,2),BRAT(2000),KFDP(2000,5)
11 COMMON/PYSUBS/MSEL,MSUB(200),KFIN(2,-40:40),CKIN(200)
12 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
13 COMMON/PYINT1/MINT(400),VINT(400)
14 COMMON/PYINT4/WIDP(21:40,0:40),WIDE(21:40,0:40),WIDS(21:40,3)
15 COMMON/PYINT5/NGEN(0:200,3),XSEC(0:200,3)
16 COMMON/PYINT6/PROC(0:200)
18 SAVE /LUDAT1/,/LUDAT2/,/LUDAT3/
19 SAVE /PYSUBS/,/PYPARS/,/PYINT1/,/PYINT4/,/PYINT5/,/PYINT6/
20 CHARACTER PROGA(6)*28,CHAU*16,CHPA(-100:100)*9,CHIN(2)*12,
21 &STATE(-1:5)*4,CHKIN(21)*18,DISGA(2)*28
23 &'VMD/hadron * VMD ','VMD/hadron * direct ',
24 &'VMD/hadron * anomalous ','direct * direct ',
25 &'direct * anomalous ','anomalous * anomalous '/
26 DATA DISGA/'e * VMD','e * anomalous'/
27 DATA STATE/'----','off ','on ','on/+','on/-','on/1','on/2'/,
28 &CHKIN/' m_hard (GeV/c^2) ',' p_T_hard (GeV/c) ',
29 &'m_finite (GeV/c^2)',' y*_subsystem ',' y*_large ',
30 &' y*_small ',' eta*_large ',' eta*_small ',
31 &'cos(theta*)_large ','cos(theta*)_small ',' x_1 ',
32 &' x_2 ',' x_F ',' cos(theta_hard) ',
33 &'m''_hard (GeV/c^2) ',' tau ',' y* ',
34 &'cos(theta_hard^-) ','cos(theta_hard^+) ',' x_T^2 ',
39 IF(MINT(121).GT.1) CALL PYSAVE(5,0)
42 WRITE(MSTU(11),5200) 0,PROC(0),NGEN(0,3),NGEN(0,1),XSEC(0,3)
44 IF(MSUB(I).NE.1) GOTO 100
45 WRITE(MSTU(11),5200) I,PROC(I),NGEN(I,3),NGEN(I,1),XSEC(I,3)
47 IF(MINT(121).GT.1) THEN
49 DO 110 IGA=1,MINT(121)
51 IF(MINT(121).EQ.2) THEN
52 WRITE(MSTU(11),5200) IGA,DISGA(IGA),NGEN(0,3),NGEN(0,1),
55 WRITE(MSTU(11),5200) IGA,PROGA(IGA),NGEN(0,3),NGEN(0,1),
61 WRITE(MSTU(11),5400) 1.-FLOAT(NGEN(0,3))/
62 & MAX(1.,FLOAT(NGEN(0,2)))
64 C...Decay widths and branching ratios.
65 ELSEIF(MSTAT.EQ.2) THEN
74 IF(KC.GE.6.AND.KC.LE.8) KCL=KC+20
75 IF(KC.EQ.17.OR.KC.EQ.18) KCL=KC+12
77 IF(KC.GT.2*MSTP(1).AND.KC.LE.10) GOTO 150
78 IF(KC.GT.10+2*MSTP(1).AND.KC.LE.20) GOTO 150
80 IF(KC.GT.8.AND.KC.LE.10) GOTO 150
81 IF(KC.GT.18.AND.KC.LE.20) GOTO 150
83 IF((KC.GE.26.AND.KC.LE.31).OR.KC.EQ.33) GOTO 150
86 IF(KC.EQ.6.AND.MSTP(48).GE.1) IOFF=0
87 IF((KC.EQ.7.OR.KC.EQ.8.OR.KC.EQ.17.OR.KC.EQ.18).AND.
88 & (MSTP(6).EQ.1.OR.MSTP(49).GE.1)) IOFF=0
89 IF(KC.EQ.18.AND.PMAS(18,1).LT.1.) IOFF=1
90 C...Off-shell branchings.
93 IF(KC.LE.20) NGP=(MOD(KC,10)+1)/2
94 IF(NGP.LE.MSTP(1)) WRITE(MSTU(11),5700) KC,CHPA(KC),
95 & PMAS(KC,1),0.,0.,STATE(MDCY(KC,1)),0.
99 IF(IABS(KFDP(IDC,1)).LE.20) NGP1=
100 & (MOD(IABS(KFDP(IDC,1)),10)+1)/2
102 IF(IABS(KFDP(IDC,2)).LE.20) NGP2=
103 & (MOD(IABS(KFDP(IDC,2)),10)+1)/2
104 IF(MDME(IDC,2).EQ.102.AND.NGP1.LE.MSTP(1).AND.NGP2.LE.MSTP(1))
105 & WRITE(MSTU(11),5800) IDC,CHPA(KFDP(IDC,1)),CHPA(KFDP(IDC,2)),
106 & 0.,0.,STATE(MDME(IDC,1)),0.
111 IF(WIDE(KCL,0).LE.0.) BRFIN=0.
112 WRITE(MSTU(11),5700) KC,CHPA(KC),PMAS(KC,1),WIDP(KCL,0),1.,
113 & STATE(MDCY(KC,1)),BRFIN
114 DO 140 J=1,MDCY(KC,3)
117 IF(IABS(KFDP(IDC,1)).LE.20) NGP1=
118 & (MOD(IABS(KFDP(IDC,1)),10)+1)/2
120 IF(IABS(KFDP(IDC,2)).LE.20) NGP2=
121 & (MOD(IABS(KFDP(IDC,2)),10)+1)/2
123 IF(WIDE(KCL,0).GT.0.) BRFIN=WIDE(KCL,J)/WIDE(KCL,0)
124 IF(NGP1.LE.MSTP(1).AND.NGP2.LE.MSTP(1)) WRITE(MSTU(11),5800)
125 & IDC,CHPA(KFDP(IDC,1)),CHPA(KFDP(IDC,2)),WIDP(KCL,J),
126 & WIDP(KCL,J)/WIDP(KCL,0),STATE(MDME(IDC,1)),BRFIN
132 C...Allowed incoming partons/particles at hard interaction.
133 ELSEIF(MSTAT.EQ.3) THEN
135 CALL LUNAME(MINT(11),CHAU)
137 CALL LUNAME(MINT(12),CHAU)
139 WRITE(MSTU(11),6100) CHIN(1),CHIN(2)
147 IF(IA.GT.MSTP(58).AND.IA.LE.10) GOTO 170
148 IF(IA.GT.10+2*MSTP(1).AND.IA.LE.20) GOTO 170
149 WRITE(MSTU(11),6200) CHPA(I),STATE(KFIN(1,I)),CHPA(I),
154 C...User-defined limits on kinematical variables.
155 ELSEIF(MSTAT.EQ.4) THEN
159 IF(SHRMAX.LT.0.) SHRMAX=VINT(1)
160 WRITE(MSTU(11),6600) CKIN(1),CHKIN(1),SHRMAX
161 PTHMIN=MAX(CKIN(3),CKIN(5))
163 IF(PTHMAX.LT.0.) PTHMAX=0.5*SHRMAX
164 WRITE(MSTU(11),6700) CKIN(3),PTHMIN,CHKIN(2),PTHMAX
165 WRITE(MSTU(11),6800) CHKIN(3),CKIN(6)
167 WRITE(MSTU(11),6600) CKIN(2*I-1),CHKIN(I),CKIN(2*I)
170 IF(SPRMAX.LT.0.) SPRMAX=VINT(1)
171 WRITE(MSTU(11),6600) CKIN(31),CHKIN(15),SPRMAX
174 C...Status codes and parameter values.
175 ELSEIF(MSTAT.EQ.5) THEN
179 WRITE(MSTU(11),7200) I,MSTP(I),PARP(I),100+I,MSTP(100+I),
184 C...Formats for printouts.
185 5000 FORMAT('1',9('*'),1X,'PYSTAT: Statistics on Number of ',
186 &'Events and Cross-sections',1X,9('*'))
187 5100 FORMAT(/1X,78('=')/1X,'I',34X,'I',28X,'I',12X,'I'/1X,'I',12X,
188 &'Subprocess',12X,'I',6X,'Number of points',6X,'I',4X,'Sigma',3X,
189 &'I'/1X,'I',34X,'I',28X,'I',12X,'I'/1X,'I',34('-'),'I',28('-'),
190 &'I',4X,'(mb)',4X,'I'/1X,'I',34X,'I',28X,'I',12X,'I'/1X,'I',1X,
191 &'N:o',1X,'Type',25X,'I',4X,'Generated',9X,'Tried',1X,'I',12X,
192 &'I'/1X,'I',34X,'I',28X,'I',12X,'I'/1X,78('=')/1X,'I',34X,'I',28X,
194 5200 FORMAT(1X,'I',1X,I3,1X,A28,1X,'I',1X,I12,1X,I13,1X,'I',1X,1P,
196 5300 FORMAT(1X,'I',34X,'I',28X,'I',12X,'I'/1X,78('=')/
197 &1X,'I',34X,'I',28X,'I',12X,'I')
198 5400 FORMAT(1X,'I',34X,'I',28X,'I',12X,'I'/1X,78('=')//
199 &1X,'********* Fraction of events that fail fragmentation ',
200 &'cuts =',1X,F8.5,' *********'/)
201 5500 FORMAT('1',17('*'),1X,'PYSTAT: Decay Widths and Branching ',
202 &'Ratios',1X,17('*'))
203 5600 FORMAT(/1X,78('=')/1X,'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/
204 &1X,'I',1X,'Branching/Decay Channel',5X,'I',1X,'Width (GeV)',1X,
205 &'I',7X,'B.R.',1X,'I',1X,'Stat',1X,'I',2X,'Eff. B.R.',1X,'I'/1X,
206 &'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/1X,78('='))
207 5700 FORMAT(1X,'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/1X,'I',1X,
208 &I4,1X,A9,'(',1P,E8.2,0P,')',1X,'->',1X,'I',2X,1P,E10.3,0P,1X,
209 &'I',1X,1P,E10.3,0P,1X,'I',1X,A4,1X,'I',1X,1P,E10.3,0P,1X,'I')
210 5800 FORMAT(1X,'I',1X,I4,1X,A9,1X,'+',1X,A9,2X,'I',2X,1P,E10.3,0P,
211 &1X,'I',1X,1P,E10.3,0P,1X,'I',1X,A4,1X,'I',1X,1P,E10.3,0P,1X,'I')
212 5900 FORMAT(1X,'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/1X,78('='))
213 6000 FORMAT('1',7('*'),1X,'PYSTAT: Allowed Incoming Partons/',
214 &'Particles at Hard Interaction',1X,7('*'))
215 6100 FORMAT(/1X,78('=')/1X,'I',38X,'I',37X,'I'/1X,'I',1X,
216 &'Beam particle:',1X,A12,10X,'I',1X,'Target particle:',1X,A12,7X,
217 &'I'/1X,'I',38X,'I',37X,'I'/1X,'I',1X,'Content',6X,'State',19X,
218 &'I',1X,'Content',6X,'State',18X,'I'/1X,'I',38X,'I',37X,'I'/1X,
219 &78('=')/1X,'I',38X,'I',37X,'I')
220 6200 FORMAT(1X,'I',1X,A9,5X,A4,19X,'I',1X,A9,5X,A4,18X,'I')
221 6300 FORMAT(1X,'I',38X,'I',37X,'I'/1X,78('='))
222 6400 FORMAT('1',12('*'),1X,'PYSTAT: User-Defined Limits on ',
223 &'Kinematical Variables',1X,12('*'))
224 6500 FORMAT(/1X,78('=')/1X,'I',76X,'I')
225 6600 FORMAT(1X,'I',16X,1P,E10.3,0P,1X,'<',1X,A,1X,'<',1X,1P,E10.3,0P,
227 6700 FORMAT(1X,'I',3X,1P,E10.3,0P,1X,'(',1P,E10.3,0P,')',1X,'<',1X,A,
228 &1X,'<',1X,1P,E10.3,0P,16X,'I')
229 6800 FORMAT(1X,'I',29X,A,1X,'=',1X,1P,E10.3,0P,16X,'I')
230 6900 FORMAT(1X,'I',76X,'I'/1X,78('='))
231 7000 FORMAT('1',12('*'),1X,'PYSTAT: Summary of Status Codes and ',
232 &'Parameter Values',1X,12('*'))
233 7100 FORMAT(/3X,'I',4X,'MSTP(I)',9X,'PARP(I)',20X,'I',4X,'MSTP(I)',9X,
235 7200 FORMAT(1X,I3,5X,I6,6X,1P,E10.3,0P,18X,I3,5X,I6,6X,1P,E10.3)