Fewer events are produced than asked for

Asked by Lucia Perrini

Dear experts,
I have a problem with the production of a sample Z+jets with Z > mu+mu-.
The problem is that altough I specify to produce 50000 events, at the end I have, as output, an lhe file of 1200 events more or less. Infact in my run_01_DYJetsToMM_banner.txt I read this:

</mg5proccard>
<MGGenerationInfo>

# Number of Events : 1258
# Integrated weight (pb) : 1065.14731269

</MGGenerationInfo>
<mgproccard>

My proc_card is:

import model sm-no_b_mass
define p u c s d b u~ c~ s~ d~ b~ g
define j=p
generate p p > z > mu+ mu- @0
add process p p > z > mu+ mu- j @1
add process p p > z > mu+ mu- j j @2
add process p p > z > mu+ mu- j j j @3
add process p p > z > mu+ mu- j j j j @4

I'm waiting for your suggestions because I don't manage to find the problem.
Thanks a lot.

Cheers,
Lucia

Question information

Language:
English Edit question
Status:
Answered
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Johan Alwall (johan-alwall) said :
#1

Hello Lucia,

Did you take a look at our wiki FAQ?
https://server06.fynu.ucl.ac.be/projects/madgraph/wiki/FAQ-General-12

"Why don't I get the number of events I asked for from MadEvent?

Getting significantly fewer events than you ask for usually indicates that you are trying to integrate over a divergence. E.g., if you have gluons in your process and no drjj, pj, mjj or xqcut cuts, you hit the collinear and soft divergencies of QCD. If you have implemented your own model and given some particles zero width although the Feynman rules indicate that they can decay, the you will get a divergence in any process where these particles can occur as on-shell s-channel resonances. And so on.

You can get a hint to where the problem is by looking at the Luminocity numbers for the subprocesses and integration channels. The lowest-luminocity channel is where the problem is worst. The channels are correlated with Feynman diagrams as determined by the file config_subproc_map.inc in the P... directory."

Most probably, there is some cut missing in your run_card. If you can't find it, feel free to post your run_card.dat here and we'll be happy to help you.

Note that when you are running multiple jet multiplicities, you need to use a matching scheme to avoid double counting and correctly account for Sudakov effects. You find more information here (again on the wiki):

https://server06.fynu.ucl.ac.be/projects/madgraph/wiki/Matching

In a nutshell: Set ickkw to 1 and xqcut ~ mass scale/6 or so in the run_card, in this case xqcut ~ 15 should work well.

All the best,
Johan

Revision history for this message
Lucia Perrini (lucia-perrini) said :
#2

Hi Johan,
I try to explain which steps I did.
I started by following the standard CMS Summer11 MC production. By
following this twiki page
https://twiki.cern.ch/twiki/bin/view/CMS/MadGraphSummer11Production#W_Z_jets,
I did a comparison between CMS official run_card for Z+jets sample and the
run_card produced directly from my MadGraph implementation in order to use
exactly the CMS official parameters.
The different parameters I found are (for semplicity I'm going to call
"official" those parameters belonging to the CMS run_card and "unofficial"
those belonging to the card I produced):

#*********************************************************************
# Minimum and maximum pt's *
#*********************************************************************
UNOFFICIAL
  10 = ptl* * ! minimum pt for the charged leptons

OFFICIAL
  0 = ptl

#*********************************************************************
# Maximum and minimum rapidity *
#*********************************************************************

UNOFFICIAL
   2.5 = etaa

OFFICIAL
   1d2 = etaa

#*********************************************************************
# Minimum and maximum DeltaR distance *
#*********************************************************************
UNOFFICIAL
 0.4 = drjj ! min distance between jets
 0.4 = drll ! min distance between leptons
 0.4 = drjl ! min distance between jet and lepton

OFFICIAL
 0.001 = drjj ! min distance between jets
 0 = drll ! min distance between leptons
 0 = drjl ! min distance between jet and lepton

#*********************************************************************
# Minimum and maximum pt for 4-momenta sum of leptons *
#*********************************************************************

