Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:15:45

0001     
0002 C***********************************************************************    
0003     
0004       SUBROUTINE PYHISTAT(MSTAT)  
0005     
0006 C...Prints out information about cross-sections, decay widths, branching    
0007 C...ratios, kinematical limits, status codes and parameter values.  
0008       COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) 
0009       SAVE /LUDAT1/ 
0010       COMMON/LUDAT2/KCHG(500,3),PMAS(500,4),PARF(2000),VCKM(4,4)    
0011       SAVE /LUDAT2/ 
0012       COMMON/LUDAT3/MDCY(500,3),MDME(2000,2),BRAT(2000),KFDP(2000,5)    
0013       SAVE /LUDAT3/ 
0014       COMMON/PYHISUBS/MSEL,MSUB(200),KFIN(2,-40:40),CKIN(200) 
0015       SAVE /PYHISUBS/ 
0016       COMMON/PYHIPARS/MSTP(200),PARP(200),MSTI(200),PARI(200) 
0017       SAVE /PYHIPARS/ 
0018       COMMON/PYHIINT1/MINT(400),VINT(400) 
0019       SAVE /PYHIINT1/ 
0020       COMMON/PYHIINT4/WIDP(21:40,0:40),WIDE(21:40,0:40),WIDS(21:40,3) 
0021       SAVE /PYHIINT4/ 
0022       COMMON/PYHIINT5/NGEN(0:200,3),XSEC(0:200,3) 
0023       SAVE /PYHIINT5/ 
0024       COMMON/PYHIINT6/PROC(0:200) 
0025       CHARACTER PROC*28 
0026       SAVE /PYHIINT6/ 
0027       CHARACTER CHAU*16,CHPA(-40:40)*12,CHIN(2)*12, 
0028      &STATE(-1:5)*4,CHKIN(21)*18    
0029       DATA STATE/'----','off ','on  ','on/+','on/-','on/1','on/2'/, 
0030      &CHKIN/' m_hard (GeV/c^2) ',' p_T_hard (GeV/c) ',  
0031      &'m_finite (GeV/c^2)','   y*_subsystem   ','     y*_large     ',   
0032      &'     y*_small     ','    eta*_large    ','    eta*_small    ',   
0033      &'cos(theta*)_large ','cos(theta*)_small ','       x_1        ',   
0034      &'       x_2        ','       x_F        ',' cos(theta_hard)  ',   
0035      &'m''_hard (GeV/c^2) ','       tau        ','        y*        ',  
0036      &'cos(theta_hard^-) ','cos(theta_hard^+) ','      x_T^2       ',   
0037      &'       tau''       '/    
0038     
0039 C...Cross-sections. 
0040       IF(MSTAT.LE.1) THEN   
0041         WRITE(MSTU(11),1000)    
0042         WRITE(MSTU(11),1100)    
0043         WRITE(MSTU(11),1200) 0,PROC(0),NGEN(0,3),NGEN(0,1),XSEC(0,3)    
0044         DO 100 I=1,200  
0045         IF(MSUB(I).NE.1) GOTO 100   
0046         WRITE(MSTU(11),1200) I,PROC(I),NGEN(I,3),NGEN(I,1),XSEC(I,3)    
0047   100   CONTINUE    
0048         WRITE(MSTU(11),1300) 1.-FLOAT(NGEN(0,3))/   
0049      &  MAX(1.,FLOAT(NGEN(0,2)))    
0050     
0051 C...Decay widths and branching ratios.  
0052       ELSEIF(MSTAT.EQ.2) THEN   
0053         DO 110 KF=-40,40    
0054         CALL LUNAME(KF,CHAU)    
0055   110   CHPA(KF)=CHAU(1:12) 
0056         WRITE(MSTU(11),1400)    
0057         WRITE(MSTU(11),1500)    
0058 C...Off-shell branchings.   
0059         DO 130 I=1,17   
0060         KC=I    
0061         IF(I.GE.9) KC=I+2   
0062         IF(I.EQ.17) KC=21   
0063         WRITE(MSTU(11),1600) CHPA(KC),0.,0.,STATE(MDCY(KC,1)),0.    
0064         DO 120 J=1,MDCY(KC,3)   
0065         IDC=J+MDCY(KC,2)-1  
0066   120   IF(MDME(IDC,2).EQ.102) WRITE(MSTU(11),1700) CHPA(KFDP(IDC,1)),  
0067      &  CHPA(KFDP(IDC,2)),0.,0.,STATE(MDME(IDC,1)),0.   
0068   130   CONTINUE    
0069 C...On-shell decays.    
0070         DO 150 I=1,6    
0071         KC=I+22 
0072         IF(I.EQ.4) KC=32    
0073         IF(I.EQ.5) KC=37    
0074         IF(I.EQ.6) KC=40    
0075         IF(WIDE(KC,0).GT.0.) THEN   
0076           WRITE(MSTU(11),1600) CHPA(KC),WIDP(KC,0),1.,  
0077      &    STATE(MDCY(KC,1)),1.  
0078           DO 140 J=1,MDCY(KC,3) 
0079           IDC=J+MDCY(KC,2)-1    
0080   140     WRITE(MSTU(11),1700) CHPA(KFDP(IDC,1)),CHPA(KFDP(IDC,2)), 
0081      &    WIDP(KC,J),WIDP(KC,J)/WIDP(KC,0),STATE(MDME(IDC,1)),  
0082      &    WIDE(KC,J)/WIDE(KC,0) 
0083         ELSE    
0084           WRITE(MSTU(11),1600) CHPA(KC),WIDP(KC,0),1.,  
0085      &    STATE(MDCY(KC,1)),0.  
0086         ENDIF   
0087   150   CONTINUE    
0088         WRITE(MSTU(11),1800)    
0089     
0090 C...Allowed incoming partons/particles at hard interaction. 
0091       ELSEIF(MSTAT.EQ.3) THEN   
0092         WRITE(MSTU(11),1900)    
0093         CALL LUNAME(MINT(11),CHAU)  
0094         CHIN(1)=CHAU(1:12)  
0095         CALL LUNAME(MINT(12),CHAU)  
0096         CHIN(2)=CHAU(1:12)  
0097         WRITE(MSTU(11),2000) CHIN(1),CHIN(2)    
0098         DO 160 KF=-40,40    
0099         CALL LUNAME(KF,CHAU)    
0100   160   CHPA(KF)=CHAU(1:12) 
0101         IF(MINT(43).EQ.1) THEN  
0102           WRITE(MSTU(11),2100) CHPA(MINT(11)),STATE(KFIN(1,MINT(11))),  
0103      &    CHPA(MINT(12)),STATE(KFIN(2,MINT(12)))    
0104         ELSEIF(MINT(43).EQ.2) THEN  
0105           WRITE(MSTU(11),2100) CHPA(MINT(11)),STATE(KFIN(1,MINT(11))),  
0106      &    CHPA(-MSTP(54)),STATE(KFIN(2,-MSTP(54)))  
0107           DO 170 I=-MSTP(54)+1,-1   
0108   170     WRITE(MSTU(11),2200) CHPA(I),STATE(KFIN(2,I)) 
0109           DO 180 I=1,MSTP(54)   
0110   180     WRITE(MSTU(11),2200) CHPA(I),STATE(KFIN(2,I)) 
0111           WRITE(MSTU(11),2200) CHPA(21),STATE(KFIN(2,21))   
0112         ELSEIF(MINT(43).EQ.3) THEN  
0113           WRITE(MSTU(11),2100) CHPA(-MSTP(54)),STATE(KFIN(1,-MSTP(54))),    
0114      &    CHPA(MINT(12)),STATE(KFIN(2,MINT(12)))    
0115           DO 190 I=-MSTP(54)+1,-1   
0116   190     WRITE(MSTU(11),2300) CHPA(I),STATE(KFIN(1,I)) 
0117           DO 200 I=1,MSTP(54)   
0118   200     WRITE(MSTU(11),2300) CHPA(I),STATE(KFIN(1,I)) 
0119           WRITE(MSTU(11),2300) CHPA(21),STATE(KFIN(1,21))   
0120         ELSEIF(MINT(43).EQ.4) THEN  
0121           DO 210 I=-MSTP(54),-1 
0122   210     WRITE(MSTU(11),2100) CHPA(I),STATE(KFIN(1,I)),CHPA(I),    
0123      &    STATE(KFIN(2,I))  
0124           DO 220 I=1,MSTP(54)   
0125   220     WRITE(MSTU(11),2100) CHPA(I),STATE(KFIN(1,I)),CHPA(I),    
0126      &    STATE(KFIN(2,I))  
0127           WRITE(MSTU(11),2100) CHPA(21),STATE(KFIN(1,21)),CHPA(21), 
0128      &    STATE(KFIN(2,21)) 
0129         ENDIF   
0130         WRITE(MSTU(11),2400)    
0131     
0132 C...User-defined and derived limits on kinematical variables.   
0133       ELSEIF(MSTAT.EQ.4) THEN   
0134         WRITE(MSTU(11),2500)    
0135         WRITE(MSTU(11),2600)    
0136         SHRMAX=CKIN(2)  
0137         IF(SHRMAX.LT.0.) SHRMAX=VINT(1) 
0138         WRITE(MSTU(11),2700) CKIN(1),CHKIN(1),SHRMAX    
0139         PTHMIN=MAX(CKIN(3),CKIN(5)) 
0140         PTHMAX=CKIN(4)  
0141         IF(PTHMAX.LT.0.) PTHMAX=0.5*SHRMAX  
0142         WRITE(MSTU(11),2800) CKIN(3),PTHMIN,CHKIN(2),PTHMAX 
0143         WRITE(MSTU(11),2900) CHKIN(3),CKIN(6)   
0144         DO 230 I=4,14   
0145   230   WRITE(MSTU(11),2700) CKIN(2*I-1),CHKIN(I),CKIN(2*I) 
0146         SPRMAX=CKIN(32) 
0147         IF(SPRMAX.LT.0.) SPRMAX=VINT(1) 
0148         WRITE(MSTU(11),2700) CKIN(31),CHKIN(13),SPRMAX  
0149         WRITE(MSTU(11),3000)    
0150         WRITE(MSTU(11),3100)    
0151         WRITE(MSTU(11),2600)    
0152         DO 240 I=16,21  
0153   240   WRITE(MSTU(11),2700) VINT(I-5),CHKIN(I),VINT(I+15)  
0154         WRITE(MSTU(11),3000)    
0155     
0156 C...Status codes and parameter values.  
0157       ELSEIF(MSTAT.EQ.5) THEN   
0158         WRITE(MSTU(11),3200)    
0159         WRITE(MSTU(11),3300)    
0160         DO 250 I=1,100  
0161   250   WRITE(MSTU(11),3400) I,MSTP(I),PARP(I),100+I,MSTP(100+I),   
0162      &  PARP(100+I) 
0163       ENDIF 
0164     
0165 C...Formats for printouts.  
0166  1000 FORMAT('1',9('*'),1X,'PYHISTAT:  Statistics on Number of ', 
0167      &'Events and Cross-sections',1X,9('*'))    
0168  1100 FORMAT(/1X,78('=')/1X,'I',34X,'I',28X,'I',12X,'I'/1X,'I',12X, 
0169      &'Subprocess',12X,'I',6X,'Number of points',6X,'I',4X,'Sigma',3X,  
0170      &'I'/1X,'I',34X,'I',28X,'I',12X,'I'/1X,'I',34('-'),'I',28('-'),    
0171      &'I',4X,'(mb)',4X,'I'/1X,'I',34X,'I',28X,'I',12X,'I'/1X,'I',1X,    
0172      &'N:o',1X,'Type',25X,'I',4X,'Generated',9X,'Tried',1X,'I',12X, 
0173      &'I'/1X,'I',34X,'I',28X,'I',12X,'I'/1X,78('=')/1X,'I',34X,'I',28X, 
0174      &'I',12X,'I')  
0175  1200 FORMAT(1X,'I',1X,I3,1X,A28,1X,'I',1X,I12,1X,I13,1X,'I',1X,1P, 
0176      &E10.3,1X,'I') 
0177  1300 FORMAT(1X,'I',34X,'I',28X,'I',12X,'I'/1X,78('=')//    
0178      &1X,'********* Fraction of events that fail fragmentation ',   
0179      &'cuts =',1X,F8.5,' *********'/)   
0180  1400 FORMAT('1',17('*'),1X,'PYHISTAT:  Decay Widths and Branching ', 
0181      &'Ratios',1X,17('*'))  
0182  1500 FORMAT(/1X,78('=')/1X,'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/ 
0183      &1X,'I',1X,'Branching/Decay Channel',5X,'I',1X,'Width (GeV)',1X,   
0184      &'I',7X,'B.R.',1X,'I',1X,'Stat',1X,'I',2X,'Eff. B.R.',1X,'I'/1X,   
0185      &'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/1X,78('='))    
0186  1600 FORMAT(1X,'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/1X,'I',1X,   
0187      &A12,1X,'->',13X,'I',2X,1P,E10.3,0P,1X,'I',1X,1P,E10.3,0P,1X,'I',  
0188      &1X,A4,1X,'I',1X,1P,E10.3,0P,1X,'I')   
0189  1700 FORMAT(1X,'I',1X,A12,1X,'+',1X,A12,1X,'I',2X,1P,E10.3,0P,1X,'I',  
0190      &1X,1P,E10.3,0P,1X,'I',1X,A4,1X,'I',1X,1P,E10.3,0P,1X,'I') 
0191  1800 FORMAT(1X,'I',29X,'I',13X,'I',12X,'I',6X,'I',12X,'I'/1X,78('='))  
0192  1900 FORMAT('1',7('*'),1X,'PYHISTAT: Allowed Incoming Partons/', 
0193      &'Particles at Hard Interaction',1X,7('*'))    
0194  2000 FORMAT(/1X,78('=')/1X,'I',38X,'I',37X,'I'/1X,'I',1X,  
0195      &'Beam particle:',1X,A,10X,'I',1X,'Target particle:',1X,A,7X,  
0196      &'I'/1X,'I',38X,'I',37X,'I'/1X,'I',1X,'Content',9X,'State',16X,    
0197      &'I',1X,'Content',9X,'State',15X,'I'/1X,'I',38X,'I',37X,'I'/1X,    
0198      &78('=')/1X,'I',38X,'I',37X,'I')   
0199  2100 FORMAT(1X,'I',1X,A,5X,A,16X,'I',1X,A,5X,A,15X,'I')    
0200  2200 FORMAT(1X,'I',38X,'I',1X,A,5X,A,15X,'I')  
0201  2300 FORMAT(1X,'I',1X,A,5X,A,16X,'I',37X,'I')  
0202  2400 FORMAT(1X,'I',38X,'I',37X,'I'/1X,78('=')) 
0203  2500 FORMAT('1',12('*'),1X,'PYHISTAT: User-Defined Limits on ',  
0204      &'Kinematical Variables',1X,12('*'))   
0205  2600 FORMAT(/1X,78('=')/1X,'I',76X,'I')    
0206  2700 FORMAT(1X,'I',16X,1P,E10.3,0P,1X,'<',1X,A,1X,'<',1X,1P,E10.3,0P,  
0207      &16X,'I')  
0208  2800 FORMAT(1X,'I',3X,1P,E10.3,0P,1X,'(',1P,E10.3,0P,')',1X,'<',1X,A,  
0209      &1X,'<',1X,1P,E10.3,0P,16X,'I')    
0210  2900 FORMAT(1X,'I',29X,A,1X,'=',1X,1P,E10.3,0P,16X,'I')    
0211  3000 FORMAT(1X,'I',76X,'I'/1X,78('=')) 
0212  3100 FORMAT(////1X,5('*'),1X,
0213      &'PYHISTAT: Derived Limits on Kinematical ', 
0214      &'Variables Used in Generation',1X,5('*')) 
0215  3200 FORMAT('1',12('*'),1X,'PYHISTAT: Summary of Status Codes and ', 
0216      &'Parameter Values',1X,12('*'))    
0217  3300 FORMAT(/3X,'I',4X,'MSTP(I)',9X,'PARP(I)',20X,'I',4X,'MSTP(I)',9X, 
0218      &'PARP(I)'/)   
0219  3400 FORMAT(1X,I3,5X,I6,6X,1P,E10.3,0P,18X,I3,5X,I6,6X,1P,E10.3)   
0220     
0221       RETURN    
0222       END