diff --git a/README.md b/README.md index abb36d85..b71278d5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,16 @@ -# Runcards for NNPDF +These runcards were used to compute top pair production processes for NNPDF4.1 with MATRIX at NNLO except for the +following changes: +* The top mass was varied up (mt_+ = 175.0 GeV) and down (mt_- = 170.0 GeV) with respect to the central value mt_0 = 172.5 GeV. +* The renormalisation and factorisation scales were dynamical but evaluated at the central value mt_0. That is, + the scales were set to `HT(mt=mt_0, pT)/4`, with `HT = (ET_t + ET_tx)` and `ET_t = sqrt(mt_0 ** 2 + pT_t ** 2)`, + `ET_tx = sqrt(mt_0 ** 2 + pT_tx ** 2)`. This choice is reflected in the `paramter.dat` card, +``` +: dynamic_scale = 11 +``` +where `dynamic_scale = 11` corresponds to the definition written in `specify.scales.cxx` + +To reproduce the NNPDF4.1 predictions, these runcards should be modified by setting in `model.dat` +``` + 6 172.5 # M_t +``` -This repository stores all pinecards needed to generate PineAPPL grids for the -processes included in NNPDF. diff --git a/TTBAR_13TEV_DIF/13tev_dddistribution.dat b/TTBAR_13TEV_DIF/13tev_dddistribution.dat new file mode 100644 index 00000000..bef37f25 --- /dev/null +++ b/TTBAR_13TEV_DIF/13tev_dddistribution.dat @@ -0,0 +1,41 @@ +################ LHC TTBAR 13 TEV ############## + +# keys: gm- grids to be merged, bm- bins to be merged + +########### 2d distributions + +# atlas_l+j (merge the bins according to exp. data) + +dddistributionname = ATLAS_TTBAR_13TEV_LJ_DIF_PTT-YT_bm +distributionname_1 = atl_lj_2d_yt_ptt-yt +distributionname_2 = atl_lj_2d_ptt_ptt-yt + +dddistributionname = ATLAS_TTBAR_13TEV_LJ_DIF_MTTBAR-PTT_bm +distributionname_1 = atl_lj_2d_mttb_mttb-ptt +distributionname_2 = atl_lj_2d_ptt_mttb-ptt + +# atlas hadr. (merge the grids) + +dddistributionname = ATLAS_TTBAR_13TEV_HADR_DIF_MTTBAR-YTTBAR_gm1 +distributionname_1 = atl_hadr_2d_m1_ttx +distributionname_2 = atl_hadr_2d_ym1_ttx + +dddistributionname = ATLAS_TTBAR_13TEV_HADR_DIF_MTTBAR-YTTBAR_gm2 +distributionname_1 = atl_hadr_2d_m2_ttx +distributionname_2 = atl_hadr_2d_ym2_ttx + +dddistributionname = ATLAS_TTBAR_13TEV_HADR_DIF_MTTBAR-YTTBAR_gm3 +distributionname_1 = atl_hadr_2d_m3_ttx +distributionname_2 = atl_hadr_2d_ym3_ttx + +# cms l+j + +dddistributionname = CMS_TTBAR_13TEV_LJ_DIF_MTTBAR-YTTBAR +distributionname_1 = cms_lj_2d_mttbar +distributionname_2 = cms_lj_2d_yttbar + +# cms 2l + +dddistributionname = CMS_TTBAR_13TEV_2L_138FB-1_DIF_MTTBAR-YTTBAR +distributionname_1 = cms_2l_2d_mttbar +distributionname_2 = cms_2l_2d_yttbar diff --git a/TTBAR_13TEV_DIF/13tev_distribution.dat b/TTBAR_13TEV_DIF/13tev_distribution.dat new file mode 100644 index 00000000..69154c74 --- /dev/null +++ b/TTBAR_13TEV_DIF/13tev_distribution.dat @@ -0,0 +1,219 @@ +################ LHC TTBAR 13 TEV ############## + +# keys: catr- convert absolute to regular + +########### 1d distributions + +# atlas_l+j + +distributionname = ATLAS_TTBAR_13TEV_LJ_DIF_MTTBAR +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 325:400:480:580:700:860:1020:1250:1500:2000 + +distributionname = ATLAS_TTBAR_13TEV_LJ_DIF_PTT +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:50:100:160:225:300:360:475:1000 + +distributionname = ATLAS_TTBAR_13TEV_LJ_DIF_YT +distributiontype = absy +particle 1 = top 1 +binningtype = irregular +edges = 0:0.4:0.8:1.2:1.7:2.5 + +distributionname = ATLAS_TTBAR_13TEV_LJ_DIF_YTTBAR +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0:0.25:0.5:0.8:1.1:1.4:1.8:2.5 + +# atlas hadr. + +distributionname = ATLAS_TTBAR_13TEV_HADR_DIF_MTTBAR +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 325.0:458.75:565.75:646.0:753.0:860.0:967.0:1100.75:1261.25:3000.0 + +distributionname = ATLAS_TTBAR_13TEV_HADR_DIF_YTTBAR +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0.0:0.12:0.24:0.36:0.49:0.62:0.76:0.91:1.06:1.21:1.39:1.59:2.4 + + +# cms 2l + +distributionname = CMS_TTBAR_13TEV_2L_DIF_MTTBAR +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 300:380:470:620:820:1100:1500:2500 + +distributionname = CMS_TTBAR_13TEV_2L_138FB-1_DIF_PTT +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:55:100:165:240:330:440:600 + + +# (convert absolute to regular) +distributionname = CMS_TTBAR_13TEV_2L_DIF_YTTBAR_catr +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0:0.4:0.8:1.2:1.6:2.6 + +distributionname = CMS_TTBAR_13TEV_2L_DIF_YT +distributiontype = y +particle 1 = top 1 +binningtype = irregular +edges = -2.6:-1.8:-1.35:-0.9:-0.45:0:0.45:0.9:1.35:1.8:2.6 + +distributionname = CMS_TTBAR_13TEV_2L_DIF_PTT +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:65:125:200:290:400:550 + +# cms l+j + +distributionname = CMS_TTBAR_13TEV_LJ_DIF_MTTBAR +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 250:400:480:560:640:720:800:900:1000:1150:1300:1500:1700:2000:2300:3500 + +distributionname = CMS_TTBAR_13TEV_LJ_DIF_YTTBAR +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0:0.2:0.4:0.6:0.8:1:1.2:1.4:1.6:1.8:2.4 + +distributionname = CMS_TTBAR_13TEV_LJ_DIF_YT +distributiontype = absy +particle 1 = top 1 +binningtype = irregular +edges = 0:0.2:0.4:0.6:0.8:1:1.2:1.4:1.6:1.8:2:2.5 + +distributionname = CMS_TTBAR_13TEV_LJ_DIF_PTT +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:40:80:120:160:200:250:300:350:400:450:500:600:700:850:1000:1500 + +########### 1d distributions of the 2d distributions + +# atlas l+j + +distributionname = atl_lj_2d_yt_ptt-yt +distributiontype = absy +particle 1 = top 1 +binningtype = irregular +edges = 0:0.75:1.5:2.5 + +distributionname = atl_lj_2d_ptt_ptt-yt +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:85:175:285:300:390:1000 + +distributionname = atl_lj_2d_mttb_mttb-ptt +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 325:500:700:1000:2000 + +distributionname = atl_lj_2d_ptt_mttb-ptt +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:80:90:170:180:270:280:370:1000 + +# atlas hadr. + +distributionname = atl_hadr_2d_m1_ttx +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0.0:700.0 + +distributionname = atl_hadr_2d_m2_ttx +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 700.0:970.0 + +distributionname = atl_hadr_2d_m3_ttx +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 970.0:3000.0 + +distributionname = atl_hadr_2d_ym1_ttx +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0.0:0.46:0.91:1.55:2.5 + +distributionname = atl_hadr_2d_ym2_ttx +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0.0:0.33:0.62:0.95:2.5 + +distributionname = atl_hadr_2d_ym3_ttx +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0.0:0.4:0.79:2.5 + +# cms l+j + +distributionname = cms_lj_2d_mttbar +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 250:420:520:620:800:1000:3500 + +distributionname = cms_lj_2d_yttbar +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0.0:0.3:0.6:0.9:1.2:1.5:2.5 + +# cms 2l + +distributionname = cms_2l_2d_mttbar +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 300:400:500:650:1500 + +distributionname = cms_2l_2d_yttbar +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0.0:0.35:0.75:1.15:2.50 \ No newline at end of file diff --git a/TTBAR_13TEV_DIF/13tev_parameter.dat b/TTBAR_13TEV_DIF/13tev_parameter.dat new file mode 100644 index 00000000..51e01852 --- /dev/null +++ b/TTBAR_13TEV_DIF/13tev_parameter.dat @@ -0,0 +1,112 @@ +########################## +# MATRIX input parameter # +########################## + +#----------------------\ +# General run settings | +#----------------------/ +process_class = pp-tt~+X # process id +E = 6500. # energy per beam +coll_choice = 1 # (1) PP collider; (2) PPbar collider +switch_PineAPPL = 1 # switch to turn on (1) or off(0) the generation of PineAppl grids +use_TSV = 1 # switch to use new TSV scale variation instead of CV (1) or in addition to CV (2) + # (TSV variation that has more flexibility and features, and will become the new + # standard in future releases; the final result output differs slightly from CV, + # but contains at the moment the identical information, unless obove switch + # power_corrections or extrapolate_binwise is turned on, then TSV variation will + # be used regardless of setting use_TSV and those features included in the results) +extrapolate_binwise = 1 # switch for bin-wise r_cut extrapolation of distributions + # (note: increases written output for distributions by factor of 8) +enhance_tails = 1 # switch to improve statistics in tail of distributions (a factor of two slower) + + +#----------------\ +# Scale settings | +#----------------/ +scale_ren = 172.5 # renormalization (muR) scale +scale_fact = 172.5 # factorization (muF) scale +dynamic_scale = 11 # dynamic ren./fac. scale + # 0: fixed scale above + # 1: invariant mass (Q) of system (of the colourless final states) + # 2: transverse mass (mT^2=Q^2+pT^2) of system (of the colourless final states) +factor_central_scale = 1 # relative factor for central scale (important for dynamic scales) +scale_variation = 1 # switch for muR/muF uncertainties (0) off; (1) 7-point (default); (2) 9-point variation +variation_factor = 2 # symmetric variation factor; usually a factor of 2 up and down (default) + + +#------------------------------\ +# Order-dependent run settings | +#------------------------------/ +# LO-run +run_LO = 0 # switch for LO cross section (1) on; (0) off +LHAPDF_LO = NNPDF30_lo_as_0118 # LO LHAPDF set +PDFsubset_LO = 0 # member of LO PDF set +precision_LO = 1.e-2 # precision of LO cross section + +# NLO-run +run_NLO_QCD = 0 # switch for NLO QCD cross section (1) on; (0) off +LHAPDF_NLO = NNPDF30_nlo_as_0118 # NLO LHAPDF set +PDFsubset_NLO = 0 # member of NLO PDF set +precision_NLO_QCD = 1.e-2 # precision of NLO QCD cross section +NLO_subtraction_method = 1 # switch to use (2) qT subtraction (1) Catani-Seymour at NLO + +# NNLO-run +run_NNLO_QCD = 1 # switch for NNLO QCD cross section (1) on; (0) off +LHAPDF_NNLO = NNPDF40_nnlo_as_01180 # NNLO LHAPDF set +PDFsubset_NNLO = 0 # member of NNLO PDF set +precision_NNLO_QCD = 2.e-4 # precision of NNLO QCD cross section +switch_qT_accuracy = 0 # switch to improve qT-subtraction accuracy (slower numerical convergence) + # 0: lowest value of r_cut = 0.0015 varied up to 0.01 (default) + # 1: lowest value of r_cut = 0.0005 varied up to 0.01 + # 2: lowest value of r_cut = 0.0001 varied up to 0.01 (only if extrapolate_binwise=1; + # output of fixed-r_cut result remains 0.0005, while 0.0001 used for extrapolation) + # for Drell-Yann it is recommended to turn on power_corrections rather than use switch_qT_accuracy +power_corrections = 0 # switch to include leading power corrections in qT-subtraction through recoil + # (not recommended for processes involving photons and heavy quarks) +power_corrections_pT0 = 25. # characteristic transverse momentum pT0 used to optimise the generation + # of the phase space for the integration of the power corrections. It should be set + # to the minimum requirement on the transverse momentum of the 2-body final state + # (for Drell-Yan for instance this should be the minimum transverse momentum of the leptons) + + +#----------------------------\ +# Settings for fiducial cuts | +#----------------------------/ +# Jet algorithm +jet_algorithm = 3 # (1) Cambridge-Aachen (2) kT (3) anti-kT +jet_R_definition = 0 # (0) pseudo-rapidity (1) rapidity +jet_R = 0.4 # DeltaR + +# Jet cuts +define_pT jet = 25. # requirement on jet transverse momentum (lower cut) +define_eta jet = 4.5 # requirement on jet pseudo-rapidity (upper cut) +define_y jet = 1.e99 # requirement on jet rapidity (upper cut) +n_observed_min jet = 0 # minimal number of observed jets (with cuts above) +n_observed_max jet = 99 # maximal number of observed jets (with cuts above) + +#################### +# User-defined cuts +# (only used if defined in 'MATRIX/prc/$process/user/specify.cuts.cxx') +# +# no user-defined cuts implemented at the moment for this process +#################### +# Fiducial cuts +# (defined via general interface) +# + +#-----------------\ +# MATRIX behavior | +#-----------------/ +max_time_per_job = 8 # very rough time(hours) one main run job shall take (default: 24h) + # unreliable when < 1h, use as tuning parameter for degree of parallelization + # note: becomes ineffective when job number > max_nr_parallel_jobs + # which is set in MATRIX_configuration file +switch_distribution = 1 # switch to turn on (1) and off (0) distributions +save_previous_result = 1 # switch to save previous result of this run (in result/"run"/saved_result_$i) +save_previous_log = 0 # switch to save previous log of this run (in log/"run"/saved_result_$i) +#include_pre_in_results = 0 # switch to (0) only include main run in results; (1) also all extrapolation (pre) runs; + # crucial to set to 0 if re-running main with different inputs (apart from precision) + # note: if missing (default) pre runs used if important for precision + # (separately for each contribution) +reduce_workload = 0 # switch to keep full job output (0), reduce (1) or minimize (2) workload on slow clusters +random_seed = 0 # specify integer value (grid-/pre-run reproducible) diff --git a/TTBAR_13TEV_DIF/model.dat b/TTBAR_13TEV_DIF/model.dat new file mode 100644 index 00000000..f62243d9 --- /dev/null +++ b/TTBAR_13TEV_DIF/model.dat @@ -0,0 +1,60 @@ +########################## +# MATRIX model parameter # +########################## + +#--------\ +# masses | +#--------/ +Block MASS + 1 0.000000 # M_d + 2 0.000000 # M_u + 3 0.000000 # M_s + 4 0.000000 # M_c + 5 0.000000 # M_b + 6 1.725000e+02 # M_t [170.0, 172.5, 175.0] + 11 0.000000 # M_e + 12 0.000000 # M_ve + 13 0.000000 # M_mu + 14 0.000000 # M_vm + 15 1.776930e+00 # M_tau + 16 0.000000 # M_vt + 23 9.118800e+01 # M_Z + 24 8.036920e+01 # M_W + 25 1.252000e+02 # M_H + +#-------------------\ +# inputs for the SM | +#-------------------/ +Block SMINPUTS + 1 1.321003e+02 # 1/alpha_e(MZ) + 2 1.166378e-05 # G_F +111 1.370359e+02 # 1/alpha_e(mu->0) + +#------------------\ +# Yukawa couplings | +#------------------/ +#Block YUKAWA +# 5 4.750000e+00 # M_YB +# 6 1.730000e+02 # M_YT +# 15 1.777000e+00 # M_YTAU + +#---------------\ +# decays widths | +#---------------/ +DECAY 6 0.000000 # WT +DECAY 23 0.000000 # WZ +DECAY 24 0.000000 # WW +DECAY 25 4.070000e-03 # WH + +#-----------\ +# EW inputs | +#-----------/ +Block EWINPUTS + 1 1 # ew_scheme - determines scheme used for EW inputs + # 0: alpha_e_0 scheme (alpha_e(mu->0) above used to determine inputs) + # 1: G_mu scheme (G_F above used to determine inputs) + # 2: alpha_e_MZ scheme (alpha_e(MZ) above used to determine inputs) + 3 1 # use_cms - switch for the complex mass scheme + # 0: off + # 1: on + # 2: on, but alpha_e is determined through real parameters diff --git a/TTBAR_13TEV_DIF/readme.md b/TTBAR_13TEV_DIF/readme.md new file mode 100644 index 00000000..e69de29b diff --git a/TTBAR_13TEV_DIF/specify.scales.cxx b/TTBAR_13TEV_DIF/specify.scales.cxx new file mode 100644 index 00000000..47cf79de --- /dev/null +++ b/TTBAR_13TEV_DIF/specify.scales.cxx @@ -0,0 +1,106 @@ +{ + if (sd == 1){ + // invariant mass m of the ttx system + temp_mu_central = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).m(); + } + else if (sd == 2){ + // transverse mass of the ttx system + double m = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).m(); + double pT = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).pT(); + temp_mu_central = sqrt(pow(m, 2) + pow(pT, 2)); + } + else if (sd == 3){ + // geometric average of transverse masses of and tx - ET + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = sqrt(ET_t * ET_tx); + } + else if (sd == 4){ + // sum of transverse masses of t and tx - HT + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = ET_t + ET_tx; + } + else if (sd == 5){ + // sum of transverse masses of t and tx and of jets - HTp + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = ET_t + ET_tx; + for (int i_l = 5; i_l < PARTICLE("all").size(); i_l++){ + temp_mu_central += PARTICLE("all")[i_l].ET; + } + // Alternatively: + // for (int i_l = 3; i_l < PARTICLE("all").size(); i_l++){ + } + else if (sd == 6){ + // sum of transverse masses of t and tx - HTint + double xET_t = sqrt(msi->M2_t / 4 + PARTICLE("top")[0].pT2); + double xET_tx = sqrt(msi->M2_t / 4 + PARTICLE("atop")[0].pT2); + temp_mu_central = xET_t + xET_tx; + } + else if (sd == 7){ + // transverse mass of t - mT_t + temp_mu_central = PARTICLE("top")[0].ET; + } + else if (sd == 8){ + // transverse mass of t - mT_tx + temp_mu_central = PARTICLE("atop")[0].ET; + } + + else if (sd == 9){ + // transverse mass of the leading top-jet - mT_t1 + temp_mu_central = PARTICLE("tjet")[0].ET; + } + else if (sd == 10){ + // transverse mass of the subleading top-jet - mT_t2 + temp_mu_central = PARTICLE("tjet")[1].ET; + } + else if (sd == 11){ + // sum of transverse energy of t and tx at central mtop- HT / 4 + double pT2_t = PARTICLE("top")[0].pT2; + double pT2_tx = PARTICLE("atop")[0].pT2; + double ET_t = sqrt(pow(172.5, 2) + pT2_t); + double ET_tx = sqrt(pow(172.5, 2) + pT2_tx); + temp_mu_central = 0.25 * (ET_t + ET_tx); + } + else if (sd == 70){ + // sum of transverse energies of t and tx varying mtop - HT / 4 + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = 0.25 * (ET_t + ET_tx); + } + + + /* + // these were only required because of some former bug in the implementation: + else if (sd == 11){ + // invariant mass m of the ttx system + temp_mu_central = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).m(); + } + else if (sd == 14){ + // sum of transverse masses of t and tx - HT + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = ET_t + ET_tx; + } + else if (sd == 17){ + // transverse mass of t - mT_t + temp_mu_central = PARTICLE("top")[0].ET; + } + else if (sd == 18){ + // transverse mass of t - mT_tx + temp_mu_central = PARTICLE("atop")[0].ET; + } + */ + else{ + assert(false && "Scale setting not defined. Reset dynamical scale to different value."); + } +} + + /* +if (sd == 1){ + fourvector Q; + for (int i_p = 3; i_p < 5; i_p++){Q = Q + esi->p_parton[i_a][i_p];} + temp_mu_central = Q.m(); +} + */ diff --git a/TTBAR_8TEV_DIF/8tev_dddistribution.dat b/TTBAR_8TEV_DIF/8tev_dddistribution.dat new file mode 100644 index 00000000..a65f10ae --- /dev/null +++ b/TTBAR_8TEV_DIF/8tev_dddistribution.dat @@ -0,0 +1,17 @@ +################ LHC TTBAR 8 TEV ############## + +########### 2d distributions + +# cms_2l + +dddistributionname = CMS_TTBAR_8TEV_2L_DIF_PTT-YT +distributionname_1 = cms_2l_yt +distributionname_2 = cms_2l_pTt + +dddistributionname = CMS_TTBAR_8TEV_2L_DIF_MTTBAR-YT +distributionname_1 = cms_2l_mttbar +distributionname_2 = cms_2l_yt + +dddistributionname = CMS_TTBAR_8TEV_2L_DIF_MTTBAR-YTTBAR +distributionname_1 = cms_2l_mttbar +distributionname_2 = cms_2l_yttbar diff --git a/TTBAR_8TEV_DIF/8tev_distribution.dat b/TTBAR_8TEV_DIF/8tev_distribution.dat new file mode 100644 index 00000000..c8c1a8e4 --- /dev/null +++ b/TTBAR_8TEV_DIF/8tev_distribution.dat @@ -0,0 +1,108 @@ +################ LHC TTBAR 8 TEV ############## + +# keys: catr- convert absolute to regular + +########### 1d distributions + +# atlas_2l + +distributionname = ATLAS_TTBAR_8TEV_2L_DIF_MTTBAR +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 250:450:570:700:850:1000:2700 + +distributionname = ATLAS_TTBAR_8TEV_2L_DIF_YTTBAR +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0:0.4:0.8:1.2:2:2.8 + +# atlas_lj + +distributionname = ATLAS_TTBAR_8TEV_LJ_DIF_MTTBAR +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 345:400:470:550:650:800:1100:1600 + +distributionname = ATLAS_TTBAR_8TEV_LJ_DIF_YTTBAR +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0:0.3:0.6:0.9:1.3:2.5 + +distributionname = ATLAS_TTBAR_8TEV_LJ_DIF_YT +distributiontype = absy +particle 1 = top 1 +binningtype = irregular +edges = 0:0.4:0.8:1.2:1.6:2.5 + +distributionname = ATLAS_TTBAR_8TEV_LJ_DIF_PTT +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:60:100:150:200:260:320:400:500 + +# cms_lj + +distributionname = CMS_TTBAR_8TEV_LJ_DIF_MTTBAR +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 345:400:470:550:650:800:1100:1600 + +# (convert absolute to regular) +distributionname = CMS_TTBAR_8TEV_LJ_DIF_YTTBAR_catr +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0:0.3:0.6:0.9:1.3:2.5 + +distributionname = CMS_TTBAR_8TEV_LJ_DIF_YT +distributiontype = y +particle 1 = top 1 +binningtype = irregular +edges = -2.5:-1.6:-1.2:-0.8:-0.4:0:0.4:0.8:1.2:1.6:2.5 + +distributionname = CMS_TTBAR_8TEV_LJ_DIF_PTT +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:60:100:150:200:260:320:400:500 + +########### 1d distributions of the 2d distributions + +# cms_2l + +distributionname = cms_2l_mttbar +distributiontype = m +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 340:400:500:650:1500 + +distributionname = cms_2l_yttbar +distributiontype = absy +particle 1 = top 1 +particle 1 = atop 1 +binningtype = irregular +edges = 0:0.35:0.75:1.15:2.5 + +distributionname = cms_2l_yt +distributiontype = absy +particle 1 = top 1 +binningtype = irregular +edges = 0:0.35:0.85:1.45:2.5 + +distributionname = cms_2l_pTt +distributiontype = pT +particle 1 = top 1 +binningtype = irregular +edges = 0:80:150:250:600 diff --git a/TTBAR_8TEV_DIF/8tev_parameter.dat b/TTBAR_8TEV_DIF/8tev_parameter.dat new file mode 100644 index 00000000..26f8150b --- /dev/null +++ b/TTBAR_8TEV_DIF/8tev_parameter.dat @@ -0,0 +1,112 @@ +########################## +# MATRIX input parameter # +########################## + +#----------------------\ +# General run settings | +#----------------------/ +process_class = pp-tt~+X # process id +E = 4000. # energy per beam +coll_choice = 1 # (1) PP collider; (2) PPbar collider +switch_PineAPPL = 1 # switch to turn on (1) or off(0) the generation of PineAppl grids +use_TSV = 1 # switch to use new TSV scale variation instead of CV (1) or in addition to CV (2) + # (TSV variation that has more flexibility and features, and will become the new + # standard in future releases; the final result output differs slightly from CV, + # but contains at the moment the identical information, unless obove switch + # power_corrections or extrapolate_binwise is turned on, then TSV variation will + # be used regardless of setting use_TSV and those features included in the results) +extrapolate_binwise = 1 # switch for bin-wise r_cut extrapolation of distributions + # (note: increases written output for distributions by factor of 8) +enhance_tails = 1 # switch to improve statistics in tail of distributions (a factor of two slower) + + +#----------------\ +# Scale settings | +#----------------/ +scale_ren = 172.5 # renormalization (muR) scale +scale_fact = 172.5 # factorization (muF) scale +dynamic_scale = 11 # dynamic ren./fac. scale + # 0: fixed scale above + # 1: invariant mass (Q) of system (of the colourless final states) + # 2: transverse mass (mT^2=Q^2+pT^2) of system (of the colourless final states) +factor_central_scale = 1 # relative factor for central scale (important for dynamic scales) +scale_variation = 1 # switch for muR/muF uncertainties (0) off; (1) 7-point (default); (2) 9-point variation +variation_factor = 2 # symmetric variation factor; usually a factor of 2 up and down (default) + + +#------------------------------\ +# Order-dependent run settings | +#------------------------------/ +# LO-run +run_LO = 0 # switch for LO cross section (1) on; (0) off +LHAPDF_LO = NNPDF30_lo_as_0118 # LO LHAPDF set +PDFsubset_LO = 0 # member of LO PDF set +precision_LO = 1.e-2 # precision of LO cross section + +# NLO-run +run_NLO_QCD = 0 # switch for NLO QCD cross section (1) on; (0) off +LHAPDF_NLO = NNPDF30_nlo_as_0118 # NLO LHAPDF set +PDFsubset_NLO = 0 # member of NLO PDF set +precision_NLO_QCD = 1.e-2 # precision of NLO QCD cross section +NLO_subtraction_method = 1 # switch to use (2) qT subtraction (1) Catani-Seymour at NLO + +# NNLO-run +run_NNLO_QCD = 1 # switch for NNLO QCD cross section (1) on; (0) off +LHAPDF_NNLO = NNPDF40_nnlo_as_01180 # NNLO LHAPDF set +PDFsubset_NNLO = 0 # member of NNLO PDF set +precision_NNLO_QCD = 2.e-4 # precision of NNLO QCD cross section +switch_qT_accuracy = 0 # switch to improve qT-subtraction accuracy (slower numerical convergence) + # 0: lowest value of r_cut = 0.0015 varied up to 0.01 (default) + # 1: lowest value of r_cut = 0.0005 varied up to 0.01 + # 2: lowest value of r_cut = 0.0001 varied up to 0.01 (only if extrapolate_binwise=1; + # output of fixed-r_cut result remains 0.0005, while 0.0001 used for extrapolation) + # for Drell-Yann it is recommended to turn on power_corrections rather than use switch_qT_accuracy +power_corrections = 0 # switch to include leading power corrections in qT-subtraction through recoil + # (not recommended for processes involving photons and heavy quarks) +power_corrections_pT0 = 25. # characteristic transverse momentum pT0 used to optimise the generation + # of the phase space for the integration of the power corrections. It should be set + # to the minimum requirement on the transverse momentum of the 2-body final state + # (for Drell-Yan for instance this should be the minimum transverse momentum of the leptons) + + +#----------------------------\ +# Settings for fiducial cuts | +#----------------------------/ +# Jet algorithm +jet_algorithm = 3 # (1) Cambridge-Aachen (2) kT (3) anti-kT +jet_R_definition = 0 # (0) pseudo-rapidity (1) rapidity +jet_R = 0.4 # DeltaR + +# Jet cuts +define_pT jet = 25. # requirement on jet transverse momentum (lower cut) +define_eta jet = 4.5 # requirement on jet pseudo-rapidity (upper cut) +define_y jet = 1.e99 # requirement on jet rapidity (upper cut) +n_observed_min jet = 0 # minimal number of observed jets (with cuts above) +n_observed_max jet = 99 # maximal number of observed jets (with cuts above) + +#################### +# User-defined cuts +# (only used if defined in 'MATRIX/prc/$process/user/specify.cuts.cxx') +# +# no user-defined cuts implemented at the moment for this process +#################### +# Fiducial cuts +# (defined via general interface) +# + +#-----------------\ +# MATRIX behavior | +#-----------------/ +max_time_per_job = 8 # very rough time(hours) one main run job shall take (default: 24h) + # unreliable when < 1h, use as tuning parameter for degree of parallelization + # note: becomes ineffective when job number > max_nr_parallel_jobs + # which is set in MATRIX_configuration file +switch_distribution = 1 # switch to turn on (1) and off (0) distributions +save_previous_result = 1 # switch to save previous result of this run (in result/"run"/saved_result_$i) +save_previous_log = 0 # switch to save previous log of this run (in log/"run"/saved_result_$i) +#include_pre_in_results = 0 # switch to (0) only include main run in results; (1) also all extrapolation (pre) runs; + # crucial to set to 0 if re-running main with different inputs (apart from precision) + # note: if missing (default) pre runs used if important for precision + # (separately for each contribution) +reduce_workload = 0 # switch to keep full job output (0), reduce (1) or minimize (2) workload on slow clusters +random_seed = 0 # specify integer value (grid-/pre-run reproducible) diff --git a/TTBAR_8TEV_DIF/model.dat b/TTBAR_8TEV_DIF/model.dat new file mode 100644 index 00000000..f62243d9 --- /dev/null +++ b/TTBAR_8TEV_DIF/model.dat @@ -0,0 +1,60 @@ +########################## +# MATRIX model parameter # +########################## + +#--------\ +# masses | +#--------/ +Block MASS + 1 0.000000 # M_d + 2 0.000000 # M_u + 3 0.000000 # M_s + 4 0.000000 # M_c + 5 0.000000 # M_b + 6 1.725000e+02 # M_t [170.0, 172.5, 175.0] + 11 0.000000 # M_e + 12 0.000000 # M_ve + 13 0.000000 # M_mu + 14 0.000000 # M_vm + 15 1.776930e+00 # M_tau + 16 0.000000 # M_vt + 23 9.118800e+01 # M_Z + 24 8.036920e+01 # M_W + 25 1.252000e+02 # M_H + +#-------------------\ +# inputs for the SM | +#-------------------/ +Block SMINPUTS + 1 1.321003e+02 # 1/alpha_e(MZ) + 2 1.166378e-05 # G_F +111 1.370359e+02 # 1/alpha_e(mu->0) + +#------------------\ +# Yukawa couplings | +#------------------/ +#Block YUKAWA +# 5 4.750000e+00 # M_YB +# 6 1.730000e+02 # M_YT +# 15 1.777000e+00 # M_YTAU + +#---------------\ +# decays widths | +#---------------/ +DECAY 6 0.000000 # WT +DECAY 23 0.000000 # WZ +DECAY 24 0.000000 # WW +DECAY 25 4.070000e-03 # WH + +#-----------\ +# EW inputs | +#-----------/ +Block EWINPUTS + 1 1 # ew_scheme - determines scheme used for EW inputs + # 0: alpha_e_0 scheme (alpha_e(mu->0) above used to determine inputs) + # 1: G_mu scheme (G_F above used to determine inputs) + # 2: alpha_e_MZ scheme (alpha_e(MZ) above used to determine inputs) + 3 1 # use_cms - switch for the complex mass scheme + # 0: off + # 1: on + # 2: on, but alpha_e is determined through real parameters diff --git a/TTBAR_8TEV_DIF/readme.md b/TTBAR_8TEV_DIF/readme.md new file mode 100644 index 00000000..d0868424 --- /dev/null +++ b/TTBAR_8TEV_DIF/readme.md @@ -0,0 +1,15 @@ +These runcards were used to compute top pair production processes for NNPDF4.1 with MATRIX at NNLO. +* The top mass was varied up (mt_+ = 175.0 GeV) and down (mt_- = 170.0 GeV) with respect to the central value mt_0 = 172.5 GeV. +* The renormalisation and factorisation scales were dynamical but evaluated at the central value mt_0. That is, + the scales were set to `HT(mt=mt_0, pT)/4`, with `HT = (ET_t + ET_tx)` and `ET_t = sqrt(mt_0 ** 2 + pT_t ** 2)`, + `ET_tx = sqrt(mt_0 ** 2 + pT_tx ** 2)`. This choice is reflected in the `paramter.dat` card, +``` +: dynamic_scale = 11 +``` +where `dynamic_scale = 11` corresponds to the definition written in `specify.scales.cxx` + +To reproduce the NNPDF4.1 predictions, the only thing to do in `model.dat`is to make sure the top mass is set to +``` + 6 172.5 # M_t +``` + diff --git a/TTBAR_8TEV_DIF/specify.scales.cxx b/TTBAR_8TEV_DIF/specify.scales.cxx new file mode 100644 index 00000000..47cf79de --- /dev/null +++ b/TTBAR_8TEV_DIF/specify.scales.cxx @@ -0,0 +1,106 @@ +{ + if (sd == 1){ + // invariant mass m of the ttx system + temp_mu_central = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).m(); + } + else if (sd == 2){ + // transverse mass of the ttx system + double m = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).m(); + double pT = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).pT(); + temp_mu_central = sqrt(pow(m, 2) + pow(pT, 2)); + } + else if (sd == 3){ + // geometric average of transverse masses of and tx - ET + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = sqrt(ET_t * ET_tx); + } + else if (sd == 4){ + // sum of transverse masses of t and tx - HT + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = ET_t + ET_tx; + } + else if (sd == 5){ + // sum of transverse masses of t and tx and of jets - HTp + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = ET_t + ET_tx; + for (int i_l = 5; i_l < PARTICLE("all").size(); i_l++){ + temp_mu_central += PARTICLE("all")[i_l].ET; + } + // Alternatively: + // for (int i_l = 3; i_l < PARTICLE("all").size(); i_l++){ + } + else if (sd == 6){ + // sum of transverse masses of t and tx - HTint + double xET_t = sqrt(msi->M2_t / 4 + PARTICLE("top")[0].pT2); + double xET_tx = sqrt(msi->M2_t / 4 + PARTICLE("atop")[0].pT2); + temp_mu_central = xET_t + xET_tx; + } + else if (sd == 7){ + // transverse mass of t - mT_t + temp_mu_central = PARTICLE("top")[0].ET; + } + else if (sd == 8){ + // transverse mass of t - mT_tx + temp_mu_central = PARTICLE("atop")[0].ET; + } + + else if (sd == 9){ + // transverse mass of the leading top-jet - mT_t1 + temp_mu_central = PARTICLE("tjet")[0].ET; + } + else if (sd == 10){ + // transverse mass of the subleading top-jet - mT_t2 + temp_mu_central = PARTICLE("tjet")[1].ET; + } + else if (sd == 11){ + // sum of transverse energy of t and tx at central mtop- HT / 4 + double pT2_t = PARTICLE("top")[0].pT2; + double pT2_tx = PARTICLE("atop")[0].pT2; + double ET_t = sqrt(pow(172.5, 2) + pT2_t); + double ET_tx = sqrt(pow(172.5, 2) + pT2_tx); + temp_mu_central = 0.25 * (ET_t + ET_tx); + } + else if (sd == 70){ + // sum of transverse energies of t and tx varying mtop - HT / 4 + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = 0.25 * (ET_t + ET_tx); + } + + + /* + // these were only required because of some former bug in the implementation: + else if (sd == 11){ + // invariant mass m of the ttx system + temp_mu_central = (PARTICLE("top")[0].momentum + PARTICLE("atop")[0].momentum).m(); + } + else if (sd == 14){ + // sum of transverse masses of t and tx - HT + double ET_t = PARTICLE("top")[0].ET; + double ET_tx = PARTICLE("atop")[0].ET; + temp_mu_central = ET_t + ET_tx; + } + else if (sd == 17){ + // transverse mass of t - mT_t + temp_mu_central = PARTICLE("top")[0].ET; + } + else if (sd == 18){ + // transverse mass of t - mT_tx + temp_mu_central = PARTICLE("atop")[0].ET; + } + */ + else{ + assert(false && "Scale setting not defined. Reset dynamical scale to different value."); + } +} + + /* +if (sd == 1){ + fourvector Q; + for (int i_p = 3; i_p < 5; i_p++){Q = Q + esi->p_parton[i_a][i_p];} + temp_mu_central = Q.m(); +} + */