File indexing completed on 2025-08-05 08:21:15
0001
0002
0003
0004
0005
0006
0007
0008 SUBROUTINE PYRVCH(KFIN,XLAM,IDLAM,LKNT)
0009
0010
0011 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0012 IMPLICIT INTEGER(I-N)
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 COMMON/PYMSRV/RVLAM(3,3,3), RVLAMP(3,3,3), RVLAMB(3,3,3)
0023
0024 DOUBLE PRECISION XLAM(0:400)
0025 INTEGER IDLAM(400,3), PYCOMP
0026
0027 COMMON/PYRVNV/AB(2,16,2),RMS(0:3),RES(6,2),INTRES(6,3),IDR,IDR2
0028 & ,DCMASS,KFR(3)
0029
0030 COMMON/RVGSTO/XRESI,XRESJ,XRESK,XRESIJ,XRESIK,XRESJK,RVLIJK,RVLKIJ
0031 & ,RVLJKI,RVLJIK
0032
0033 DOUBLE PRECISION RMQ(6)
0034
0035 LOGICAL DCMASS
0036 SAVE /PYDAT1/,/PYDAT2/,/PYMSSM/,/PYSSMT/,/PYMSRV/,/PYRVNV/,
0037 & /RVGSTO/
0038
0039
0040
0041 IF ((IMSS(51).GE.1).OR.(IMSS(52).GE.1).OR.(IMSS(53).GE.1)) THEN
0042 KFSM=KFIN-KSUSY1
0043 IF(KFSM.EQ.24.OR.KFSM.EQ.37) THEN
0044
0045 NCHI = 1
0046 IF (KFSM.EQ.37) NCHI = 2
0047
0048
0049
0050 ISM = 1
0051 IF (SMW(NCHI).LT.0D0) ISM = -1
0052 WMASS = PMAS(PYCOMP(24),1)
0053 COSB = 1/(SQRT(1+RMSS(5)**2))
0054 SINB = RMSS(5)/SQRT(1+RMSS(5)**2)
0055 GW2 = 4*PARU(103)*PARU(1)/PARU(102)
0056 C1U = UMIX(NCHI,2)/(SQRT(2D0)*COSB*WMASS)
0057 C1V = VMIX(NCHI,2)/(SQRT(2D0)*SINB*WMASS)
0058 C2 = UMIX(NCHI,1)
0059 C3 = VMIX(NCHI,1)
0060
0061 SQMCHI = PMAS(PYCOMP(KFSM),1)**2
0062 DO 100 I=1,6
0063 RMQ(I)=PYMRUN(I,SQMCHI)
0064 100 CONTINUE
0065
0066
0067
0068
0069
0070
0071 DO 110 I = 11,15,2
0072
0073 AB(1,I,1) = 0D0
0074 AB(1,I,2) = 0D0
0075 AB(2,I,1) = -PMAS(PYCOMP(I),1)*C1U*SFMIX(I,2) +
0076 & SFMIX(I,1)*C2
0077 AB(2,I,2) = -PMAS(PYCOMP(I),1)*C1U*SFMIX(I,4) +
0078 & SFMIX(I,3)*C2
0079
0080 AB(1,I+1,1) = -PMAS(PYCOMP(I),1)*C1U
0081 AB(1,I+1,2) = 0D0
0082 AB(2,I+1,1) = ISM*C3
0083 AB(2,I+1,2) = 0D0
0084
0085 J=I-10
0086 AB(1,J,1) = -RMQ(J+1)*C1V*SFMIX(J,1)
0087 AB(1,J,2) = -RMQ(J+1)*C1V*SFMIX(J,3)
0088 AB(2,J,1) = -ISM*(RMQ(J)*C1U*SFMIX(J,2) - SFMIX(J,1)*C2)
0089 AB(2,J,2) = -ISM*(RMQ(J)*C1U*SFMIX(J,4) - SFMIX(J,3)*C2)
0090
0091 J=J+1
0092 AB(1,J,1) = -RMQ(J-1)*C1U*SFMIX(J,1)
0093 AB(1,J,2) = -RMQ(J-1)*C1U*SFMIX(J,3)
0094 AB(2,J,1) = -ISM*(RMQ(J)*C1V*SFMIX(J,2) - SFMIX(J,1)*C3)
0095 AB(2,J,2) = -ISM*(RMQ(J)*C1V*SFMIX(J,4) - SFMIX(J,3)*C3)
0096 110 CONTINUE
0097
0098
0099 IF (IMSS(51).GE.1) THEN
0100
0101 DO 140 ISC=0,26
0102
0103
0104 IF(MOD(ISC/9,3).NE.MOD(ISC/3,3)) THEN
0105 LKNT = LKNT+1
0106 IDLAM(LKNT,1) = -12 -2*MOD(ISC/9,3)
0107 IDLAM(LKNT,2) = -11 -2*MOD(ISC/3,3)
0108 IDLAM(LKNT,3) = 12 +2*MOD(ISC,3)
0109 XLAM(LKNT) = 0D0
0110
0111 RVLAMC = GW2 * 5D-1 *
0112 & RVLAM(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)+1)
0113 & **2
0114 DCMASS=.FALSE.
0115 IF (IDLAM(LKNT,2).EQ.-15) DCMASS = .TRUE.
0116
0117 KFR(1) = 0
0118 KFR(2) = 0
0119 KFR(3) = -IDLAM(LKNT,3)+1
0120
0121 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0122 & IDLAM(LKNT,3),XLAM(LKNT))
0123 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0124
0125 IF (XLAM(LKNT).EQ.0D0) THEN
0126 LKNT=LKNT-1
0127 ENDIF
0128
0129
0130 120 IF (MOD(ISC/9,3).LT.MOD(ISC/3,3)) THEN
0131 LKNT = LKNT+1
0132 IDLAM(LKNT,1) = 12 +2*MOD(ISC/9,3)
0133 IDLAM(LKNT,2) = 12 +2*MOD(ISC/3,3)
0134 IDLAM(LKNT,3) =-11 -2*MOD(ISC,3)
0135 XLAM(LKNT) = 0D0
0136
0137 RVLAMC = GW2 * 5D-1 *
0138 & RVLAM(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)+1)**2
0139
0140 RVLAMC=2*RVLAMC
0141 DCMASS=.FALSE.
0142 IF (IDLAM(LKNT,3).EQ.-15) DCMASS = .TRUE.
0143
0144 KFR(1)=IDLAM(LKNT,1)-1
0145 KFR(2)=IDLAM(LKNT,2)-1
0146 KFR(3)=0
0147
0148 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0149 & IDLAM(LKNT,3),XLAM(LKNT))
0150 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0151
0152 IF (XLAM(LKNT).EQ.0D0) THEN
0153 LKNT=LKNT-1
0154 ENDIF
0155 130 ENDIF
0156
0157
0158 LKNT = LKNT+1
0159 IDLAM(LKNT,1) =-11 -2*MOD(ISC/9,3)
0160 IDLAM(LKNT,2) =-11 -2*MOD(ISC/3,3)
0161 IDLAM(LKNT,3) = 11 +2*MOD(ISC,3)
0162 XLAM(LKNT) = 0D0
0163
0164 RVLAMC = GW2 * 5D-1 *
0165 & RVLAM(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)+1)**2
0166
0167 RVLAMC=2*RVLAMC
0168 DCMASS=.FALSE.
0169 IF (IDLAM(LKNT,1).EQ.-15.OR.IDLAM(LKNT,2).EQ.-15
0170 & .OR.IDLAM(LKNT,3).EQ.15) DCMASS = .TRUE.
0171
0172 KFR(1) =-IDLAM(LKNT,1)+1
0173 KFR(2) =-IDLAM(LKNT,2)+1
0174 KFR(3) = 0
0175
0176 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0177 & IDLAM(LKNT,3),XLAM(LKNT))
0178 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0179
0180 IF (XLAM(LKNT).EQ.0D0) THEN
0181 LKNT=LKNT-1
0182 ENDIF
0183 ENDIF
0184 140 CONTINUE
0185 ENDIF
0186
0187
0188 IF (IMSS(52).GE.1) THEN
0189
0190 DO 180 ISC=0,26
0191
0192
0193 LKNT = LKNT+1
0194 IDLAM(LKNT,1) =-12 -2*MOD(ISC/9,3)
0195 IDLAM(LKNT,2) = -1 -2*MOD(ISC/3,3)
0196 IDLAM(LKNT,3) = 2 +2*MOD(ISC,3)
0197 XLAM(LKNT) = 0D0
0198
0199 RVLAMC = 3. * GW2 * 5D-1 *
0200 & RVLAMP(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)+1)**2
0201 DCMASS=.FALSE.
0202 IF (IDLAM(LKNT,2).EQ.-5.OR.IDLAM(LKNT,3).EQ.6)
0203 & DCMASS = .TRUE.
0204
0205 KFR(1)=0
0206 KFR(2)=0
0207 KFR(3)=-IDLAM(LKNT,3)+1
0208
0209 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),IDLAM(LKNT,3)
0210 & ,XLAM(LKNT))
0211 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0212
0213 IF (XLAM(LKNT).EQ.0D0) THEN
0214 LKNT=LKNT-1
0215 ENDIF
0216
0217
0218 150 LKNT = LKNT+1
0219 IDLAM(LKNT,1) =-11 -2*MOD(ISC/9,3)
0220 IDLAM(LKNT,2) = -2 -2*MOD(ISC/3,3)
0221 IDLAM(LKNT,3) = 2 +2*MOD(ISC,3)
0222 XLAM(LKNT) = 0D0
0223
0224 RVLAMC = 3. * GW2 * 5D-1 *
0225 & RVLAMP(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)+1)**2
0226 DCMASS=.FALSE.
0227 IF (IDLAM(LKNT,1).EQ.-11.OR.IDLAM(LKNT,2).EQ.-6
0228 & .OR.IDLAM(LKNT,3).EQ.6) DCMASS = .TRUE.
0229
0230 KFR(1)=0
0231 KFR(2)=0
0232 KFR(3)=-IDLAM(LKNT,3)+1
0233
0234 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),IDLAM(LKNT,3)
0235 & ,XLAM(LKNT))
0236 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0237
0238 IF (XLAM(LKNT).EQ.0D0) THEN
0239 LKNT=LKNT-1
0240 ENDIF
0241
0242
0243 160 LKNT = LKNT+1
0244 IDLAM(LKNT,1) =-11 -2*MOD(ISC/9,3)
0245 IDLAM(LKNT,2) = -1 -2*MOD(ISC/3,3)
0246 IDLAM(LKNT,3) = 1 +2*MOD(ISC,3)
0247 XLAM(LKNT) = 0D0
0248
0249 RVLAMC = 3. * GW2 * 5D-1 *
0250 & RVLAMP(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)+1)**2
0251 DCMASS = .FALSE.
0252 IF (IDLAM(LKNT,1).EQ.-15.OR.IDLAM(LKNT,2).EQ.-5
0253 & .OR.IDLAM(LKNT,3).EQ.5) DCMASS = .TRUE.
0254
0255 KFR(1)=-IDLAM(LKNT,1)+1
0256 KFR(2)=-IDLAM(LKNT,2)+1
0257 KFR(3)=0
0258
0259 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),IDLAM(LKNT,3)
0260 & ,XLAM(LKNT))
0261 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0262
0263 IF (XLAM(LKNT).EQ.0D0) THEN
0264 LKNT=LKNT-1
0265 ENDIF
0266
0267
0268 170 LKNT = LKNT+1
0269 IDLAM(LKNT,1) = 12 +2*MOD(ISC/9,3)
0270 IDLAM(LKNT,2) = 2 +2*MOD(ISC/3,3)
0271 IDLAM(LKNT,3) = -1 -2*MOD(ISC,3)
0272 XLAM(LKNT) = 0D0
0273
0274 DCMASS = .FALSE.
0275 RVLAMC = 3. * GW2 * 5D-1 *
0276 & RVLAMP(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)+1)**2
0277 IF (IDLAM(LKNT,2).EQ.6.OR.IDLAM(LKNT,3).EQ.-5)
0278 & DCMASS = .TRUE.
0279
0280 KFR(1)=IDLAM(LKNT,1)-1
0281 KFR(2)=IDLAM(LKNT,2)-1
0282 KFR(3)=0
0283
0284 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),IDLAM(LKNT,3)
0285 & ,XLAM(LKNT))
0286 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0287
0288 IF (XLAM(LKNT).EQ.0D0) THEN
0289 LKNT=LKNT-1
0290 ENDIF
0291
0292 180 CONTINUE
0293 ENDIF
0294
0295
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313 IF (IMSS(53).GE.1) THEN
0314
0315 DO 190 ISC=1,25
0316
0317
0318
0319 IF (MOD(ISC/9,3).LE.MOD(ISC/3,3).AND.ISC.NE.13) THEN
0320 LKNT = LKNT+1
0321 IDLAM(LKNT,1) = 2 +2*MOD(ISC/9,3)
0322 IDLAM(LKNT,2) = 2 +2*MOD(ISC/3,3)
0323 IDLAM(LKNT,3) = 1 +2*MOD(ISC,3)
0324 XLAM(LKNT) = 0D0
0325
0326 RVLAMC= 6. * GW2 * 5D-1
0327 RVLJIK= RVLAMB(MOD(ISC/3,3)+1,MOD(ISC/9,3)+1,MOD(ISC,3)
0328 & +1)
0329 RVLIJK= RVLAMB(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)
0330 & +1)
0331 IF (MOD(ISC/9,3).EQ.MOD(ISC/3,3)) RVLAMC = 5D-1
0332 & * RVLAMC
0333 DCMASS=.FALSE.
0334 IF (IDLAM(LKNT,1).EQ.6.OR.IDLAM(LKNT,2).EQ.6
0335 & .OR.IDLAM(LKNT,3).EQ.5) DCMASS =.TRUE.
0336
0337 KFR(1) = -IDLAM(LKNT,1)+1
0338 KFR(2) = 0
0339 KFR(3) = 0
0340
0341 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0342 & IDLAM(LKNT,3),XRESI)
0343
0344 KFR(1) = 0
0345 KFR(2) = -IDLAM(LKNT,2)+1
0346 KFR(3) = 0
0347
0348 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0349 & IDLAM(LKNT,3),XRESJ)
0350
0351 KFR(1) = -IDLAM(LKNT,1)+1
0352 KFR(2) = -IDLAM(LKNT,2)+1
0353 KFR(3) = 0
0354
0355 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0356 & IDLAM(LKNT,3),XRESIJ)
0357 IF (ABS((XRESI+XRESJ)/XRESIJ-1.).GT.1D-4) THEN
0358 XRESIJ = XRESIJ-XRESI-XRESJ
0359 ELSE
0360 XRESIJ = 0D0
0361 ENDIF
0362
0363 XLAM(LKNT) = RVLJIK**2 * XRESI + RVLIJK**2 * XRESJ
0364 & + RVLJIK*RVLIJK * XRESIJ
0365 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0366
0367 IF (XLAM(LKNT).EQ.0D0) THEN
0368 LKNT=LKNT-1
0369 ENDIF
0370 ENDIF
0371
0372
0373 IF ((MOD(ISC/9,3).LE.MOD(ISC/3,3)).AND.(MOD(ISC/3,3).LE
0374 & .MOD(ISC,3)).AND.ISC.NE.13) THEN
0375 LKNT = LKNT+1
0376 IDLAM(LKNT,1) = -1 -2*MOD(ISC/9,3)
0377 IDLAM(LKNT,2) = -1 -2*MOD(ISC/3,3)
0378 IDLAM(LKNT,3) = -1 -2*MOD(ISC,3)
0379 XLAM(LKNT) = 0D0
0380
0381 RVLAMC = 6. * GW2 * 5D-1
0382 RVLIJK = RVLAMB(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1,MOD(ISC,3)
0383 & +1)
0384 RVLKIJ = RVLAMB(MOD(ISC,3)+1,MOD(ISC/9,3)+1,MOD(ISC/3,3)
0385 & +1)
0386 RVLJKI = RVLAMB(MOD(ISC/3,3)+1,MOD(ISC,3)+1,MOD(ISC/9,3)
0387 & +1)
0388 DCMASS = .FALSE.
0389 IF (IDLAM(LKNT,1).EQ.-5.OR.IDLAM(LKNT,2).EQ.-5
0390 & .OR.IDLAM(LKNT,3).EQ.-5) DCMASS = .TRUE.
0391
0392 IF (MOD(ISC/9,3).EQ.MOD(ISC/3,3).OR.MOD(ISC/3,3).EQ
0393 & .MOD(ISC,3).OR.MOD(ISC/9,3).EQ.MOD(ISC,3))
0394 & RVLAMC = 5D-1 * RVLAMC
0395
0396 KFR(1) = IDLAM(LKNT,1)-1
0397 KFR(2) = 0
0398 KFR(3) = 0
0399
0400 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0401 & IDLAM(LKNT,3),XRESI)
0402
0403 KFR(1) = 0
0404 KFR(2) = IDLAM(LKNT,2)-1
0405 KFR(3) = 0
0406
0407 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0408 & IDLAM(LKNT,3),XRESJ)
0409
0410 KFR(1) = 0
0411 KFR(2) = 0
0412 KFR(3) = IDLAM(LKNT,3)-1
0413
0414 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0415 & IDLAM(LKNT,3),XRESK)
0416
0417 KFR(1) = IDLAM(LKNT,1)-1
0418 KFR(2) = IDLAM(LKNT,2)-1
0419 KFR(3) = 0
0420
0421 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0422 & IDLAM(LKNT,3),XRESIJ)
0423 IF (ABS(XRESIJ/(XRESI+XRESJ)-1.).GT.1D-4) THEN
0424 XRESIJ = XRESI+XRESJ-XRESIJ
0425 ELSE
0426 XRESIJ = 0D0
0427 ENDIF
0428
0429 KFR(1) = 0
0430 KFR(2) = IDLAM(LKNT,2)-1
0431 KFR(3) = IDLAM(LKNT,3)-1
0432
0433 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0434 & IDLAM(LKNT,3),XRESJK)
0435 IF (ABS(XRESJK/(XRESJ+XRESK)-1.).GT.1D-4) THEN
0436 XRESJK = XRESJ+XRESK-XRESJK
0437 ELSE
0438 XRESJK = 0D0
0439 ENDIF
0440
0441 KFR(1) = IDLAM(LKNT,1)-1
0442 KFR(2) = 0
0443 KFR(3) = IDLAM(LKNT,3)-1
0444
0445 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0446 & IDLAM(LKNT,3),XRESIK)
0447 IF (ABS(XRESIK/(XRESI+XRESK)-1.).GT.1D-4) THEN
0448 XRESIK = XRESI+XRESK-XRESIK
0449 ELSE
0450 XRESIK = 0D0
0451 ENDIF
0452
0453 XLAM(LKNT) =
0454 & RVLIJK**2 * XRESI
0455 & + RVLJKI**2 * XRESJ
0456 & + RVLKIJ**2 * XRESK
0457 & + RVLIJK*RVLJKI * XRESIJ
0458 & + RVLIJK*RVLKIJ * XRESIK
0459 & + RVLJKI*RVLKIJ * XRESJK
0460 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2.*PARU(1)*RMS(0))**3*32)
0461
0462 IF (XLAM(LKNT).EQ.0D0) THEN
0463 LKNT=LKNT-1
0464 ENDIF
0465 ENDIF
0466 190 CONTINUE
0467 ENDIF
0468 ENDIF
0469 ENDIF
0470
0471 RETURN
0472 END