]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | |
2 | C*********************************************************************** | |
3 | ||
4 | SUBROUTINE PYSTAT(MSTAT) | |
5 | ||
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) | |
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 | ||
37 | C...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 | ||
64 | C...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 | |
90 | C...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 | |
108 | C...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 | ||
132 | C...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 | ||
154 | C...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 | ||
174 | C...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 | ||
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, | |
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 |