|
|
@ -30,6 +30,7 @@ contains |
|
|
call cfg_add(cfg, "general%nproc", 1, "process number") |
|
|
call cfg_add(cfg, "general%nproc", 1, "process number") |
|
|
call cfg_add(cfg, "general%part", "nlo", "part: lo, nlo, nlocoeff, nnlocoeff") |
|
|
call cfg_add(cfg, "general%part", "nlo", "part: lo, nlo, nlocoeff, nnlocoeff") |
|
|
call cfg_add(cfg, "general%runstring", "run", "string identifying the run") |
|
|
call cfg_add(cfg, "general%runstring", "run", "string identifying the run") |
|
|
|
|
|
call cfg_add(cfg, "general%runname", "", "Filename prefix of snapshot to write out.") |
|
|
call cfg_add(cfg, "general%rundir", "./", "directory for output and snapshot files") |
|
|
call cfg_add(cfg, "general%rundir", "./", "directory for output and snapshot files") |
|
|
call cfg_add(cfg, "general%sqrts", sqrts, "center of mass energy") |
|
|
call cfg_add(cfg, "general%sqrts", sqrts, "center of mass energy") |
|
|
call cfg_add(cfg, "general%ih1", +1, "ih1: +1 for proton, -1 for antiproton") |
|
|
call cfg_add(cfg, "general%ih1", +1, "ih1: +1 for proton, -1 for antiproton") |
|
|
@ -57,8 +58,13 @@ contains |
|
|
call cfg_add(cfg, "resummation%res_range", [0._dp, 80._dp], "integration range of purely resummed contribution") |
|
|
call cfg_add(cfg, "resummation%res_range", [0._dp, 80._dp], "integration range of purely resummed contribution") |
|
|
call cfg_add(cfg, "resummation%resexp_range", [1._dp, 80._dp], "integration range of fixed-order expansion of resummed contribution") |
|
|
call cfg_add(cfg, "resummation%resexp_range", [1._dp, 80._dp], "integration range of fixed-order expansion of resummed contribution") |
|
|
call cfg_add(cfg, "resummation%fo_cutoff", 1d0, "minimum qT for fixed-order calculation") |
|
|
call cfg_add(cfg, "resummation%fo_cutoff", 1d0, "minimum qT for fixed-order calculation") |
|
|
call cfg_add(cfg, "resummation%transitionswitch", 0.4d0, "transition switch to be used in plotting routines") |
|
|
|
|
|
|
|
|
call cfg_add(cfg, "resummation%transitionswitch", 0.4_dp, "transition switches to be used in plotting routines") |
|
|
|
|
|
call cfg_add(cfg, "resummation%transitionswitches", [real(dp) :: ], "transition switches to be used in plotting routines", dynamic_size=.true.) |
|
|
call cfg_add(cfg, "resummation%scalevar_rapidity", .false., "rapidity scale variation") |
|
|
call cfg_add(cfg, "resummation%scalevar_rapidity", .false., "rapidity scale variation") |
|
|
|
|
|
call cfg_add(cfg, "resummation%resexp_linPC", .false., "compute linear power corrections instead of resexp") |
|
|
|
|
|
|
|
|
|
|
|
call cfg_add(cfg, "resummation%LambdaNP_qq", 0._dp, "Lambda NP for qq") |
|
|
|
|
|
call cfg_add(cfg, "resummation%LambdaNP_gg", 0._dp, "Lambda NP for qq") |
|
|
|
|
|
|
|
|
! additional optional settings in [general] |
|
|
! additional optional settings in [general] |
|
|
!call cfg_add(cfg, "general%nevtrequested", 0, "") ! JC: removed 3/8/22 (no longer operational) |
|
|
!call cfg_add(cfg, "general%nevtrequested", 0, "") ! JC: removed 3/8/22 (no longer operational) |
|
|
@ -71,11 +77,19 @@ contains |
|
|
call cfg_add(cfg, "masses%mt", 173d0, "Top-quark mass") |
|
|
call cfg_add(cfg, "masses%mt", 173d0, "Top-quark mass") |
|
|
call cfg_add(cfg, "masses%mb", 4.66d0, "Bottom-quark mass") |
|
|
call cfg_add(cfg, "masses%mb", 4.66d0, "Bottom-quark mass") |
|
|
call cfg_add(cfg, "masses%mc", 1.275d0, "Charm-quark mass") |
|
|
call cfg_add(cfg, "masses%mc", 1.275d0, "Charm-quark mass") |
|
|
|
|
|
call cfg_add(cfg, "masses%wmass", 80.385_dp, "W-boson mass") |
|
|
|
|
|
call cfg_add(cfg, "masses%zmass", 91.1876_dp, "Z-boson mass") |
|
|
|
|
|
call cfg_add(cfg, "masses%wwidth", 2.091_dp, "W-boson width") |
|
|
|
|
|
call cfg_add(cfg, "masses%zwidth", 2.4952_dp, "Z-boson width") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
call cfg_add(cfg, "masses%CKMdiag", .false., "Set CKM to diagonal and ignore CKMrotate") |
|
|
call cfg_add(cfg, "masses%CKMdiag", .false., "Set CKM to diagonal and ignore CKMrotate") |
|
|
call cfg_add(cfg, "masses%CKMrotate", .false., "Implement VCKM by rotating pdfs") |
|
|
call cfg_add(cfg, "masses%CKMrotate", .false., "Implement VCKM by rotating pdfs") |
|
|
|
|
|
|
|
|
|
|
|
call cfg_add(cfg, "couplings%ewscheme", 1, "1: Gmu scheme") |
|
|
|
|
|
call cfg_add(cfg, "couplings%sin2th", 0.2234d0, "sin^2(theta) on-shell") |
|
|
|
|
|
call cfg_add(cfg, "couplings%G_f", 1.16639e-5_dp, "Gf") |
|
|
|
|
|
call cfg_add(cfg, "couplings%aemmz", 1._dp/128.89_dp, "alpha_EM, default at m_Z = 1/128.89") |
|
|
! [scales] |
|
|
! [scales] |
|
|
call cfg_add(cfg, "scales%renscale", 1d0, "Renormalization scale") |
|
|
call cfg_add(cfg, "scales%renscale", 1d0, "Renormalization scale") |
|
|
call cfg_add(cfg, "scales%facscale", 1d0, "Factorization scale") |
|
|
call cfg_add(cfg, "scales%facscale", 1d0, "Factorization scale") |
|
|
@ -260,6 +274,7 @@ contains |
|
|
use MCFMSettings, only: newStyleHistograms, resexp_linPC |
|
|
use MCFMSettings, only: newStyleHistograms, resexp_linPC |
|
|
use qtResummation_params, only: qtcutoff, qtminRes, qtmaxRes, qtminResexp, & |
|
|
use qtResummation_params, only: qtcutoff, qtminRes, qtmaxRes, qtminResexp, & |
|
|
qtmaxResexp, transitionSwitch, & |
|
|
qtmaxResexp, transitionSwitch, & |
|
|
|
|
|
transitionSwitches, & |
|
|
! scalevar_rapidity, & |
|
|
! scalevar_rapidity, & |
|
|
scalevar_rapidity, & |
|
|
scalevar_rapidity, & |
|
|
enable_fixed_y, fixed_y, enable_dsigma_dQ, generations, & |
|
|
enable_fixed_y, fixed_y, enable_dsigma_dQ, generations, & |
|
|
@ -271,6 +286,7 @@ contains |
|
|
use ggHwilson, only: expansionorder, Wilsonorder |
|
|
use ggHwilson, only: expansionorder, Wilsonorder |
|
|
use SCET, only: useQT |
|
|
use SCET, only: useQT |
|
|
use ptveto |
|
|
use ptveto |
|
|
|
|
|
use iso_fortran_env |
|
|
|
|
|
|
|
|
implicit none |
|
|
implicit none |
|
|
include 'cplx.h' |
|
|
include 'cplx.h' |
|
|
@ -397,7 +413,6 @@ contains |
|
|
call cfg_get(cfg, "general%ih2", ih2) |
|
|
call cfg_get(cfg, "general%ih2", ih2) |
|
|
call cfg_get(cfg, "general%zerowidth", zerowidth) |
|
|
call cfg_get(cfg, "general%zerowidth", zerowidth) |
|
|
call cfg_get(cfg, "general%removebr", removebr) |
|
|
call cfg_get(cfg, "general%removebr", removebr) |
|
|
call cfg_get_add(cfg, "general%ewscheme",ewscheme,ewscheme,"ew scheme") |
|
|
|
|
|
|
|
|
|
|
|
! [nnlo] |
|
|
! [nnlo] |
|
|
call cfg_get(cfg, "nnlo%dynamictau", dynamictau) |
|
|
call cfg_get(cfg, "nnlo%dynamictau", dynamictau) |
|
|
@ -420,16 +435,22 @@ contains |
|
|
|
|
|
|
|
|
! [masses] |
|
|
! [masses] |
|
|
call cfg_get(cfg, "masses%hmass", hmass) |
|
|
call cfg_get(cfg, "masses%hmass", hmass) |
|
|
call cfg_get_add(cfg, "masses%wmass", wmass_inp, wmass_inp, "W mass") |
|
|
|
|
|
call cfg_get_add(cfg, "masses%zmass", zmass_inp, zmass_inp, "Z mass") |
|
|
|
|
|
call cfg_get_add(cfg, "masses%wwidth", wwidth, wwidth, "W width") |
|
|
|
|
|
call cfg_get_add(cfg, "masses%zwidth", zwidth, zwidth, "Z width") |
|
|
|
|
|
|
|
|
call cfg_get(cfg, "masses%wmass", wmass_inp) |
|
|
|
|
|
call cfg_get(cfg, "masses%zmass", zmass_inp) |
|
|
|
|
|
call cfg_get(cfg, "masses%wwidth", wwidth) |
|
|
|
|
|
call cfg_get(cfg, "masses%zwidth", zwidth) |
|
|
call cfg_get(cfg, "masses%mt", mt) |
|
|
call cfg_get(cfg, "masses%mt", mt) |
|
|
call cfg_get(cfg, "masses%mb", mb) |
|
|
call cfg_get(cfg, "masses%mb", mb) |
|
|
call cfg_get(cfg, "masses%mc", mc) |
|
|
call cfg_get(cfg, "masses%mc", mc) |
|
|
call cfg_get(cfg, "masses%CKMdiag", CKMdiag) |
|
|
call cfg_get(cfg, "masses%CKMdiag", CKMdiag) |
|
|
call cfg_get(cfg, "masses%CKMrotate", CKMrotate) |
|
|
call cfg_get(cfg, "masses%CKMrotate", CKMrotate) |
|
|
|
|
|
|
|
|
|
|
|
! [couplings] |
|
|
|
|
|
call cfg_get(cfg, "couplings%ewscheme", ewscheme) |
|
|
|
|
|
call cfg_get(cfg, "couplings%sin2th", xw_inp) |
|
|
|
|
|
call cfg_get(cfg, "couplings%G_f", gf_inp) |
|
|
|
|
|
call cfg_get(cfg, "couplings%aemmz", aemmz_inp) |
|
|
|
|
|
|
|
|
! Yukawas |
|
|
! Yukawas |
|
|
mt_yuk=mt |
|
|
mt_yuk=mt |
|
|
if (abs(mb) > 1.e-8_dp) then |
|
|
if (abs(mb) > 1.e-8_dp) then |
|
|
@ -857,13 +878,30 @@ contains |
|
|
|
|
|
|
|
|
qtcutoff = res_fo_cutoff |
|
|
qtcutoff = res_fo_cutoff |
|
|
|
|
|
|
|
|
call cfg_get(cfg, "resummation%transitionswitch", transitionSwitch) |
|
|
|
|
|
|
|
|
if (cfg_var_configadded(cfg, "resummation%transitionswitches")) then |
|
|
|
|
|
if (cfg_var_size(cfg, "resummation%transitionswitches") > 0) then |
|
|
|
|
|
allocate(transitionswitches(cfg_var_size(cfg, "resummation%transitionswitches"))) |
|
|
|
|
|
call cfg_get(cfg, "resummation%transitionswitches", transitionswitches) |
|
|
|
|
|
|
|
|
|
|
|
! legacy plotting support |
|
|
|
|
|
transitionswitch = transitionswitches(1) |
|
|
|
|
|
else |
|
|
|
|
|
allocate(transitionswitches(1)) |
|
|
|
|
|
call cfg_get(cfg, "resummation%transitionswitch", transitionswitches(1)) |
|
|
|
|
|
endif |
|
|
|
|
|
else |
|
|
|
|
|
allocate(transitionswitches(1)) |
|
|
|
|
|
call cfg_get(cfg, "resummation%transitionswitch", transitionswitches(1)) |
|
|
|
|
|
endif |
|
|
|
|
|
|
|
|
call cfg_get_add(cfg, "benchmark%enable_fixed_y", enable_fixed_y, .false., "enable fixed y") |
|
|
call cfg_get_add(cfg, "benchmark%enable_fixed_y", enable_fixed_y, .false., "enable fixed y") |
|
|
call cfg_get_add(cfg, "benchmark%fixed_y", fixed_y, 0.0d0, "fixed y value") |
|
|
call cfg_get_add(cfg, "benchmark%fixed_y", fixed_y, 0.0d0, "fixed y value") |
|
|
call cfg_get_add(cfg, "benchmark%enable_dsigma_dQ", enable_dsigma_dQ, .false., "calculate dsigma/dQ (mV)") |
|
|
call cfg_get_add(cfg, "benchmark%enable_dsigma_dQ", enable_dsigma_dQ, .false., "calculate dsigma/dQ (mV)") |
|
|
call cfg_get_add(cfg, "benchmark%generations", generations, 5, "number nf to sum over") |
|
|
call cfg_get_add(cfg, "benchmark%generations", generations, 5, "number nf to sum over") |
|
|
call cfg_get_add(cfg, "benchmark%fix_alphas_nf5", fix_alphas_nf5, .false., "fix alphas to 5-flavor 3-loop running") |
|
|
call cfg_get_add(cfg, "benchmark%fix_alphas_nf5", fix_alphas_nf5, .false., "fix alphas to 5-flavor 3-loop running") |
|
|
|
|
|
|
|
|
|
|
|
call cfg_get(cfg, "resummation%resexp_linPC", resexp_linPC) |
|
|
|
|
|
|
|
|
if (rank == 0) then |
|
|
if (rank == 0) then |
|
|
if (resexp_linPC) then |
|
|
if (resexp_linPC) then |
|
|
write (*,*) "******************************************" |
|
|
write (*,*) "******************************************" |
|
|
@ -1060,7 +1098,7 @@ contains |
|
|
if (any(kpart==[ksnlo,knnlo,kn3lo]) & |
|
|
if (any(kpart==[ksnlo,knnlo,kn3lo]) & |
|
|
.or. ((kpart==kresummed) .and. (usept) .and. (kresorder==6))) then |
|
|
.or. ((kpart==kresummed) .and. (usept) .and. (kresorder==6))) then |
|
|
if (useqt .or. useqt_nnlo) then |
|
|
if (useqt .or. useqt_nnlo) then |
|
|
if (any(nproc == [31,32])) then |
|
|
|
|
|
|
|
|
if (any(nproc == [1,6,31,32])) then |
|
|
! useqt is the new implementation up to N3LO from 2207.07056, but only set up for Z |
|
|
! useqt is the new implementation up to N3LO from 2207.07056, but only set up for Z |
|
|
useqt = .true. |
|
|
useqt = .true. |
|
|
useqt_nnlo = .false. |
|
|
useqt_nnlo = .false. |
|
|
|