Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001     
0002 C*********************************************************************  
0003     
0004       SUBROUTINE LUX4JT(NJET,CUT,KFL,ECM,KFLN,X1,X2,X4,X12,X14) 
0005     
0006 C...Purpose: to select the kinematical variables of four-jet events.    
0007       COMMON/LUDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200) 
0008       SAVE /LUDAT1/ 
0009       DIMENSION WTA(4),WTB(4),WTC(4),WTD(4),WTE(4)  
0010     
0011 C...Common constants. Colour factors for QCD and Abelian gluon theory.  
0012       PMQ=ULMASS(KFL)   
0013       QME=(2.*PMQ/ECM)**2   
0014       CT=LOG(1./CUT-5.) 
0015       IF(MSTJ(109).EQ.0) THEN   
0016         CF=4./3.    
0017         CN=3.   
0018         TR=2.   
0019       ELSE  
0020         CF=1.   
0021         CN=0.   
0022         TR=12.  
0023       ENDIF 
0024     
0025 C...Choice of process (qqbargg or qqbarqqbar).  
0026   100 NJET=4    
0027       IT=1  
0028       IF(PARJ(155).GT.RLU(0)) IT=2  
0029       IF(MSTJ(101).LE.-3) IT=-MSTJ(101)-2   
0030       IF(IT.EQ.1) WTMX=0.7/CUT**2   
0031       IF(IT.EQ.1.AND.MSTJ(109).EQ.2) WTMX=0.6/CUT**2    
0032       IF(IT.EQ.2) WTMX=0.1125*CF*TR/CUT**2  
0033       ID=1  
0034     
0035 C...Sample the five kinematical variables (for qqgg preweighted in y34).    
0036   110 Y134=3.*CUT+(1.-6.*CUT)*RLU(0)    
0037       Y234=3.*CUT+(1.-6.*CUT)*RLU(0)    
0038       IF(IT.EQ.1) Y34=(1.-5.*CUT)*EXP(-CT*RLU(0))   
0039       IF(IT.EQ.2) Y34=CUT+(1.-6.*CUT)*RLU(0)    
0040       IF(Y34.LE.Y134+Y234-1..OR.Y34.GE.Y134*Y234) GOTO 110  
0041       VT=RLU(0) 
0042       CP=COS(PARU(1)*RLU(0))    
0043       Y14=(Y134-Y34)*VT 
0044       Y13=Y134-Y14-Y34  
0045       VB=Y34*(1.-Y134-Y234+Y34)/((Y134-Y34)*(Y234-Y34)) 
0046       Y24=0.5*(Y234-Y34)*(1.-4.*SQRT(MAX(0.,VT*(1.-VT)*VB*(1.-VB)))*    
0047      &CP-(1.-2.*VT)*(1.-2.*VB)) 
0048       Y23=Y234-Y34-Y24  
0049       Y12=1.-Y134-Y23-Y24   
0050       IF(MIN(Y12,Y13,Y14,Y23,Y24).LE.CUT) GOTO 110  
0051       Y123=Y12+Y13+Y23  
0052       Y124=Y12+Y14+Y24  
0053     
0054 C...Calculate matrix elements for qqgg or qqqq process. 
0055       IC=0  
0056       WTTOT=0.  
0057   120 IC=IC+1   
0058       IF(IT.EQ.1) THEN  
0059         WTA(IC)=(Y12*Y34**2-Y13*Y24*Y34+Y14*Y23*Y34+3.*Y12*Y23*Y34+ 
0060      &  3.*Y12*Y14*Y34+4.*Y12**2*Y34-Y13*Y23*Y24+2.*Y12*Y23*Y24-    
0061      &  Y13*Y14*Y24-2.*Y12*Y13*Y24+2.*Y12**2*Y24+Y14*Y23**2+2.*Y12* 
0062      &  Y23**2+Y14**2*Y23+4.*Y12*Y14*Y23+4.*Y12**2*Y23+2.*Y12*Y14**2+   
0063      &  2.*Y12*Y13*Y14+4.*Y12**2*Y14+2.*Y12**2*Y13+2.*Y12**3)/(2.*Y13*  
0064      &  Y134*Y234*Y24)+(Y24*Y34+Y12*Y34+Y13*Y24-Y14*Y23+Y12*Y13)/(Y13*  
0065      &  Y134**2)+2.*Y23*(1.-Y13)/(Y13*Y134*Y24)+Y34/(2.*Y13*Y24)    
0066         WTB(IC)=(Y12*Y24*Y34+Y12*Y14*Y34-Y13*Y24**2+Y13*Y14*Y24+2.*Y12* 
0067      &  Y14*Y24)/(Y13*Y134*Y23*Y14)+Y12*(1.+Y34)*Y124/(Y134*Y234*Y14*   
0068      &  Y24)-(2.*Y13*Y24+Y14**2+Y13*Y23+2.*Y12*Y13)/(Y13*Y134*Y14)+ 
0069      &  Y12*Y123*Y124/(2.*Y13*Y14*Y23*Y24)  
0070         WTC(IC)=-(5.*Y12*Y34**2+2.*Y12*Y24*Y34+2.*Y12*Y23*Y34+2.*Y12*   
0071      &  Y14*Y34+2.*Y12*Y13*Y34+4.*Y12**2*Y34-Y13*Y24**2+Y14*Y23*Y24+    
0072      &  Y13*Y23*Y24+Y13*Y14*Y24-Y12*Y14*Y24-Y13**2*Y24-3.*Y12*Y13*Y24-  
0073      &  Y14*Y23**2-Y14**2*Y23+Y13*Y14*Y23-3.*Y12*Y14*Y23-Y12*Y13*Y23)/  
0074      &  (4.*Y134*Y234*Y34**2)+(3.*Y12*Y34**2-3.*Y13*Y24*Y34+3.*Y12*Y24* 
0075      &  Y34+3.*Y14*Y23*Y34-Y13*Y24**2-Y12*Y23*Y34+6.*Y12*Y14*Y34+2.*Y12*    
0076      &  Y13*Y34-2.*Y12**2*Y34+Y14*Y23*Y24-3.*Y13*Y23*Y24-2.*Y13*Y14*    
0077      &  Y24+4.*Y12*Y14*Y24+2.*Y12*Y13*Y24+3.*Y14*Y23**2+2.*Y14**2*Y23+  
0078      &  2.*Y14**2*Y12+2.*Y12**2*Y14+6.*Y12*Y14*Y23-2.*Y12*Y13**2-   
0079      &  2.*Y12**2*Y13)/(4.*Y13*Y134*Y234*Y34)   
0080         WTC(IC)=WTC(IC)+(2.*Y12*Y34**2-2.*Y13*Y24*Y34+Y12*Y24*Y34+  
0081      &  4.*Y13*Y23*Y34+4.*Y12*Y14*Y34+2.*Y12*Y13*Y34+2.*Y12**2*Y34- 
0082      &  Y13*Y24**2+3.*Y14*Y23*Y24+4.*Y13*Y23*Y24-2.*Y13*Y14*Y24+    
0083      &  4.*Y12*Y14*Y24+2.*Y12*Y13*Y24+2.*Y14*Y23**2+4.*Y13*Y23**2+  
0084      &  2.*Y13*Y14*Y23+2.*Y12*Y14*Y23+4.*Y12*Y13*Y23+2.*Y12*Y14**2+4.*  
0085      &  Y12**2*Y13+4.*Y12*Y13*Y14+2.*Y12**2*Y14)/(4.*Y13*Y134*Y24*Y34)- 
0086      &  (Y12*Y34**2-2.*Y14*Y24*Y34-2.*Y13*Y24*Y34-Y14*Y23*Y34+Y13*Y23*  
0087      &  Y34+Y12*Y14*Y34+2.*Y12*Y13*Y34-2.*Y14**2*Y24-4.*Y13*Y14*Y24-    
0088      &  4.*Y13**2*Y24-Y14**2*Y23-Y13**2*Y23+Y12*Y13*Y14-Y12*Y13**2)/    
0089      &  (2.*Y13*Y34*Y134**2)+(Y12*Y34**2-4.*Y14*Y24*Y34-2.*Y13*Y24*Y34- 
0090      &  2.*Y14*Y23*Y34-4.*Y13*Y23*Y34-4.*Y12*Y14*Y34-4.*Y12*Y13*Y34-    
0091      &  2.*Y13*Y14*Y24+2.*Y13**2*Y24+2.*Y14**2*Y23-2.*Y13*Y14*Y23-  
0092      &  Y12*Y14**2-6.*Y12*Y13*Y14-Y12*Y13**2)/(4.*Y34**2*Y134**2)   
0093         WTTOT=WTTOT+Y34*CF*(CF*WTA(IC)+(CF-0.5*CN)*WTB(IC)+CN*WTC(IC))/ 
0094      &  8.  
0095       ELSE  
0096         WTD(IC)=(Y13*Y23*Y34+Y12*Y23*Y34-Y12**2*Y34+Y13*Y23*Y24+2.*Y12* 
0097      &  Y23*Y24-Y14*Y23**2+Y12*Y13*Y24+Y12*Y14*Y23+Y12*Y13*Y14)/(Y13**2*    
0098      &  Y123**2)-(Y12*Y34**2-Y13*Y24*Y34+Y12*Y24*Y34-Y14*Y23*Y34-Y12*   
0099      &  Y23*Y34-Y13*Y24**2+Y14*Y23*Y24-Y13*Y23*Y24-Y13**2*Y24+Y14*  
0100      &  Y23**2)/(Y13**2*Y123*Y134)+(Y13*Y14*Y12+Y34*Y14*Y12-Y34**2*Y12+ 
0101      &  Y13*Y14*Y24+2.*Y34*Y14*Y24-Y23*Y14**2+Y34*Y13*Y24+Y34*Y23*Y14+  
0102      &  Y34*Y13*Y23)/(Y13**2*Y134**2)-(Y34*Y12**2-Y13*Y24*Y12+Y34*Y24*  
0103      &  Y12-Y23*Y14*Y12-Y34*Y14*Y12-Y13*Y24**2+Y23*Y14*Y24-Y13*Y14*Y24- 
0104      &  Y13**2*Y24+Y23*Y14**2)/(Y13**2*Y134*Y123)   
0105         WTE(IC)=(Y12*Y34*(Y23-Y24+Y14+Y13)+Y13*Y24**2-Y14*Y23*Y24+Y13*  
0106      &  Y23*Y24+Y13*Y14*Y24+Y13**2*Y24-Y14*Y23*(Y14+Y23+Y13))/(Y13*Y23* 
0107      &  Y123*Y134)-Y12*(Y12*Y34-Y23*Y24-Y13*Y24-Y14*Y23-Y14*Y13)/(Y13*  
0108      &  Y23*Y123**2)-(Y14+Y13)*(Y24+Y23)*Y34/(Y13*Y23*Y134*Y234)+   
0109      &  (Y12*Y34*(Y14-Y24+Y23+Y13)+Y13*Y24**2-Y23*Y14*Y24+Y13*Y14*Y24+  
0110      &  Y13*Y23*Y24+Y13**2*Y24-Y23*Y14*(Y14+Y23+Y13))/(Y13*Y14*Y134*    
0111      &  Y123)-Y34*(Y34*Y12-Y14*Y24-Y13*Y24-Y23*Y14-Y23*Y13)/(Y13*Y14*   
0112      &  Y134**2)-(Y23+Y13)*(Y24+Y14)*Y12/(Y13*Y14*Y123*Y124)    
0113         WTTOT=WTTOT+CF*(TR*WTD(IC)+(CF-0.5*CN)*WTE(IC))/16. 
0114       ENDIF 
0115     
0116 C...Permutations of momenta in matrix element. Weighting.   
0117   130 IF(IC.EQ.1.OR.IC.EQ.3.OR.ID.EQ.2.OR.ID.EQ.3) THEN 
0118         YSAV=Y13    
0119         Y13=Y14 
0120         Y14=YSAV    
0121         YSAV=Y23    
0122         Y23=Y24 
0123         Y24=YSAV    
0124         YSAV=Y123   
0125         Y123=Y124   
0126         Y124=YSAV   
0127       ENDIF 
0128       IF(IC.EQ.2.OR.IC.EQ.4.OR.ID.EQ.3.OR.ID.EQ.4) THEN 
0129         YSAV=Y13    
0130         Y13=Y23 
0131         Y23=YSAV    
0132         YSAV=Y14    
0133         Y14=Y24 
0134         Y24=YSAV    
0135         YSAV=Y134   
0136         Y134=Y234   
0137         Y234=YSAV   
0138       ENDIF 
0139       IF(IC.LE.3) GOTO 120  
0140       IF(ID.EQ.1.AND.WTTOT.LT.RLU(0)*WTMX) GOTO 110 
0141       IC=5  
0142     
0143 C...qqgg events: string configuration and event type.   
0144       IF(IT.EQ.1) THEN  
0145         IF(MSTJ(109).EQ.0.AND.ID.EQ.1) THEN 
0146           PARJ(156)=Y34*(2.*(WTA(1)+WTA(2)+WTA(3)+WTA(4))+4.*(WTC(1)+   
0147      &    WTC(2)+WTC(3)+WTC(4)))/(9.*WTTOT) 
0148           IF(WTA(2)+WTA(4)+2.*(WTC(2)+WTC(4)).GT.RLU(0)*(WTA(1)+WTA(2)+ 
0149      &    WTA(3)+WTA(4)+2.*(WTC(1)+WTC(2)+WTC(3)+WTC(4)))) ID=2 
0150           IF(ID.EQ.2) GOTO 130  
0151         ELSEIF(MSTJ(109).EQ.2.AND.ID.EQ.1) THEN 
0152           PARJ(156)=Y34*(WTA(1)+WTA(2)+WTA(3)+WTA(4))/(8.*WTTOT)    
0153           IF(WTA(2)+WTA(4).GT.RLU(0)*(WTA(1)+WTA(2)+WTA(3)+WTA(4))) ID=2    
0154           IF(ID.EQ.2) GOTO 130  
0155         ENDIF   
0156         MSTJ(120)=3 
0157         IF(MSTJ(109).EQ.0.AND.0.5*Y34*(WTC(1)+WTC(2)+WTC(3)+WTC(4)).GT. 
0158      &  RLU(0)*WTTOT) MSTJ(120)=4   
0159         KFLN=21 
0160     
0161 C...Mass cuts. Kinematical variables out.   
0162         IF(Y12.LE.CUT+QME) NJET=2   
0163         IF(NJET.EQ.2) GOTO 150  
0164         Q12=0.5*(1.-SQRT(1.-QME/Y12))   
0165         X1=1.-(1.-Q12)*Y234-Q12*Y134    
0166         X4=1.-(1.-Q12)*Y134-Q12*Y234    
0167         X2=1.-Y124  
0168         X12=(1.-Q12)*Y13+Q12*Y23    
0169         X14=Y12-0.5*QME 
0170         IF(Y134*Y234/((1.-X1)*(1.-X4)).LE.RLU(0)) NJET=2    
0171     
0172 C...qqbarqqbar events: string configuration, choose new flavour.    
0173       ELSE  
0174         IF(ID.EQ.1) THEN    
0175           WTR=RLU(0)*(WTD(1)+WTD(2)+WTD(3)+WTD(4))  
0176           IF(WTR.LT.WTD(2)+WTD(3)+WTD(4)) ID=2  
0177           IF(WTR.LT.WTD(3)+WTD(4)) ID=3 
0178           IF(WTR.LT.WTD(4)) ID=4    
0179           IF(ID.GE.2) GOTO 130  
0180         ENDIF   
0181         MSTJ(120)=5 
0182         PARJ(156)=CF*TR*(WTD(1)+WTD(2)+WTD(3)+WTD(4))/(16.*WTTOT)   
0183   140   KFLN=1+INT(5.*RLU(0))   
0184         IF(KFLN.NE.KFL.AND.0.2*PARJ(156).LE.RLU(0)) GOTO 140    
0185         IF(KFLN.EQ.KFL.AND.1.-0.8*PARJ(156).LE.RLU(0)) GOTO 140 
0186         IF(KFLN.GT.MSTJ(104)) NJET=2    
0187         PMQN=ULMASS(KFLN)   
0188         QMEN=(2.*PMQN/ECM)**2   
0189     
0190 C...Mass cuts. Kinematical variables out.   
0191         IF(Y24.LE.CUT+QME.OR.Y13.LE.1.1*QMEN) NJET=2    
0192         IF(NJET.EQ.2) GOTO 150  
0193         Q24=0.5*(1.-SQRT(1.-QME/Y24))   
0194         Q13=0.5*(1.-SQRT(1.-QMEN/Y13))  
0195         X1=1.-(1.-Q24)*Y123-Q24*Y134    
0196         X4=1.-(1.-Q24)*Y134-Q24*Y123    
0197         X2=1.-(1.-Q13)*Y234-Q13*Y124    
0198         X12=(1.-Q24)*((1.-Q13)*Y14+Q13*Y34)+Q24*((1.-Q13)*Y12+Q13*Y23)  
0199         X14=Y24-0.5*QME 
0200         X34=(1.-Q24)*((1.-Q13)*Y23+Q13*Y12)+Q24*((1.-Q13)*Y34+Q13*Y14)  
0201         IF(PMQ**2+PMQN**2+MIN(X12,X34)*ECM**2.LE.   
0202      &  (PARJ(127)+PMQ+PMQN)**2) NJET=2 
0203         IF(Y123*Y134/((1.-X1)*(1.-X4)).LE.RLU(0)) NJET=2    
0204       ENDIF 
0205   150 IF(MSTJ(101).LE.-2.AND.NJET.EQ.2) GOTO 100    
0206     
0207       RETURN    
0208       END