JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
hto_qcd Module Reference

Functions/Subroutines

real *8 function hto_ralphas (rs0, rs, als)
 
real *8 function hto_qcdlam (nf, als, rs, x1, x2, xacc)
 
real *8 function hto_qcdscale (nf, als, rs, x)
 
real *8 function, dimension(2) hto_run_bc (scal)
 
real *8 function hto_rrunm (x1, x2, xacc, qm, als, rm1, rm2, fn)
 
real *8 function hto_qcdmass (qm, als, rm1, rm2, fn, x)
 

Function/Subroutine Documentation

◆ hto_qcdlam()

real*8 function hto_qcd::hto_qcdlam ( integer  nf,
real*8  als,
real*8  rs,
real*8  x1,
real*8  x2,
real*8  xacc 
)

Definition at line 3114 of file CALLING_cpHTO.f.

3114  IMPLICIT NONE
3115  INTEGER nf,j
3116  real*8 hto_qcdlam,als,rs,x1,x2,xacc,fmid,f,dx,xmid
3117  INTEGER, parameter :: jmax=50
3118 *
3119  fmid= hto_qcdscale(nf,als,rs,x2)
3120  f= hto_qcdscale(nf,als,rs,x1)
3121  IF(f*fmid >= 0.d0) stop
3122  IF(f < 0.d0) THEN
3123  hto_qcdlam= x1
3124  dx= x2-x1
3125  ELSE
3126  hto_qcdlam= x2
3127  dx= x1-x2
3128  ENDIF
3129  DO j=1,jmax
3130  dx= dx*0.5d0
3131  xmid= hto_qcdlam+dx
3132  fmid= hto_qcdscale(nf,als,rs,xmid)
3133  IF(fmid <= 0.d0) hto_qcdlam= xmid
3134  IF(abs(dx) < xacc.or.fmid.eq.0.d0) RETURN
3135  ENDDO

◆ hto_qcdmass()

real*8 function hto_qcd::hto_qcdmass ( real*8  qm,
real*8  als,
real*8  rm1,
real*8  rm2,
real*8  fn,
real*8  x 
)

Definition at line 3327 of file CALLING_cpHTO.f.