UNOFFICIAL
 0 = ptllmin ! Minimum pt for 4-momenta sum of leptons(l and vl)
 1d5 = ptllmax ! Maximum pt for 4-momenta sum of leptons(l and vl)

OFFICIAL
 nothing

#*********************************************************************
# Control the Ht(k)=Sum of k leading jets *
#*********************************************************************

UNOFFICIAL
 0 = ihtmin !inclusive Ht for all partons (including b)
 1d5 = ihtmax !inclusive Ht for all partons (including b)

OFFICIAL
 there's no trace of these.

Are these differences going to affect just the number of events
produced or are they somehow going to bias my sample?
I would like to understand better in which way the changes I did
affect the final sample.

Thanks.

Cheers,
Lucia

On 18 June 2012 14:20, Johan Alwall <email address hidden>wrote:

> Your question #200766 on MadGraph5 changed:
> https://answers.launchpad.net/madgraph5/+question/200766
>
> Status: Open => Answered
>
> Johan Alwall proposed the following answer:
> Hello Lucia,
>
> Did you take a look at our wiki FAQ?
> https://server06.fynu.ucl.ac.be/projects/madgraph/wiki/FAQ-General-12
>
> "Why don't I get the number of events I asked for from MadEvent?
>
> Getting significantly fewer events than you ask for usually indicates
> that you are trying to integrate over a divergence. E.g., if you have
> gluons in your process and no drjj, pj, mjj or xqcut cuts, you hit the
> collinear and soft divergencies of QCD. If you have implemented your own
> model and given some particles zero width although the Feynman rules
> indicate that they can decay, the you will get a divergence in any
> process where these particles can occur as on-shell s-channel
> resonances. And so on.
>
> You can get a hint to where the problem is by looking at the Luminocity
> numbers for the subprocesses and integration channels. The lowest-
> luminocity channel is where the problem is worst. The channels are
> correlated with Feynman diagrams as determined by the file
> config_subproc_map.inc in the P... directory."
>
> Most probably, there is some cut missing in your run_card. If you can't
> find it, feel free to post your run_card.dat here and we'll be happy to
> help you.
>
> Note that when you are running multiple jet multiplicities, you need to
> use a matching scheme to avoid double counting and correctly account for
> Sudakov effects. You find more information here (again on the wiki):
>
> https://server06.fynu.ucl.ac.be/projects/madgraph/wiki/Matching
>
> In a nutshell: Set ickkw to 1 and xqcut ~ mass scale/6 or so in the
> run_card, in this case xqcut ~ 15 should work well.
>
> All the best,
> Johan
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
>
> https://answers.launchpad.net/madgraph5/+question/200766/+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/madgraph5/+question/200766
>
> You received this question notification because you asked the question.
>

--
Lucia Perrini

Revision history for this message
Johan Alwall (johan-alwall) said :
#3

Hello Lucia,

Can you please post the complete run_card.dat you are using? The differences you mention shouldn't have any effect on the number of events you get.

Another possibility, besides the run_card, is that something fails to run properly. It has happened for previous versions on some systems that the file bin/internal/combine_runs isn't compiled properly, in which case you won't get the events you ask for. Please check that you have the latest version (1.4.6) and check that there are no compilation errors during your run.

Thanks,
Johan

Revision history for this message
Lucia Perrini (lucia-perrini) said :
#4

Hi Johan,
please fin in attachment my run_card.dat and the debug file.
It seems there is this error:

UnboundLocalError: local variable 'nb_event' referenced before assignment

Anyway the Madgraph version I'm using is the last one (1.4.6).

Thanks to you,
Lucia

On 18 June 2012 16:51, Johan Alwall <email address hidden>wrote:

> Your question #200766 on MadGraph5 changed:
> https://answers.launchpad.net/madgraph5/+question/200766
>
> Status: Open => Answered
>
> Johan Alwall proposed the following answer:
> Hello Lucia,
>
> Can you please post the complete run_card.dat you are using? The
> differences you mention shouldn't have any effect on the number of
> events you get.
>
> Another possibility, besides the run_card, is that something fails to
> run properly. It has happened for previous versions on some systems that
> the file bin/internal/combine_runs isn't compiled properly, in which
> case you won't get the events you ask for. Please check that you have
> the latest version (1.4.6) and check that there are no compilation
> errors during your run.
>
> Thanks,
> Johan
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
>
> https://answers.launchpad.net/madgraph5/+question/200766/+confirm?answer_id=2
>
> 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/madgraph5/+question/200766
>
> You received this question notification because you asked the question.
>

