# Generated events depend on pT cut

Asked by Oscar Ochoa Valeriano on 2021-04-27

I'm looking into the process e+ e- > l+ l- j j / h , as a background to single-Higgs production via ZBF. At the cuts.f level, I require the product of the leptons' rapidities to be negative in order to ensure that they are in opposite regions of the detector. To make sure that as much PS is covered as possible, at the run_card level I set the minimum pT of the final-state objects (leptons and jets) to be 0.5 GeV, and their \eta < 5.0. A further cut on the invariant mass of the dilepton system is required for several centre-of-mass energies, namely \sqrt{s} = {1, 3} TeV => mmll = {300, 1000} GeV respectively. The hard_survey flag is set to 1.

With this minimal set of cuts, I find that MadGraph either gets stuck refining events, or simply fails to reach target by a huge margin. After playing a while, I noticed that hardening the pT cut of the jets solves the issue (say, for 1 TeV I had to set ptj = 20 GeV, and to 60 GeV for 3 TeV), but on doing so I'm skewing the samples and hence introducing unwanted bias to the analysis. Please find below the banner of the latter case. NOTE: This is not the case for other backgrounds, such as lla, where the looser cuts (pta = 0.5 GeV) give no trouble.

Any ideas of why such a loose cut might be troublesome for MadGraph, and any tips on how to overcome this situation without skewing the samples?

Best wishes,

Oscar.

----------

<LesHouchesEvents version="3.0">
<!--
#*********************************************************************
# *
# *
# Going Beyond *
# *
# http://amcatnlo.cern.ch *
# *
# The MadGraph5_aMC@NLO team *
# *
#....................................................................*
# *
# This file contains all the information necessary to reproduce *
# the events generated: *
# *
# 1. software version *
# 2. proc_card : code generation info including model *
# 3. param_card : model primary parameters in the LH format *
# 4. run_card : running parameters (collider and cuts) *
# 5. pythia_card : present only if pythia has been run *
# 6. pgs_card : present only if pgs has been run *
# 7. delphes_cards : present only if delphes has been run *
# *
# *
#*********************************************************************
-->
<MGVersion>
#2.7.3
</MGVersion>
<MG5ProcCard>
<![CDATA[
#************************************************************
#* *
#* * * *
#* * * * * *
#* * * * * 5 * * * * *
#* * * * * *
#* * * *
#* *
#* *
#* VERSION 2.7.3 2020-06-21 *
#* *
#* The MadGraph5_aMC@NLO Development Team - Find us at *
#* *
#************************************************************
#* *
#* Command File for MadGraph5_aMC@NLO *
#* *
#* run as ./bin/mg5_aMC filename *
#* *
#************************************************************
set default_unset_couplings 99
set group_subprocesses Auto
set ignore_six_quark_processes False
set loop_optimized_output True
set low_mem_multicore_nlo_generation False
set loop_color_flows False
set gauge unitary
set complex_mass_scheme False
set max_npoint_for_channel 0
import model HEFT_UFO_Real-SM
define p = g u c d s u~ c~ d~ s~
define j = g u c d s u~ c~ d~ s~
define l+ = e+ mu+
define l- = e- mu-
define vl = ve vm vt
define vl~ = ve~ vm~ vt~
define l = e+ e- ta+ ta-
define myj = j b b~
generate e+ e- > l l myj myj / h ALL=99
set automatic_html_opening False
output eejj1000_10
]]>
</MG5ProcCard>
<MGProcCard>
#*********************************************************************
# *
# proc_card.dat *
#*********************************************************************
# *
# This Files is generated by MADGRAPH 5 *
# *
# WARNING: This Files is generated for MADEVENT (compatibility issue)*
# This files is NOT a valid MG4 proc_card.dat *
# Running this in MG4 will NEVER reproduce the result of MG5*
# *
#*********************************************************************
#*********************************************************************
# Process(es) requested : mg2 input *
#*********************************************************************
# Begin PROCESS # This is TAG. Do not modify this line
e+ e- > l l myj myj / h #Process
# Be carefull the coupling are here in MG5 convention
ALL=99