3327  USE hto_riemann
3328 *
3329  IMPLICIT NONE
3330 *
3331  real*8 hto_qcdmass,qm,als,rm1,rm2,fn,x,rln,rlns,r1,r2,delta0,
3332  # delta1,delta2,rhs
3333 *
3334  rln= 2.d0*log(qm/x)
3335  rlns= rln*rln
3336  r1= rm1/x
3337  r2= rm2/x
3338  delta0= 3.d0/4.d0*rz2-3.d0/8.d0
3339  delta1= r1*(pis/8.d0+r1*(-0.597d0+0.230d0*r1))
3340  delta2= r2*(pis/8.d0+r2*(-0.597d0+0.230d0*r2))
3341 *
3342  rhs= 1.d0+als*(4.d0/3.d0+rln+als*(3817.d0/288.d0-8.d0/3.d0+
3343  # 2.d0/3.d0*(2.d0+log(2.d0))*rz2-rz3/6.d0-fn/3.d0*(rz2+
3344  # 71.d0/48.d0)+4.d0/3.d0*(delta0+delta1+delta2)+(173.d0/
3345  # 24.d0-13.d0/36.d0*fn)*rln+(15.d0/8.d0-fn/12.d0)*rlns))
3346  hto_qcdmass= qm-x*rhs
3347 *
3348  RETURN
3349 *

◆ hto_qcdscale()

real*8 function hto_qcd::hto_qcdscale ( integer  nf,
real*8  als,
real*8  rs,
real*8  x 
)

Definition at line 3139 of file CALLING_cpHTO.f.

3139  USE hto_riemann
3140  IMPLICIT NONE
3141  INTEGER nf
3142  real*8 als,rs,x,qcdb0,qcdb1,qcdb2,qcda,hto_qcdscale
3143 *
3144  qcdb0= 11.d0-2.d0/3.d0*nf
3145  qcdb1= 102.d0-38.d0/3.d0*nf
3146  qcdb2= 0.5d0*(2857.d0-5033.d0/9.d0*nf+325.d0/27.d0*nf*nf)
3147  qcda= 2.d0*log(rs/x)
3148  hto_qcdscale= als-(4.d0*pi/qcdb0/qcda*(1.d0-qcdb1/qcdb0**2/qcda*
3149  # log(qcda)+(qcdb1/qcdb0**2/qcda)**2*((log(qcda)-
3150  # 0.5d0)**2+qcdb2*qcdb0/qcdb1**2-5.d0/4.d0)))
3151  RETURN

◆ hto_ralphas()

real*8 function hto_qcd::hto_ralphas ( real*8  rs0,
real*8  rs,
real*8  als 
)

Definition at line 3035 of file CALLING_cpHTO.f.

3035  USE hto_riemann
3036  USE hto_masses
3037  IMPLICIT NONE
3038  INTEGER i,nfe
3039  real*8 hto_ralphas,rs0,rs,als,x1,x2,xacc,qcdl,rat,rl,rll,rb,fac,
3040  # facp,rhs,ratl2,pqcdl4,qcdb0,qcdb1,qcdb2,qcda,pqcdl3,
3041  # fac2,pqcdl5
3042  real*8, dimension(5) :: b0,b1,b2
3043  INTEGER, parameter :: nf=5
3044 *
3045 *-----limits for lambda_5 are 1 mev < lambda_5 < 10 gev
3046 *
3047  IF(als.eq.0.d0) THEN
3048  hto_ralphas= 0.d0
3049  ELSE
3050  x1= 0.001d0
3051  x2= 10.0d0
3052  xacc= 1.d-12
3053  qcdl= hto_qcdlam(nf,als,rs0,x1,x2,xacc)
3054  pqcdl5= qcdl
3055  DO i=1,5
3056  b0(i)= (11.d0-2.d0/3.d0*i)/4.d0
3057  b1(i)= (102.d0-38.d0/3.d0*i)/16.d0
3058  b2(i)= 0.5d0*(2857.d0-i*(5033.d0/9.d0-325.d0/27.d0*i))/64.d0
3059  ENDDO
3060 *
3061  IF(rs < mbq) THEN
3062  rat= mbq/qcdl
3063  rl= 2.d0*log(rat)
3064  rll= log(rl)
3065  rb= log(b0(5)/b0(4))
3066  fac= b1(5)/b0(5)-b1(4)/b0(4)
3067  facp= b2(5)/b0(5)-b2(4)/b0(4)
3068  fac2= b1(5)*b1(5)/b0(5)/b0(5)-b1(4)*b1(4)/b0(4)/b0(4)
3069  rhs= (b0(5)-b0(4))*rl+fac*rll-b1(4)/b0(4)*rb+
3070  # b1(5)/b0(5)/b0(5)*fac*rll/rl+1.d0/b0(5)/rl*(
3071  # fac2-facp-7.d0/72.d0)
3072  rhs= rhs/b0(4)
3073  ratl2= exp(rhs)
3074  qcdl= qcdl/sqrt(ratl2)
3075  pqcdl4= qcdl
3076  nfe= nf-1
3077  IF(rs < mcq) THEN
3078  rat= mcq/qcdl
3079  rl= 2.d0*log(rat)
3080  rll= log(rl)
3081  rb= log(b0(4)/b0(3))
3082  fac= b1(4)/b0(4)-b1(3)/b0(3)
3083  facp= b2(4)/b0(4)-b2(3)/b0(3)
3084  fac2= b1(4)*b1(4)/b0(4)/b0(4)-b1(3)*b1(3)/b0(3)/b0(3)
3085  rhs= (b0(4)-b0(3))*rl+fac*rll-b1(3)/b0(3)*rb+
3086  # b1(4)/b0(4)/b0(4)*fac*rll/rl+1.d0/b0(4)/rl*(
3087  # fac2-facp-7.d0/72.d0)
3088  rhs= rhs/b0(3)
3089  ratl2= exp(rhs)
3090  qcdl= qcdl/sqrt(ratl2)
3091  pqcdl3= qcdl
3092  nfe= nf-2
3093  ENDIF
3094  ELSE
3095  nfe= nf
3096  ENDIF
3097 *
3098  qcdb0= 11.d0-2.d0/3.d0*nfe
3099  qcdb1= 102.d0-38.d0/3.d0*nfe
3100  qcdb2= 0.5d0*(2857.d0-5033.d0/9.d0*nfe+325.d0/27.d0*nfe*nfe)
3101  qcda= 2.d0*log(rs/qcdl)
3102 *
3103  hto_ralphas= 4.d0*pi/qcdb0/qcda*(1.d0-qcdb1/qcdb0**2/qcda*
3104  # log(qcda)+(qcdb1/qcdb0**2/qcda)**2*((log(qcda)-
3105  # 0.5d0)**2+qcdb2*qcdb0/qcdb1**2-5.d0/4.d0))
3106 *
3107  ENDIF
3108  RETURN

◆ hto_rrunm()

real*8 function hto_qcd::hto_rrunm ( real*8  x1,
real*8  x2,
real*8  xacc,
real*8  qm,
real*8  als,
real*8  rm1,
real*8  rm2,
real*8  fn 
)

Definition at line 3292 of file CALLING_cpHTO.f.

3292  IMPLICIT NONE
3293 *
3294  INTEGER, parameter :: jmax=50
3295  INTEGER j
3296  real*8 hto_rrunm,x1,x2,xacc,qm,als,rm1,rm2,fn,fmid,f,dx,xmid
3297 *
3298  fmid= hto_qcdmass(qm,als,rm1,rm2,fn,x2)
3299  f= hto_qcdmass(qm,als,rm1,rm2,fn,x1)
3300  IF(f*fmid.ge.0.d0) then
3301  print*,'root must be bracketed for bisection'
3302  print 1,qm
3303  1 format(/' error detected by HTO_rrunm ',/
3304  # ' current value of quark mass = ',e20.5)
3305 * STOP ! MARKUS NOTE: Removed this stop. Hence, the program keeps running even if there are errors!
3306  ENDIF
3307  IF(f < 0.d0) then
3308  hto_rrunm= x1
3309  dx= x2-x1
3310  ELSE
3311  hto_rrunm= x2
3312  dx= x1-x2
3313  ENDIF
3314  DO j=1,jmax
3315  dx= dx*0.5d0
3316  xmid= hto_rrunm+dx
3317  fmid= hto_qcdmass(qm,als,rm1,rm2,fn,xmid)
3318  IF(fmid.le.0.d0) hto_rrunm= xmid
3319  IF(abs(dx) < xacc.or.fmid.eq.0.d0) RETURN
3320  ENDDO
3321 *

◆ hto_run_bc()

real*8 function, dimension(2) hto_qcd::hto_run_bc ( real*8  scal)

Definition at line 3157 of file CALLING_cpHTO.f.

3157  USE hto_riemann
3158  USE hto_masses
3159  USE hto_set_phys_const
3160 *
3161  IMPLICIT NONE
3162 *
3163  real*8 scal,scal2,alsr,aexps,scaling1g,als1g,alsc4,alsc42,
3164  # als1g2,alsb,alsb2,alsz,alsz2,fn,b03,b13,b23,g03,g13,
3165  # g23,rex3,b03s,b03c,b13s,sm1g,cfm13,cfm23,rmsc,
3166  # b04,b04c,b14,b24,g04,g14,g24,rex4,b04s,b14s,asldf,cfm14,
3167  # cfm24,rsmb,zero,x1,x2,xacc,cmm4,cmb,b05,b15,b25,g05,g15,
3168  # g25,rex5,b05s,b05c,b15s,cfm15,cfm25,rcqm,bmm5,rbqm,scal1g,
3169  # rsmc
3170  real*8, dimension(2) :: value
3171 *
3172  scal2= scal*scal
3173  alsr= hto_ralphas(mz,scal,als)
3174  aexps= alsr/pi
3175 *
3176 *-----COMPUTES THE RUNNING CHARM MASS
3177 *
3178  scal1g= 1.d0
3179  als1g= hto_ralphas(mz,scal1g,als)/pi
3180  alsc4= hto_ralphas(mz,mcq,als)/pi
3181  alsc42= alsc4*alsc4
3182  als1g2= als1g*als1g
3183  alsb= hto_ralphas(mz,mbq,als)/pi
3184  alsb2= alsb*alsb
3185  alsz= hto_ralphas(mz,scal,als)/pi
3186  alsz2= alsz*alsz
3187 *
3188 *-----FIRST THE RUNNING OF THE S-QUARK MASS
3189 * UP TO C/B-THRESHOLD
3190 *
3191  fn= 3.d0
3192  b03= (11.d0-2.d0/3.d0*fn)/4.d0
3193  b13= (102.d0-38.d0/3.d0*fn)/16.d0
3194  b23= (2857.d0/2.d0-5033.d0/18.d0*fn+325.d0/54.d0*fn*fn)/64.d0
3195  g03= 1.d0
3196  g13= (202.d0/3.d0-20.d0/9.d0*fn)/16.d0
3197  g23= (1249.d0-(2216.d0/27.d0+160.d0/3.d0*rz3)*fn-
3198  # 140.d0/81.d0*fn*fn)/64.d0
3199  rex3= g03/b03
3200  b03s= b03*b03
3201  b03c= b03s*b03
3202  b13s= b13*b13
3203  sm1g= 0.189d0
3204  asldf= alsc4-als1g
3205  cfm13= g13/b03-b13*g03/b03s
3206  cfm23= g23/b03-b13*g13/b03s-b23*g03/b03s+b13s*g03/b03c
3207  rsmc= sm1g*(alsc4/als1g)**rex3*(1.d0+cfm13*
3208  # asldf+0.5d0*cfm13*cfm13*asldf*asldf+0.5d0*cfm23*
3209  # (alsc42-als1g2))
3210 *
3211  fn= 4.d0
3212  b04= (11.d0-2.d0/3.d0*fn)/4.d0
3213  b14= (102.d0-38.d0/3.d0*fn)/16.d0
3214  b24= (2857.d0/2.d0-5033.d0/18.d0*fn+325.d0/54.d0*fn*fn)/64.d0
3215  g04= 1.d0
3216  g14= (202.d0/3.d0-20.d0/9.d0*fn)/16.d0
3217  g24= (1249.d0-(2216.d0/27.d0+160.d0/3.d0*rz3)*fn-
3218  # 140.d0/81.d0*fn*fn)/64.d0
3219  rex4= g04/b04
3220  b04s= b04*b04
3221  b04c= b04s*b04
3222  b14s= b14*b14
3223  asldf= alsb-alsc4
3224  cfm14= g14/b04-b14*g04/b04s
3225  cfm24= g24/b04-b14*g14/b04s-b24*g04/b04s+
3226  # b14s*g04/b04c
3227  rsmb= rsmc*(alsb/alsc4)**rex4*(1.d0+cfm14*
3228  # asldf+0.5d0*cfm14*cfm14*asldf*asldf+0.5d0*cfm24*
3229  # (alsb2-alsc42))
3230 *
3231 *-----C QUARK mASS AT C-THRESHOLD
3232 *
3233  zero= 0.d0
3234  x1= 0.5d0
3235  x2= 2.0d0
3236  xacc= 1.d-12
3237  fn= 4.d0
3238  cmm4= hto_rrunm(x1,x2,xacc,mcq,alsc4,rsmc,zero,fn)
3239 *
3240 *-----C QUARK MASS AT B-THRESHOLD
3241 *
3242  cmb= cmm4*(alsb/alsc4)**rex4*(1.d0+cfm14*
3243  # (alsb-alsc4)+0.5d0*cfm14*cfm14*
3244  # (alsb-alsc4)**2+0.5d0*cfm24*(alsb2-alsc42))
3245 *
3246 *-----RUNNING CHARM MASS
3247 *
3248  fn= 5.d0
3249  b05= (11.d0-2.d0/3.d0*fn)/4.d0
3250  b15= (102.d0-38.d0/3.d0*fn)/16.d0
3251  b25= (2857.d0/2.d0-5033.d0/18.d0*fn+325.d0/54.d0*fn*fn)/64.d0
3252  g05= 1.d0
3253  g15= (202.d0/3.d0-20.d0/9.d0*fn)/16.d0
3254  g25= (1249.d0-(2216.d0/27.d0+160.d0/3.d0*rz3)*fn-
3255  # 140.d0/81.d0*fn*fn)/64.d0
3256  rex5= g05/b05
3257  b05s= b05*b05
3258  b05c= b05s*b05
3259  b15s= b15*b15
3260  cfm15= g15/b05-b15*g05/b05s
3261  cfm25= g25/b05-b15*g15/b05s-b25*g05/b05s+b15s*g05/b05c
3262  rcqm= cmb*(alsz/alsb)**rex5*(1.d0+cfm15*
3263  # (alsz-alsb)+0.5d0*cfm15*cfm15*
3264  # (alsz-alsb)**2+0.5d0*cfm25*(alsz2-alsb2))
3265 *
3266 *-----B QUARK MASS AT B-THRESHOLD
3267 *
3268  x1= 0.5d0
3269  x2= 6.0d0
3270  xacc= 1.d-12
3271  fn= 5.d0
3272  bmm5= hto_rrunm(x1,x2,xacc,mbq,alsb,cmb,rsmb,fn)
3273 *
3274 *-----RUNNINg B MASS
3275 *
3276  asldf= alsz-alsb
3277  rbqm= bmm5*(alsz/alsb)**rex5*(1.d0+cfm15*
3278  # asldf+0.5d0*cfm15*cfm15*asldf*asldf+0.5d0*cfm25*
3279  # (alsz2-alsb2))
3280 *
3281  value(1)= rcqm
3282  value(2)= rbqm
3283 *
3284  RETURN
value
pymela::gHIGGS_KAPPA value("gHIGGS_KAPPA_TILDE", pymela::gHIGGS_KAPPA_TILDE) .value("SIZE_HQQ"
hto_qcd::hto_qcdlam
real *8 function hto_qcdlam(nf, als, rs, x1, x2, xacc)
Definition: CALLING_cpHTO.f:3114
hto_masses::mcq
real *8, parameter mcq
Definition: CALLING_cpHTO.f:82
hto_riemann::rz3
real *8, parameter rz3
Definition: CALLING_cpHTO.f:200
hto_masses::mz
real *8, parameter mz
Definition: CALLING_cpHTO.f:76
hto_set_phys_const
Definition: CALLING_cpHTO.f:239
hto_riemann
Definition: CALLING_cpHTO.f:195
hto_qcd::hto_rrunm
real *8 function hto_rrunm(x1, x2, xacc, qm, als, rm1, rm2, fn)
Definition: CALLING_cpHTO.f:3292
hto_qcd::hto_qcdscale
real *8 function hto_qcdscale(nf, als, rs, x)
Definition: CALLING_cpHTO.f:3139
hto_masses::mbq
real *8, parameter mbq
Definition: CALLING_cpHTO.f:84
hto_qcd::hto_ralphas
real *8 function hto_ralphas(rs0, rs, als)
Definition: CALLING_cpHTO.f:3035
hto_qcd::hto_qcdmass
real *8 function hto_qcdmass(qm, als, rm1, rm2, fn, x)
Definition: CALLING_cpHTO.f:3327
hto_masses
Definition: CALLING_cpHTO.f:72
hto_riemann::pis
real *8, parameter pis
Definition: CALLING_cpHTO.f:197
nf
@ nf
Definition: TMCFM.hh:17
hto_set_phys_const::als
real *8 als
Definition: CALLING_cpHTO.f:240
hto_units::zero
real *8, parameter zero
Definition: CALLING_cpHTO.f:185
hto_riemann::rz2
real *8, parameter rz2
Definition: CALLING_cpHTO.f:199