--
Lucia Perrini

Revision history for this message
Johan Alwall (johan-alwall) said :
#5

Hello Lucia,

You can't attach files to questions on Launchpad. You need to send directly to my email, alwall _at_ fnal.gov.

Thanks,
Johan

Revision history for this message
Johan Alwall (johan-alwall) said :
#6

Hi again Lucia,

Thanks for sending the files. As I told you by email, the problem was that you are running in gridpack creation mode (i.e., set .true. = gridpack in the run_card.dat). In this mode, you create a gridpack that you can use for efficient event generation on a GRID-type of environment. While you do get some unweighted events also in this mode, it's not the main purpose. If you want to use regular event generation (determined by the number of events nevents set in the run_card.dat) you need to turn off gridpack mode.

All the best,
Johan

Revision history for this message
Johan Alwall (johan-alwall) said :
#7

See https://server06.fynu.ucl.ac.be/projects/madgraph/wiki/FAQ-General-12
FAQ #1987: “Fewer events are produced than asked for”.

Revision history for this message
drigo23 (drigo) said :
#8

Hi,

I have just read the whole conversation and I think about having a similar problem...I don't get the number of events I asked for.
Somehow it should depend on the "decay widths", because when I change it by a factor 10^2, I don't have 10000 events anymore but only 143. I checked the "run_card.dat" and it is equal to the "run_card_default.dat" where I have ".false. = gridpack" . In addiction, I don't have any divergence... what's going on?? is it possible that?
Since MG is a montecarlo generator, if MG can not generate my events, how long time does it stop?? could I modify that??

Thank You in advance.
F.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#9

Hi,

This might be cause by a wrong use of the decay chain syntax as well.
(if you force a particle to be onshell when this is not possible)

Could you tell me what the process is? (and the mass/width of all relevant particles)

Cheers,

Olivier

Revision history for this message
drigo23 (drigo) said :
#10

Hi Olivier,

I think it is easier if I send you an email. may I?
Anyway, I checked my "unweighted_events" and it seems not to be a "on shell" problems.

Thank You in advance.
All the best.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#11

Sure,

my email is <email address hidden>

Cheers,

Olivier

Revision history for this message
Reggie Bain (rab59) said :
#12

Hi,

I am having a similar problem with the process gg>gcc~[3S18to9940003] (where 9940003 is for showering with Pythia 8) for producing a 3S1(8) J/psi. When requesting 50,000 events I get 11,133. Here are the relevant pieces of information from my Cards:

proc_card.dat
gg>gcc~[3S18to9940003]
QCD=99
QED=2

run_card.dat
 0 = ickkw ! 0 no matching, 1 MLM, 2 CKKW matching
 45 = ptj ! minimum pt for the jets
 45 = ptonium ! minimum pt for the quarkonium states
 0.4 = drjj ! min distance between jets
 3 = mmjj ! min invariant mass of a jet pair
 0 = xqcut ! minimum kt jet measure between partons

param_card.dat
         4 1.60000000E+00 # charm pole mass
Block LDME
        1 0.3866666E+00 # 1S01
        2 4.97E-02 # 1S08
        3 1.32E+00 # 3S11
        4 2.24E-03 # 3S18
        5 0.107429E+00 # 3P01
        6 1.61E-02 # 3P08
        7 0.322288E+00 # 3P11
        8 1.61E-02 # 3P18
        9 0.537147E+00 # 3P21
        10 1.61E-02 # 3P28

In general, I am looking for 2 jet events where 1 jet contains the J/psi. I shower on the unweighted_events.lhe file using Pythia 8 and then use Rivet to reconstruct the J/psi (from two muons) and jets using the anti-kT algorithm. Since I wanted rivet to handle the jet algorithms, I have left ickkw at 0.

