remove diagrams with BSM coupling at certain vertex

Asked by Jiayi Chen

Hi,

I am trying to generate EFT samples using SMEFTsim, for the VBF->HWW->lvlv process. See below the proc_card setup for the SM+EFT interference generation:

generate p p > h > l+ vl l- vl~ j j /a NP = 1 QCD == 0 NP^2 == 1 --diagram_filter

I want to generate two different samples for this process: one with BSM coupling only at the VBF production vertices (VVH and qqV); another only at the decay vertices (HWW and Wlv). So I am trying to use the "diagram_filter" to filter out Feynman diagrams with BSM coupling at a vertex where I don't want it to be. My first question is, is there a better method to do this?

If removing diagrams is the only way to go, how can I identify all the VVH and qqV vertices in the diagram_filter script and decide if the vertex has BSM coupling or not?

Many thanks for the help!

Jiayi

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:
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#1

Can you define two different type coupling order (inside the UFO model),
one for HWW and Wlv) and one for HWW and Wlv?

Cheers,

Olivier

Revision history for this message
Jiayi Chen (jychen0826) said :
#2

Hi Olivier,

Thank you for the prompt response.

That can be the solution, for Wlv and qqV vertices. Thank you so much!

However just one caveat, I still have the HWW vertex, which can be either a production vertex or a decay vertex.
But for this, I might already have a solution, but I have some questions.

In the user_filter.py, I print out all the diagrams and their vertices details like this:

def remove_diag(diag):
    for vertex in diag['vertices']:
        print vertex

I notices for a NP=1 diagram vs NP=1 diagram, the BSM vertex ID of NP=1 is greater than that of the NP=0 by 1.
for NP=0, the HWW decay vertex:

 {
14:59:57 'id': 20,
14:59:57 'legs': [{
14:59:57 'id': 24,
14:59:57 'number': 3,
14:59:57 'state': True,
14:59:57 'from_group': True,
14:59:57 'loop_line': False,
14:59:57 'onshell': None,
14:59:57 'polarization': []
14:59:57 }, {
14:59:57 'id': -24,
14:59:57 'number': 5,
14:59:57 'state': True,
14:59:57 'from_group': True,
14:59:57 'loop_line': False,
14:59:57 'onshell': None,
14:59:57 'polarization': []
14:59:57 }, {
14:59:57 'id': 25,
14:59:57 'number': 3,
14:59:57 'state': True,
14:59:57 'from_group': True,
14:59:57 'loop_line': False,
14:59:57 'onshell': None,
14:59:57 'polarization': []
14:59:57 }]
14:59:57 },

for NP=1, the id becomes "21". I noticed this is the case for other NP=0 vs NP=1 diagrams as well.
So I could filter out HWW decay that has vertex id =21, for example.

My question is, how can I find the vertex id for other coupling, for example a We-ve~ vertex?

Jiayi

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

You can do "display interactions" to get such information.

Cheers,

Olivier

> On 2 Feb 2021, at 22:55, Jiayi Chen <email address hidden> wrote:
>
> Question #695337 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/695337
>
> Status: Answered => Open
>
> Jiayi Chen is still having a problem:
> Hi Olivier,
>
> Thank you for the prompt response.
>
> That can be the solution, for Wlv and qqV vertices. Thank you so much!
>
> However just one caveat, I still have the HWW vertex, which can be either a production vertex or a decay vertex.
> But for this, I might already have a solution, but I have some questions.
>
> In the user_filter.py, I print out all the diagrams and their vertices
> details like this:
>
> def remove_diag(diag):
> for vertex in diag['vertices']:
> print vertex
>
> I notices for a NP=1 diagram vs NP=1 diagram, the BSM vertex ID of NP=1 is greater than that of the NP=0 by 1.
> for NP=0, the HWW decay vertex:
>
> {
> 14:59:57 'id': 20,
> 14:59:57 'legs': [{
> 14:59:57 'id': 24,
> 14:59:57 'number': 3,
> 14:59:57 'state': True,
> 14:59:57 'from_group': True,
> 14:59:57 'loop_line': False,
> 14:59:57 'onshell': None,
> 14:59:57 'polarization': []
> 14:59:57 }, {
> 14:59:57 'id': -24,
> 14:59:57 'number': 5,
> 14:59:57 'state': True,
> 14:59:57 'from_group': True,
> 14:59:57 'loop_line': False,
> 14:59:57 'onshell': None,
> 14:59:57 'polarization': []
> 14:59:57 }, {
> 14:59:57 'id': 25,
> 14:59:57 'number': 3,
> 14:59:57 'state': True,
> 14:59:57 'from_group': True,
> 14:59:57 'loop_line': False,
> 14:59:57 'onshell': None,
> 14:59:57 'polarization': []
> 14:59:57 }]
> 14:59:57 },
>
> for NP=1, the id becomes "21". I noticed this is the case for other NP=0 vs NP=1 diagrams as well.
> So I could filter out HWW decay that has vertex id =21, for example.
>
> My question is, how can I find the vertex id for other coupling, for
> example a We-ve~ vertex?
>
> Jiayi
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Jiayi Chen (jychen0826) said :
#4

Hi Olivier,

Thank you for the tip.

I was able to list all interaction:

Current model contains 69 interactions
1:h h h h QED=2
2:h h h QED=1
3:a a h SMHLOOP=1 QED=3
4:a a h NP=1 QED=1
5:a a h h NP=1 QED=2
6:g g h SMHLOOP=1 QED=1 QCD=2
7:w- w+ h h QED=2
8:w- w+ h h NP=1 QED=2
9:w- w+ h QED=1
10:w- w+ h NP=1 QED=1
...
...

But the index of the interaction doesn't agree with the vertex id I see...
for instance, the hww index here are 9 and 10 for NP=0 and NP=1, but the vertex id were 20 and 21.

Do you have more insight to this? thank you very much!

Best,
Jiayi

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

In the model I have tested it was in sync, so i do not know,

One idea is to do
display interactions h w+ w-
you should get more details information including the vertex_id

Cheers,

Olivier

Revision history for this message
Jiayi Chen (jychen0826) said :
#6

Thanks Olivier Mattelaer, that solved my question.

Revision history for this message
Jiayi Chen (jychen0826) said :
#7

Thank you so much for the help!