end_coup # End the couplings input

done # this tells MG there are no more procs
# End PROCESS # This is TAG. Do not modify this line
#*********************************************************************
# Model information *
#*********************************************************************
# Begin MODEL # This is TAG. Do not modify this line
HEFT_UFO_Real-SM
# End MODEL # This is TAG. Do not modify this line
#*********************************************************************
# Start multiparticle definitions *
#*********************************************************************
# Begin MULTIPARTICLES # This is TAG. Do not modify this line

# End MULTIPARTICLES # This is TAG. Do not modify this line
</MGProcCard>
<MGRunCard>
<![CDATA[
#*********************************************************************
# *
# 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 *
# *
# To display more options, you can type the command: *
# update full_run_card *
#*********************************************************************
#
#*********************************************************************
# Tag name for the run (one word) *
#*********************************************************************
eejj1000_10 = run_tag ! name of the run
#*********************************************************************
# Number of events and rnd seed *
# Warning: Do not generate more than 1M events in a single run *
#*********************************************************************
150000 = nevents ! Number of unweighted events requested
10 = 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 *
#*********************************************************************
0 = lpp1 ! beam 1 type
0 = lpp2 ! beam 2 type
500.0 = ebeam1 ! beam 1 total energy in GeV
500.0 = ebeam2 ! beam 2 total energy in GeV
#*********************************************************************
# Beam polarization from -100 (left-handed) to 100 (right-handed) *
#*********************************************************************
20.0 = polbeam1 ! beam polarization for beam 1
-80.0 = polbeam2 ! beam polarization for beam 2

#*********************************************************************
# PDF CHOICE: this automatically fixes also alpha_s and its evol. *
#*********************************************************************
nn23lo1 = pdlabel ! PDF set
230000 = lhaid ! if pdlabel=lhapdf, this is the lhapdf number
# To see heavy ion options: type "update ion_pdf"
#*********************************************************************
# 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)
average = event_norm ! average/sum. Normalization of the weight in the LHEF
# To see MLM/CKKW merging options: type "update MLM" or "update CKKW"

#*********************************************************************
#
#*********************************************************************
# 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: *
#*********************************************************************
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) #********************************************************************* # Standard Cuts * #********************************************************************* # Minimum and maximum pt's (for max, -1 means no cut) * #********************************************************************* 20.0 = ptj ! minimum pt for the jets 20.0 = ptb ! minimum pt for the b 0.5 = ptl ! minimum pt for the charged leptons -1.0 = ptjmax ! maximum pt for the jets -1.0 = ptbmax ! maximum pt for the b -1.0 = ptlmax ! maximum pt for the charged leptons {} = pt_min_pdg ! pt cut for other particles (use pdg code). Applied on particle and anti-particle {} = pt_max_pdg ! pt cut for other particles (syntax e.g. {6: 100, 25: 50}) #********************************************************************* # 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 {} = e_min_pdg ! E cut for other particles (use pdg code). Applied on particle and anti-particle {} = e_max_pdg ! E cut for other particles (syntax e.g. {6: 100, 25: 50}) #********************************************************************* # Maximum and minimum absolute rapidity (for max, -1 means no cut) * #********************************************************************* 5.0 = etaj ! max rap for the jets 5.0 = etab ! max rap for the b 5.0 = etal ! max rap for the charged leptons 0.0 = etabmin ! min rap for the b 0.0 = etalmin ! main rap for the charged leptons {} = eta_min_pdg ! rap cut for other particles (use pdg code). Applied on particle and anti-particle {} = eta_max_pdg ! rap cut for other particles (syntax e.g. {6: 2.5, 23: 5}) #********************************************************************* # Minimum and maximum DeltaR distance * #********************************************************************* 0.1 = drjj ! min distance between jets 0.1 = drbb ! min distance between b's 0.1 = drll ! min distance between leptons 0.0 = drbj ! min distance between b and jet 0.1 = drjl ! min distance between jet and lepton 0.1 = drbl ! min distance between b 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 = drbjmax ! max distance between b and jet -1.0 = drjlmax ! max distance between jet and lepton -1.0 = drblmax ! max distance between b and lepton #********************************************************************* # Minimum and maximum invariant mass for pairs * #********************************************************************* 0.0 = mmjj ! min invariant mass of a jet pair 0.0 = mmbb ! min invariant mass of a b pair 300.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 = mmllmax ! max invariant mass of l+l- (same flavour) lepton pair {} = mxx_min_pdg ! min invariant mass of a pair of particles X/X~ (e.g. {6:250}) {'default': False} = mxx_only_part_antipart ! if True the invariant mass is applied only ! to pairs of particle/antiparticle and not to pairs of the same pdg codes. #********************************************************************* # 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 / neutrino * # for pair of lepton includes only same flavor, opposite charge #********************************************************************* 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 = xptj ! minimum pt for at least one jet 0.0 = xptb ! minimum pt for at least one b 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 -1.0 = ptj1max ! maximum pt for the leading jet in pt -1.0 = ptj2max ! maximum pt for the second 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 -1.0 = ptl1max ! maximum pt for the leading lepton in pt -1.0 = ptl2max ! maximum pt for the second 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) #********************************************************************* # 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 #********************************************************************* # 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 * #********************************************************************* False = use_syst ! Enable systematics studies # systematics = systematics_program ! none, systematics [python], SysCalc [depreceted, C++] ['--mur=0.5,1,2', '--muf=0.5,1,2', '--pdf=errorset'] = systematics_arguments ! see: https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/Systematics#Systematicspythonmodule # Syscalc is deprecated but to see the associate options type'update syscalc'#********************************************************************* # Additional hidden parameters #********************************************************************* 0.5 = pta # hidden_parameter 0.1 = dral # hidden_parameter ['--mur=0.5,1,2', '--muf=0.5,1,2', '--pdf=errorset'] = systematics_arguments # Choose the argment to pass to the systematics command. like --mur=0.25,1,4. Look at the help of the systematics function for more details. 1 = hard_survey # force to have better estimate of the integral at survey for difficult mode like VBF True = cut_decays # hidden_parameter 0.0 = misset # hidden_parameter 5.0 = etaa # hidden_parameter 0.1 = draa # hidden_parameter ]]> </MGRunCard> <slha> ###################################################################### ## PARAM_CARD AUTOMATICALY GENERATED BY MG5 #### ###################################################################### ################################### ## INFORMATION FOR CKMBLOCK ################################### BLOCK CKMBLOCK # 1 2.277360e-01 # cabi ################################### ## INFORMATION FOR MASS ################################### BLOCK MASS # 1 5.040000e-03 # md 2 2.550000e-03 # mu 3 1.010000e-01 # ms 4 1.270000e+00 # mc 5 4.700000e+00 # mb 6 1.720000e+02 # mt 11 5.110000e-04 # me 13 1.056600e-01 # mmu 15 1.777000e+00 # mta 23 9.118760e+01 # mz 25 1.250000e+02 # mh 12 0.000000e+00 # ve : 0.0 14 0.000000e+00 # vm : 0.0 16 0.000000e+00 # vt : 0.0 21 0.000000e+00 # g : 0.0 22 0.000000e+00 # a : 0.0 24 7.982436e+01 # w+ : cmath.sqrt(mz__exp__2/2. + cmath.sqrt(mz__exp__4/4. - (aew*cmath.pi*mz__exp__2)/(gf*sqrt__2))) ################################### ## INFORMATION FOR SMINPUTS ################################### BLOCK SMINPUTS # 1 1.279000e+02 # aewm1 2 1.166370e-05 # gf 3 1.184000e-01 # as ################################### ## INFORMATION FOR YUKAWA ################################### BLOCK YUKAWA # 1 5.040000e-03 # ymdo 2 2.550000e-03 # ymup 3 1.010000e-01 # yms 4 1.270000e+00 # ymc 5 4.700000e+00 # ymb 6 1.720000e+02 # ymt 11 5.110000e-04 # yme 13 1.056600e-01 # ymm 15 1.777000e+00 # ymtau ################################### ## INFORMATION FOR DECAY ################################### DECAY 6 1.508336e+00 # wt DECAY 23 2.495200e+00 # wz DECAY 24 2.085000e+00 # ww DECAY 25 4.088000e-03 # wh DECAY 1 0.000000e+00 # d : 0.0 DECAY 2 0.000000e+00 # u : 0.0 DECAY 3 0.000000e+00 # s : 0.0 DECAY 4 0.000000e+00 # c : 0.0 DECAY 5 0.000000e+00 # b : 0.0 DECAY 11 0.000000e+00 # e- : 0.0 DECAY 12 0.000000e+00 # ve : 0.0 DECAY 13 0.000000e+00 # mu- : 0.0 DECAY 14 0.000000e+00 # vm : 0.0 DECAY 15 0.000000e+00 # ta- : 0.0 DECAY 16 0.000000e+00 # vt : 0.0 DECAY 21 0.000000e+00 # g : 0.0 DECAY 22 0.000000e+00 # a : 0.0 </slha> <MGPythiaCard> <![CDATA[ ! ! It is possible to run this card manually with: ! LD_LIBRARY_PATH=/mt/home/ovaleriano/Documents/Software/MadGraph/MG5_aMC_v2_6_3_2/HEPTools/lib:$LD_LIBRARY_PATH /mt/home/ovaleriano/Documents/Software/MadGraph/MG5_aMC_v2_6_3_2/HEPTools/MG5aMC_PY8_interface/MG5aMC_PY8_interface eejj1000_10_pythia8.cmd
!
!
! Pythia8 cmd card automatically generated by MadGraph5_aMC@NLO
! For more information on the use of the MG5aMC / Pythia8 interface, visit
!
! ==================
! General parameters
! ==================
!
Main:numberOfEvents = -1
!
! -------------------------------------------------------------------
! Specify the HEPMC output of the Pythia8 shower. You can set it to:
! auto : MG5aMC will automatically place it the run_<i> directory
! /dev/null : to turn off the HEPMC output.
! <path> : to select where the HEPMC file must written. It will
! therefore not be placed in the run_<i> directory. The
! specified path, if not absolute, will be relative to
! the Event/run_<i> directory of the process output.
! fifo : to have MG5aMC setup the piping of the PY8 output to
! analysis tools such as MadAnalysis5.
! fifo@<fifo_path> :
! Same as 'fifo', but selecting a custom path to create the
! fifo pipe. (useful to select a mounted drive that supports
! fifo). Note that the fifo file extension *must* be '.hepmc.fifo'.
! -------------------------------------------------------------------
!
HEPMCoutput:file = eejj1000_10_pythia8_events.hepmc
!
! --------------------------------------------------------------------
! Parameters relevant only when performing MLM merging, which can be
! turned on by setting ickkw to '1' in the run_card and chosing a
! positive value for the parameter xqcut.
! For details, see section 'Jet Matching' on the left-hand menu of
! http://home.thep.lu.se/~torbjorn/pythia81html/Welcome.html
! --------------------------------------------------------------------
! If equal to -1.0, MadGraph5_aMC@NLO will set it automatically based
! on the parameter 'xqcut' of the run_card.dat
! The following parameter was forced to be commented out by MG5aMC.
! JetMatching:qCut = -1.0
! Use default kt-MLM to match parton level jets to those produced by the
! shower. But the other Shower-kt scheme is available too with this option.
! The following parameter was forced to be commented out by MG5aMC.
! JetMatching:doShowerKt = off
! A value of -1 means that it is automatically guessed by MadGraph.
! It is however always safer to explicitly set it.
! The following parameter was forced to be commented out by MG5aMC.
! JetMatching:nJetMax = -1
!
! --------------------------------------------------------------------
! Parameters relevant only when performing CKKW-L merging, which can
! be turned on by setting the parameter 'ptlund' *or* 'ktdurham' to
! a positive value.
! For details, see section 'CKKW-L Merging' on the left-hand menu of
! http://home.thep.lu.se/~torbjorn/pythia81html/Welcome.html
! --------------------------------------------------------------------
! Central merging scale values you want to be used.
! If equal to -1.0, then MadGraph5_aMC@NLO will set this automatically
! based on the parameter 'ktdurham' of the run_card.dat
! The following parameter was forced to be commented out by MG5aMC.
! Merging:TMS = -1.0
! This must be set manually, according to Pythia8 directives.
! An example of possible value is 'pp>LEPTONS,NEUTRINOS'
! Alternatively, from Pythia v8.223 onwards, the value 'guess' can be
! used to instruct Pythia to guess the hard process. The guess would mean
! that all particles apart from light partons will be considered as a part
! of the hard process. This guess is prone to errors if the desired hard
! process is complicated (i.e. contains light partons). The user should
! then be wary of suspicious error messages in the Pythia log file.
! The following parameter was forced to be commented out by MG5aMC.
! Merging:Process = <set_by_user>
! A value of -1 means that it is automatically guessed by MadGraph.
! It is however always safer to explicitly set it.
! The following parameter was forced to be commented out by MG5aMC.
! Merging:nJetMax = -1
!
! For all merging schemes, decide whehter you want the merging scale
! variation computed for only the central weights or all other
! PDF and scale variation weights as well
SysCalc:fullCutVariation = off
!
! ==========================
! User customized parameters
! ==========================
!
! By default, Pythia8 generates multi-parton interaction events. This is
! often irrelevant for phenomenology and very slow. You can turn this
! feature off by uncommenting the line below if so desired.
!partonlevel:mpi = off
!
! Additional technical parameters set by MG5_aMC.
!
! Tell Pythia8 that an LHEF input is used.
Beams:frameType=4
! Specify one must read inputs from the MadGraph banner.
JetMatching:etaJetMax=1.0000000000e+03
! 1.0 corresponds to HEPMC weight given in [mb]. We choose here the [pb] normalization.
HEPMCoutput:scaling=1.0000000000e+09
! Be more forgiving with momentum mismatches.
Check:epTolErr=1.0000000000e-02
!
! ====================
! Subrun definitions
! ====================
!
LHEFInputs:nSubruns=1
Main:subrun=0
!
! Definition of subrun 0
!
Beams:LHEF=unweighted_events.lhe.gz
]]>
</MGPythiaCard>
<MGGenerationInfo>
# Number of Events : 150000
# Integrated weight (pb) : 0.247347721564
</MGGenerationInfo>
<init>
-11 11 5.000000e+02 5.000000e+02 0 0 247000 247000 -4 1
2.473477e-01 1.844448e-04 2.473477e-01 1
</init>
</LesHouchesEvents>

## Question information

Language:
English Edit question
Status:
For:
Assignee:
No assignee Edit question
Last query:
 Olivier Mattelaer (olivier-mattelaer) said on 2021-04-27: #1

Hi,

1) Are cross-section physical with such low cut? It is clear that at some point if you try to probe the singular regime of the amplitude the efficiency of the computation will drop.

2) Did you read 2102.00773? That paper will give you a lot of advise on parameter that you can use to improve the situation.
(the main advise being use a more recent version of the code and if not enough check at the new parameter described in the appendix of the paper)

Cheers,

Olivier