]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA/pythia/pystat.F
This commit was generated by cvs2svn to compensate for changes in r1018,
[u/mrichter/AliRoot.git] / PYTHIA / pythia / pystat.F
CommitLineData
fe4da5cc 1
2C***********************************************************************
3
4 SUBROUTINE PYSTAT(MSTAT)
5
6C...Prints out information about cross-sections, decay widths, branching
7C...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)
17 CHARACTER PROC*28
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
22 DATA PROGA/
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 ',
35 &' tau'' '/
36
37C...Cross-sections.
38 IF(MSTAT.LE.1) THEN
39 IF(MINT(121).GT.1) CALL PYSAVE(5,0)
40 WRITE(MSTU(11),5000)
41 WRITE(MSTU(11),5100)
42 WRITE(MSTU(11),5200) 0,PROC(0),NGEN(0,3),NGEN(0,1),XSEC(0,3)
43 DO 100 I=1,200
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)
46 100 CONTINUE
47 IF(MINT(121).GT.1) THEN
48 WRITE(MSTU(11),5300)
49 DO 110 IGA=1,MINT(121)
50 CALL PYSAVE(3,IGA)
51 IF(MINT(121).EQ.2) THEN
52 WRITE(MSTU(11),5200) IGA,DISGA(IGA),NGEN(0,3),NGEN(0,1),
53 & XSEC(0,3)
54 ELSE
55 WRITE(MSTU(11),5200) IGA,PROGA(IGA),NGEN(0,3),NGEN(0,1),
56 & XSEC(0,3)
57 ENDIF
58 110 CONTINUE
59 CALL PYSAVE(5,0)
60 ENDIF
61 WRITE(MSTU(11),5400) 1.-FLOAT(NGEN(0,3))/
62 & MAX(1.,FLOAT(NGEN(0,2)))
63
64C...Decay widths and branching ratios.
65 ELSEIF(MSTAT.EQ.2) THEN
66 DO 120 KF=-100,100
67 CALL LUNAME(KF,CHAU)
68 CHPA(KF)=CHAU(1:9)
69 120 CONTINUE
70 WRITE(MSTU(11),5500)
71 WRITE(MSTU(11),5600)
72 DO 150 KC=1,40
73 KCL=KC
74 IF(KC.GE.6.AND.KC.LE.8) KCL=KC+20
75 IF(KC.EQ.17.OR.KC.EQ.18) KCL=KC+12
76 IF(MSTP(6).NE.1) THEN
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
79 ELSE
80 IF(KC.GT.8.AND.KC.LE.10) GOTO 150
81 IF(KC.GT.18.AND.KC.LE.20) GOTO 150
82 ENDIF
83 IF((KC.GE.26.AND.KC.LE.31).OR.KC.EQ.33) GOTO 150
84 IOFF=0
85 IF(KC.LE.22) IOFF=1
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
90C...Off-shell branchings.
91 IF(IOFF.EQ.1) THEN
92 NGP=0
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.
96 DO 130 J=1,MDCY(KC,3)
97 IDC=J+MDCY(KC,2)-1
98 NGP1=0
99 IF(IABS(KFDP(IDC,1)).LE.20) NGP1=
100 & (MOD(IABS(KFDP(IDC,1)),10)+1)/2
101 NGP2=0
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.
107 130 CONTINUE
108C...On-shell decays.
109 ELSE
110 BRFIN=1.
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)
115 IDC=J+MDCY(KC,2)-1
116 NGP1=0
117 IF(IABS(KFDP(IDC,1)).LE.20) NGP1=
118 & (MOD(IABS(KFDP(IDC,1)),10)+1)/2
119 NGP2=0
120 IF(IABS(KFDP(IDC,2)).LE.20) NGP2=
121 & (MOD(IABS(KFDP(IDC,2)),10)+1)/2
122 BRFIN=0.
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
127 140 CONTINUE
128 ENDIF
129 150 CONTINUE
130 WRITE(MSTU(11),5900)
131
132C...Allowed incoming partons/particles at hard interaction.
133 ELSEIF(MSTAT.EQ.3) THEN
134 WRITE(MSTU(11),6000)
135 CALL LUNAME(MINT(11),CHAU)
136 CHIN(1)=CHAU(1:12)
137 CALL LUNAME(MINT(12),CHAU)
138 CHIN(2)=CHAU(1:12)
139 WRITE(MSTU(11),6100) CHIN(1),CHIN(2)
140 DO 160 KF=-40,40
141 CALL LUNAME(KF,CHAU)
142 CHPA(KF)=CHAU(1:9)
143 160 CONTINUE
144 DO 170 I=-20,22
145 IF(I.EQ.0) GOTO 170
146 IA=IABS(I)
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),
150 & STATE(KFIN(2,I))
151 170 CONTINUE
152 WRITE(MSTU(11),6300)
153
154C...User-defined limits on kinematical variables.
155 ELSEIF(MSTAT.EQ.4) THEN
156 WRITE(MSTU(11),6400)
157 WRITE(MSTU(11),6500)
158 SHRMAX=CKIN(2)
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))
162 PTHMAX=CKIN(4)
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)
166 DO 180 I=4,14
167 WRITE(MSTU(11),6600) CKIN(2*I-1),CHKIN(I),CKIN(2*I)
168 180 CONTINUE
169 SPRMAX=CKIN(32)
170 IF(SPRMAX.LT.0.) SPRMAX=VINT(1)
171 WRITE(MSTU(11),6600) CKIN(31),CHKIN(15),SPRMAX
172 WRITE(MSTU(11),6900)
173
174C...Status codes and parameter values.
175 ELSEIF(MSTAT.EQ.5) THEN
176 WRITE(MSTU(11),7000)
177 WRITE(MSTU(11),7100)
178 DO 190 I=1,100
179 WRITE(MSTU(11),7200) I,MSTP(I),PARP(I),100+I,MSTP(100+I),
180 & PARP(100+I)
181 190 CONTINUE
182 ENDIF
183
184C...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,
193 &'I',12X,'I')
194 5200 FORMAT(1X,'I',1X,I3,1X,A28,1X,'I',1X,I12,1X,I13,1X,'I',1X,1P,
195 &E10.3,1X,'I')
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,
226 &16X,'I')
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,
234 &'PARP(I)'/)
235 7200 FORMAT(1X,I3,5X,I6,6X,1P,E10.3,0P,18X,I3,5X,I6,6X,1P,E10.3)
236
237 RETURN
238 END