File indexing completed on 2025-08-05 08:21:15
0001
0002
0003
0004
0005
0006
0007
0008 SUBROUTINE PYRVNE(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 COMMON/PYRVNV/AB(2,16,2),RMS(0:3),RES(6,2),INTRES(6,3),IDR,IDR2
0025 & ,DCMASS,KFR(3)
0026 DOUBLE PRECISION XLAM(0:400)
0027 DOUBLE PRECISION ZPMIX(4,4), NMIX(4,4), RMQ(6)
0028 INTEGER IDLAM(400,3), PYCOMP
0029 LOGICAL DCMASS
0030 SAVE /PYDAT1/,/PYDAT2/,/PYMSSM/,/PYSSMT/,/PYMSRV/,/PYRVNV/
0031
0032
0033 IF ((IMSS(51).GE.1).OR.(IMSS(52).GE.1).OR.(IMSS(53).GE.1)) THEN
0034 KFSM=KFIN-KSUSY1
0035 IF(KFSM.EQ.22.OR.KFSM.EQ.23.OR.KFSM.EQ.25.OR.KFSM.EQ.35) THEN
0036
0037 NCHI=1
0038 IF (KFSM.EQ.23) NCHI=2
0039 IF (KFSM.EQ.25) NCHI=3
0040 IF (KFSM.EQ.35) NCHI=4
0041
0042 ISM = 1
0043 IF (SMZ(NCHI).LT.0D0) ISM = -ISM
0044
0045
0046 WMASS = PMAS(PYCOMP(24),1)
0047 ECHG = 2*SQRT(PARU(103)*PARU(1))
0048 COSB=1/(SQRT(1+RMSS(5)**2))
0049 SINB=RMSS(5)/SQRT(1+RMSS(5)**2)
0050 COSW=SQRT(1-PARU(102))
0051 SINW=SQRT(PARU(102))
0052 GW=2D0*SQRT(PARU(103)*PARU(1))/SINW
0053
0054
0055 SQMCHI=PMAS(PYCOMP(KFIN),1)**2
0056 DO 100 I=1,6
0057 RMQ(I)=PYMRUN(I,SQMCHI)
0058 100 CONTINUE
0059
0060 DO 110 NCHJ=1,4
0061 ZPMIX(NCHJ,1)= ZMIX(NCHJ,1)*COSW+ZMIX(NCHJ,2)*SINW
0062 ZPMIX(NCHJ,2)=-ZMIX(NCHJ,1)*SINW+ZMIX(NCHJ,2)*COSW
0063 ZPMIX(NCHJ,3)= ZMIX(NCHJ,3)
0064 ZPMIX(NCHJ,4)= ZMIX(NCHJ,4)
0065 110 CONTINUE
0066 C1=GW*ZPMIX(NCHI,3)/(2D0*COSB*WMASS)
0067 C1U=GW*ZPMIX(NCHI,4)/(2D0*SINB*WMASS)
0068 C2=ECHG*ZPMIX(NCHI,1)
0069 C3=GW*ZPMIX(NCHI,2)/COSW
0070 EU=2D0/3D0
0071 ED=-1D0/3D0
0072
0073
0074
0075
0076
0077
0078 DO 120 I = 11,15,2
0079 CMS=PMAS(PYCOMP(I),1)
0080
0081 AB(1,I,1)=ISM*(CMS*C1*SFMIX(I,1) + SFMIX(I,2)
0082 & *(C2-C3*SINW**2))
0083 AB(1,I,2)=ISM*(CMS*C1*SFMIX(I,3) + SFMIX(I,4)
0084 & *(C2-C3*SINW**2))
0085 AB(2,I,1)= CMS*C1*SFMIX(I,2) - SFMIX(I,1)*(C2+C3*(5D-1-SINW
0086 & **2))
0087 AB(2,I,2)=CMS*C1*SFMIX(I,4) - SFMIX(I,3)*(C2+C3*(5D-1-SINW
0088 & **2))
0089
0090 AB(1,I+1,1)=0D0
0091 AB(2,I+1,1)=5D-1*C3
0092 AB(1,I+1,2)=0D0
0093 AB(2,I+1,2)=0D0
0094
0095 J=I-10
0096 CMS=RMQ(J)
0097 AB(1,J,1)=ISM*(CMS*C1*SFMIX(J,1) - SFMIX(J,2)
0098 & *ED*(C2-C3*SINW**2))
0099 AB(1,J,2)=ISM*(CMS*C1*SFMIX(J,3) - SFMIX(J,4)
0100 & *ED*(C2-C3*SINW**2))
0101 AB(2,J,1)=CMS*C1*SFMIX(J,2) + SFMIX(J,1)
0102 & *(ED*C2-C3*(1D0/2D0+ED*SINW**2))
0103 AB(2,J,2)=CMS*C1*SFMIX(J,4) + SFMIX(J,3)
0104 & *(ED*C2-C3*(1D0/2D0+ED*SINW**2))
0105
0106 J=J+1
0107 CMS=RMQ(J)
0108 AB(1,J,1)=ISM*(CMS*C1U*SFMIX(J,1) - SFMIX(J,2)
0109 & *EU*(C2-C3*SINW**2))
0110 AB(1,J,2)=ISM*(CMS*C1U*SFMIX(J,3) - SFMIX(J,4)
0111 & *EU*(C2-C3*SINW**2))
0112 AB(2,J,1)=CMS*C1U*SFMIX(J,2) + SFMIX(J,1)
0113 & *(EU*C2+C3*(1D0/2D0-EU*SINW**2))
0114 AB(2,J,2)=CMS*C1U*SFMIX(J,4) + SFMIX(J,3)
0115 & *(EU*C2+C3*(1D0/2D0-EU*SINW**2))
0116 120 CONTINUE
0117
0118 IF (IMSS(51).GE.1) THEN
0119
0120
0121
0122 DO 130 ISC=0,26
0123
0124 IF(MOD(ISC/9,3).NE.MOD(ISC/3,3)) THEN
0125 LKNT = LKNT+1
0126 IDLAM(LKNT,1) =-12 -2*MOD(ISC/9,3)
0127 IDLAM(LKNT,2) =-11 -2*MOD(ISC/3,3)
0128 IDLAM(LKNT,3) = 11 +2*MOD(ISC,3)
0129 XLAM(LKNT) = 0D0
0130
0131 RVLAMC = RVLAM(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1
0132 & ,MOD(ISC,3)+1)**2
0133 DCMASS=.FALSE.
0134 IF (IDLAM(LKNT,2).EQ.-15.OR.IDLAM(LKNT,3).EQ.15)
0135 & DCMASS = .TRUE.
0136
0137 KFR(1)=-IDLAM(LKNT,1)
0138 KFR(2)=-IDLAM(LKNT,2)
0139 KFR(3)=-IDLAM(LKNT,3)
0140
0141 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0142 & IDLAM(LKNT,3),XLAM(LKNT))
0143 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0144
0145 LKNT=LKNT+1
0146 IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0147 IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0148 IDLAM(LKNT,3)=-IDLAM(LKNT-1,3)
0149 XLAM(LKNT)=XLAM(LKNT-1)
0150
0151 IF (XLAM(LKNT).EQ.0D0) THEN
0152 LKNT=LKNT-2
0153 ENDIF
0154 ENDIF
0155 130 CONTINUE
0156 ENDIF
0157
0158 IF (IMSS(52).GE.1) THEN
0159
0160
0161 DO 140 ISC=0,26
0162 LKNT = LKNT+1
0163 IDLAM(LKNT,1) =-12 -2*MOD(ISC/9,3)
0164 IDLAM(LKNT,2) = -1 -2*MOD(ISC/3,3)
0165 IDLAM(LKNT,3) = 1 +2*MOD(ISC,3)
0166 XLAM(LKNT) = 0D0
0167
0168 RVLAMC = 3 * RVLAMP(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1
0169 & ,MOD(ISC,3)+1)**2
0170 DCMASS=.FALSE.
0171 IF (IDLAM(LKNT,2).EQ.-5.OR.IDLAM(LKNT,3).EQ.5)
0172 & DCMASS = .TRUE.
0173
0174 KFR(1)=-IDLAM(LKNT,1)
0175 KFR(2)=-IDLAM(LKNT,2)
0176 KFR(3)=-IDLAM(LKNT,3)
0177
0178 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),IDLAM(LKNT,3)
0179 & ,XLAM(LKNT))
0180 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0181
0182 LKNT=LKNT+1
0183 IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0184 IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0185 IDLAM(LKNT,3)=-IDLAM(LKNT-1,3)
0186 XLAM(LKNT)=XLAM(LKNT-1)
0187
0188 IF (XLAM(LKNT).EQ.0D0) THEN
0189 LKNT=LKNT-2
0190 ENDIF
0191
0192
0193 LKNT = LKNT+1
0194 IDLAM(LKNT,1) =-11 -2*MOD(ISC/9,3)
0195 IDLAM(LKNT,2) = -2 -2*MOD(ISC/3,3)
0196 IDLAM(LKNT,3) = 1 +2*MOD(ISC,3)
0197 XLAM(LKNT) = 0D0
0198
0199 RVLAMC = 3 * RVLAMP(MOD(ISC/9,3)+1,MOD(ISC/3,3)+1
0200 & ,MOD(ISC,3)+1)**2
0201 DCMASS=.FALSE.
0202 IF (IDLAM(LKNT,1).EQ.-15.OR.IDLAM(LKNT,2).EQ.-6
0203 & .OR.IDLAM(LKNT,3).EQ.5) DCMASS=.TRUE.
0204
0205 KFR(1)=-IDLAM(LKNT,1)
0206 KFR(2)=-IDLAM(LKNT,2)
0207 KFR(3)=-IDLAM(LKNT,3)
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 LKNT=LKNT+1
0214 IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0215 IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0216 IDLAM(LKNT,3)=-IDLAM(LKNT-1,3)
0217 XLAM(LKNT)=XLAM(LKNT-1)
0218
0219 IF (XLAM(LKNT).EQ.0D0) THEN
0220 LKNT=LKNT-2
0221 ENDIF
0222 140 CONTINUE
0223 ENDIF
0224
0225 IF (IMSS(53).GE.1) THEN
0226
0227
0228 DO 150 ISC=0,26
0229
0230 IF (MOD(ISC/3,3).LT.MOD(ISC,3)) THEN
0231 LKNT = LKNT+1
0232 IDLAM(LKNT,1) = -2 -2*MOD(ISC/9,3)
0233 IDLAM(LKNT,2) = -1 -2*MOD(ISC/3,3)
0234 IDLAM(LKNT,3) = -1 -2*MOD(ISC,3)
0235 XLAM(LKNT) = 0D0
0236
0237 RVLAMC = 6. * RVLAMB(MOD(ISC/9,3)+1,MOD(ISC/3,3)
0238 & +1,MOD(ISC,3)+1)**2
0239 DCMASS=.FALSE.
0240 IF (IDLAM(LKNT,1).EQ.-6.OR.IDLAM(LKNT,2).EQ.-5
0241 & .OR.IDLAM(LKNT,3).EQ.-5) DCMASS=.TRUE.
0242
0243 KFR(1) = IDLAM(LKNT,1)
0244 KFR(2) = IDLAM(LKNT,2)
0245 KFR(3) = IDLAM(LKNT,3)
0246
0247 CALL PYRVGW(KFIN,IDLAM(LKNT,1),IDLAM(LKNT,2),
0248 & IDLAM(LKNT,3),XLAM(LKNT))
0249 XLAM(LKNT)=XLAM(LKNT)*RVLAMC/((2*PARU(1)*RMS(0))**3*32)
0250
0251 LKNT=LKNT+1
0252 IDLAM(LKNT,1)=-IDLAM(LKNT-1,1)
0253 IDLAM(LKNT,2)=-IDLAM(LKNT-1,2)
0254 IDLAM(LKNT,3)=-IDLAM(LKNT-1,3)
0255 XLAM(LKNT)=XLAM(LKNT-1)
0256
0257 IF (XLAM(LKNT).EQ.0D0) THEN
0258 LKNT=LKNT-2
0259 ENDIF
0260 ENDIF
0261 150 CONTINUE
0262 ENDIF
0263 ENDIF
0264 ENDIF
0265
0266 RETURN
0267 END