File indexing completed on 2024-04-06 12:13:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106 SUBROUTINE HDEC()
0107 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
0108 DOUBLE PRECISION LAMB
0109 DIMENSION XX(4),YY(4)
0110 COMPLEX*16 CF,CG,CI1,CI2,CA,CB,CTT,CTB,CTC,CTW,CLT,CLB,CLW,
0111 . CAT,CAB,CAC,CAW,CTL,CAL
0112 COMMON/HMASS/AMSM,AMA,AML,AMH,AMCH
0113 COMMON/MASSES/AMS,AMC,AMB,AMT
0114 COMMON/ALS/XLAMBDA,AMC0,AMB0,AMT0,N0
0115 COMMON/PARAM/GF,ALPH,AMTAU,AMMUON,AMZ,AMW
0116 COMMON/CKMPAR/VUS,VCB,VUB
0117 COMMON/WZWDTH/GAMC0,GAMT0,GAMT1,GAMW,GAMZ
0118 COMMON/ONSHELL/IONSH,IONWZ,IOFSUSY
0119 COMMON/OLDFASH/NFGG
0120 COMMON/FLAG/IHIGGS,NNLO,IPOLE
0121 COMMON/WIDTHSM/SMBRB,SMBRL,SMBRM,SMBRS,SMBRC,SMBRT,SMBRG,SMBRGA,
0122 . SMBRZGA,SMBRW,SMBRZ,SMWDTH
0123 COMMON/COUP/GAT,GAB,GLT,GLB,GHT,GHB,GZAH,GZAL,
0124 . GHHH,GLLL,GHLL,GLHH,GHAA,GLAA,GLVV,GHVV,
0125 . GLPM,GHPM,B,A
0126 BETA(X)=DSQRT(1.D0-4.D0*X)
0127 LAMB(X,Y)=DSQRT((1.D0-X-Y)**2-4.D0*X*Y)
0128 HVV(X,Y)= GF/(4.D0*PI*DSQRT(2.D0))*X**3/2.D0*BETA(Y)
0129 . *(1.D0-4.D0*Y+12.D0*Y**2)
0130 HFF(X,Y)= GF/(4*PI*DSQRT(2.D0))*X**3*Y*(BETA(Y))**3
0131 HV(V)=3.D0*(1.D0-8.D0*V+20.D0*V**2)/DSQRT((4.D0*V-1.D0))
0132 . *DACOS((3.D0*V-1.D0)/2.D0/DSQRT(V**3))
0133 . -(1.D0-V)*(47.D0/2.D0*V-13.D0/2.D0+1.D0/V)
0134 . -3.D0/2.D0*(1.D0-6.D0*V+4.D0*V**2)*DLOG(V)
0135 QCD0(X) = (1+X**2)*(4*SP((1-X)/(1+X)) + 2*SP((X-1)/(X+1))
0136 . - 3*DLOG((1+X)/(1-X))*DLOG(2/(1+X))
0137 . - 2*DLOG((1+X)/(1-X))*DLOG(X))
0138 . - 3*X*DLOG(4/(1-X**2)) - 4*X*DLOG(X)
0139 HQCDM(X)=QCD0(X)/X+(3+34*X**2-13*X**4)/16/X**3*DLOG((1+X)/(1-X))
0140 . + 3.D0/8/X**2*(7*X**2-1)
0141 HQCD(X)=(4.D0/3*HQCDM(BETA(X))
0142 . +2*(4.D0/3-DLOG(X))*(1-10*X)/(1-4*X))*ASH/PI
0143 . + (29.14671D0 + RATCOUP*(1.570D0 - 2*DLOG(HIGTOP)/3
0144 . + DLOG(X)**2/9))*(ASH/PI)**2
0145 . + (164.14D0 - 25.77D0*5 + 0.259D0*5**2)*(ASH/PI)**3
0146 QCDH(X)=1.D0+HQCD(X)
0147 TQCDH(X)=1.D0+4.D0/3*HQCDM(BETA(X))*ASH/PI
0148
0149 XI(X,Y) = 2*X/(1-X-Y+LAMB(X,Y))
0150 BIJ(X,Y) = (1-X-Y)/LAMB(X,Y)*(
0151 . 4*SP(XI(X,Y)*XI(Y,X))
0152 . - 2*SP(-XI(X,Y)) - 2*SP(-XI(Y,X))
0153 . + 2*DLOG(XI(X,Y)*XI(Y,X))*DLOG(1-XI(X,Y)*XI(Y,X))
0154 . - DLOG(XI(X,Y))*DLOG(1+XI(X,Y))
0155 . - DLOG(XI(Y,X))*DLOG(1+XI(Y,X))
0156 . )
0157 . -4*(DLOG(1-XI(X,Y)*XI(Y,X))
0158 . +XI(X,Y)*XI(Y,X)/(1-XI(X,Y)*XI(Y,X))*DLOG(XI(X,Y)*XI(Y,X)))
0159 . + (LAMB(X,Y)+X-Y)/LAMB(X,Y)*(DLOG(1+XI(X,Y))
0160 . - XI(X,Y)/(1+XI(X,Y))*DLOG(XI(X,Y)))
0161 . + (LAMB(X,Y)-X+Y)/LAMB(X,Y)*(DLOG(1+XI(Y,X))
0162 . - XI(Y,X)/(1+XI(Y,X))*DLOG(XI(Y,X)))
0163 ELW(AMH,AMF,QF,ACF)=ALPH/PI*3.D0/2*QF**2
0164 . *(3.D0/2-DLOG(AMH**2/AMF**2))
0165 . +GF/8/DSQRT(2.D0)/PI**2*(ACF*AMT**2
0166 . +AMW**2*(3*DLOG(CS)/SS-5)+AMZ**2*(0.5D0
0167 . -3*(1-4*SS*DABS(QF))**2))
0168 CF(CA) = -CDLOG(-(1+CDSQRT(1-CA))/(1-CDSQRT(1-CA)))**2/4
0169 CG(CA) = CDSQRT(1-CA)/2*CDLOG(-(1+CDSQRT(1-CA))/(1-CDSQRT(1-CA)))
0170 CI1(CA,CB) = CA*CB/2/(CA-CB)
0171 . + CA**2*CB**2/2/(CA-CB)**2*(CF(CA)-CF(CB))
0172 . + CA**2*CB/(CA-CB)**2*(CG(CA)-CG(CB))
0173 CI2(CA,CB) = -CA*CB/2/(CA-CB)*(CF(CA)-CF(CB))
0174 HGGQCD(ASG,NF)=1.D0+ASG/PI*(95.D0/4.D0-NF*7.D0/6.D0)
0175 HFFSELF(AMH)=1.D0+GF*AMH**2/16.D0/PI**2/DSQRT(2.D0)*2.117203D0
0176 . -(GF*AMH**2/16.D0/PI**2/DSQRT(2.D0))**2*32.6567D0
0177 HVVSELF(AMH)=1.D0+GF*AMH**2/16.D0/PI**2/DSQRT(2.D0)*2.800952D0
0178 . +(GF*AMH**2/16.D0/PI**2/DSQRT(2.D0))**2*62.0308D0
0179
0180 PI=4D0*DATAN(1D0)
0181 SS=1.D0-(AMW/AMZ)**2
0182
0183 CS=1.D0-SS
0184
0185
0186 AMT0=3.D8
0187
0188
0189
0190
0191 AMXX=AMH
0192 AMH=AMSM
0193
0194 RMS = RUNM(AMH,3)
0195 RMC = RUNM(AMH,4)
0196 RMB = RUNM(AMH,5)
0197 RMT = RUNM(AMH,6)
0198 RATCOUP = 1
0199 HIGTOP = AMH**2/AMT**2
0200
0201 ASH=ALPHAS(AMH,2)
0202 AMC0=1.D8
0203 AMB0=2.D8
0204 AS3=ALPHAS(AMH,2)
0205 AMC0=AMC
0206 AS4=ALPHAS(AMH,2)
0207 AMB0=AMB
0208
0209
0210
0211
0212 EPS=1.D-8
0213 NFEXT = 3
0214 ASG = AS3
0215 CTT = 4*AMT**2/AMH**2*DCMPLX(1D0,-EPS)
0216 CTB = 4*AMB**2/AMH**2*DCMPLX(1D0,-EPS)
0217 CAT = 2*CTT*(1+(1-CTT)*CF(CTT))
0218 CAB = 2*CTB*(1+(1-CTB)*CF(CTB))
0219 FQCD=HGGQCD(ASG,NFEXT)
0220 XFAC = CDABS(CAT+CAB)**2*FQCD
0221 HGG=HVV(AMH,0.D0)*(ASG/PI)**2*XFAC/8
0222
0223 NFEXT = 4
0224 ASG = AS4
0225 FQCD=HGGQCD(ASG,NFEXT)
0226 XFAC = CDABS(CAT+CAB)**2*FQCD
0227 DCC=HVV(AMH,0.D0)*(ASG/PI)**2*XFAC/8 - HGG
0228
0229
0230 NFEXT = 5
0231 ASG = ASH
0232 FQCD=HGGQCD(ASG,NFEXT)
0233 XFAC = CDABS(CAT+CAB)**2*FQCD
0234 DBB=HVV(AMH,0.D0)*(ASG/PI)**2*XFAC/8 - HGG - DCC
0235
0236 IF(NFGG.EQ.5)THEN
0237 HGG = HGG + DBB + DCC
0238 DBB = 0
0239 DCC = 0
0240 ELSEIF(NFGG.EQ.4)THEN
0241 HGG = HGG + DCC
0242 DCC = 0
0243 ENDIF
0244
0245
0246 IF(AMH.LE.2*AMMUON) THEN
0247 HMM = 0
0248 ELSE
0249 HMM=HFF(AMH,(AMMUON/AMH)**2)
0250 . *(1+ELW(AMH,AMMUON,-1.D0,7.D0))
0251 . *HFFSELF(AMH)
0252 ENDIF
0253
0254 IF(AMH.LE.2*AMTAU) THEN
0255 HLL = 0
0256 ELSE
0257 HLL=HFF(AMH,(AMTAU/AMH)**2)
0258 . *(1+ELW(AMH,AMTAU,-1.D0,7.D0))
0259 . *HFFSELF(AMH)
0260 ENDIF
0261
0262
0263 IF(AMH.LE.2*AMS) THEN
0264 HSS = 0
0265 ELSE
0266 HS2=3.D0*HFF(AMH,(RMS/AMH)**2)
0267 . *QCDH(RMS**2/AMH**2)
0268 . *(1+ELW(AMH,RMS,-1.D0/3.D0,7.D0))
0269 . *HFFSELF(AMH)
0270 IF(HS2.LT.0.D0) HS2 = 0
0271 HS1=3.D0*HFF(AMH,(AMS/AMH)**2)
0272 . *TQCDH(AMS**2/AMH**2)
0273 . *HFFSELF(AMH)
0274 RAT = 2*AMS/AMH
0275 HSS = QQINT(RAT,HS1,HS2)
0276 ENDIF
0277
0278 IF(AMH.LE.2*AMC) THEN
0279 HCC = 0
0280 ELSE
0281 HC2=3.D0*HFF(AMH,(RMC/AMH)**2)
0282 . *QCDH(RMC**2/AMH**2)
0283 . *(1+ELW(AMH,RMC,2.D0/3.D0,7.D0))
0284 . *HFFSELF(AMH)
0285 . + DCC
0286 IF(HC2.LT.0.D0) HC2 = 0
0287 HC1=3.D0*HFF(AMH,(AMC/AMH)**2)
0288 . *TQCDH(AMC**2/AMH**2)
0289 . *HFFSELF(AMH)
0290 RAT = 2*AMC/AMH
0291 HCC = QQINT(RAT,HC1,HC2)
0292 ENDIF
0293
0294 IF(AMH.LE.2*AMB) THEN
0295 HBB = 0
0296 ELSE
0297 HB2=3.D0*HFF(AMH,(RMB/AMH)**2)
0298 . *QCDH(RMB**2/AMH**2)
0299 . *(1+ELW(AMH,RMB,-1.D0/3.D0,1.D0))
0300 . *HFFSELF(AMH)
0301 . + DBB
0302 IF(HB2.LT.0.D0) HB2 = 0
0303 HB1=3.D0*HFF(AMH,(AMB/AMH)**2)
0304 . *TQCDH(AMB**2/AMH**2)
0305 . *HFFSELF(AMH)
0306 RAT = 2*AMB/AMH
0307 HBB = QQINT(RAT,HB1,HB2)
0308 ENDIF
0309
0310 RATCOUP = 0
0311 IF(IONSH.EQ.0)THEN
0312 DLD=3D0
0313 DLU=5D0
0314 XM1 = 2D0*AMT-DLD
0315 XM2 = 2D0*AMT+DLU
0316 IF (AMH.LE.AMT+AMW+AMB) THEN
0317 HTT=0.D0
0318 ELSEIF (AMH.LE.XM1) THEN
0319 FACTT=6.D0*GF**2*AMH**3*AMT**2/2.D0/128.D0/PI**3
0320 CALL HTOTTS(AMH,AMT,AMB,AMW,HTTS)
0321 HTT=FACTT*HTTS
0322 ELSEIF (AMH.LE.XM2) THEN
0323 XX(1) = XM1-1D0
0324 XX(2) = XM1
0325 XX(3) = XM2
0326 XX(4) = XM2+1D0
0327 FACTT=6.D0*GF**2*XX(1)**3*AMT**2/2.D0/128.D0/PI**3
0328 CALL HTOTTS(XX(1),AMT,AMB,AMW,HTTS)
0329 YY(1)=FACTT*HTTS
0330 FACTT=6.D0*GF**2*XX(2)**3*AMT**2/2.D0/128.D0/PI**3
0331 CALL HTOTTS(XX(2),AMT,AMB,AMW,HTTS)
0332 YY(2)=FACTT*HTTS
0333 XMT = RUNM(XX(3),6)
0334 XY2=3.D0*HFF(XX(3),(XMT/XX(3))**2)
0335 . *QCDH(XMT**2/XX(3)**2)
0336 . *HFFSELF(XX(3))
0337 IF(XY2.LT.0.D0) XY2 = 0
0338 XY1=3.D0*HFF(XX(3),(AMT/XX(3))**2)
0339 . *TQCDH(AMT**2/XX(3)**2)
0340 . *HFFSELF(XX(3))
0341 RAT = 2*AMT/XX(3)
0342 YY(3) = QQINT(RAT,XY1,XY2)
0343 XMT = RUNM(XX(4),6)
0344 XY2=3.D0*HFF(XX(4),(XMT/XX(4))**2)
0345 . *QCDH(XMT**2/XX(4)**2)
0346 . *HFFSELF(XX(4))
0347 IF(XY2.LT.0.D0) XY2 = 0
0348 XY1=3.D0*HFF(XX(4),(AMT/XX(4))**2)
0349 . *TQCDH(AMT**2/XX(4)**2)
0350 . *HFFSELF(XX(4))
0351 RAT = 2*AMT/XX(4)
0352 YY(4) = QQINT(RAT,XY1,XY2)
0353 HTT = FINT_(AMH,XX,YY)
0354 ELSE
0355 HT2=3.D0*HFF(AMH,(RMT/AMH)**2)
0356 . *QCDH(RMT**2/AMH**2)
0357 . *HFFSELF(AMH)
0358 IF(HT2.LT.0.D0) HT2 = 0
0359 HT1=3.D0*HFF(AMH,(AMT/AMH)**2)
0360 . *TQCDH(AMT**2/AMH**2)
0361 . *HFFSELF(AMH)
0362 RAT = 2*AMT/AMH
0363 HTT = QQINT(RAT,HT1,HT2)
0364 ENDIF
0365 ELSE
0366 IF (AMH.LE.2.D0*AMT) THEN
0367 HTT=0.D0
0368 ELSE
0369 HT2=3.D0*HFF(AMH,(RMT/AMH)**2)
0370 . *QCDH(RMT**2/AMH**2)
0371 . *HFFSELF(AMH)
0372 IF(HT2.LT.0.D0) HT2 = 0
0373 HT1=3.D0*HFF(AMH,(AMT/AMH)**2)
0374 . *TQCDH(AMT**2/AMH**2)
0375 . *HFFSELF(AMH)
0376 RAT = 2*AMT/AMH
0377 HTT = QQINT(RAT,HT1,HT2)
0378 ENDIF
0379 ENDIF
0380
0381 EPS=1.D-8
0382 CTT = 4*AMT**2/AMH**2*DCMPLX(1D0,-EPS)
0383 CTB = 4*AMB**2/AMH**2*DCMPLX(1D0,-EPS)
0384 CTC = 4*AMC**2/AMH**2*DCMPLX(1D0,-EPS)
0385 CTL = 4*AMTAU**2/AMH**2*DCMPLX(1D0,-EPS)
0386 CTW = 4*AMW**2/AMH**2*DCMPLX(1D0,-EPS)
0387 CAW = -(2+3*CTW+3*CTW*(2-CTW)*CF(CTW))
0388 CAT = 4/3D0 * 2*CTT*(1+(1-CTT)*CF(CTT))
0389 CAB = 1/3D0 * 2*CTB*(1+(1-CTB)*CF(CTB))
0390 CAC = 4/3D0 * 2*CTC*(1+(1-CTC)*CF(CTC))
0391 CAL = 2*CTL*(1+(1-CTL)*CF(CTL))
0392 XFAC = CDABS(CAT+CAB+CAC+CAL+CAW)**2
0393 HGA=HVV(AMH,0.D0)*(ALPH/PI)**2/16.D0*XFAC
0394
0395
0396 IF(AMH.LE.AMZ)THEN
0397 HZGA=0
0398 ELSE
0399 EPS=1.D-8
0400 TS = SS/CS
0401 FT = -3*2D0/3*(1-4*2D0/3*SS)/DSQRT(SS*CS)
0402 FB = 3*1D0/3*(-1+4*1D0/3*SS)/DSQRT(SS*CS)
0403 CTT = 4*AMT**2/AMH**2*DCMPLX(1D0,-EPS)
0404 CTB = 4*AMB**2/AMH**2*DCMPLX(1D0,-EPS)
0405 CTW = 4*AMW**2/AMH**2*DCMPLX(1D0,-EPS)
0406 CLT = 4*AMT**2/AMZ**2*DCMPLX(1D0,-EPS)
0407 CLB = 4*AMB**2/AMZ**2*DCMPLX(1D0,-EPS)
0408 CLW = 4*AMW**2/AMZ**2*DCMPLX(1D0,-EPS)
0409 CAT = FT*(CI1(CTT,CLT) - CI2(CTT,CLT))
0410 CAB = FB*(CI1(CTB,CLB) - CI2(CTB,CLB))
0411 CAW = -1/DSQRT(TS)*(4*(3-TS)*CI2(CTW,CLW)
0412 . + ((1+2/CTW)*TS - (5+2/CTW))*CI1(CTW,CLW))
0413 XFAC = CDABS(CAT+CAB+CAW)**2
0414 ACOUP = DSQRT(2D0)*GF*AMZ**2*SS*CS/PI**2
0415 HZGA = GF/(4.D0*PI*DSQRT(2.D0))*AMH**3*(ALPH/PI)*ACOUP/16.D0
0416 . *XFAC*(1-AMZ**2/AMH**2)**3
0417 ENDIF
0418
0419
0420 IF(IONWZ.EQ.0)THEN
0421 DLD=2D0
0422 DLU=2D0
0423 XM1 = 2D0*AMW-DLD
0424 XM2 = 2D0*AMW+DLU
0425 IF (AMH.LE.XM1) THEN
0426 CALL HTOVV(AMH,AMW,GAMW,HTWW)
0427 HWW = 3D0/2D0*GF*AMW**4/DSQRT(2D0)/PI/AMH**3*HTWW
0428 ELSEIF (AMH.LE.XM2) THEN
0429 XX(1) = XM1-1D0
0430 XX(2) = XM1
0431 XX(3) = XM2
0432 XX(4) = XM2+1D0
0433 CALL HTOVV(XX(1),AMW,GAMW,HTWW)
0434 YY(1)=3D0/2D0*GF*AMW**4/DSQRT(2D0)/PI/XX(1)**3*HTWW
0435 CALL HTOVV(XX(2),AMW,GAMW,HTWW)
0436 YY(2)=3D0/2D0*GF*AMW**4/DSQRT(2D0)/PI/XX(2)**3*HTWW
0437 YY(3)=HVV(XX(3),AMW**2/XX(3)**2)
0438 . *HVVSELF(XX(3))
0439 YY(4)=HVV(XX(4),AMW**2/XX(4)**2)
0440 . *HVVSELF(XX(4))
0441 HWW = FINT_(AMH,XX,YY)
0442 ELSE
0443 HWW=HVV(AMH,AMW**2/AMH**2)
0444 . *HVVSELF(AMH)
0445 ENDIF
0446 ELSE
0447 DLD=2D0
0448 DLU=2D0
0449 XM1 = 2D0*AMW-DLD
0450 XM2 = 2D0*AMW+DLU
0451 IF (AMH.LE.AMW) THEN
0452 HWW=0
0453 ELSE IF (AMH.LE.XM1) THEN
0454 CWW=3.D0*GF**2*AMW**4/16.D0/PI**3
0455 HWW=HV(AMW**2/AMH**2)*CWW*AMH
0456 ELSE IF (AMH.LT.XM2) THEN
0457 CWW=3.D0*GF**2*AMW**4/16.D0/PI**3
0458 XX(1) = XM1-1D0
0459 XX(2) = XM1
0460 XX(3) = XM2
0461 XX(4) = XM2+1D0
0462 YY(1)=HV(AMW**2/XX(1)**2)*CWW*XX(1)
0463 YY(2)=HV(AMW**2/XX(2)**2)*CWW*XX(2)
0464 YY(3)=HVV(XX(3),AMW**2/XX(3)**2)
0465 . *HVVSELF(XX(3))
0466 YY(4)=HVV(XX(4),AMW**2/XX(4)**2)
0467 . *HVVSELF(XX(4))
0468 HWW = FINT_(AMH,XX,YY)
0469 ELSE
0470 HWW=HVV(AMH,AMW**2/AMH**2)
0471 . *HVVSELF(AMH)
0472 ENDIF
0473 ENDIF
0474
0475
0476 IF(IONWZ.EQ.0)THEN
0477 DLD=2D0
0478 DLU=2D0
0479 XM1 = 2D0*AMZ-DLD
0480 XM2 = 2D0*AMZ+DLU
0481 IF (AMH.LE.XM1) THEN
0482 CALL HTOVV(AMH,AMZ,GAMZ,HTZZ)
0483 HZZ = 3D0/4D0*GF*AMZ**4/DSQRT(2D0)/PI/AMH**3*HTZZ
0484 ELSEIF (AMH.LE.XM2) THEN
0485 XX(1) = XM1-1D0
0486 XX(2) = XM1
0487 XX(3) = XM2
0488 XX(4) = XM2+1D0
0489 CALL HTOVV(XX(1),AMZ,GAMZ,HTZZ)
0490 YY(1)=3D0/4D0*GF*AMZ**4/DSQRT(2D0)/PI/XX(1)**3*HTZZ
0491 CALL HTOVV(XX(2),AMZ,GAMZ,HTZZ)
0492 YY(2)=3D0/4D0*GF*AMZ**4/DSQRT(2D0)/PI/XX(2)**3*HTZZ
0493 YY(3)=HVV(XX(3),AMZ**2/XX(3)**2)/2
0494 . *HVVSELF(XX(3))
0495 YY(4)=HVV(XX(4),AMZ**2/XX(4)**2)/2
0496 . *HVVSELF(XX(4))
0497 HZZ = FINT_(AMH,XX,YY)
0498 ELSE
0499 HZZ=HVV(AMH,AMZ**2/AMH**2)/2.D0
0500 . *HVVSELF(AMH)
0501 ENDIF
0502 ELSE
0503 DLD=2D0
0504 DLU=2D0
0505 XM1 = 2D0*AMZ-DLD
0506 XM2 = 2D0*AMZ+DLU
0507 IF (AMH.LE.AMZ) THEN
0508 HZZ=0
0509 ELSE IF (AMH.LE.XM1) THEN
0510 CZZ=3.D0*GF**2*AMZ**4/192.D0/PI**3*(7-40/3.D0*SS+160/9.D0*SS**2)
0511 HZZ=HV(AMZ**2/AMH**2)*CZZ*AMH
0512 ELSE IF (AMH.LT.XM2) THEN
0513 CZZ=3.D0*GF**2*AMZ**4/192.D0/PI**3*(7-40/3.D0*SS+160/9.D0*SS**2)
0514 XX(1) = XM1-1D0
0515 XX(2) = XM1
0516 XX(3) = XM2
0517 XX(4) = XM2+1D0
0518 YY(1)=HV(AMZ**2/XX(1)**2)*CZZ*XX(1)
0519 YY(2)=HV(AMZ**2/XX(2)**2)*CZZ*XX(2)
0520 YY(3)=HVV(XX(3),AMZ**2/XX(3)**2)/2
0521 . *HVVSELF(XX(3))
0522 YY(4)=HVV(XX(4),AMZ**2/XX(4)**2)/2
0523 . *HVVSELF(XX(4))
0524 HZZ = FINT_(AMH,XX,YY)
0525 ELSE
0526 HZZ=HVV(AMH,AMZ**2/AMH**2)/2.D0
0527 . *HVVSELF(AMH)
0528 ENDIF
0529 ENDIF
0530
0531
0532
0533
0534 WTOT=HLL+HMM+HSS+HCC+HBB+HTT+HGG+HGA+HZGA+HWW+HZZ
0535
0536 SMBRT=HTT/WTOT
0537 SMBRB=HBB/WTOT
0538 SMBRL=HLL/WTOT
0539 SMBRM=HMM/WTOT
0540 SMBRC=HCC/WTOT
0541 SMBRS=HSS/WTOT
0542 SMBRG=HGG/WTOT
0543 SMBRGA=HGA/WTOT
0544 SMBRZGA=HZGA/WTOT
0545 SMBRW=HWW/WTOT
0546 SMBRZ=HZZ/WTOT
0547 SMWDTH=WTOT
0548
0549 AMH=AMXX
0550
0551 RETURN
0552 END
0553
0554
0555
0556
0557
0558 SUBROUTINE HTOVV(AMH,AMV,GAMV,HTVV)
0559 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
0560 COMMON/VVOFF/AMH1,AMV1,GAMV1
0561 COMMON/PREC/IP
0562 EXTERNAL FTOVV1
0563 IP=20
0564 AMH1=AMH
0565 AMV1=AMV
0566 GAMV1=GAMV
0567 DLT=1D0/IP
0568 SUM=0D0
0569 DO 1 I=1,IP
0570 UU=DLT*I
0571 DD=UU-DLT
0572 CALL QGAUS1(FTOVV1,DD,UU,RES)
0573 SUM=SUM+RES
0574 1 CONTINUE
0575 HTVV=SUM
0576 RETURN
0577 END
0578
0579 DOUBLE PRECISION FUNCTION FTOVV1(XX)
0580 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
0581 COMMON/FIRST/X1
0582 COMMON/PREC/IP
0583 EXTERNAL FTOVV2
0584 X1=XX
0585 DLT=1D0/IP
0586 SUM=0D0
0587 DO 1 I=1,IP
0588 UU=DLT*I
0589 DD=UU-DLT
0590 CALL QGAUS2(FTOVV2,DD,UU,RES)
0591 SUM=SUM+RES
0592 1 CONTINUE
0593 FTOVV1=SUM
0594 RETURN
0595 END
0596
0597 DOUBLE PRECISION FUNCTION FTOVV2(XX)
0598 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
0599 DIMENSION YY(2)
0600 COMMON/FIRST/X1
0601 YY(1)=X1
0602 YY(2)=XX
0603 FTOVV2=FTOVV(YY)
0604 RETURN
0605 END
0606
0607 DOUBLE PRECISION FUNCTION FTOVV(XX)
0608 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
0609 DOUBLE PRECISION LAMB
0610 DIMENSION XX(2)
0611 COMMON/VVOFF/AMH,AMW,GAMW
0612 LAMB(X,Y)=DSQRT((1.D0-X-Y)**2-4.D0*X*Y)
0613 PI=4D0*DATAN(1D0)
0614 ICASE = 1
0615 IF(ICASE.EQ.0)THEN
0616 YY = AMH**2
0617 Y1 = DATAN((YY-AMW**2)/AMW/GAMW)
0618 Y2 = -DATAN((AMW**2)/AMW/GAMW)
0619 DJAC = Y1-Y2
0620 T1 = TAN(Y1*XX(1)+Y2*(1.D0-XX(1)))
0621 SP = AMW**2 + AMW*GAMW*T1
0622 YY = (AMH-DSQRT(SP))**2
0623 Y1 = DATAN((YY-AMW**2)/AMW/GAMW)
0624 Y2 = -DATAN((AMW**2)/AMW/GAMW)
0625 DJAC = DJAC*(Y1-Y2)
0626 T2 = TAN(Y1*XX(2)+Y2*(1.D0-XX(2)))
0627 SM = AMW**2 + AMW*GAMW*T2
0628 AM2=AMH**2
0629 GAM = AM2*LAMB(SP/AM2,SM/AM2)*(1+LAMB(SP/AM2,SM/AM2)**2*AMH**4
0630 . /SP/SM/12)
0631 PRO1 = SP/AMW**2
0632 PRO2 = SM/AMW**2
0633 FTOVV = PRO1*PRO2*GAM*DJAC/PI**2
0634 ELSE
0635 SP = AMH**2*XX(1)
0636 SM = (AMH-DSQRT(SP))**2*XX(2)
0637 DJAC = AMH**2*(AMH-DSQRT(SP))**2/PI**2
0638 AM2=AMH**2
0639 GAM = AM2*LAMB(SP/AM2,SM/AM2)*(1+LAMB(SP/AM2,SM/AM2)**2*AMH**4
0640 . /SP/SM/12)
0641 PRO1 = SP*GAMW/AMW/((SP-AMW**2)**2+AMW**2*GAMW**2)
0642 PRO2 = SM*GAMW/AMW/((SM-AMW**2)**2+AMW**2*GAMW**2)
0643 FTOVV = PRO1*PRO2*GAM*DJAC
0644 ENDIF
0645 RETURN
0646 END
0647
0648
0649
0650
0651 SUBROUTINE HTOTTS(AMH,AMT,AMB,AMW,HTTS)
0652 IMPLICIT REAL*8(A-Z)
0653 INTEGER IP,K
0654 COMMON/PREC1/IP
0655 EXTERNAL FUNSTT1
0656 COMMON/IKSY0/X1,X2,M1,M2,M3,ECM,S
0657 COMMON/TOP0/AMH0,AMT0,AMB0,AMW0
0658 AMH0=AMH
0659 AMT0=AMT
0660 AMB0=AMB
0661 AMW0=AMW
0662 IP=5
0663 M1=AMB
0664 M2=AMT
0665 M3=AMW
0666
0667
0668 MASTOT=M1+M2+M3
0669 IF(MASTOT.GE.AMH) GOTO 12
0670 ECM=AMH
0671 S=ECM**2
0672 U1=(ECM-M2)**2
0673 D1=(M1+M3)**2
0674 U=(S-D1+M2**2)/s
0675 D=(S-U1+M2**2)/s
0676 DEL=(U-D)/IP
0677 U=D+DEL
0678 XSEC=0.D0
0679 DO K=1,IP
0680 CALL QGAUS1(FUNSTT1,D,U,SS)
0681 D=U
0682 U=D+DEL
0683 XSEC=XSEC+SS
0684 ENDDO
0685 HTTS=XSEC
0686 12 CONTINUE
0687 RETURN
0688 END
0689
0690 DOUBLE PRECISION FUNCTION FUNSTT1(XL)
0691 IMPLICIT REAL*8(A-Z)
0692 INTEGER IP,I
0693 COMMON/IKSY0/X1,X2,M1,M2,M3,ECM,S
0694 COMMON/PREC1/IP
0695 EXTERNAL FUNSTT2
0696 X2=XL
0697 S13=S-S*X2+M2**2
0698 TEM=2.D0*DSQRT(S13)
0699 E2S=(S-S13-M2**2)/TEM
0700 E3S=(S13+M3**2-M1**2)/TEM
0701
0702 U1=(E2S+E3S)**2-(DSQRT(E2S**2-M2**2)-DSQRT(E3S**2-M3**2))**2
0703 D1=(E2S+E3S)**2-(DSQRT(E2S**2-M2**2)+DSQRT(E3S**2-M3**2))**2
0704 U=(S-D1+M1**2)/s
0705 D=(S-U1+M1**2)/s
0706 DEL=(U-D)/IP
0707 FUNSTT1=0.d0
0708 U=D+DEL
0709 DO I=1,IP
0710 CALL QGAUS2(FUNSTT2,D,U,SS)
0711 FUNSTT1=FUNSTT1+SS
0712 D=U
0713 U=D+DEL
0714 ENDDO
0715 RETURN
0716 END
0717
0718 DOUBLE PRECISION FUNCTION FUNSTT2(XK)
0719 IMPLICIT REAL*8(A-Z)
0720 COMMON/IKSY0/X1,X2,M1,M2,M3,ECM,S
0721 X1=XK
0722 CALL ELEMSTT(SS)
0723 FUNSTT2=SS
0724 RETURN
0725 END
0726
0727 SUBROUTINE ELEMSTT(RES)
0728 IMPLICIT REAL*8(A-Z)
0729 COMMON/IKSY0/X1,X2,M1,M2,M3,ECM,S
0730 COMMON/TOP0/AMH,AMT,AMB,AMW
0731 COMMON/WZWDTH/GAMC0,GAMT0,GAMT1,GAMW0,GAMZ0
0732 GAMT=GAMT0**2*AMT**2/AMH**4
0733 GAMW=GAMW0**2*AMW**2/AMH**4
0734 W=AMW**2/AMH**2
0735 T=AMT**2/AMH**2
0736 Y1=1-X2
0737 Y2=1-X1
0738 X0=2.D0-X1-X2
0739 W1=(1.D0-X2)
0740 W3=(1.-X1-X2)
0741 W11=1.D0/((1.D0-X2)**2+GAMT)
0742 W33=1.D0/(W3**2+GAMW**2)
0743 W13=W1*W3*W11*W33
0744
0745 R11=4*T*W-16.*T*W*Y1-4.*T*Y2*Y1+8.*T*Y1+32.*T*W**2-20
0746 . .*T*Y1**2+8.*W*Y2*Y1+4.*W*Y1**2-4.*Y2*Y1**2-16.*T**2*W-
0747 . 32.*T**2*Y1+4.*T**2-16.*T**3-8.*W**2+4.*Y1**2-4.*Y1**3
0748 R33=-4.*T*W+4.*T*W*Y2-2.*T*W*Y2*Y1+4.*T*W*Y1+T*W*Y2**2-
0749 . 3.*T*W*Y1**2+2.*T*Y2*Y1-3.*T*Y2*Y1**2+4.*T*W**2-4.*T*W**3
0750 . +T*Y2**2-3.*T*Y2**2*Y1-T*Y2**3+T*Y1**2-T*Y1**3+4.*T**2
0751 . *W-4.*T**2*W*Y2-4.*T**2*W*Y1-2.*T**2*Y2*Y1-4.*T**2*W**2-
0752 . T**2*Y2**2-T**2*Y1**2+4.*W**2*Y2*Y1-8.*W**3*Y2-8.*W**3*Y1
0753 . +4.*W**3+8.*W**4
0754 R13=8.*W-24.*T*W+16.*T*W*Y1 -4.*T*Y2+16.*T*Y2*Y1-4.*T*
0755 . Y1+16.*T*W**2+4.*T*Y2**2+12.*T*Y1**2-8.*W*Y2-12.*W*Y2*Y1
0756 . -8.*W*Y1+4.*W*Y1**2-4.*Y2*Y1+8.*Y2*Y1**2+16.*T**2*W+8.
0757 . *T**2*Y2+8.*T**2*Y1+16.*W**2*Y2+24.*W**2*Y1+4.*Y2**2*Y1-
0758 . 32.*W**3-4.*Y1**2+4.*Y1**3
0759 RES=R11*W11+4.D0*R33*W33/T-2.D0*R13*W13
0760 RETURN
0761 END
0762
0763 DOUBLE PRECISION FUNCTION FUNHTT2(XK)
0764 IMPLICIT REAL*8(A-Z)
0765 COMMON/IKSY2/X1,X2,M1,M2,M3,ECM,S
0766 X1=XK
0767 CALL ELEMHTT(SS)
0768 FUNHTT2=SS
0769 RETURN
0770 END
0771
0772 SUBROUTINE ELEMHTT(RES)
0773 IMPLICIT REAL*8(A-Z)
0774 COMMON/IKSY2/X1,X2,M1,M2,M3,ECM,S
0775 COMMON/TOP2/AMH,AMT,AMB,AMW,AMCH,TB,GHT,GAT,GHVV
0776 COMMON/WZWDTH/GAMC0,GAMT0,GAMT1,GAMW0,GAMZ0
0777 GAMT=GAMT1**2*AMT**2/AMH**4
0778 GAMC=GAMC0**2*AMCH**2/AMH**4
0779 GAMW=GAMW0**2*AMW**2/AMH**4
0780 CH=AMCH**2/AMH**2
0781 W=AMW**2/AMH**2
0782 T=AMT**2/AMH**2
0783 Y1=1-X2
0784 Y2=1-X1
0785 X0=2.D0-X1-X2
0786 W1=(1.D0-X2)
0787 W2=(1.D0-X0+W-CH)
0788 W3=-(1.-X1-X2)
0789 W22=1.D0/ ((1.D0-X0+W-CH)**2+GAMC)
0790 W11=1.D0/((1.D0-X2)**2+GAMT)
0791 W33=1.D0/(W3**2+GAMW**2)
0792 W12=W1*W2*W11*W22
0793 W13=W1*W3*W11*W33
0794 W23=W2*W3*W22*W33
0795
0796 R11=4*T*W-16.*T*W*Y1-4.*T*Y2*Y1+8.*T*Y1+32.*T*W**2-20
0797 . .*T*Y1**2+8.*W*Y2*Y1+4.*W*Y1**2-4.*Y2*Y1**2-16.*T**2*W-
0798 . 32.*T**2*Y1+4.*T**2-16.*T**3-8.*W**2+4.*Y1**2-4.*Y1**3
0799 R22=-16.*W+16.*T*W-8.*T*Y2*Y1-4.*T*Y2**2-4.*T*Y1**2+16
0800 . .*W*Y2 + 8.*W*Y2*Y1 + 16.*W*Y1 + 4.*W*Y2**2 + 4.*W*Y1**2+8.*Y2*
0801 . Y1-12.*Y2*Y1**2-12.*Y2**2*Y1-16.*W**2+4.*Y2**2-4.*Y2**3
0802 . +4.*Y1**2-4.*Y1**3
0803 R33=-4.*T*W+4.*T*W*Y2-2.*T*W*Y2*Y1+4.*T*W*Y1+T*W*Y2**2-
0804 . 3.*T*W*Y1**2+2.*T*Y2*Y1-3.*T*Y2*Y1**2+4.*T*W**2-4.*T*W**3
0805 . +T*Y2**2-3.*T*Y2**2*Y1-T*Y2**3+T*Y1**2-T*Y1**3+4.*T**2
0806 . *W-4.*T**2*W*Y2-4.*T**2*W*Y1-2.*T**2*Y2*Y1-4.*T**2*W**2-
0807 . T**2*Y2**2-T**2*Y1**2+4.*W**2*Y2*Y1-8.*W**3*Y2-8.*W**3*Y1
0808 . +4.*W**3+8.*W**4
0809 R12=-16.*W+48.*T*W-16.*T*W*Y2+16.*T*W*Y1+8.*T*Y2-32.*T
0810 . *Y2*Y1+8.*T*Y1-8.*T*Y2**2 - 24.*T*Y1**2+16.*W*Y2+8.*W*Y2*
0811 . Y1+16.*W*Y1+8.*W*Y1**2+8.*Y2*Y1-16.*Y2*Y1**2-16.*T**2*Y2
0812 . -16.*T**2*Y1-8.*Y2**2*Y1-16.*W**2+8.*Y1**2-8.*Y1**3
0813 R13=8.*W-24.*T*W+16.*T*W*Y1 -4.*T*Y2+16.*T*Y2*Y1-4.*T*
0814 . Y1+16.*T*W**2+4.*T*Y2**2+12.*T*Y1**2-8.*W*Y2-12.*W*Y2*Y1
0815 . -8.*W*Y1+4.*W*Y1**2-4.*Y2*Y1+8.*Y2*Y1**2+16.*T**2*W+8.
0816 . *T**2*Y2+8.*T**2*Y1+16.*W**2*Y2+24.*W**2*Y1+4.*Y2**2*Y1-
0817 . 32.*W**3-4.*Y1**2+4.*Y1**3
0818 R23=16.*W-16.*T*W+8.*T*W*Y2+8.*T*W*Y1+8.*T*Y2*Y1+4.*T*
0819 . Y2**2+4.*T*Y1**2-16.*W*Y2-16.*W*Y1-4.*W*Y2**2+4.*W*Y1**2
0820 . -8.*Y2*Y1+12.*Y2*Y1**2+8.*W**2*Y2-8.*W**2*Y1+12.*Y2**2*
0821 . Y1-4.*Y2**2+4.*Y2**3-4.*Y1**2+4.*Y1**3
0822 GLVV=DSQRT(1.D0-GHVV**2)
0823 RES=GHT**2*R11*W11+GLVV**2*GAT**2*R22*W22+
0824 . 4.D0*GHVV**2*R33*W33/T+2.D0*GHT*GLVV*GAT*R12*W12+
0825 . 2.D0*GHT*GHVV*R13*W13+2.D0*GHVV*GLVV*GAT*R23*W23
0826 RETURN
0827 END
0828
0829
0830
0831
0832
0833 SUBROUTINE QGAUS1(FUNC,A,B,SS)
0834 IMPLICIT REAL*8(A-Z)
0835 INTEGER J
0836 DIMENSION X(5),W(5)
0837 EXTERNAL FUNC
0838 DATA X/.1488743389D0,.4333953941D0,.6794095682D0
0839 . ,.8650633666D0,.9739065285D0/
0840 DATA W/.2955242247D0,.2692667193D0,.2190863625D0
0841 . ,.1494513491D0,.0666713443D0/
0842 XM=0.5D0*(B+A)
0843 XR=0.5D0*(B-A)
0844 SS=0.D0
0845 DO 11 J=1,5
0846 DX=XR*X(J)
0847 SS=SS+W(J)*(FUNC(XM+DX)+FUNC(XM-DX))
0848 11 CONTINUE
0849 SS=XR*SS
0850 RETURN
0851 END
0852
0853
0854
0855 SUBROUTINE QGAUS2(FUNC,A,B,SS)
0856 IMPLICIT REAL*8(A-Z)
0857 INTEGER J
0858 DIMENSION X(5),W(5)
0859 EXTERNAL FUNC
0860 DATA X/.1488743389D0,.4333953941D0,.6794095682D0
0861 . ,.8650633666D0,.9739065285D0/
0862 DATA W/.2955242247D0,.2692667193D0,.2190863625D0
0863 . ,.1494513491D0,.0666713443D0/
0864 XM=0.5D0*(B+A)
0865 XR=0.5D0*(B-A)
0866 SS=0.D0
0867 DO 11 J=1,5
0868 DX=XR*X(J)
0869 SS=SS+W(J)*(FUNC(XM+DX)+FUNC(XM-DX))
0870 11 CONTINUE
0871 SS=XR*SS
0872 RETURN
0873 END
0874
0875
0876
0877 DOUBLE PRECISION FUNCTION RUNM(Q,NF)
0878 PARAMETER (NN=6)
0879 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
0880 PARAMETER (ZETA3 = 1.202056903159594D0)
0881 DIMENSION AM(NN),YMSB(NN)
0882 COMMON/ALS/XLAMBDA,AMCA,AMBA,AMTA,N0A
0883 COMMON/MASSES/AMS,AMC,AMB,AMT
0884 COMMON/STRANGE/AMSB
0885 COMMON/RUN/XMSB,XMHAT,XKFAC
0886 COMMON/FLAG/IHIGGS,NNLO,IPOLE
0887 SAVE ISTRANGE
0888 B0(NF)=(33.D0-2.D0*NF)/12D0
0889 B1(NF) = (102D0-38D0/3D0*NF)/16D0
0890 B2(NF) = (2857D0/2D0-5033D0/18D0*NF+325D0/54D0*NF**2)/64D0
0891 G0(NF) = 1D0
0892 G1(NF) = (202D0/3D0-20D0/9D0*NF)/16D0
0893 G2(NF) = (1249D0-(2216D0/27D0+160D0/3D0*ZETA3)*NF
0894 . - 140D0/81D0*NF**2)/64D0
0895 C1(NF) = G1(NF)/B0(NF) - B1(NF)*G0(NF)/B0(NF)**2
0896 C2(NF) = ((G1(NF)/B0(NF) - B1(NF)*G0(NF)/B0(NF)**2)**2
0897 . + G2(NF)/B0(NF) + B1(NF)**2*G0(NF)/B0(NF)**3
0898 . - B1(NF)*G1(NF)/B0(NF)**2 - B2(NF)*G0(NF)/B0(NF)**2)/2D0
0899 TRAN(X,XK)=1D0+4D0/3D0*ALPHAS(X,2)/PI+XK*(ALPHAS(X,2)/PI)**2
0900 CQ(X,NF)=(2D0*B0(NF)*X)**(G0(NF)/B0(NF))
0901 . *(1D0+C1(NF)*X+C2(NF)*X**2)
0902 DATA ISTRANGE/0/
0903 PI=4D0*DATAN(1D0)
0904 ACC = 1.D-8
0905 AM(1) = 0
0906 AM(2) = 0
0907
0908 IMSBAR = 0
0909 IF(IMSBAR.EQ.1)THEN
0910 IF(ISTRANGE.EQ.0)THEN
0911
0912 AMSD = XLAMBDA
0913 AMSU = 1.D8
0914 123 AMS = (AMSU+AMSD)/2
0915 AM(3) = AMS
0916 XMSB = AMS/CQ(ALPHAS(AMS,2)/PI,3)
0917 . *CQ(ALPHAS(1.D0,2)/PI,3)/TRAN(AMS,0D0)
0918 DD = (XMSB-AMSB)/AMSB
0919 IF(DABS(DD).GE.ACC)THEN
0920 IF(DD.LE.0.D0)THEN
0921 AMSD = AM(3)
0922 ELSE
0923 AMSU = AM(3)
0924 ENDIF
0925 GOTO 123
0926 ENDIF
0927 ISTRANGE=1
0928 ENDIF
0929 AM(3) = AMSB
0930 ELSE
0931 AMS=AMSB
0932 AM(3) = AMS
0933 ENDIF
0934
0935 AM(3) = AMSB
0936 AM(4) = AMC
0937 AM(5) = AMB
0938 AM(6) = AMT
0939 XK = 16.11D0
0940 DO 1 I=1,NF-1
0941 XK = XK - 1.04D0*(1.D0-AM(I)/AM(NF))
0942 1 CONTINUE
0943 IF(NF.GE.4)THEN
0944 XMSB = AM(NF)/TRAN(AM(NF),0D0)
0945 XMHAT = XMSB/CQ(ALPHAS(AM(NF),2)/PI,NF)
0946 ELSE
0947 XMSB = 0
0948 XMHAT = 0
0949 ENDIF
0950 YMSB(3) = AMSB
0951
0952 IF(NF.EQ.3)THEN
0953 YMSB(4) = YMSB(3)*CQ(ALPHAS(AM(4),2)/PI,3)/
0954 . CQ(ALPHAS(1.D0,2)/PI,3)
0955 YMSB(5) = YMSB(4)*CQ(ALPHAS(AM(5),2)/PI,4)/
0956 . CQ(ALPHAS(AM(4),2)/PI,4)
0957 YMSB(6) = YMSB(5)*CQ(ALPHAS(AM(6),2)/PI,5)/
0958 . CQ(ALPHAS(AM(5),2)/PI,5)
0959 ELSEIF(NF.EQ.4)THEN
0960 YMSB(4) = XMSB
0961 YMSB(5) = YMSB(4)*CQ(ALPHAS(AM(5),2)/PI,4)/
0962 . CQ(ALPHAS(AM(4),2)/PI,4)
0963 YMSB(6) = YMSB(5)*CQ(ALPHAS(AM(6),2)/PI,5)/
0964 . CQ(ALPHAS(AM(5),2)/PI,5)
0965 ELSEIF(NF.EQ.5)THEN
0966 YMSB(5) = XMSB
0967 YMSB(4) = YMSB(5)*CQ(ALPHAS(AM(4),2)/PI,4)/
0968 . CQ(ALPHAS(AM(5),2)/PI,4)
0969 YMSB(6) = YMSB(5)*CQ(ALPHAS(AM(6),2)/PI,5)/
0970 . CQ(ALPHAS(AM(5),2)/PI,5)
0971 ELSEIF(NF.EQ.6)THEN
0972 YMSB(6) = XMSB
0973 YMSB(5) = YMSB(6)*CQ(ALPHAS(AM(5),2)/PI,5)/
0974 . CQ(ALPHAS(AM(6),2)/PI,5)
0975 YMSB(4) = YMSB(5)*CQ(ALPHAS(AM(4),2)/PI,4)/
0976 . CQ(ALPHAS(AM(5),2)/PI,4)
0977 ENDIF
0978 IF(Q.LT.AMC)THEN
0979 N0=3
0980 Q0 = 1.D0
0981 ELSEIF(Q.LE.AMB)THEN
0982 N0=4
0983 Q0 = AMC
0984 ELSEIF(Q.LE.AMT)THEN
0985 N0=5
0986 Q0 = AMB
0987 ELSE
0988 N0=6
0989 Q0 = AMT
0990 ENDIF
0991 IF(NNLO.EQ.1.AND.NF.GT.3)THEN
0992 XKFAC = TRAN(AM(NF),0D0)/TRAN(AM(NF),XK)
0993 ELSE
0994 XKFAC = 1D0
0995 ENDIF
0996
0997 RUNM = YMSB(N0)*CQ(ALPHAS(Q,2)/PI,N0)/
0998 . CQ(ALPHAS(Q0,2)/PI,N0)
0999 . * XKFAC
1000 RETURN
1001 END
1002
1003 DOUBLE PRECISION FUNCTION ALPHAS(Q,N)
1004 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1005 DIMENSION XLB(6)
1006 COMMON/ALSLAM/XLB1(6),XLB2(6)
1007 COMMON/ALS/XLAMBDA,AMC,AMB,AMT,N0
1008 B0(NF)=33.D0-2.D0*NF
1009 B1(NF)=6.D0*(153.D0-19.D0*NF)/B0(NF)**2
1010 ALS1(NF,X)=12.D0*PI/(B0(NF)*DLOG(X**2/XLB(NF)**2))
1011 ALS2(NF,X)=12.D0*PI/(B0(NF)*DLOG(X**2/XLB(NF)**2))
1012 . *(1.D0-B1(NF)*DLOG(DLOG(X**2/XLB(NF)**2))
1013 . /DLOG(X**2/XLB(NF)**2))
1014 PI=4.D0*DATAN(1.D0)
1015 IF(N.EQ.1)THEN
1016 DO 1 I=1,6
1017 XLB(I)=XLB1(I)
1018 1 CONTINUE
1019 ELSE
1020 DO 2 I=1,6
1021 XLB(I)=XLB2(I)
1022 2 CONTINUE
1023 ENDIF
1024 IF(Q.LT.AMC)THEN
1025 NF=3
1026 ELSEIF(Q.LE.AMB)THEN
1027 NF=4
1028 ELSEIF(Q.LE.AMT)THEN
1029 NF=5
1030 ELSE
1031 NF=6
1032 ENDIF
1033 IF(N.EQ.1)THEN
1034 ALPHAS=ALS1(NF,Q)
1035 ELSE
1036 ALPHAS=ALS2(NF,Q)
1037
1038 ENDIF
1039 RETURN
1040 END
1041
1042 SUBROUTINE ALSINI(ACC)
1043 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1044 DIMENSION XLB(6)
1045 COMMON/ALSLAM/XLB1(6),XLB2(6)
1046 COMMON/ALS/XLAMBDA,AMC,AMB,AMT,N0
1047 PI=4.D0*DATAN(1.D0)
1048 XLB1(1)=0D0
1049 XLB1(2)=0D0
1050 XLB2(1)=0D0
1051 XLB2(2)=0D0
1052
1053 DO I=1,6
1054 XLB(I) = 0.0
1055 ENDDO
1056 IF(N0.EQ.3)THEN
1057 XLB(3)=XLAMBDA
1058 XLB(4)=XLB(3)*(XLB(3)/AMC)**(2.D0/25.D0)
1059 XLB(5)=XLB(4)*(XLB(4)/AMB)**(2.D0/23.D0)
1060 XLB(6)=XLB(5)*(XLB(5)/AMT)**(2.D0/21.D0)
1061 ELSEIF(N0.EQ.4)THEN
1062 XLB(4)=XLAMBDA
1063 XLB(5)=XLB(4)*(XLB(4)/AMB)**(2.D0/23.D0)
1064 XLB(3)=XLB(4)*(XLB(4)/AMC)**(-2.D0/27.D0)
1065 XLB(6)=XLB(5)*(XLB(5)/AMT)**(2.D0/21.D0)
1066 ELSEIF(N0.EQ.5)THEN
1067 XLB(5)=XLAMBDA
1068 XLB(4)=XLB(5)*(XLB(5)/AMB)**(-2.D0/25.D0)
1069 XLB(3)=XLB(4)*(XLB(4)/AMC)**(-2.D0/27.D0)
1070 XLB(6)=XLB(5)*(XLB(5)/AMT)**(2.D0/21.D0)
1071 ELSEIF(N0.EQ.6)THEN
1072 XLB(6)=XLAMBDA
1073 XLB(5)=XLB(6)*(XLB(6)/AMT)**(-2.D0/23.D0)
1074 XLB(4)=XLB(5)*(XLB(5)/AMB)**(-2.D0/25.D0)
1075 XLB(3)=XLB(4)*(XLB(4)/AMC)**(-2.D0/27.D0)
1076 ENDIF
1077 DO 1 I=1,6
1078 XLB1(I)=XLB(I)
1079 1 CONTINUE
1080 IF(N0.EQ.3)THEN
1081 XLB(3)=XLAMBDA
1082 XLB(4)=XLB(3)*(XLB(3)/AMC)**(2.D0/25.D0)
1083 . *(2.D0*DLOG(AMC/XLB(3)))**(-107.D0/1875.D0)
1084 XLB(4)=XITER(AMC,XLB(3),3,XLB(4),4,ACC)
1085 XLB(5)=XLB(4)*(XLB(4)/AMB)**(2.D0/23.D0)
1086 . *(2.D0*DLOG(AMB/XLB(4)))**(-963.D0/13225.D0)
1087 XLB(5)=XITER(AMB,XLB(4),4,XLB(5),5,ACC)
1088 XLB(6)=XLB(5)*(XLB(5)/AMT)**(2.D0/21.D0)
1089 . *(2.D0*DLOG(AMT/XLB(5)))**(-321.D0/3381.D0)
1090 XLB(6)=XITER(AMT,XLB(5),5,XLB(6),6,ACC)
1091 ELSEIF(N0.EQ.4)THEN
1092 XLB(4)=XLAMBDA
1093 XLB(5)=XLB(4)*(XLB(4)/AMB)**(2.D0/23.D0)
1094 . *(2.D0*DLOG(AMB/XLB(4)))**(-963.D0/13225.D0)
1095 XLB(5)=XITER(AMB,XLB(4),4,XLB(5),5,ACC)
1096 XLB(3)=XLB(4)*(XLB(4)/AMC)**(-2.D0/27.D0)
1097 . *(2.D0*DLOG(AMC/XLB(4)))**(107.D0/2025.D0)
1098 XLB(3)=XITER(AMC,XLB(4),4,XLB(3),3,ACC)
1099 XLB(6)=XLB(5)*(XLB(5)/AMT)**(2.D0/21.D0)
1100 . *(2.D0*DLOG(AMT/XLB(5)))**(-321.D0/3381.D0)
1101 XLB(6)=XITER(AMT,XLB(5),5,XLB(6),6,ACC)
1102 ELSEIF(N0.EQ.5)THEN
1103 XLB(5)=XLAMBDA
1104 XLB(4)=XLB(5)*(XLB(5)/AMB)**(-2.D0/25.D0)
1105 . *(2.D0*DLOG(AMB/XLB(5)))**(963.D0/14375.D0)
1106 XLB(4)=XITER(AMB,XLB(5),5,XLB(4),4,ACC)
1107 XLB(3)=XLB(4)*(XLB(4)/AMC)**(-2.D0/27.D0)
1108 . *(2.D0*DLOG(AMC/XLB(4)))**(107.D0/2025.D0)
1109 XLB(3)=XITER(AMC,XLB(4),4,XLB(3),3,ACC)
1110 XLB(6)=XLB(5)*(XLB(5)/AMT)**(2.D0/21.D0)
1111 . *(2.D0*DLOG(AMT/XLB(5)))**(-321.D0/3381.D0)
1112 XLB(6)=XITER(AMT,XLB(5),5,XLB(6),6,ACC)
1113 ELSEIF(N0.EQ.6)THEN
1114 XLB(6)=XLAMBDA
1115 XLB(5)=XLB(6)*(XLB(6)/AMT)**(-2.D0/23.D0)
1116 . *(2.D0*DLOG(AMT/XLB(6)))**(321.D0/3703.D0)
1117 XLB(5)=XITER(AMT,XLB(6),6,XLB(5),5,ACC)
1118 XLB(4)=XLB(5)*(XLB(5)/AMB)**(-2.D0/25.D0)
1119 . *(2.D0*DLOG(AMB/XLB(5)))**(963.D0/14375.D0)
1120 XLB(4)=XITER(AMB,XLB(5),5,XLB(4),4,ACC)
1121 XLB(3)=XLB(4)*(XLB(4)/AMC)**(-2.D0/27.D0)
1122 . *(2.D0*DLOG(AMC/XLB(4)))**(107.D0/2025.D0)
1123 XLB(3)=XITER(AMC,XLB(4),4,XLB(3),3,ACC)
1124 ENDIF
1125 DO 2 I=1,6
1126 XLB2(I)=XLB(I)
1127 2 CONTINUE
1128 RETURN
1129 END
1130
1131 DOUBLE PRECISION FUNCTION XITER(Q,XLB1,NF1,XLB,NF2,ACC)
1132 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1133 B0(NF)=33.D0-2.D0*NF
1134 B1(NF)=6.D0*(153.D0-19.D0*NF)/B0(NF)**2
1135 ALS2(NF,X,XLB)=12.D0*PI/(B0(NF)*DLOG(X**2/XLB**2))
1136 . *(1.D0-B1(NF)*DLOG(DLOG(X**2/XLB**2))
1137 . /DLOG(X**2/XLB**2))
1138 AA(NF)=12D0*PI/B0(NF)
1139 BB(NF)=B1(NF)/AA(NF)
1140 XIT(A,B,X)=A/2.D0*(1D0+DSQRT(1D0-4D0*B*DLOG(X)))
1141 PI=4.D0*DATAN(1.D0)
1142 XLB2=XLB
1143 II=0
1144 1 II=II+1
1145 X=DLOG(Q**2/XLB2**2)
1146 ALP=ALS2(NF1,Q,XLB1)
1147 A=AA(NF2)/ALP
1148 B=BB(NF2)*ALP
1149 XX=XIT(A,B,X)
1150 XLB2=Q*DEXP(-XX/2.D0)
1151 Y1=ALS2(NF1,Q,XLB1)
1152 Y2=ALS2(NF2,Q,XLB2)
1153 DY=DABS(Y2-Y1)/Y1
1154 IF(DY.GE.ACC) GOTO 1
1155 XITER=XLB2
1156 RETURN
1157 END
1158
1159 DOUBLE PRECISION FUNCTION FINT_(Z,XX,YY)
1160
1161
1162
1163
1164 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1165 DIMENSION XX(4),YY(4)
1166 X = DLOG(Z)
1167 X0=DLOG(XX(1))
1168 X1=DLOG(XX(2))
1169 X2=DLOG(XX(3))
1170 X3=DLOG(XX(4))
1171 Y0=DLOG(YY(1))
1172 Y1=DLOG(YY(2))
1173 Y2=DLOG(YY(3))
1174 Y3=DLOG(YY(4))
1175 A0=(X-X1)*(X-X2)*(X-X3)/(X0-X1)/(X0-X2)/(X0-X3)
1176 A1=(X-X0)*(X-X2)*(X-X3)/(X1-X0)/(X1-X2)/(X1-X3)
1177 A2=(X-X0)*(X-X1)*(X-X3)/(X2-X0)/(X2-X1)/(X2-X3)
1178 A3=(X-X0)*(X-X1)*(X-X2)/(X3-X0)/(X3-X1)/(X3-X2)
1179 FINT_=DEXP(A0*Y0+A1*Y1+A2*Y2+A3*Y3)
1180 RETURN
1181 END
1182
1183 DOUBLE PRECISION FUNCTION SP(X)
1184
1185 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1186 COMPLEX*16 CX,LI2
1187 CX = DCMPLX(X,0.D0)
1188 SP = DREAL(LI2(CX))
1189 RETURN
1190 END
1191
1192 COMPLEX*16 FUNCTION LI2(X)
1193
1194 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1195 COMPLEX*16 X,Y,CLI2
1196 COMMON/CONST/ZETA2,ZETA3
1197 ZERO=1.D-16
1198 XR=DREAL(X)
1199 XI=DIMAG(X)
1200 R2=XR*XR+XI*XI
1201 LI2=0
1202 IF(R2.LE.ZERO)THEN
1203 LI2=X
1204 RETURN
1205 ENDIF
1206 RR=XR/R2
1207 IF(R2.EQ.1.D0.AND.XI.EQ.0.D0)THEN
1208 IF(XR.EQ.1.D0)THEN
1209 LI2=DCMPLX(ZETA2)
1210 ELSE
1211 LI2=-DCMPLX(ZETA2/2.D0)
1212 ENDIF
1213 RETURN
1214 ELSEIF(R2.GT.1.D0.AND.RR.GT.0.5D0)THEN
1215 Y=(X-1.D0)/X
1216 LI2=CLI2(Y)+ZETA2-CDLOG(X)*CDLOG(1.D0-X)+0.5D0*CDLOG(X)**2
1217 RETURN
1218 ELSEIF(R2.GT.1.D0.AND.RR.LE.0.5D0)THEN
1219 Y=1.D0/X
1220 LI2=-CLI2(Y)-ZETA2-0.5D0*CDLOG(-X)**2
1221 RETURN
1222 ELSEIF(R2.LE.1.D0.AND.XR.GT.0.5D0)THEN
1223 Y=1.D0-X
1224 LI2=-CLI2(Y)+ZETA2-CDLOG(X)*CDLOG(1.D0-X)
1225 RETURN
1226 ELSEIF(R2.LE.1.D0.AND.XR.LE.0.5D0)THEN
1227 Y=X
1228 LI2=CLI2(Y)
1229 RETURN
1230 ENDIF
1231 END
1232
1233 COMPLEX*16 FUNCTION CLI2(X)
1234
1235 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1236 COMPLEX*16 X,Z
1237 COMMON/BERNOULLI/B2(18),B12(18),B3(18)
1238 COMMON/POLY/NBER
1239 N=NBER-1
1240 Z=-CDLOG(1.D0-X)
1241 CLI2=B2(NBER)
1242 DO 111 I=N,1,-1
1243 CLI2=Z*CLI2+B2(I)
1244 111 CONTINUE
1245 CLI2=Z**2*CLI2+Z
1246 RETURN
1247 END
1248
1249 DOUBLE PRECISION FUNCTION FACULT(N)
1250
1251 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1252 FACULT=1.D0
1253 IF(N.EQ.0)RETURN
1254 DO 999 I=1,N
1255 FACULT=FACULT*DFLOAT(I)
1256 999 CONTINUE
1257 RETURN
1258 END
1259
1260 SUBROUTINE BERNINI(N)
1261
1262 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1263 DIMENSION B(18),PB(19)
1264 COMMON/BERNOULLI/B2(18),B12(18),B3(18)
1265 COMMON/CONST/ZETA2,ZETA3
1266 COMMON/POLY/NBER
1267
1268 NBER=N
1269 PI=4.D0*DATAN(1.D0)
1270
1271 B(1)=-1.D0/2.D0
1272 B(2)=1.D0/6.D0
1273 B(3)=0.D0
1274 B(4)=-1.D0/30.D0
1275 B(5)=0.D0
1276 B(6)=1.D0/42.D0
1277 B(7)=0.D0
1278 B(8)=-1.D0/30.D0
1279 B(9)=0.D0
1280 B(10)=5.D0/66.D0
1281 B(11)=0.D0
1282 B(12)=-691.D0/2730.D0
1283 B(13)=0.D0
1284 B(14)=7.D0/6.D0
1285 B(15)=0.D0
1286 B(16)=-3617.D0/510.D0
1287 B(17)=0.D0
1288 B(18)=43867.D0/798.D0
1289 ZETA2=PI**2/6.D0
1290 ZETA3=1.202056903159594D0
1291
1292 DO 995 I=1,18
1293 B2(I)=B(I)/FACULT(I+1)
1294 B12(I)=DFLOAT(I+1)/FACULT(I+2)*B(I)/2.D0
1295 PB(I+1)=B(I)
1296 B3(I)=0.D0
1297 995 CONTINUE
1298 PB(1)=1.D0
1299 DO 996 I=1,18
1300 DO 996 J=0,I
1301 B3(I)=B3(I)+PB(J+1)*PB(I-J+1)/FACULT(I-J)/FACULT(J+1)
1302 . /DFLOAT(I+1)
1303 996 CONTINUE
1304
1305 RETURN
1306 END
1307
1308 DOUBLE PRECISION FUNCTION QQINT(RAT,H1,H2)
1309 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1310 N = 2
1311 QQINT = RAT**N * H1 + (1-RAT**N) * H2
1312 RETURN
1313 END
1314
1315 DOUBLE PRECISION FUNCTION XITLA(NO,ALP,ACC)
1316
1317 IMPLICIT DOUBLE PRECISION (A-H,O-Z)
1318 COMMON/PARAM/GF,ALPH,AMTAU,AMMUON,AMZ,AMW
1319 B0(NF)=33.D0-2.D0*NF
1320 B1(NF)=6.D0*(153.D0-19.D0*NF)/B0(NF)**2
1321 ALS2(NF,X,XLB)=12.D0*PI/(B0(NF)*DLOG(X**2/XLB**2))
1322 . *(1.D0-B1(NF)*DLOG(DLOG(X**2/XLB**2))
1323 . /DLOG(X**2/XLB**2))
1324 AA(NF)=12D0*PI/B0(NF)
1325 BB(NF)=B1(NF)/AA(NF)
1326 XIT(A,B,X)=A/2.D0*(1D0+DSQRT(1D0-4D0*B*DLOG(X)))
1327 PI=4.D0*DATAN(1.D0)
1328 NF=5
1329 Q=AMZ
1330 XLB=Q*DEXP(-AA(NF)/ALP/2.D0)
1331 IF(NO.EQ.1)GOTO 111
1332 II=0
1333 1 II=II+1
1334 X=DLOG(Q**2/XLB**2)
1335 A=AA(NF)/ALP
1336 B=BB(NF)*ALP
1337 XX=XIT(A,B,X)
1338 XLB=Q*DEXP(-XX/2.D0)
1339 Y1=ALP
1340 Y2=ALS2(NF,Q,XLB)
1341 DY=DABS(Y2-Y1)/Y1
1342 IF(DY.GE.ACC) GOTO 1
1343 111 XITLA=XLB
1344 RETURN
1345 END