The code crash when using SMEFT@NLO to produce Higgs Events

Bug #1925029 reported by Gangcheng Lu
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MadGraph5_aMC@NLO
Confirmed
Undecided
Eleni Vryonidou

Bug Description

Hi,

When I used the SMEFT@NLO to perform Higgs production, the code crashed like:
Command "import /publicfs/atlas/atlasnew/higgs/hgg/lugc/MG5_aMC_2021/MG5_aMC_v3_1_0/proc_card_ggF_linear_quad_NLO.dat" interrupted in sub-command:
"output SMEFT_ggF_linear_quad_CHG_NLO" with error:
KeyError : 1
Please report this bug on https://bugs.launchpad.net/mg5amcnlo
More information is found in 'MG5_debug'.
Please attach this file to your report.

The MG5 version I used is latest v3.1.0, and SMEFT@NLO version is v1.0.2. I have attached the Bug Report below the message

My syntax is very simple:
import model SMEFTatNLO-NLO
generate p p > h NP=2 QED=1 QCD=2 [QCD]

It seems ok when I execute the second syntax in the interactive shell of mg5_aMC, but errors occurred if I want to output the directory.

When I used the command displayed in official documentation:https://feynrules.irmp.ucl.ac.be/wiki/SMEFTatNLO
g g > H QED=1 QCD=2 NP=2 [QCD] (replace the "p p" in old syntax with "g g")
The errors still existed. Do you have any ideas on that? thanks for the answers in advance!

Tags: nlo smeft
Revision history for this message
Gangcheng Lu (allaturca) wrote :
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

Hi,

I assign Eleni, since she does have a patch for that (looks like very complex issue).

Cheers,

Olivier

Changed in mg5amcnlo:
assignee: nobody → Eleni Vryonidou (evryonidou)
status: New → Confirmed
Revision history for this message
marco zaro (marco-zaro) wrote : Re: [Bug 1925029] [NEW] The code crash when using SMEFT@NLO to produce Higgs Events
Download full text (5.7 KiB)

Hi,
I tried your generate command, and got this:
MG5_aMC>generate g g > h NP=2 QED=1 QCD=2 [QCD]
Interpreting 'QCD=2' as 'QCD<=2'
Interpreting 'QED=1' as 'QED<=1'
Interpreting 'NP=2' as 'NP<=2'
Order QCD is not constrained as squared_orders. Using: QCD^2=4
Order QED is not constrained as squared_orders. Using: QED^2=2
Order NP is not constrained as squared_orders. Using: NP^2=4
---------------------------------------------------------------------------
 No Born diagrams found. Now switching to the loop-induced mode.
 Please also cite ref. 'arXiv:1507.00020' when using results from this mode.
---------------------------------------------------------------------------
Interpreting 'QCD=2' as 'QCD<=2'
Interpreting 'QED=1' as 'QED<=1'
Interpreting 'NP=2' as 'NP<=2'
1 processes with 12 diagrams generated in 0.137 s
Total: 1 processes with 12 diagrams

then, at the output, got

