2
C-----------------------------------------------------------------------------
4
double precision function alfa(alfa0,qsq )
6
C-----------------------------------------------------------------------------
8
C This function returns the 1-loop value of alpha.
13
C-----------------------------------------------------------------------------
16
double precision qsq,alfa0
20
double precision One, Three, Pi,zmass
21
parameter( One = 1.0d0, Three = 3.0d0 )
22
parameter( Pi = 3.14159265358979323846d0 )
23
parameter( zmass = 91.188d0 )
25
alfa = alfa0 / ( 1.0d0 - alfa0*dlog( qsq/zmass**2 ) /Three /Pi )
31
C-----------------------------------------------------------------------------
33
double precision function alfaw(alfaw0,qsq,nh )
35
C-----------------------------------------------------------------------------
37
C This function returns the 1-loop value of alpha_w.
41
C nh = # of Higgs doublets
43
C-----------------------------------------------------------------------------
46
double precision qsq, alphaw, dum,alfaw0
55
double precision Two, Four, Pi, Twpi, zmass,tmass
56
parameter( Two = 2.0d0, Four = 4.0d0 )
57
parameter( Pi = 3.14159265358979323846d0 )
58
parameter( Twpi = 3.0d0*Four*Pi )
59
parameter( zmass = 91.188d0,tmass=174d0 )
61
if ( qsq.ge.tmass**2 ) then
66
dum = ( 22.0d0 - Four*nq - nh/Two ) / Twpi
67
alfaw = alfaw0 / ( 1.0d0 + dum*alfaw0*dlog( qsq/zmass**2 ) )
72
C-----------------------------------------------------------------------------
74
DOUBLE PRECISION FUNCTION ALPHAS(Q)
75
C wrapper to the lhapdf alphaS
76
C-----------------------------------------------------------------------------
88
C-----------------------------------------------------------------------------
90
double precision function mfrun(mf,scale,asmz,nloop)
92
C-----------------------------------------------------------------------------
94
C This function returns the 2-loop value of a MSbar fermion mass
97
C INPUT: mf = MSbar mass of fermion at MSbar fermion mass scale
98
C scale = scale at which the running mass is evaluated
99
C asmz = AS(MZ) : this is passed to alphas(scale,asmz,nloop)
100
C nloop = # of loops in the evolution
104
C EXTERNAL: double precision alphas(scale,asmz,nloop)
106
C-----------------------------------------------------------------------------
112
double precision mf,scale,asmz
117
double precision beta0, beta1,gamma0,gamma1
118
double precision A1,as,asmf,l2
123
double precision alphas
128
double precision One, Two, Three, Pi
129
parameter( One = 1.0d0, Two = 2.0d0, Three = 3.0d0 )
130
parameter( Pi = 3.14159265358979323846d0)
131
double precision tmass
132
parameter(tmass=174d0)
136
if ( mf.gt.tmass ) then
142
beta0 = ( 11.0d0 - Two/Three *nf )/4d0
143
beta1 = ( 102d0 - 38d0/Three*nf )/16d0
145
gamma1= ( 202d0/3d0 - 20d0/9d0*nf )/16d0
146
A1 = -beta1*gamma0/beta0**2+gamma1/beta0
149
l2 = (1+ A1*as/Pi)/(1+ A1*asmf/Pi)
152
mfrun = mf * (as/asmf)**(gamma0/beta0)
154
if(nloop.eq.2) mfrun =mfrun*l2