Might this be the source of my low event rate? Or perhaps something else?

Thank you,

Reggie

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#13

Hi Reggie,

Could you create a new question with this?
This is MadOnia (and therefore MG4) which is completelly different from the rest of the code.
This will allow to not confuse people reading this topic and allow me to assign your question to the MadOnia develloper.

Cheers,

Olivier

Revision history for this message
yd5 (fallive) said :
#14

Hi,

I seethe original poster's problem and Johan's answer, I have one question about the divergence caused by the soft jets. The FAQ says if you have divergence caused by soft jets, you shall apply cuts like drjj, I see that in Lucia's post the CMS applied drjj=0.001 while doing matching.

But from cp3 (https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/Matching), I see that you shall set drjj=0 while doing matching if you use the kt algorithm.

Isn't this a contradiction?

Thanks,
Yong

Revision history for this message
Gurunadha Reddy (ggreddy36) said :
#15

Hi,

I'm facing a similar problem and would appreciate some help. The model used is NMSSMHET where the Higgs produced via associated WH, ZH modes decay into a pair of scalar particles a01 (pID:36). The weak bosons are set to decay via leptonic channel and one a01 decays to diphotons and the other to di gluon.

The proc_card is --

import model NMSSMHET --modelname
define v = w+ w- z
define lep = ve vm vt ve~ vm~ vt~ e- mu- e+ mu+ tau+ tau-
generate p p > v h01, (h01 > a01 a01, a01 > a a, a01 > g g), (v > lep lep)

The param_card is modified to have ma01 = 25GeV instead of the default ~40GeV

      36 2.500000e+01 # ma01

The run _card reads

0= ickkw
0=xqcut
False = gridpack

I couldn't figure out what the problem is from the answers in this thread. Is it due to the decay chain? Or something else?

Thanks,
Gurunadha Reddy

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#16

Hi,

I have a few questions:

What is the widths of all your particles?
What is the value of cut_decays in your run_card?
How many events did you get at the end of the run (and how many did you ask)
What is the value of your cross-section?
What is the mass of h01?

Cheers,

Olivier

> On 3 Apr 2019, at 08:38, Gurunadha Reddy <email address hidden> wrote:
>
> Question #200766 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/200766
>
> Gurunadha Reddy posted a new comment:
> Hi,
>
> I'm facing a similar problem and would appreciate some help. The model
> used is NMSSMHET where the Higgs produced via associated WH, ZH modes
> decay into a pair of scalar particles a01 (pID:36). The weak bosons are
> set to decay via leptonic channel and one a01 decays to diphotons and
> the other to di gluon.
>
> The proc_card is --
>
> import model NMSSMHET --modelname
> define v = w+ w- z
> define lep = ve vm vt ve~ vm~ vt~ e- mu- e+ mu+ tau+ tau-
> generate p p > v h01, (h01 > a01 a01, a01 > a a, a01 > g g), (v > lep lep)
>
> The param_card is modified to have ma01 = 25GeV instead of the default
> ~40GeV
>
> 36 2.500000e+01 # ma01
>
> The run _card reads
>
> 0= ickkw
> 0=xqcut
> False = gridpack
>
> I couldn't figure out what the problem is from the answers in this
> thread. Is it due to the decay chain? Or something else?
>
> Thanks,
> Gurunadha Reddy
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Gurunadha Reddy (ggreddy36) said :
#17

Hi Oliver,

Widths of particles are --
    DECAY 25 3.037863e-02 # wh01
    DECAY 36 2.495587e-04 # wa01
    DECAY 21 0.000000e+00 # g : 0.0
    DECAY 22 0.000000e+00 # a : 0.0
    DECAY 23 0.000000e+00 # z : 0.0
    DECAY 24 0.000000e+00 # w+ : 0.0

cut_decays = False

I asked for 10000 events but got only 5.

Crossection = 2.9790594e+20 pb

Mass of h01 = 1.191639e+02 GeV

Thanks,
Gurunadha Reddy

Can you help with this problem?

Provide an answer of your own, or ask Lucia Perrini for more information if necessary.

To post a message you must log in.