-
Notifications
You must be signed in to change notification settings - Fork 786
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3646 from ferencek/NMSSM_XToYH_YToHH_13p6TeV
Generic X->YH->HHH cards for Run 3
- Loading branch information
Showing
5 changed files
with
345 additions
and
0 deletions.
There are no files selected for viewing
6 changes: 6 additions & 0 deletions
6
...s/production/13p6TeV/NMSSM_XToYH_YToHH/NMSSM_XToYH_YToHH_MX_xxx_MY_yyy_customizecards.dat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
set param_card mass 45 xxx | ||
set param_card mass 35 yyy | ||
set param_card mass 25 125 | ||
set param_card DECAY 45 1.00000e-03 | ||
set param_card DECAY 35 1.00000e-03 | ||
set param_card DECAY 25 4.00000e-03 |
4 changes: 4 additions & 0 deletions
4
...ards/production/13p6TeV/NMSSM_XToYH_YToHH/NMSSM_XToYH_YToHH_MX_xxx_MY_yyy_extramodels.dat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# X > YH model | ||
# This is an extended version of the NMSSM model available on CMS generators: https://cms-project-generators.web.cern.ch/cms-project-generators/NMSSMHET_UFO.zip | ||
# This version includes couplings to fermions for all the scalars. Privately produced by Yiming Zhong and acknowledged by the NMSSM LHC HXSWG group contacts. | ||
NMSSMHET_UFO_fermioncouplings.zip |
8 changes: 8 additions & 0 deletions
8
.../cards/production/13p6TeV/NMSSM_XToYH_YToHH/NMSSM_XToYH_YToHH_MX_xxx_MY_yyy_proc_card.dat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
set group_subprocesses Auto | ||
set ignore_six_quark_processes False | ||
set loop_optimized_output True | ||
set gauge unitary | ||
set complex_mass_scheme False | ||
import model NMSSMHET_UFO --modelname | ||
generate g g > h03, (h03 > h01 h02, (h02 > h01 h01) ) | ||
output NMSSM_XToYH_YToHH_MX_xxx_MY_yyy -nojpeg |
269 changes: 269 additions & 0 deletions
269
...O/cards/production/13p6TeV/NMSSM_XToYH_YToHH/NMSSM_XToYH_YToHH_MX_xxx_MY_yyy_run_card.dat
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,269 @@ | ||
#********************************************************************* | ||
# MadGraph5_aMC@NLO * | ||
# * | ||
# run_card.dat MadEvent * | ||
# * | ||
# This file is used to set the parameters of the run. * | ||
# * | ||
# Some notation/conventions: * | ||
# * | ||
# Lines starting with a '# ' are info or comments * | ||
# * | ||
# mind the format: value = variable ! comment * | ||
#********************************************************************* | ||
# | ||
#******************* | ||
# Running parameters | ||
#******************* | ||
# | ||
#********************************************************************* | ||
# Tag name for the run (one word) * | ||
#********************************************************************* | ||
tag_1 = run_tag ! name of the run | ||
#********************************************************************* | ||
# Number of events and rnd seed * | ||
# Warning: Do not generate more than 1M events in a single run * | ||
# If you want to run Pythia, avoid more than 50k events in a run. * | ||
#********************************************************************* | ||
10000 = nevents ! Number of unweighted events requested | ||
0 = iseed ! rnd seed (0=assigned automatically=default)) | ||
#********************************************************************* | ||
# Collider type and energy * | ||
# lpp: 0=No PDF, 1=proton, -1=antiproton, 2=photon from proton, * | ||
# 3=photon from electron * | ||
#********************************************************************* | ||
1 = lpp1 ! beam 1 type | ||
1 = lpp2 ! beam 2 type | ||
6800.0 = ebeam1 ! beam 1 total energy in GeV | ||
6800.0 = ebeam2 ! beam 2 total energy in GeV | ||
#********************************************************************* | ||
# Beam polarization from -100 (left-handed) to 100 (right-handed) * | ||
#********************************************************************* | ||
0.0 = polbeam1 ! beam polarization for beam 1 | ||
0.0 = polbeam2 ! beam polarization for beam 2 | ||
#********************************************************************* | ||
# PDF CHOICE: this automatically fixes also alpha_s and its evol. * | ||
#********************************************************************* | ||
lhapdf = pdlabel ! PDF set | ||
$DEFAULT_PDF_SETS = lhaid ! if pdlabel=lhapdf, this is the lhapdf number | ||
$DEFAULT_PDF_MEMBERS = reweight_PDF ! if pdlabel=lhapdf, this is the lhapdf number | ||
#********************************************************************* | ||
# Renormalization and factorization scales * | ||
#********************************************************************* | ||
False = fixed_ren_scale ! if .true. use fixed ren scale | ||
False = fixed_fac_scale ! if .true. use fixed fac scale | ||
91.188 = scale ! fixed ren scale | ||
91.188 = dsqrt_q2fact1 ! fixed fact scale for pdf1 | ||
91.188 = dsqrt_q2fact2 ! fixed fact scale for pdf2 | ||
-1 = dynamical_scale_choice ! Choose one of the preselected dynamical choices | ||
1.0 = scalefact ! scale factor for event-by-event scales | ||
#********************************************************************* | ||
# Type and output format | ||
#********************************************************************* | ||
False = gridpack !True = setting up the grid pack | ||
-1.0 = time_of_flight ! threshold (in mm) below which the invariant livetime is not written (-1 means not written) | ||
3.0 = lhe_version ! Change the way clustering information pass to shower. | ||
True = clusinfo ! include clustering tag in output | ||
average = event_norm ! average/sum. Normalization of the weight in the LHEF | ||
|
||
#********************************************************************* | ||
# Matching parameter (MLM only) | ||
#********************************************************************* | ||
0 = ickkw ! 0 no matching, 1 MLM | ||
1.0 = alpsfact ! scale factor for QCD emission vx | ||
False = chcluster ! cluster only according to channel diag | ||
4 = asrwgtflavor ! highest quark flavor for a_s reweight | ||
False = auto_ptj_mjj ! Automatic setting of ptj and mjj if xqcut >0 | ||
! (turn off for VBF and single top processes) | ||
0.0 = xqcut ! minimum kt jet measure between partons | ||
#********************************************************************* | ||
# | ||
#********************************************************************* | ||
# handling of the helicities: | ||
# 0: sum over all helicities | ||
# 1: importance sampling over helicities | ||
#********************************************************************* | ||
0 = nhel ! using helicities importance sampling or not. | ||
#********************************************************************* | ||
# Generation bias, check the wiki page below for more information: * | ||
# 'cp3.irmp.ucl.ac.be/projects/madgraph/wiki/LOEventGenerationBias' * | ||
#********************************************************************* | ||
None = bias_module ! Bias type of bias, [None, ptj_bias, -custom_folder-] | ||
{} = bias_parameters ! Specifies the parameters of the module. | ||
# | ||
#******************************* | ||
# Parton level cuts definition * | ||
#******************************* | ||
# | ||
# | ||
#********************************************************************* | ||
# BW cutoff (M+/-bwcutoff*Gamma) ! Define on/off-shell for "$" and decay | ||
#********************************************************************* | ||
15.0 = bwcutoff ! (M+/-bwcutoff*Gamma) | ||
#********************************************************************* | ||
# Apply pt/E/eta/dr/mij/kt_durham cuts on decay products or not | ||
# (note that etmiss/ptll/ptheavy/ht/sorted cuts always apply) | ||
#********************************************************************* | ||
False = cut_decays ! Cut decay products | ||
#********************************************************************* | ||
# Standard Cuts * | ||
#********************************************************************* | ||
# Minimum and maximum pt's (for max, -1 means no cut) * | ||
#********************************************************************* | ||
20.0 = ptj ! minimum pt for the jets | ||
0.0 = ptb ! minimum pt for the b | ||
10.0 = pta ! minimum pt for the photons | ||
10.0 = ptl ! minimum pt for the charged leptons | ||
0.0 = misset ! minimum missing Et (sum of neutrino's momenta) | ||
-1.0 = ptjmax ! maximum pt for the jets | ||
-1.0 = ptbmax ! maximum pt for the b | ||
-1.0 = ptamax ! maximum pt for the photons | ||
-1.0 = ptlmax ! maximum pt for the charged leptons | ||
-1.0 = missetmax ! maximum missing Et (sum of neutrino's momenta) | ||
#********************************************************************* | ||
# Minimum and maximum E's (in the center of mass frame) * | ||
#********************************************************************* | ||
0.0 = ej ! minimum E for the jets | ||
0.0 = eb ! minimum E for the b | ||
0.0 = ea ! minimum E for the photons | ||
0.0 = el ! minimum E for the charged leptons | ||
-1.0 = ejmax ! maximum E for the jets | ||
-1.0 = ebmax ! maximum E for the b | ||
-1.0 = eamax ! maximum E for the photons | ||
-1.0 = elmax ! maximum E for the charged leptons | ||
#********************************************************************* | ||
# Maximum and minimum absolute rapidity (for max, -1 means no cut) * | ||
#********************************************************************* | ||
5.0 = etaj ! max rap for the jets | ||
-1.0 = etab ! max rap for the b | ||
2.5 = etaa ! max rap for the photons | ||
2.5 = etal ! max rap for the charged leptons | ||
0.0 = etajmin ! min rap for the jets | ||
0.0 = etabmin ! min rap for the b | ||
0.0 = etaamin ! min rap for the photons | ||
0.0 = etalmin ! main rap for the charged leptons | ||
#********************************************************************* | ||
# Minimum and maximum DeltaR distance * | ||
#********************************************************************* | ||
0.4 = drjj ! min distance between jets | ||
0.0 = drbb ! min distance between b's | ||
0.4 = drll ! min distance between leptons | ||
0.4 = draa ! min distance between gammas | ||
0.0 = drbj ! min distance between b and jet | ||
0.4 = draj ! min distance between gamma and jet | ||
0.4 = drjl ! min distance between jet and lepton | ||
0.0 = drab ! min distance between gamma and b | ||
0.0 = drbl ! min distance between b and lepton | ||
0.4 = dral ! min distance between gamma and lepton | ||
-1.0 = drjjmax ! max distance between jets | ||
-1.0 = drbbmax ! max distance between b's | ||
-1.0 = drllmax ! max distance between leptons | ||
-1.0 = draamax ! max distance between gammas | ||
-1.0 = drbjmax ! max distance between b and jet | ||
-1.0 = drajmax ! max distance between gamma and jet | ||
-1.0 = drjlmax ! max distance between jet and lepton | ||
-1.0 = drabmax ! max distance between gamma and b | ||
-1.0 = drblmax ! max distance between b and lepton | ||
-1.0 = dralmax ! maxdistance between gamma and lepton | ||
#********************************************************************* | ||
# Minimum and maximum invariant mass for pairs * | ||
# WARNING: for four lepton final state mmll cut require to have * | ||
# different lepton masses for each flavor! * | ||
#********************************************************************* | ||
0.0 = mmjj ! min invariant mass of a jet pair | ||
0.0 = mmbb ! min invariant mass of a b pair | ||
0.0 = mmaa ! min invariant mass of gamma gamma pair | ||
0.0 = mmll ! min invariant mass of l+l- (same flavour) lepton pair | ||
-1.0 = mmjjmax ! max invariant mass of a jet pair | ||
-1.0 = mmbbmax ! max invariant mass of a b pair | ||
-1.0 = mmaamax ! max invariant mass of gamma gamma pair | ||
-1.0 = mmllmax ! max invariant mass of l+l- (same flavour) lepton pair | ||
#********************************************************************* | ||
# Minimum and maximum invariant mass for all letpons * | ||
#********************************************************************* | ||
0.0 = mmnl ! min invariant mass for all letpons (l+- and vl) | ||
-1.0 = mmnlmax ! max invariant mass for all letpons (l+- and vl) | ||
#********************************************************************* | ||
# Minimum and maximum pt for 4-momenta sum of leptons * | ||
#********************************************************************* | ||
0.0 = ptllmin ! Minimum pt for 4-momenta sum of leptons(l and vl) | ||
-1.0 = ptllmax ! Maximum pt for 4-momenta sum of leptons(l and vl) | ||
#********************************************************************* | ||
# Inclusive cuts * | ||
#********************************************************************* | ||
0.0 = ptheavy ! minimum pt for at least one heavy final state | ||
0.0 = xptj ! minimum pt for at least one jet | ||
0.0 = xptb ! minimum pt for at least one b | ||
0.0 = xpta ! minimum pt for at least one photon | ||
0.0 = xptl ! minimum pt for at least one charged lepton | ||
#********************************************************************* | ||
# Control the pt's of the jets sorted by pt * | ||
#********************************************************************* | ||
0.0 = ptj1min ! minimum pt for the leading jet in pt | ||
0.0 = ptj2min ! minimum pt for the second jet in pt | ||
0.0 = ptj3min ! minimum pt for the third jet in pt | ||
0.0 = ptj4min ! minimum pt for the fourth jet in pt | ||
-1.0 = ptj1max ! maximum pt for the leading jet in pt | ||
-1.0 = ptj2max ! maximum pt for the second jet in pt | ||
-1.0 = ptj3max ! maximum pt for the third jet in pt | ||
-1.0 = ptj4max ! maximum pt for the fourth jet in pt | ||
0 = cutuse ! reject event if fails any (0) / all (1) jet pt cuts | ||
#********************************************************************* | ||
# Control the pt's of leptons sorted by pt * | ||
#********************************************************************* | ||
0.0 = ptl1min ! minimum pt for the leading lepton in pt | ||
0.0 = ptl2min ! minimum pt for the second lepton in pt | ||
0.0 = ptl3min ! minimum pt for the third lepton in pt | ||
0.0 = ptl4min ! minimum pt for the fourth lepton in pt | ||
-1.0 = ptl1max ! maximum pt for the leading lepton in pt | ||
-1.0 = ptl2max ! maximum pt for the second lepton in pt | ||
-1.0 = ptl3max ! maximum pt for the third lepton in pt | ||
-1.0 = ptl4max ! maximum pt for the fourth lepton in pt | ||
#********************************************************************* | ||
# Control the Ht(k)=Sum of k leading jets * | ||
#********************************************************************* | ||
0.0 = htjmin ! minimum jet HT=Sum(jet pt) | ||
-1.0 = htjmax ! maximum jet HT=Sum(jet pt) | ||
0.0 = ihtmin !inclusive Ht for all partons (including b) | ||
-1.0 = ihtmax !inclusive Ht for all partons (including b) | ||
0.0 = ht2min ! minimum Ht for the two leading jets | ||
0.0 = ht3min ! minimum Ht for the three leading jets | ||
0.0 = ht4min ! minimum Ht for the four leading jets | ||
-1.0 = ht2max ! maximum Ht for the two leading jets | ||
-1.0 = ht3max ! maximum Ht for the three leading jets | ||
-1.0 = ht4max ! maximum Ht for the four leading jets | ||
#*********************************************************************** | ||
# Photon-isolation cuts, according to hep-ph/9801442 * | ||
# When ptgmin=0, all the other parameters are ignored * | ||
# When ptgmin>0, pta and draj are not going to be used * | ||
#*********************************************************************** | ||
0.0 = ptgmin ! Min photon transverse momentum | ||
0.4 = R0gamma ! Radius of isolation code | ||
1.0 = xn ! n parameter of eq.(3.4) in hep-ph/9801442 | ||
1.0 = epsgamma ! epsilon_gamma parameter of eq.(3.4) in hep-ph/9801442 | ||
True = isoEM ! isolate photons from EM energy (photons and leptons) | ||
#********************************************************************* | ||
# WBF cuts * | ||
#********************************************************************* | ||
0.0 = xetamin ! minimum rapidity for two jets in the WBF case | ||
0.0 = deltaeta ! minimum rapidity for two jets in the WBF case | ||
#*********************************************************************** | ||
# Turn on either the ktdurham or ptlund cut to activate * | ||
# CKKW(L) merging with Pythia8 [arXiv:1410.3012, arXiv:1109.4829] * | ||
#*********************************************************************** | ||
-1.0 = ktdurham | ||
0.4 = dparameter | ||
-1.0 = ptlund | ||
1, 2, 3, 4, 5, 6, 21, 1000001, 1000002, 1000003, 1000004, 1000005, 1000006, 1000021, 2000001, 2000002, 2000003, 2000004, 2000005, 2000006 = pdgs_for_merging_cut ! PDGs for two cuts above | ||
#********************************************************************* | ||
# maximal pdg code for quark to be considered as a light jet * | ||
# (otherwise b cuts are applied) * | ||
#********************************************************************* | ||
4 = maxjetflavor ! Maximum jet pdg code | ||
#********************************************************************* | ||
# | ||
#********************************************************************* | ||
# Store info for systematics studies * | ||
# WARNING: Do not use for interference type of computation * | ||
#********************************************************************* | ||
True = use_syst ! Enable systematics studies |
58 changes: 58 additions & 0 deletions
58
...adGraph5_aMCatNLO/cards/production/13p6TeV/NMSSM_XToYH_YToHH/getAllMassPoints_YH_YToHH.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
from __future__ import print_function | ||
|
||
import os, glob | ||
import numpy as np | ||
|
||
# Script for replacing X->YH MG5 template cards with actual mass points | ||
|
||
process = 'NMSSM_XToYH_YToHH_MX_' | ||
card_dir = './' | ||
|
||
cards = glob.glob('{}{}*_*.dat'.format(card_dir,process)) | ||
|
||
for card in cards: | ||
print(card) | ||
|
||
# mass grid agreed by B2G dib / MC&I conveners: | ||
# https://gitlab.cern.ch/cms-b2g/b-2-g-m-csample-requests/-/issues/6 | ||
X_mass = [240, 280, 300, 320, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2400, 2500, 2600, 2800, 3000, 3500, 4000] | ||
Y_mass = [50, 60, 70, 80, 90, 95, 100, 125, 150, 170, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 800, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2300, 2400, 2600, 2800, 3000, 3300, 3500, 3800] | ||
|
||
|
||
def is_mass_ok(m_x,m_y): | ||
return m_y < (m_x-125.) | ||
|
||
Ngridpacks=0 | ||
for X_m in X_mass: | ||
print("X: ", X_m) | ||
|
||
for Y_m in Y_mass: | ||
if not is_mass_ok(X_m,Y_m): | ||
continue | ||
print("Y:", Y_m) | ||
Ngridpacks+=1 | ||
|
||
outdir = card_dir + process + str(X_m) + "_MY_" + str(Y_m) | ||
|
||
if not os.path.isdir(outdir): | ||
os.makedirs(outdir) | ||
|
||
for card in cards: | ||
src_file = card | ||
tgt_file = outdir + "/" + src_file.replace('xxx',str(X_m))\ | ||
.replace('yyy',str(Y_m)) | ||
|
||
print('{} -> {}'.format(src_file,tgt_file)) | ||
|
||
src_txt = open(src_file, 'r').read() | ||
|
||
if ('proc_card' in card) or ('customizecards' in card): | ||
tgt_txt = src_txt.replace('xxx', str(X_m)).replace('yyy', str(Y_m)) | ||
else: | ||
tgt_txt = src_txt | ||
|
||
with open(tgt_file, 'w') as f: | ||
f.write(tgt_txt) | ||
|
||
|
||
print(Ngridpacks) |