LO from NLO code generation

Asked by Laura M

Hi,

I am trying to generate the LO cross section of the following process u b > t d. I want later to get the NLO, so what I did was first to obtain the LO by a LO code:

import model loop_sm-no_b_mass
generate u b > t d
output LO_ub

and then generate the corresponding NLO

import model loop_sm-no_b_mass
generate u b > t d [QCD]
output NLO_ub

to also compare first the LO result from this one. I checked that the Born diagram is the same as in the LO generation.

I have disabled all cuts, in both configurations, used the same PDFs (lhapdf 21200), set the case for the Tevatron configuration p pbar, and each one with energy 980 GeV, and a fixed scale set to the top mass (in this case mt=170GeV), I am also using
9.170000e+01 # mz
1.274210e+02 # aewm1
2 1.166370e-05 # gf.

When I run both codes, using NLO to calculate also LO (FO LO when calculating cross section) I get the following results:

with LO code: sigmaLO = 0.718(1) pb
with NLO code: sigmaLO = 0.761(6) pb

The model used in both is the same, the param_card is also the same, and the relevant terms in the run_card is also the same for both, so I don't really know where this difference can come from. It would be really helpful if someone could throw some light into this.

I have another code, done by myself which yields the same result as the LO code, so I assume that one is right, and the problem lies somewhere else, but I cannot assure it, since I don't know what can be causing such difference.

Thank you in advance,
Laura

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
Olivier Mattelaer
Solved:
Last query:
Last reply:

This question was reopened

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

Hi,

I do not reproduce your issue.
I have run the following code for LO:

import model loop_sm-no_b_mass
generate u b > t d
output
launch
set fixed_scale 170
set mt 170
set mz 9.170000e+01
set aewm1 1.274210e+02 # aewm1
set gf 1.166370e-05 # gf.
set no_parton_cut
set ebeam 980
set lpp1 1
set lpp2 -1
set pdlabel lhapdf
set lhaid 21200

and got as result:
  === Results Summary for run: run_01 tag: tag_1 ===

     Cross-section : 0.7181 +- 0.0005693 pb
     Nb of events : 10000

for the NLO code I ran:
import model loop_sm-no_b_mass
generate u b > t d [LOonly]
output
launch
order=LO
fixed_order=ON
set fixed_scale 170
set mur_ref_fixed 170
set muf_ref_fixed 170
set mt 170
set mz 9.170000e+01
set aewm1 1.274210e+02 # aewm1
set gf 1.166370e-05 # gf.
set no_parton_cut
set ebeam 980
set lpp1 1
set lpp2 -1
set pdlabel lhapdf
set lhaid 21200
set ptj 0.0

and got:

   --------------------------------------------------------------
      Final results and run summary:
      Process u b > t d [LOonly]
      Run at p-pbar collider (980.0 + 980.0 GeV)
      Total cross section: 7.158e-01 +- 4.4e-03 pb
   --------------------------------------------------------------
      Scale variation (computed from histogram information):
          Dynamical_scale_choice 0 (envelope of 9 values):
              7.173e-01 pb +0.0% -1.2%
   --------------------------------------------------------------

Cheers,

Olivier

Revision history for this message
Laura M (laumova) said :
#2

Hi Olivier,

thanks for the answer. I have a problem with the codes you sent. If I type launch, it starts as usual, and if then I put set mt 170 (for example) it says

Not valid command: set mt 170

and the same happens for any other set ..., I could always modify the parameters in the param_card and run_card, but it would be also interesting to try it with this direct method.

Anyway, I see that for the NLO you have put

generate u b > t d [LOonly]

why this [LOonly]? Which is the difference with [QCD], because I have a problem there, it seems that using [LOonly] works also fine for me, but using [QCD] doesn't.

Thanks again!

Best,
Laura

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

Hi,

The way to handle this is to wrote those lines in a file (say cmd_lo.txt and cmd_nlo.txt)
and then run the code like
./bin/mg5_aMC ./cmd_lo.txt
and
./bin/mg5_aMC ./cmd_nlo.txt

