JHUGen MELA  v2.4.1
Matrix element calculations as used in JHUGen. MELA is an important tool that was used for the Higgs boson discovery and for precise measurements of its structure and interactions. Please see the website https://spin.pha.jhu.edu/ and papers cited there for more details, and kindly cite those papers when using this code.
Functions/Subroutines
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
nf
@ nf
Definition: TMCFM.hh:17
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
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