Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:11

0001  
0002 C*********************************************************************
0003  
0004 C...PYGLUI
0005 C...Calculates gluino decay modes.
0006  
0007       SUBROUTINE PYGLUI(KFIN,XLAM,IDLAM,IKNT)
0008  
0009 C...Double precision and integer declarations.
0010       IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0011       IMPLICIT INTEGER(I-N)
0012       INTEGER PYK,PYCHGE,PYCOMP
0013 C...Parameter statement to help give large particle numbers.
0014       PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000,
0015      &KEXCIT=4000000,KDIMEN=5000000)
0016 C...Commonblocks.
0017       COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0018       COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0019       COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
0020       COMMON/PYSSMT/ZMIX(4,4),UMIX(2,2),VMIX(2,2),SMZ(4),SMW(2),
0021      &SFMIX(16,4),ZMIXI(4,4),UMIXI(2,2),VMIXI(2,2)
0022 CC     &SFMIX(16,4),
0023 C      COMMON/PYINTS/XXM(20)
0024       COMPLEX*16 CXC
0025       COMMON/PYINTC/XXC(10),CXC(8)
0026       SAVE /PYDAT1/,/PYDAT2/,/PYMSSM/,/PYSSMT/,/PYINTC/
0027  
0028 C...Local variables
0029       COMPLEX*16 ZMIXC(4,4),VMIXC(2,2),UMIXC(2,2),OLPP,ORPP,GLIJ,GRIJ
0030       DOUBLE PRECISION XMI,XMJ,XMF,AXMJ,AXMI
0031       DOUBLE PRECISION XMI2,XMI3,XMA2,XMB2,XMFP
0032       DOUBLE PRECISION PYLAMF,XL
0033       DOUBLE PRECISION TANW,XW,AEM,C1,AS,S12MAX,S12MIN
0034       DOUBLE PRECISION CA,CB,AL,AR,BL,BR
0035       DOUBLE PRECISION XLAM(0:400)
0036       INTEGER IDLAM(400,3)
0037       INTEGER LKNT,IX,ILR,I,IKNT,IFL
0038       DOUBLE PRECISION SR2
0039       DOUBLE PRECISION GAM
0040       DOUBLE PRECISION PYALEM,PI,PYALPS,EI,T3I
0041       EXTERNAL PYGAUS,PYXXZ6
0042       DOUBLE PRECISION PYGAUS,PYXXZ6
0043       DOUBLE PRECISION PREC
0044       INTEGER KFNCHI(4),KFCCHI(2)
0045       DATA PI/3.141592654D0/
0046       DATA SR2/1.4142136D0/
0047       DATA PREC/1D-2/
0048       DATA KFNCHI/1000022,1000023,1000025,1000035/
0049       DATA KFCCHI/1000024,1000037/
0050  
0051 C...COUNT THE NUMBER OF DECAY MODES
0052       LKNT=0
0053       IF(KFIN.NE.KSUSY1+21) RETURN
0054       KCIN=PYCOMP(KFIN)
0055  
0056       XW=PARU(102)
0057       TANW = SQRT(XW/(1D0-XW))
0058  
0059       XMI=PMAS(KCIN,1)
0060       AXMI=ABS(XMI)
0061       XMI2=XMI**2
0062       AEM=PYALEM(XMI2)
0063       AS =PYALPS(XMI2)
0064       C1=AEM/XW
0065       XMI3=AXMI**3
0066  
0067       XMI=SIGN(XMI,RMSS(3))
0068  
0069 C...2-BODY DECAYS OF GLUINO -> GRAVITINO GLUON
0070  
0071       IF(IMSS(11).EQ.1) THEN
0072         XMP=RMSS(29)
0073         IDG=39+KSUSY1
0074         XMGR=PMAS(PYCOMP(IDG),1)
0075         XFAC=(XMI2/(XMP*XMGR))**2*AXMI/48D0/PI
0076         IF(AXMI.GT.XMGR) THEN
0077           LKNT=LKNT+1
0078           IDLAM(LKNT,1)=IDG
0079           IDLAM(LKNT,2)=21
0080           IDLAM(LKNT,3)=0
0081           XLAM(LKNT)=XFAC
0082         ENDIF
0083       ENDIF
0084  
0085 C...2-BODY DECAYS OF GLUINO -> QUARK SQUARK
0086  
0087       DO 110 IFL=1,6
0088         DO 100 ILR=1,2
0089           XMJ=PMAS(PYCOMP(ILR*KSUSY1+IFL),1)
0090           AXMJ=ABS(XMJ)
0091           XMF=PMAS(IFL,1)
0092           IF(AXMI.GE.AXMJ+XMF) THEN
0093 C...Minus sign difference from gluino-quark-squark feynman rules
0094             AL=SFMIX(IFL,1)
0095             BL=-SFMIX(IFL,3)
0096             AR=SFMIX(IFL,2)
0097             BR=-SFMIX(IFL,4)
0098 C...F1 -> F CHI
0099             IF(ILR.EQ.1) THEN
0100               CA=AL
0101               CB=BL
0102 C...F2 -> F CHI
0103             ELSE
0104               CA=AR
0105               CB=BR
0106             ENDIF
0107             LKNT=LKNT+1
0108             XMA2=XMJ**2
0109             XMB2=XMF**2
0110             XL=PYLAMF(XMI2,XMA2,XMB2)
0111             XLAM(LKNT)=4D0/8D0*AS/4D0/XMI3*SQRT(XL)*((XMI2+XMB2-XMA2)*
0112      &      (CA**2+CB**2)-4D0*CA*CB*XMI*XMF)
0113             IDLAM(LKNT,1)=ILR*KSUSY1+IFL
0114             IDLAM(LKNT,2)=-IFL
0115             IDLAM(LKNT,3)=0
0116             LKNT=LKNT+1
0117             XLAM(LKNT)=XLAM(LKNT-1)
0118             IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0119             IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0120             IDLAM(LKNT,3)=0
0121           ENDIF
0122   100   CONTINUE
0123   110 CONTINUE
0124  
0125 C...3-BODY DECAYS TO GAUGINO FERMION-FERMION
0126 C...GLUINO -> NI Q QBAR
0127       DO 170 IX=1,4
0128         XMJ=SMZ(IX)
0129         AXMJ=ABS(XMJ)
0130         IF(AXMI.GE.AXMJ) THEN
0131           DO 120 I=1,4
0132             ZMIXC(IX,I)=DCMPLX(ZMIX(IX,I),ZMIXI(IX,I))
0133   120     CONTINUE
0134           OLPP=DCMPLX(COS(RMSS(32)),SIN(RMSS(32)))/SR2
0135           ORPP=DCONJG(OLPP)
0136           XXC(1)=0D0
0137           XXC(2)=XMJ
0138           XXC(3)=0D0
0139           XXC(4)=XMI
0140           IA=1
0141           XXC(5)=PMAS(PYCOMP(KSUSY1+IA),1)
0142           XXC(6)=PMAS(PYCOMP(KSUSY2+IA),1)
0143           XXC(7)=XXC(5)
0144           XXC(8)=XXC(6)
0145           XXC(9)=1D6
0146           XXC(10)=0D0
0147           EI=KCHG(IA,1)/3D0
0148           T3I=SIGN(1D0,EI+1D-6)/2D0
0149           GLIJ=(T3I*ZMIXC(IX,2)-TANW*(T3I-EI)*ZMIXC(IX,1))*OLPP
0150           GRIJ=ZMIXC(IX,1)*(EI*TANW)*ORPP
0151           CXC(1)=0D0
0152           CXC(2)=-GLIJ
0153           CXC(3)=0D0
0154           CXC(4)=DCONJG(GLIJ)
0155           CXC(5)=0D0
0156           CXC(6)=GRIJ
0157           CXC(7)=0D0
0158           CXC(8)=-DCONJG(GRIJ)
0159           S12MIN=0D0
0160           S12MAX=(AXMI-AXMJ)**2
0161           IF( XXC(5).LT.AXMI .OR. XXC(6).LT.AXMI ) GOTO 130
0162           IF(AXMI.GE.AXMJ+2D0*PMAS(1,1)) THEN
0163             LKNT=LKNT+1
0164             XLAM(LKNT)=C1*AS/XMI3/(16D0*PI)*
0165      &      PYGAUS(PYXXZ6,S12MIN,S12MAX,1D-2)
0166             IDLAM(LKNT,1)=KFNCHI(IX)
0167             IDLAM(LKNT,2)=1
0168             IDLAM(LKNT,3)=-1
0169           ENDIF
0170           IF(AXMI.GE.AXMJ+2D0*PMAS(3,1)) THEN
0171             LKNT=LKNT+1
0172             XLAM(LKNT)=XLAM(LKNT-1)
0173             IDLAM(LKNT,1)=KFNCHI(IX)
0174             IDLAM(LKNT,2)=3
0175             IDLAM(LKNT,3)=-3
0176           ENDIF
0177   130     CONTINUE
0178           IF(AXMI.GE.AXMJ+2D0*PMAS(5,1)) THEN
0179             PMOLD=PMAS(PYCOMP(KSUSY1+5),1)
0180             IF(AXMI.GT.PMAS(PYCOMP(KSUSY2+5),1)+PMAS(5,1)) THEN
0181               GOTO 140
0182             ELSEIF(AXMI.GT.PMAS(PYCOMP(KSUSY1+5),1)+PMAS(5,1)) THEN
0183               PMAS(PYCOMP(KSUSY1+5),1)=100D0*XMI
0184             ENDIF
0185             CALL PYTBBN(IX,100,-1D0/3D0,XMI,GAM)
0186             LKNT=LKNT+1
0187             XLAM(LKNT)=GAM
0188             IDLAM(LKNT,1)=KFNCHI(IX)
0189             IDLAM(LKNT,2)=5
0190             IDLAM(LKNT,3)=-5
0191             PMAS(PYCOMP(KSUSY1+5),1)=PMOLD
0192           ENDIF
0193 C...U-TYPE QUARKS
0194   140     CONTINUE
0195           IA=2
0196           XXC(5)=PMAS(PYCOMP(KSUSY1+IA),1)
0197           XXC(6)=PMAS(PYCOMP(KSUSY2+IA),1)
0198 C        IF( XXC(5).LT.AXMI .OR. XXC(6).LT.AXMI ) GOTO 290
0199           XXC(7)=XXC(5)
0200           XXC(8)=XXC(6)
0201           EI=KCHG(IA,1)/3D0
0202           T3I=SIGN(1D0,EI+1D-6)/2D0
0203           GLIJ=(T3I*ZMIXC(IX,2)-TANW*(T3I-EI)*ZMIXC(IX,1))*OLPP
0204           GRIJ=ZMIXC(IX,1)*(EI*TANW)*ORPP
0205           CXC(2)=-GLIJ
0206           CXC(4)=DCONJG(GLIJ)
0207           CXC(6)=GRIJ
0208           CXC(8)=-DCONJG(GRIJ)
0209           IF( XXC(5).LT.AXMI .OR. XXC(6).LT.AXMI ) GOTO 150
0210           IF(AXMI.GE.AXMJ+2D0*PMAS(2,1)) THEN
0211             LKNT=LKNT+1
0212             XLAM(LKNT)=C1*AS/XMI3/(16D0*PI)*
0213      &      PYGAUS(PYXXZ6,S12MIN,S12MAX,1D-2)
0214             IDLAM(LKNT,1)=KFNCHI(IX)
0215             IDLAM(LKNT,2)=2
0216             IDLAM(LKNT,3)=-2
0217           ENDIF
0218           IF(AXMI.GE.AXMJ+2D0*PMAS(4,1)) THEN
0219             LKNT=LKNT+1
0220             XLAM(LKNT)=XLAM(LKNT-1)
0221             IDLAM(LKNT,1)=KFNCHI(IX)
0222             IDLAM(LKNT,2)=4
0223             IDLAM(LKNT,3)=-4
0224           ENDIF
0225   150     CONTINUE
0226 C...INCLUDE THE DECAY GLUINO -> NJ + T + T~
0227 C...IF THE DECAY GLUINO -> ST + T CANNOT OCCUR
0228           XMF=PMAS(6,1)
0229           IF(AXMI.GE.AXMJ+2D0*XMF) THEN
0230             PMOLD=PMAS(PYCOMP(KSUSY1+6),1)
0231             IF(AXMI.GT.PMAS(PYCOMP(KSUSY2+6),1)+XMF) THEN
0232               GOTO 160
0233             ELSEIF(AXMI.GT.PMAS(PYCOMP(KSUSY1+6),1)+XMF) THEN
0234               PMAS(PYCOMP(KSUSY1+6),1)=100D0*XMI
0235             ENDIF
0236             CALL PYTBBN(IX,100,2D0/3D0,XMI,GAM)
0237             LKNT=LKNT+1
0238             XLAM(LKNT)=GAM
0239             IDLAM(LKNT,1)=KFNCHI(IX)
0240             IDLAM(LKNT,2)=6
0241             IDLAM(LKNT,3)=-6
0242             PMAS(PYCOMP(KSUSY1+6),1)=PMOLD
0243           ENDIF
0244   160     CONTINUE
0245         ENDIF
0246   170 CONTINUE
0247  
0248 C...GLUINO -> CI Q QBAR'
0249       DO 210 IX=1,2
0250         XMJ=SMW(IX)
0251         AXMJ=ABS(XMJ)
0252         IF(AXMI.GE.AXMJ) THEN
0253           DO 180 I=1,2
0254             VMIXC(IX,I)=DCMPLX(VMIX(IX,I),VMIXI(IX,I))
0255             UMIXC(IX,I)=DCMPLX(UMIX(IX,I),UMIXI(IX,I))
0256   180     CONTINUE
0257           S12MIN=0D0
0258           S12MAX=(AXMI-AXMJ)**2
0259           XXC(1)=0D0
0260           XXC(2)=XMJ
0261           XXC(3)=0D0
0262           XXC(4)=XMI
0263           XXC(5)=PMAS(PYCOMP(KSUSY1+1),1)
0264           XXC(6)=PMAS(PYCOMP(KSUSY1+2),1)
0265           XXC(9)=1D6
0266           XXC(10)=0D0
0267           OLPP=DCMPLX(COS(RMSS(32)),SIN(RMSS(32)))
0268           ORPP=DCONJG(OLPP)
0269           CXC(1)=DCMPLX(0D0,0D0)
0270           CXC(3)=DCMPLX(0D0,0D0)
0271           CXC(5)=DCMPLX(0D0,0D0)
0272           CXC(7)=DCMPLX(0D0,0D0)
0273           CXC(2)=UMIXC(IX,1)*OLPP/SR2
0274           CXC(4)=-DCONJG(VMIXC(IX,1))*ORPP/SR2
0275           CXC(6)=DCMPLX(0D0,0D0)
0276           CXC(8)=DCMPLX(0D0,0D0)
0277           IF(XXC(5).LT.AXMI) THEN
0278             XXC(5)=1D6
0279           ELSEIF(XXC(6).LT.AXMI) THEN
0280             XXC(6)=1D6
0281           ENDIF
0282           XXC(7)=XXC(6)
0283           XXC(8)=XXC(5)
0284           IF( XXC(5).LT.AXMI .OR. XXC(6).LT.AXMI ) GOTO 190
0285           IF(AXMI.GE.AXMJ+PMAS(1,1)+PMAS(2,1)) THEN
0286             LKNT=LKNT+1
0287             XLAM(LKNT)=0.5D0*C1*AS/XMI3/(16D0*PI)*
0288      &      PYGAUS(PYXXZ6,S12MIN,S12MAX,PREC)
0289             IDLAM(LKNT,1)=KFCCHI(IX)
0290             IDLAM(LKNT,2)=1
0291             IDLAM(LKNT,3)=-2
0292             LKNT=LKNT+1
0293             XLAM(LKNT)=XLAM(LKNT-1)
0294             IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0295             IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0296             IDLAM(LKNT,3)=-IDLAM(LKNT-1,3)
0297           ENDIF
0298           IF(AXMI.GE.AXMJ+PMAS(3,1)+PMAS(4,1)) THEN
0299             LKNT=LKNT+1
0300             XLAM(LKNT)=XLAM(LKNT-1)
0301             IDLAM(LKNT,1)=KFCCHI(IX)
0302             IDLAM(LKNT,2)=3
0303             IDLAM(LKNT,3)=-4
0304             LKNT=LKNT+1
0305             XLAM(LKNT)=XLAM(LKNT-1)
0306             IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0307             IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0308             IDLAM(LKNT,3)=-IDLAM(LKNT-1,3)
0309           ENDIF
0310   190     CONTINUE
0311  
0312           XMF=PMAS(6,1)
0313           XMFP=PMAS(5,1)
0314           IF(AXMI.GE.AXMJ+XMF+XMFP) THEN
0315             IF(XMI.GT.MIN(PMAS(PYCOMP(KSUSY1+5),1)+XMFP,
0316      $      PMAS(PYCOMP(KSUSY2+6),1)+XMF)) GOTO 200
0317             PMOLT2=PMAS(PYCOMP(KSUSY2+6),1)
0318             PMOLB2=PMAS(PYCOMP(KSUSY2+5),1)
0319             PMOLT1=PMAS(PYCOMP(KSUSY1+6),1)
0320             PMOLB1=PMAS(PYCOMP(KSUSY1+5),1)
0321             IF(XMI.GT.PMOLT2+XMF) PMAS(PYCOMP(KSUSY2+6),1)=100D0*AXMI
0322             IF(XMI.GT.PMOLT1+XMF) PMAS(PYCOMP(KSUSY1+6),1)=100D0*AXMI
0323             IF(XMI.GT.PMOLB2+XMFP) PMAS(PYCOMP(KSUSY2+5),1)=100D0*AXMI
0324             IF(XMI.GT.PMOLB1+XMFP) PMAS(PYCOMP(KSUSY1+5),1)=100D0*AXMI
0325             CALL PYTBBC(IX,100,XMI,GAM)
0326             LKNT=LKNT+1
0327             XLAM(LKNT)=GAM
0328             IDLAM(LKNT,1)=KFCCHI(IX)
0329             IDLAM(LKNT,2)=5
0330             IDLAM(LKNT,3)=-6
0331             LKNT=LKNT+1
0332             XLAM(LKNT)=XLAM(LKNT-1)
0333             IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0334             IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0335             IDLAM(LKNT,3)=-IDLAM(LKNT-1,3)
0336             PMAS(PYCOMP(KSUSY2+6),1)=PMOLT2
0337             PMAS(PYCOMP(KSUSY2+5),1)=PMOLB2
0338             PMAS(PYCOMP(KSUSY1+6),1)=PMOLT1
0339             PMAS(PYCOMP(KSUSY1+5),1)=PMOLB1
0340           ENDIF
0341   200     CONTINUE
0342         ENDIF
0343   210 CONTINUE
0344  
0345 C...R-parity violating (3-body) decays.
0346       CALL PYRVGL(KFIN,XLAM,IDLAM,LKNT)
0347  
0348       IKNT=LKNT
0349       XLAM(0)=0D0
0350       DO 220 I=1,IKNT
0351         IF(XLAM(I).LT.0D0) XLAM(I)=0D0
0352         XLAM(0)=XLAM(0)+XLAM(I)
0353   220 CONTINUE
0354       IF(XLAM(0).EQ.0D0) XLAM(0)=1D-6
0355  
0356       RETURN
0357       END