Do not try to do
./bin/mg5_aMC < ./cmd_lo.txt
In that case the auto-discovery of the switching between questions will not work and you will have the error that you quote.
You can also write code compatible with that method but this is not recommended since we do not guarantee backward compatibility for that method (I'm considering forbidding it completly in the future actually)

[LOonly] is the same as [QCD] but only generates the LO code since you are not running the full NLO code, this is quicker to generate/compile. But I have also run with replacing [LOonly] by [QCD] and get the same result:

   --------------------------------------------------------------
      Final results and run summary:
      Process u b > t d [QCD]
      Run at p-pbar collider (980.0 + 980.0 GeV)
      Total cross section: 7.158e-01 +- 4.4e-03 pb
   --------------------------------------------------------------
      Scale variation (computed from histogram information):
          Dynamical_scale_choice 0 (envelope of 9 values):
              7.173e-01 pb +0.0% -1.2%
   --------------------------------------------------------------

Cheers,

Olivier

>
> why this [LOonly]? Which is the difference with [QCD], because I have a
> problem there, it seems that using [LOonly] works also fine for me, but
> using [QCD] doesn't.

> On 3 Feb 2021, at 14:45, Laura M <email address hidden> wrote:
>
> Question #695342 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/695342
>
> Status: Answered => Open
>
> Laura M is still having a problem:
> Hi Olivier,
>
> thanks for the answer. I have a problem with the codes you sent. If I
> type launch, it starts as usual, and if then I put set mt 170 (for
> example) it says
>
> Not valid command: set mt 170
>
> and the same happens for any other set ..., I could always modify the
> parameters in the param_card and run_card, but it would be also
> interesting to try it with this direct method.
>
> Anyway, I see that for the NLO you have put
>
> generate u b > t d [LOonly]
>
> why this [LOonly]? Which is the difference with [QCD], because I have a
> problem there, it seems that using [LOonly] works also fine for me, but
> using [QCD] doesn't.
>
> Thanks again!
>
> Best,
> Laura
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Laura M (laumova) said :
#4

Hi Olivier,

Thank you so much for the answer. I managed to get the same as you with such an external file. Knowing how to do it now, I will try to figure out by myself what was the problem when editing the parameters in the param_card and run_card.

Best,
Laura

Revision history for this message
Laura M (laumova) said :
#5

Thanks Olivier Mattelaer, that solved my question.

Revision history for this message
Laura M (laumova) said :
#6

Hi,

I think I kind of know where the other problem lies. I did

import model loop_sm-no_b_mass
generate u b > t d [QCD]
output NLOub

and then modified the parameters in the run_card and param_card. I explicitely need to do it like this to show where the issue arises, and not using the ./mg5_aMC ./cmd_nlo.txt. I wanted to compute first the LO result, to check it with my own, so I tried

./bin/calculate_xsec

set order to LO, and I got sigmaLO_using_calculatexsec = 0.761(6) pb

but if I use

./bin/generate_events

set order to LO also, I get sigmaLO_using_generateevents = 0.718(1) pb

I then looked a bit more carefully the calculate_xsec information given after I changed the order, and there was a line saying:

INFO: will run in mode: NLO

even though I changed it to LO. I tried it in another computer and the same issue arises.

I would like to know if this is also your case, or if it has to do with my Madgraph installation. Thank you very much.

Best,
Laura

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

Yes indeed, if you want to compute the cross-section@LO
the syntax is
./bin/calculate_xsec LO

I'm looking to bypass such function in this situation but I need to be carefull since this might create side effect on other function.

Cheers,

Olivier

> On 3 Feb 2021, at 18:55, Laura M <email address hidden> wrote:
>
> Question #695342 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/695342
>
> Status: Solved => Open
>
> Laura M is still having a problem:
> Hi,
>
> I think I kind of know where the other problem lies. I did
>
> import model loop_sm-no_b_mass
> generate u b > t d [QCD]
> output NLOub
>
> and then modified the parameters in the run_card and param_card. I
> explicitely need to do it like this to show where the issue arises, and
> not using the ./mg5_aMC ./cmd_nlo.txt. I wanted to compute first the LO
> result, to check it with my own, so I tried
>
> ./bin/calculate_xsec
>
> set order to LO, and I got sigmaLO_using_calculatexsec = 0.761(6) pb
>
> but if I use
>
> ./bin/generate_events
>
> set order to LO also, I get sigmaLO_using_generateevents = 0.718(1) pb
>
> I then looked a bit more carefully the calculate_xsec information given
> after I changed the order, and there was a line saying:
>
> INFO: will run in mode: NLO
>
> even though I changed it to LO. I tried it in another computer and the
> same issue arises.
>
> I would like to know if this is also your case, or if it has to do with
> my Madgraph installation. Thank you very much.
>
> Best,
> Laura
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Laura M (laumova) said :
#8

Thanks Olivier Mattelaer, that solved my question.