INFO: Generating Feynman diagrams for Process: g g > h NP<=2 QCD<=2 QED<=1 [ noborn = QCD ]
Command "output " interrupted in sub-command:
"output" with error:
KeyError : 1
Please report this bug on https://bugs.launchpad.net/mg5amcnlo
More information is found in 'MG5_debug'.
Please attach this file to your report.

    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/interface/master_interface.py", line 313, in export
      return self.cmd.export(self, *args, **opts)
    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/interface/madgraph_interface.py", line 8278, in export
      calls += self._curr_exporter.export_processes(self._curr_matrix_elements,
    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/iolibs/export_v4.py", line 198, in export_processes
      calls = calls + self.generate_subprocess_directory(\
    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/loop/loop_exporters.py", line 3343, in generate_subprocess_directory
      export_v4.ProcessExporterFortranMEGroup.generate_subprocess_directory(
    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/iolibs/export_v4.py", line 5734, in generate_subprocess_directory
      self.write_coloramps_file(writers.FortranWriter(filename),
    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/iolibs/export_v4.py", line 5982, in write_coloramps_file
      lines.extend(self.get_icolamp_lines(subproc_to_confdiag[subproc],
    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/iolibs/export_v4.py", line 1160, in get_icolamp_lines
      bool_list = [(i + 1 in diag_jamp[num_diag]) for i in range(colamps)]
    File "/Users/marcozaro/Physics/MadGraph/3.2.0/madgraph/iolibs/export_v4.py", line 1160, in <listcomp>
      bool_list = [(i + 1 in diag_jamp[num_diag]) for i in range(colamps)]
  KeyError: 1

Are you sure that you want to generate a loop-induced process?

Marco

> On 19 Apr 2021, at 15:05, Gangcheng Lu <email address hidden> wrote:
>
> Public bug reported:
>
> Hi,
>
> When I used the SMEFT@NLO to perform Higgs production, the code crashed like:
> Command "import /publicfs/atlas/atlasnew/higgs/hgg/lugc/MG5_aMC_2021/MG5_aMC_v3_1_0/proc_card_ggF_linear_quad_NLO.dat" interrupted in sub-command:
> "output SMEFT_ggF_linear_quad_CHG_NLO" with error:
> KeyError : 1
> Pleas...

Read more...

Revision history for this message
Gangcheng Lu (allaturca) wrote :

Hi Marco,

Thanks for the check, that is actually what I encountered. Sure, I want to generate a loop-induced process and study the impacts with NLO contributions included. Since the syntax is just from the SMEFT@NLO official documentation, I have no idea why it doesn't work.

Best regards,
Gangcheng

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

Hi Gangcheng,

This is a well know issue that Valentin fails to solve since a while.
He provides a patch to Eleni, but likely not general enough to be included in the official version.

> study the impacts with NLO contributions included

We are not able to compute NLO correction on a loop-induced process (the most obvious reason being that we are not able to compute the associated two loop contribution).
All loop-induced process will be at LO accuracy.

Cheers,

Olivier

Revision history for this message
Gangcheng Lu (allaturca) wrote :

Hi Oliver,

Thanks for the clarification! Could you please share the patch to me, so that I can test whether it can solve my problem?

>We are not able to compute NLO correction on a loop-induced process (the most obvious reason being that we are not able to compute the associated two loop contribution).
All loop-induced process will be at LO accuracy.

I think maybe the characteristics of SMEFT@NLO is calculating loop diagram at NLO instead of the traditional LO calculation using leading-order perturbation?

Best regards,
Gangcheng

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote : Re: [Bug 1925029] The code crash when using SMEFT@NLO to produce Higgs Events

I do not have the patch. Eleni does.

>
> I think maybe the characteristics of SMEFT@NLO is calculating loop
> diagram at NLO instead of the traditional LO calculation using leading-
> order perturbation?

That's not possible to do neither the information within SMEFT@NLO or within mG5aMC framework.

Cheers,

Olivier

> On 21 Apr 2021, at 05:32, Gangcheng Lu <email address hidden> wrote:
>
> Hi Oliver,
>
> Thanks for the clarification! Could you please share the patch to me, so
> that I can test whether it can solve my problem?
>
>> We are not able to compute NLO correction on a loop-induced process (the most obvious reason being that we are not able to compute the associated two loop contribution).
> All loop-induced process will be at LO accuracy.
>
> I think maybe the characteristics of SMEFT@NLO is calculating loop
> diagram at NLO instead of the traditional LO calculation using leading-
> order perturbation?
>
> Best regards,
> Gangcheng
>
> --
> You received this bug notification because you are subscribed to
> MadGraph5_aMC@NLO.
> https://bugs.launchpad.net/bugs/1925029
>
> Title:
> The code crash when using SMEFT@NLO to produce Higgs Events
>
> Status in MadGraph5_aMC@NLO:
> Confirmed
>
> Bug description:
> Hi,
>
> When I used the SMEFT@NLO to perform Higgs production, the code crashed like:
> Command "import /publicfs/atlas/atlasnew/higgs/hgg/lugc/MG5_aMC_2021/MG5_aMC_v3_1_0/proc_card_ggF_linear_quad_NLO.dat" interrupted in sub-command:
> "output SMEFT_ggF_linear_quad_CHG_NLO" with error:
> KeyError : 1
> Please report this bug on https://bugs.launchpad.net/mg5amcnlo
> More information is found in 'MG5_debug'.
> Please attach this file to your report.
>
> The MG5 version I used is latest v3.1.0, and SMEFT@NLO version is
> v1.0.2. I have attached the Bug Report below the message
>
> My syntax is very simple:
> import model SMEFTatNLO-NLO
> generate p p > h NP=2 QED=1 QCD=2 [QCD]
>
> It seems ok when I execute the second syntax in the interactive shell
> of mg5_aMC, but errors occurred if I want to output the directory.
>
> When I used the command displayed in official documentation:https://feynrules.irmp.ucl.ac.be/wiki/SMEFTatNLO
> g g > H QED=1 QCD=2 NP=2 [QCD] (replace the "p p" in old syntax with "g g")
> The errors still existed. Do you have any ideas on that? thanks for the answers in advance!
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mg5amcnlo/+bug/1925029/+subscriptions

Revision history for this message
Eleni Vryonidou (evryonidou) wrote :

You can substitute

diag_jamp = {}

with

diag_jamp = dict((i,[]) for i in mapconfigs)

around line 974 of export_v4.py

Revision history for this message
Tae Hyoun Park (taehyounpark) wrote (last edit ):

Hello,

I've encountered the exact same issue and fortunately came across this post. After looking into this a bit more, I found that:

(1) "Force" SM-only:
  generate p p > h [noborn=QCD] QED=1 NP=2 NP^2==0

(2) Linear-only:
  generate p p > h [noborn=QCD] QED=1 NP=2 NP^2==2

(3) BSM-only:
   generate p p > h [noborn=QCD] QED=1 NP=2 NP^2==4

(4) BSM-only for ggZH:
  generate g g > h l+ l- [noborn=QCD] NP=2 NP^2==4

Interestingly, (1) and (2) runs fine. (3) produces the exact same error, whereas (4) with a "slightly different" process also runs fine.

I'm a bit puzzled by which specific scenarios under which this issue is being encountered by mg5aMC+SMEFT@NLO, and would greatly appreciate if the experts could shed some insight into this. Also, any feedback on which processes/syntax would yield obtainable & valid results (i.e. LO EFT correction for loop-induced processes) will be very helpful.

For reference, am using MG5_aMC@NLO 2.9.9 (inside ATLAS experiment's event generation environment) + SMEFTatNLO 1.0.3.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related questions

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.