event generation in very restricted phase space
Dear Experts,
I am trying to generate the process e- e+ > e- e+ a a a in the case where all of the final photons are invisible to the detector I am considering. I modified cuts.f appropriately to ensure this condition; then, if I want to generate them in a small kinematic window (explicitly, small in missing mass and missing eta, all defined in cuts.f), the simulation produces only O(100) events of the 10k asked, or sometimes it ends in error with zero cross section.
However, I know that this region is not forbidden by kinematics; if I try to generate events in a larger allowed phase space region, I still get very few events in my (statistically very unfavorable) interesting region. Of course, the price to pay is that even if I generate 10^6 events, the interesting ones drop to about O(10).
Is there a way to actually obtain 10k events already generated in the interesting region, without having to simulate a humongous amount of events in a larger region?
I am using version 3.3.1; I attach here an example of a failed generation: a run card I am using, and the new lines I added in cuts.f (the rest is of course the same). (Note that eb and ej have assigned values in the run card because they are used in cuts.f even if in my process there are no jets or b quarks)
Thanks in advance for your help,
Alessio
#******
# MadGraph5_aMC@NLO *
# *
# run_card.dat MadEvent *
# *
# This file is used to set the parameters of the run. *
# *
# Some notation/
# *
# 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) *
#******
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 *
#******
10000 = nevents ! Number of unweighted events requested
0 = iseed ! rnd seed (0=assigned automatically=
#******
# Collider type and energy *
# lpp: 0=No PDF, 1=proton, -1=antiproton, 2=elastic photon of proton,*
# +/-3=PDF of electron/positron beam *
# +/-4=PDF of muon/antimuon beam *
#******
0 = lpp1 ! beam 1 type
0 = lpp2 ! beam 2 type
5.29 = ebeam1 ! beam 1 total energy in GeV
5.29 = 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 alpha_s and its evol. *
# pdlabel: lhapdf=LHAPDF (installation needed) [1412.7420] *
# iww=Improved Weizsaecker-
# eva=Effective W/Z/A Approx. [21yy.zzzzz] *
# none=No PDF, same as lhapdf with lppx=0 *
#******
none = pdlabel1 ! PDF type for beam #1
none = pdlabel2 ! PDF type for beam #2230000 = 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_
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"
#******
#
#******
# Phase-Space Optimization strategy (basic options)
#******
0 = nhel ! using helicities importance sampling or not.
2 = sde_strategy ! default integration strategy (hep-ph/2021.xxxxx)
! 2 is new strategy (using only the denominator)
# To see advanced option for Phase-Space optimization: type "update psoptim"
#******
# Generation bias, check the wiki page below for more information: *
# 'cp3.irmp.
#******
None = bias_module ! Bias type of bias, [None, ptj_bias, -custom_folder-]
{} = bias_parameters ! Specifies the parameters of the module.
#
#******
# Parton level cuts definition *
#******
0.0 = dsqrt_shat ! minimal shat for full process
#
#
#******
# BW cutoff (M+/-bwcutoff*
#******
15.0 = bwcutoff ! (M+/-bwcutoff*
#******
# Standard Cuts *
#******
# Minimum and maximum pt's (for max, -1 means no cut) *
#******
0.0 = pta ! minimum pt for the photons
0.0 = ptl ! minimum pt for the charged leptons
-1.0 = ptamax ! maximum pt for the photons
-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) *
#******
-1.5 = ej ! minimum E for the jets
0.2 = eb ! minimum E for the b
0.001 = ea ! minimum E for the photons
0.25 = el ! minimum E for the charged leptons
1.5 = 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 = etaa ! max rap for the photons
1.63 = etal ! max rap for the charged leptons
0.0 = etajmin ! min rap for the jets
-5.0 = etaamin ! min rap for the photons
-1.63 = 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.001 = drll ! min distance between leptons
0.001 = draa ! min distance between gammas
0.001 = dral ! min distance between gamma and lepton
-1.0 = drllmax ! max distance between leptons
-1.0 = draamax ! max distance between gammas
-1.0 = dralmax ! maxdistance between gamma and lepton
#******
# Minimum and maximum invariant mass for pairs *
#******
0.001 = mmaa ! min invariant mass of gamma gamma pair
0.01 = mmll ! min invariant mass of l+l- (same flavour) lepton pair
-1.0 = mmaamax ! max invariant mass of gamma gamma 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_
#*****
# Minimum and maximum invariant mass for all letpons *
#*****
0.01 = 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 = xpta ! minimum pt for at least one photon
0.0 = xptl ! minimum pt for at least one charged lepton
#*****
# 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
#******
# 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_
#####CUTS.F NEW LINES #######
gp1=
gp2=
gp3=
if (gp1.or.gp2.or.gp3) then
return
endif
do j=0,3
enddo
tmp=
miss_
c Missing energy
if (my_miss_
return
endif
c Missing mass
tmp=
if ((tmp.lt.
return
endif
c Missing rapidity
if ((miss_
return
endif
Question information
- Language:
- English Edit question
- Status:
- Answered
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Alessio Mastroddi for more information if necessary.