Intermediate scalars missing in LHE outputs

Asked by Anindya Ghosh

Dear Experts,

I'm using MadGraph with the TRSM model to generate a loop-induced process like this:

g g > iota0 > eta0 h QED<=4 [noborn=QCD]


iota0: 99926
eta0: 99925
h: 25

It works fine for iota0 < 1000 GeV and I get the intermediate particles in the LHE outputs. One example of m_iota0 = 1000 GeV

 5 0 +4.1371000e-03 1.25500000e+02 7.54677100e-03 1.12584400e-01
       21 -1 0 0 502 501 +0.0000000000e+00 +0.0000000000e+00 +2.1255463681e+02 2.1255463681e+02 0.0000000000e+00 0.0000e+00 -1.0000e+00
       21 -1 0 0 501 502 -0.0000000000e+00 -0.0000000000e+00 -1.0302203528e+03 1.0302203528e+03 0.0000000000e+00 0.0000e+00 -1.0000e+00
    99926 2 1 2 0 0 +0.0000000000e+00 +0.0000000000e+00 -8.1766571600e+02 1.2427749896e+03 9.3590194556e+02 0.0000e+00 0.0000e+00
    99925 1 3 3 0 0 +2.8800851937e+02 +7.9613050074e+00 -7.0037274511e+02 9.0748789066e+02 5.0000000000e+02 0.0000e+00 0.0000e+00
       25 1 3 3 0 0 -2.8800851937e+02 -7.9613050074e+00 -1.1729297089e+02 3.3528709895e+02 1.2509000000e+02 0.0000e+00 0.0000e+00

However when I go m_iota0 > 1000 GeV the iota0 in LHE file gets lost. One example with m_iota0 = 1500 GeV

 4 0 +1.2400000e-04 1.23592400e+03 7.54677100e-03 9.08198000e-02
       21 -1 0 0 502 501 +0.0000000000e+00 +0.0000000000e+00 +6.6751152168e+02 6.6751152168e+02 0.0000000000e+00 0.0000e+00 -1.0000e+00
       21 -1 0 0 501 502 -0.0000000000e+00 -0.0000000000e+00 -5.7209078226e+02 5.7209078226e+02 0.0000000000e+00 0.0000e+00 -1.0000e+00
    99925 1 1 2 0 0 -2.2201535364e+01 -1.0030106610e+02 -7.0591932683e+01 1.0077382760e+03 1.0000000000e+03 0.0000e+00 0.0000e+00
       25 1 1 2 0 0 +2.2201535364e+01 +1.0030106610e+02 +1.6601267211e+02 2.3186402790e+02 1.2509000000e+02 0.0000e+00 0.0000e+00

This is observed whenever the width of iota0 is ~> mh (125 GeV). One hack that Tania Robens found is to change this line here in myamp.f under Subprocesses:

            onshell = (abs(xmass - prmass(i,iconfig)) .lt.
     $ bwcutoff*prwidth_tmp(i,iconfig).and.
     $ (prwidth_tmp(i,iconfig)/prmass(i,iconfig).lt.0.1d0.or.
     $ gForceBW(i,iconfig).eq.1))


             onshell = (abs(xmass - prmass(i,iconfig)) .lt.
     $ bwcutoff*prwidth_tmp(i,iconfig).and.
     $ (prwidth_tmp(i,iconfig)/prmass(i,iconfig).lt.0.2d0.or.
     $ gForceBW(i,iconfig).eq.1))

Where lt.0.1d0.or. is changed to lt.0.2d0.or. and it worked, I see the intermediate particles again.

I was wondering if we can fix this without going through the myamp.f file via run card?


Question information

English Edit question
MadGraph5_aMC@NLO Edit question
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :


This is the correct behavior to NOT have such particle written within the LHEF (see the linked FAQ).
Including such particle will lead to bias within the parton-shower. Only onshell resonance should be written within the lhef file.
This is the reason for such threshold.

Also the syntax that you are using might actually be problematic if you are not in narrow-width approximation regime.

So no we do not have a way that avoid hacking to include such particle within lhef file.


FAQ #2173: “Intermediate Boson missing from events in LHE output file”.

Revision history for this message
Anindya Ghosh (anindyaghosh) said :

Hi Olivier,

Thanks for the answer. Looking at the other FAQ I see you mentioned:

"All particles with invariant mass between M - bw_cut * Width and M + bw_cut * Width are consider as on-shell and therefore written in the LHE file."

So for m_iota0 = 1500 GeV the width comes out to be 217 GeV, and the range M -/+ bw_cut * Width comes out to be -1755 to 4755 GeV if we take the bw_cut = 15. I would imagine that since it satisfies the range the particle should be written out? Or is it because it goes to negative, hence no writing out?

In any case the correct command to generate the process would be this then?

g g > eta0 h QED<=4 [noborn=QCD]


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

As you can see from the line that you are editting, we also have a check that NWA is kind of valid but a very loose cut-off that the width should be at most 10% of the mass. The reason of putting a cut-off was that writting such particle was making the parton-shower to use the wrong algorithm and leading to bias.



Can you help with this problem?

Provide an answer of your own, or ask Anindya Ghosh for more information if necessary.

To post a message you must log in.