File indexing completed on 2025-08-05 08:21:11
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 SUBROUTINE PYHEXT(KFIN,XLAM,IDLAM,IKNT)
0012
0013
0014 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0015 IMPLICIT INTEGER(I-N)
0016 INTEGER PYK,PYCHGE,PYCOMP
0017
0018 PARAMETER (KSUSY1=1000000,KSUSY2=2000000,KTECHN=3000000,
0019 &KEXCIT=4000000,KDIMEN=5000000)
0020
0021 COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
0022 COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
0023 COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
0024 COMMON/PYMSSM/IMSS(0:99),RMSS(0:99)
0025 COMMON/PYSSMT/ZMIX(4,4),UMIX(2,2),VMIX(2,2),SMZ(4),SMW(2),
0026 &SFMIX(16,4),ZMIXI(4,4),UMIXI(2,2),VMIXI(2,2)
0027 SAVE /PYDAT1/,/PYDAT2/,/PYPARS/,/PYMSSM/,/PYSSMT/
0028
0029
0030 COMPLEX*16 ZMIXC(4,4),VMIXC(2,2),UMIXC(2,2),OLPP,ORPP
0031 COMPLEX*16 QIJ,RIJ,F21K,F12K
0032 INTEGER KFIN
0033 DOUBLE PRECISION XMI,XMJ,XMF,XMW,XMW2,XMZ,AXMJ,AXMI
0034 DOUBLE PRECISION XMI2,XMI3,XMJ2
0035 DOUBLE PRECISION PYLAMF,XL,CF,EI
0036 INTEGER IDU,IFL
0037 DOUBLE PRECISION TANW,XW,AEM,C1,AS
0038 DOUBLE PRECISION PYH2XX,GHLL,GHRR,GHLR
0039 DOUBLE PRECISION XLAM(0:400)
0040 INTEGER IDLAM(400,3)
0041 INTEGER LKNT,IH,J,IJ,I,IKNT,IK
0042 INTEGER ITH(4)
0043 INTEGER KFNCHI(4),KFCCHI(2)
0044 DOUBLE PRECISION ETAH(3),CH(3),DH(3),EH(3)
0045 DOUBLE PRECISION SR2
0046 DOUBLE PRECISION BETA,ALFA
0047 DOUBLE PRECISION CBETA,SBETA,GR,GL,TANB
0048 DOUBLE PRECISION PYALEM
0049 DOUBLE PRECISION AL,AR,ALR
0050 DOUBLE PRECISION XMK,AXMK,COSA,SINA,CW,XML
0051 DOUBLE PRECISION XMUZ,ATRIT,ATRIB,ATRIL
0052 DOUBLE PRECISION XMJL,XMJR,XM1,XM2
0053 DATA ITH/25,35,36,37/
0054 DATA ETAH/1D0,1D0,-1D0/
0055 DATA SR2/1.4142136D0/
0056 DATA KFNCHI/1000022,1000023,1000025,1000035/
0057 DATA KFCCHI/1000024,1000037/
0058
0059
0060 LKNT=IKNT
0061
0062 XMW=PMAS(24,1)
0063 XMW2=XMW**2
0064 XMZ=PMAS(23,1)
0065 XW=PARU(102)
0066 TANW = SQRT(XW/(1D0-XW))
0067 CW=SQRT(1D0-XW)
0068
0069
0070 IH=1
0071 IF(KFIN.EQ.ITH(2)) IH=2
0072 IF(KFIN.EQ.ITH(3)) IH=3
0073 IF(KFIN.EQ.ITH(4)) IH=4
0074
0075 XMI=PMAS(KFIN,1)
0076 XMI2=XMI**2
0077 AXMI=ABS(XMI)
0078 AEM=PYALEM(XMI2)
0079 C1=AEM/XW
0080 XMI3=ABS(XMI**3)
0081
0082 TANB=RMSS(5)
0083 BETA=ATAN(TANB)
0084 CBETA=COS(BETA)
0085 SBETA=TANB*CBETA
0086 ALFA=RMSS(18)
0087 COSA=COS(ALFA)
0088 SINA=SIN(ALFA)
0089 ATRIT=RMSS(16)
0090 ATRIB=RMSS(15)
0091 ATRIL=RMSS(17)
0092 XMUZ=-RMSS(4)
0093
0094 DO 110 I=1,4
0095 DO 100 J=1,4
0096 ZMIXC(J,I)=DCMPLX(ZMIX(J,I),ZMIXI(J,I))
0097 100 CONTINUE
0098 110 CONTINUE
0099 DO 130 I=1,2
0100 DO 120 J=1,2
0101 VMIXC(J,I)=DCMPLX(VMIX(J,I),VMIXI(J,I))
0102 UMIXC(J,I)=DCMPLX(UMIX(J,I),UMIXI(J,I))
0103 120 CONTINUE
0104 130 CONTINUE
0105
0106
0107 IF(IH.EQ.4) GOTO 220
0108
0109
0110
0111 EH(2)=SINA
0112 EH(1)=COSA
0113 EH(3)=CBETA
0114 DH(2)=COSA
0115 DH(1)=-SINA
0116 DH(3)=SBETA
0117 DO 150 IJ=1,4
0118 XMJ=SMZ(IJ)
0119 AXMJ=ABS(XMJ)
0120 DO 140 IK=1,IJ
0121 XMK=SMZ(IK)
0122 AXMK=ABS(XMK)
0123 IF(AXMI.GE.AXMJ+AXMK) THEN
0124 LKNT=LKNT+1
0125 QIJ=ZMIXC(IK,3)*ZMIXC(IJ,2)+
0126 & ZMIXC(IJ,3)*ZMIXC(IK,2)-
0127 & TANW*(ZMIXC(IK,3)*ZMIXC(IJ,1)+
0128 & ZMIXC(IJ,3)*ZMIXC(IK,1))
0129 RIJ=ZMIXC(IK,4)*ZMIXC(IJ,2)+
0130 & ZMIXC(IJ,4)*ZMIXC(IK,2)-
0131 & TANW*(ZMIXC(IK,4)*ZMIXC(IJ,1)+
0132 & ZMIXC(IJ,4)*ZMIXC(IK,1))
0133 F21K=0.5D0*DCONJG(QIJ*DH(IH)-RIJ*EH(IH))
0134 F12K=0.5D0*(QIJ*DH(IH)-RIJ*EH(IH))
0135
0136 XML=XMK*ETAH(IH)
0137 GX2=ABS(F12K)**2+ABS(F21K)**2
0138 GLR=DBLE(F12K*DCONJG(F21K))
0139 XLAM(LKNT)=PYH2XX(C1,XMI,XMJ,XML,GX2,GLR)
0140 IF(IJ.EQ.IK) XLAM(LKNT)=XLAM(LKNT)*0.5D0
0141 IDLAM(LKNT,1)=KFNCHI(IJ)
0142 IDLAM(LKNT,2)=KFNCHI(IK)
0143 IDLAM(LKNT,3)=0
0144 ENDIF
0145 140 CONTINUE
0146 150 CONTINUE
0147
0148
0149 DO 170 IJ=1,2
0150 XMJ=SMW(IJ)
0151 AXMJ=ABS(XMJ)
0152 DO 160 IK=1,2
0153 XMK=SMW(IK)
0154 AXMK=ABS(XMK)
0155 IF(AXMI.GE.AXMJ+AXMK) THEN
0156 LKNT=LKNT+1
0157 OLPP=DCONJG(VMIXC(IJ,1)*UMIXC(IK,2)*DH(IH) +
0158 & VMIXC(IJ,2)*UMIXC(IK,1)*EH(IH))/SR2
0159 ORPP=(VMIXC(IK,1)*UMIXC(IJ,2)*DH(IH) +
0160 & VMIXC(IK,2)*UMIXC(IJ,1)*EH(IH))/SR2
0161 GX2=ABS(OLPP)**2+ABS(ORPP)**2
0162 GLR=DBLE(OLPP*DCONJG(ORPP))
0163 XML=XMK*ETAH(IH)
0164 XLAM(LKNT)=PYH2XX(C1,XMI,XMJ,XML,GX2,GLR)
0165 IDLAM(LKNT,1)=KFCCHI(IJ)
0166 IDLAM(LKNT,2)=-KFCCHI(IK)
0167 IDLAM(LKNT,3)=0
0168 ENDIF
0169 160 CONTINUE
0170 170 CONTINUE
0171
0172
0173 DO 200 IFL=1,16
0174 IF(IFL.GE.7.AND.IFL.LE.10) GOTO 200
0175 IJ=KSUSY1+IFL
0176 XMJL=PMAS(PYCOMP(IJ),1)
0177 XMJR=PMAS(PYCOMP(IJ+KSUSY1),1)
0178 IF(AXMI.GE.2D0*MIN(XMJL,XMJR)) THEN
0179 XMJ=XMJL
0180 XMJ2=XMJ**2
0181 XL=PYLAMF(XMI2,XMJ2,XMJ2)
0182 XMF=PMAS(IFL,1)
0183 EI=KCHG(IFL,1)/3D0
0184 IDU=2-MOD(IFL,2)
0185
0186 IF(IH.EQ.1) THEN
0187 IF(IDU.EQ.1) THEN
0188 GHLL=-XMZ/CW*(0.5D0+EI*XW)*SIN(ALFA+BETA)+
0189 & XMF**2/XMW*SINA/CBETA
0190 GHRR=XMZ/CW*(EI*XW)*SIN(ALFA+BETA)+
0191 & XMF**2/XMW*SINA/CBETA
0192 IF(IFL.EQ.5) THEN
0193 GHLR=-XMF/2D0/XMW/CBETA*(XMUZ*COSA-
0194 & ATRIB*SINA)
0195 ELSEIF(IFL.EQ.15) THEN
0196 GHLR=-XMF/2D0/XMW/CBETA*(XMUZ*COSA-
0197 & ATRIL*SINA)
0198 ELSE
0199 GHLR=0D0
0200 ENDIF
0201 ELSE
0202 GHLL=XMZ/CW*(0.5D0-EI*XW)*SIN(ALFA+BETA)-
0203 & XMF**2/XMW*COSA/SBETA
0204 GHRR=XMZ/CW*(EI*XW)*SIN(ALFA+BETA)-
0205 & XMF**2/XMW*COSA/SBETA
0206 IF(IFL.EQ.6) THEN
0207 GHLR=XMF/2D0/XMW/SBETA*(XMUZ*SINA-
0208 & ATRIT*COSA)
0209 ELSE
0210 GHLR=0D0
0211 ENDIF
0212 ENDIF
0213
0214 ELSEIF(IH.EQ.2) THEN
0215 IF(IDU.EQ.1) THEN
0216 GHLL=XMZ/CW*(0.5D0+EI*XW)*COS(ALFA+BETA)-
0217 & XMF**2/XMW*COSA/CBETA
0218 GHRR=-XMZ/CW*(EI*XW)*COS(ALFA+BETA)-
0219 & XMF**2/XMW*COSA/CBETA
0220 IF(IFL.EQ.5) THEN
0221 GHLR=-XMF/2D0/XMW/CBETA*(XMUZ*SINA+
0222 & ATRIB*COSA)
0223 ELSEIF(IFL.EQ.15) THEN
0224 GHLR=-XMF/2D0/XMW/CBETA*(XMUZ*SINA+
0225 & ATRIL*COSA)
0226 ELSE
0227 GHLR=0D0
0228 ENDIF
0229 ELSE
0230 GHLL=-XMZ/CW*(0.5D0-EI*XW)*COS(ALFA+BETA)-
0231 & XMF**2/XMW*SINA/SBETA
0232 GHRR=-XMZ/CW*(EI*XW)*COS(ALFA+BETA)-
0233 & XMF**2/XMW*SINA/SBETA
0234 IF(IFL.EQ.6) THEN
0235 GHLR=-XMF/2D0/XMW/SBETA*(XMUZ*COSA+
0236 & ATRIT*SINA)
0237 ELSE
0238 GHLR=0D0
0239 ENDIF
0240 ENDIF
0241
0242 ELSEIF(IH.EQ.3) THEN
0243 GHLL=0D0
0244 GHRR=0D0
0245 GHLR=0D0
0246 IF(IDU.EQ.1) THEN
0247 IF(IFL.EQ.5) THEN
0248 GHLR=XMF/2D0/XMW*(ATRIB*TANB-XMUZ)
0249 ELSEIF(IFL.EQ.15) THEN
0250 GHLR=XMF/2D0/XMW*(ATRIL*TANB-XMUZ)
0251 ENDIF
0252 ELSE
0253 IF(IFL.EQ.6) THEN
0254 GHLR=XMF/2D0/XMW*(ATRIT/TANB-XMUZ)
0255 ENDIF
0256 ENDIF
0257 ENDIF
0258 IF(IH.EQ.3) GOTO 180
0259
0260 AL=SFMIX(IFL,1)**2
0261 AR=SFMIX(IFL,2)**2
0262 ALR=SFMIX(IFL,1)*SFMIX(IFL,2)
0263 IF(IFL.LE.6) THEN
0264 CF=3D0
0265 ELSE
0266 CF=1D0
0267 ENDIF
0268
0269 IF(AXMI.GE.2D0*XMJ) THEN
0270 LKNT=LKNT+1
0271 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*
0272 & (GHLL*AL+GHRR*AR
0273 & +2D0*GHLR*ALR)**2
0274 IDLAM(LKNT,1)=IJ
0275 IDLAM(LKNT,2)=-IJ
0276 IDLAM(LKNT,3)=0
0277 ENDIF
0278
0279 IF(AXMI.GE.2D0*XMJR) THEN
0280 LKNT=LKNT+1
0281 AL=SFMIX(IFL,3)**2
0282 AR=SFMIX(IFL,4)**2
0283 ALR=SFMIX(IFL,3)*SFMIX(IFL,4)
0284 XMJ=XMJR
0285 XMJ2=XMJ**2
0286 XL=PYLAMF(XMI2,XMJ2,XMJ2)
0287 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*
0288 & (GHLL*AL+GHRR*AR
0289 & +2D0*GHLR*ALR)**2
0290 IDLAM(LKNT,1)=IJ+KSUSY1
0291 IDLAM(LKNT,2)=-(IJ+KSUSY1)
0292 IDLAM(LKNT,3)=0
0293 ENDIF
0294 180 CONTINUE
0295
0296 IF(AXMI.GE.XMJL+XMJR) THEN
0297 LKNT=LKNT+1
0298 AL=SFMIX(IFL,1)*SFMIX(IFL,3)
0299 AR=SFMIX(IFL,2)*SFMIX(IFL,4)
0300 ALR=SFMIX(IFL,1)*SFMIX(IFL,4)+SFMIX(IFL,2)*SFMIX(IFL,3)
0301 XMJ=XMJR
0302 XMJ2=XMJ**2
0303 XL=PYLAMF(XMI2,XMJ2,XMJL**2)
0304 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*
0305 & (GHLL*AL+GHRR*AR)**2
0306 IDLAM(LKNT,1)=IJ
0307 IDLAM(LKNT,2)=-(IJ+KSUSY1)
0308 IDLAM(LKNT,3)=0
0309 LKNT=LKNT+1
0310 IDLAM(LKNT,1)=-IJ
0311 IDLAM(LKNT,2)=IJ+KSUSY1
0312 IDLAM(LKNT,3)=0
0313 XLAM(LKNT)=XLAM(LKNT-1)
0314 ENDIF
0315 ENDIF
0316 190 CONTINUE
0317 200 CONTINUE
0318 210 CONTINUE
0319
0320 GOTO 270
0321 220 CONTINUE
0322
0323
0324 DO 240 IJ=1,4
0325 XMJ=SMZ(IJ)
0326 AXMJ=ABS(XMJ)
0327 XMJ2=XMJ**2
0328 DO 230 IK=1,2
0329 XMK=SMW(IK)
0330 AXMK=ABS(XMK)
0331 IF(AXMI.GE.AXMJ+AXMK) THEN
0332 LKNT=LKNT+1
0333 OLPP=CBETA*DCONJG(ZMIXC(IJ,4)*VMIXC(IK,1)+(ZMIXC(IJ,2)+
0334 & ZMIXC(IJ,1)*TANW)*VMIXC(IK,2)/SR2)
0335 ORPP=SBETA*(ZMIXC(IJ,3)*UMIXC(IK,1)-
0336 & (ZMIXC(IJ,2)+ZMIXC(IJ,1)*TANW)*UMIXC(IK,2)/SR2)
0337 GX2=ABS(OLPP)**2+ABS(ORPP)**2
0338 GLR=DBLE(OLPP*DCONJG(ORPP))
0339 XLAM(LKNT)=PYH2XX(C1,XMI,XMJ,-XMK,GX2,GLR)
0340 IDLAM(LKNT,1)=KFNCHI(IJ)
0341 IDLAM(LKNT,2)=KFCCHI(IK)
0342 IDLAM(LKNT,3)=0
0343 ENDIF
0344 230 CONTINUE
0345 240 CONTINUE
0346
0347 GL=-XMW/SR2*(SIN(2D0*BETA)-PMAS(6,1)**2/TANB/XMW2)
0348 GR=-PMAS(6,1)/SR2/XMW*(XMUZ-ATRIT/TANB)
0349 AL=0D0
0350 AR=0D0
0351 CF=3D0
0352
0353
0354 XM1=PMAS(PYCOMP(KSUSY1+6),1)
0355 XM2=PMAS(PYCOMP(KSUSY1+5),1)
0356 IF(XMI.GE.XM1+XM2) THEN
0357 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0358 LKNT=LKNT+1
0359 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*
0360 & (GL*SFMIX(6,1)*SFMIX(5,1)+GR*SFMIX(6,2)*SFMIX(5,1))**2
0361 IDLAM(LKNT,1)=KSUSY1+6
0362 IDLAM(LKNT,2)=-(KSUSY1+5)
0363 IDLAM(LKNT,3)=0
0364 ENDIF
0365
0366
0367 XM1=PMAS(PYCOMP(KSUSY2+6),1)
0368 XM2=PMAS(PYCOMP(KSUSY1+5),1)
0369 IF(XMI.GE.XM1+XM2) THEN
0370 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0371 LKNT=LKNT+1
0372 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*
0373 & (GL*SFMIX(6,3)*SFMIX(5,1)+GR*SFMIX(6,4)*SFMIX(5,1))**2
0374 IDLAM(LKNT,1)=KSUSY2+6
0375 IDLAM(LKNT,2)=-(KSUSY1+5)
0376 IDLAM(LKNT,3)=0
0377 ENDIF
0378
0379
0380 XM1=PMAS(PYCOMP(KSUSY1+6),1)
0381 XM2=PMAS(PYCOMP(KSUSY2+5),1)
0382 IF(XMI.GE.XM1+XM2) THEN
0383 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0384 LKNT=LKNT+1
0385 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*
0386 & (GL*SFMIX(6,1)*SFMIX(5,3)+GR*SFMIX(6,2)*SFMIX(5,3))**2
0387 IDLAM(LKNT,1)=KSUSY1+6
0388 IDLAM(LKNT,2)=-(KSUSY2+5)
0389 IDLAM(LKNT,3)=0
0390 ENDIF
0391
0392
0393 XM1=PMAS(PYCOMP(KSUSY2+6),1)
0394 XM2=PMAS(PYCOMP(KSUSY2+5),1)
0395 IF(XMI.GE.XM1+XM2) THEN
0396 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0397 LKNT=LKNT+1
0398 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*
0399 & (GL*SFMIX(6,3)*SFMIX(5,3)+GR*SFMIX(6,4)*SFMIX(5,3))**2
0400 IDLAM(LKNT,1)=KSUSY2+6
0401 IDLAM(LKNT,2)=-(KSUSY2+5)
0402 IDLAM(LKNT,3)=0
0403 ENDIF
0404
0405
0406 GL=-XMW/SR2*SIN(2D0*BETA)
0407 DO 250 IJ=1,3,2
0408 XM1=PMAS(PYCOMP(KSUSY1+IJ),1)
0409 XM2=PMAS(PYCOMP(KSUSY1+IJ+1),1)
0410 IF(XMI.GE.XM1+XM2) THEN
0411 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0412 LKNT=LKNT+1
0413 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*GL**2
0414 IDLAM(LKNT,1)=-(KSUSY1+IJ)
0415 IDLAM(LKNT,2)=KSUSY1+IJ+1
0416 IDLAM(LKNT,3)=0
0417 ENDIF
0418 250 CONTINUE
0419
0420
0421 CF=1D0
0422 DO 260 IJ=11,13,2
0423 XM1=PMAS(PYCOMP(KSUSY1+IJ),1)
0424 XM2=PMAS(PYCOMP(KSUSY1+IJ+1),1)
0425 IF(XMI.GE.XM1+XM2) THEN
0426 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0427 LKNT=LKNT+1
0428 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*GL**2
0429 IDLAM(LKNT,1)=-(KSUSY1+IJ)
0430 IDLAM(LKNT,2)=KSUSY1+IJ+1
0431 IDLAM(LKNT,3)=0
0432 ENDIF
0433 260 CONTINUE
0434
0435
0436 XM1=PMAS(PYCOMP(KSUSY1+15),1)
0437 XM2=PMAS(PYCOMP(KSUSY1+16),1)
0438 IF(XMI.GE.XM1+XM2) THEN
0439 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0440 LKNT=LKNT+1
0441 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*GL**2*SFMIX(15,1)**2
0442 IDLAM(LKNT,1)=-(KSUSY1+15)
0443 IDLAM(LKNT,2)= KSUSY1+16
0444 IDLAM(LKNT,3)=0
0445 ENDIF
0446
0447
0448 XM1=PMAS(PYCOMP(KSUSY2+15),1)
0449 XM2=PMAS(PYCOMP(KSUSY1+16),1)
0450 IF(XMI.GE.XM1+XM2) THEN
0451 XL=PYLAMF(XMI2,XM1**2,XM2**2)
0452 LKNT=LKNT+1
0453 XLAM(LKNT)=CF*SQRT(XL)/4D0*C1/XMI3*GL**2*SFMIX(15,3)**2
0454 IDLAM(LKNT,1)=-(KSUSY2+15)
0455 IDLAM(LKNT,2)= KSUSY1+16
0456 IDLAM(LKNT,3)=0
0457 ENDIF
0458
0459 270 CONTINUE
0460 IKNT=LKNT
0461 XLAM(0)=0D0
0462 DO 280 I=1,IKNT
0463 IF(XLAM(I).LE.0D0) XLAM(I)=0D0
0464 XLAM(0)=XLAM(0)+XLAM(I)
0465 280 CONTINUE
0466 IF(XLAM(0).EQ.0D0) XLAM(0)=1D-6
0467
0468 RETURN
0469 END