File indexing completed on 2025-08-05 08:21:11
0001
0002
0003
0004
0005
0006
0007 SUBROUTINE PYGLUI(KFIN,XLAM,IDLAM,IKNT)
0008
0009
0010 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0011 IMPLICIT INTEGER(I-N)
0012 INTEGER PYK,PYCHGE,PYCOMP
0013
0014 PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000,
0015 &KEXCIT=4000000,KDIMEN=5000000)
0016
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
0023
0024 COMPLEX*16 CXC
0025 COMMON/PYINTC/XXC(10),CXC(8)
0026 SAVE /PYDAT1/,/PYDAT2/,/PYMSSM/,/PYSSMT/,/PYINTC/
0027
0028
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
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
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
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
0094 AL=SFMIX(IFL,1)
0095 BL=-SFMIX(IFL,3)
0096 AR=SFMIX(IFL,2)
0097 BR=-SFMIX(IFL,4)
0098
0099 IF(ILR.EQ.1) THEN
0100 CA=AL
0101 CB=BL
0102
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
0126
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
0194 140 CONTINUE
0195 IA=2
0196 XXC(5)=PMAS(PYCOMP(KSUSY1+IA),1)
0197 XXC(6)=PMAS(PYCOMP(KSUSY2+IA),1)
0198
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
0227
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
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
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