]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PYTHIA/pythia/pystat.F
New version of MUON from M.Bondila & A.Morsch
[u/mrichter/AliRoot.git] / PYTHIA / pythia / pystat.F
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