cross section zero when using the gridpack

Asked by Gilberto Tetlalmatzi

Hi

I am curious about the following, normally when I generate the gridpack for intense processes I get a non-zero cross section with a zero number of events. Consider for instance the process

generate p p > l- vl~ j j b b~ QED<=99 QCD<=99

the message after the generation of the gridpack is

Cross-section : 1.909 +- 0.004413 pb
     Nb of events : 0

Then when I use the run.sh script for let us say 10 events I get

combine_events
store_events
  === Results Summary for run: GridRun_1 tag: tag_1 ===

     Cross-section : 0 +- 0 pb
     Nb of events : 10

decay_events -from_cards
DONE
write ./events.lhe.gz

So, null cross section with 10 events, normally I do not worry about this and I assume for this number of events the cross section reported during the generation of the gridpack, i.e. 1.909 +- 0.004413 pb. So why is the cross section reported as zero in the end. And why there are zero events at the beginning?

Here I copy the run card used:

#*********************************************************************
# Collider type and energy *
# lpp: 0=No PDF, 1=proton, -1=antiproton, *
# 2=elastic photon of proton/ion beam *
# +/-3=PDF of electron/positron beam *
# +/-4=PDF of muon/antimuon beam *
#*********************************************************************
     1 = lpp1 ! beam 1 type
     1 = lpp2 ! beam 2 type
     6500.0 = ebeam1 ! beam 1 total energy in GeV
     6500.0 = ebeam2 ! beam 2 total energy in GeV
# To see polarised beam options: type "update beam_pol"

#*********************************************************************
# PDF CHOICE: this automatically fixes alpha_s and its evol. *
# pdlabel: lhapdf=LHAPDF (installation needed) [1412.7420] *
# iww=Improved Weizsaecker-Williams Approx.[hep-ph/9310350] *
# eva=Effective W/Z/A Approx. [2111.02442] *
# edff=EDFF in gamma-UPC [eq.(11) in 2207.03012] *
# chff=ChFF in gamma-UPC [eq.(13) in 2207.03012] *
# none=No PDF, same as lhapdf with lppx=0 *
#*********************************************************************
     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
#*********************************************************************
  True = 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.
                             ! 0: sum over helicity, 1: importance sampling
   1 = sde_strategy ! default integration strategy (hep-ph/2021.00773)
                             ! 1 is old strategy (using amp square)
        ! 2 is new strategy (using only the denominator)
# To see advanced option for Phase-Space optimization: type "update psoptim"
#*********************************************************************
# Customization (custom cuts/scale/bias/...) *
# list of files containing fortran function that overwrite default *
#*********************************************************************
  = custom_fcts ! List of files containing user hook function
#*******************************
# Parton level cuts definition *
#*******************************
  0.0 = dsqrt_shat ! minimal shat for full process
#
#
#*********************************************************************
# 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
 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 = ptlmax ! maximum pt for the charged leptons
 -1.0 = missetmax ! maximum missing Et (sum of neutrino's momenta)
 {} = 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})
#
# For display option for energy cut in the partonic center of mass frame type 'update ecut'
#
#*********************************************************************
# 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
 2.5 = etal ! max rap for the charged leptons
 0.0 = etabmin ! min rap for the b
 0.0 = etalmin ! min 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.4 = drjj ! min distance between jets
 0.4 = drbb ! min distance between b's
 0.4 = drbj ! min distance between b and jet
 0.4 = drjl ! min distance between jet and lepton
 0.4 = drbl ! min distance between b and lepton
 -1.0 = drjjmax ! max distance between jets
  1.8 = drbbmax ! max distance between b's
 -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
 100.0 = mmbb ! min invariant mass of a b pair
 -1.0 = mmjjmax ! max invariant mass of a jet pair
 150.0 = mmbbmax ! max invariant mass of a b 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
 #*********************************************************************
#*********************************************************************
# Inclusive cuts *
#*********************************************************************
 0.0 = xptj ! minimum pt for at least one jet
 0.0 = xptb ! minimum pt for at least one b
 #*********************************************************************
 # 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 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
 #*********************************************************************
 # 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

Question information

Language:
English Edit question
Status:
Expired
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#1

Hi,

The goal of a gridpack is to optimize all the grid of integration to a (maximal) accuracy.
For doing so, each contribution to the cross-section will be computed at a given accuracy of ~ 1% and therefore the accuracy on the total cross-section (sum of the contribution) will be also around 1%.

They are events generated for each of the channel (If i remember correctly) but those events are just discarded, instead of being combined together, and this explains that the code report 0 events.
In the past, those events were combined and the number reported (but they were typically discarded anyway).
But since the code was not designed to reach a given number of events (and the number of events is not fully related to a given precision) that number was typically "small" and in a way irrelevant.

When running the gridpack, the cross-section is now an input and not an output of the gridpack, since we use the cross-section of each channel to determine if we need to generate an event from that channel.
Therefore, to insist that this is an input and not an output, we have not included that information in the log screen (but the event.lhe is normalised according to that cross-section).

So those are just convention of displaying stuff that we compute when we do compute them.

Cheers,

Olivier

Revision history for this message
Gilberto Tetlalmatzi (gtx83) said :
#2

Thanks a lot Olivier!, as I said I normally use the gridpack in the local cluster and assing the cross section reported during the production of the gridpack itself.

Cheers

Gilberto

________________________________
From: <email address hidden> <email address hidden> on behalf of Olivier Mattelaer <email address hidden>
Sent: 05 August 2024 17:20:36
To: Tetlalmatzi-Xolocotzi, Gilberto, Dr.
Subject: Re: [Question #817907]: cross section zero when using the gridpack

Your question #817907 on MadGraph5_aMC@NLO changed:
https://answers.launchpad.net/mg5amcnlo/+question/817907

    Status: Open => Answered

Olivier Mattelaer proposed the following answer:
Hi,

The goal of a gridpack is to optimize all the grid of integration to a (maximal) accuracy.
For doing so, each contribution to the cross-section will be computed at a given accuracy of ~ 1% and therefore the accuracy on the total cross-section (sum of the contribution) will be also around 1%.

They are events generated for each of the channel (If i remember correctly) but those events are just discarded, instead of being combined together, and this explains that the code report 0 events.
In the past, those events were combined and the number reported (but they were typically discarded anyway).
But since the code was not designed to reach a given number of events (and the number of events is not fully related to a given precision) that number was typically "small" and in a way irrelevant.

When running the gridpack, the cross-section is now an input and not an output of the gridpack, since we use the cross-section of each channel to determine if we need to generate an event from that channel.
Therefore, to insist that this is an input and not an output, we have not included that information in the log screen (but the event.lhe is normalised according to that cross-section).

So those are just convention of displaying stuff that we compute when we
do compute them.

Cheers,

Olivier

--
If this answers your question, please go to the following page to let us
know that it is solved:
https://answers.launchpad.net/mg5amcnlo/+question/817907/+confirm?answer_id=0

If you still need help, you can reply to this email or go to the
following page to enter your feedback:
https://answers.launchpad.net/mg5amcnlo/+question/817907

You received this question notification because you asked the question.

Revision history for this message
Launchpad Janitor (janitor) said :
#3

This question was expired because it remained in the 'Open' state without activity for the last 15 days.