generating W events with specific polarization

Asked by Tae Kim on 2020-01-21

Hello MadGraph Team,

I am creating a polarization specific W events with imported "SMEFTatNLO_U2_2_U3_3_cG_4F_LO_UFO" model (can be found at )

For instance, for longitudinal W mode, we only turn on "cpq3i" coupling as defined in the model definition page.

In general, for each polarization of W, we independently used " generate p p > w+ h NP=2, w+ > j j NP=0 " then, modify param_card and run pythia8 and Delphes afterwards.

However, I cannot achieve what I intended to do because of SM amplitude square term which includes both polarizations of W+. So I surmise that it is the best to extract the interference between SM and dim6

1. As a substitute way, I assigned new coupling order to SM couplings that are involved in this. I defined new coupling order to be "SMP" and assigned to be "1" for w+ w- h, u d~ w- and so on (did not forget w+ G- h).

Finally the new command was " generate p p > w+ h NP=2 SMP^2=3, w+ > j j NP=0 "

The error was :MadGraph5Error : Decay processes cannot specify squared orders constraints

Is there any way that I can avoid using coupling square but getting the same result? If I let W+ decay at the pythia level, Pythia seems to treat longitudinal and transverse equally therefore parton-level angular distribution does not obey

2. If I cannot use the first method, I did find this related case from

However, I am not sure how to modify because I suspect that w polarization is not shown here (first 2 from initial, next 2 from the decay product of w and last for higgs?)

Following is from my matrix1.f from "generate p p > w+ h NP=2, w+ > j j NP=0"

      DATA (NHEL(I, 1),I=1,5) / 1,-1,-1, 1, 0/
      DATA (NHEL(I, 2),I=1,5) / 1,-1,-1,-1, 0/
      DATA (NHEL(I, 3),I=1,5) / 1,-1, 1, 1, 0/
      DATA (NHEL(I, 4),I=1,5) / 1,-1, 1,-1, 0/
      DATA (NHEL(I, 5),I=1,5) / 1, 1,-1, 1, 0/
      DATA (NHEL(I, 6),I=1,5) / 1, 1,-1,-1, 0/
      DATA (NHEL(I, 7),I=1,5) / 1, 1, 1, 1, 0/
      DATA (NHEL(I, 8),I=1,5) / 1, 1, 1,-1, 0/
      DATA (NHEL(I, 9),I=1,5) /-1,-1,-1, 1, 0/
      DATA (NHEL(I, 10),I=1,5) /-1,-1,-1,-1, 0/
      DATA (NHEL(I, 11),I=1,5) /-1,-1, 1, 1, 0/
      DATA (NHEL(I, 12),I=1,5) /-1,-1, 1,-1, 0/
      DATA (NHEL(I, 13),I=1,5) /-1, 1,-1, 1, 0/
      DATA (NHEL(I, 14),I=1,5) /-1, 1,-1,-1, 0/
      DATA (NHEL(I, 15),I=1,5) /-1, 1, 1, 1, 0/
      DATA (NHEL(I, 16),I=1,5) /-1, 1, 1,-1, 0/
      DATA IDEN/36/

Thank you so much for your time to help me.

Question information

English Edit question
MadGraph5_aMC@NLO Edit question
No assignee Edit question
Last query:
Last reply:


You need to use the latest version of MG5aMC (released yesterday): 2.7.0
This version has some special support for polarization like described in the FAQ that you quote actually and as describe in this paper:

That version allows you to do
generate p p > w+{0} h NP=2, w+ > j j NP=0
for longitudinal polarization
generate p p > w+{T} h NP=2, w+ > j j NP=0
for the tranverse.

You can also check the fourth polarization (due to the off-shell degree of freedom) via
generate p p > w+{A} h NP=2, w+ > j j NP=0

Interference term between longitudinal/transverse polarization are not possible for the moment.

As those two syntax are breaking lorentz invariance (indeed the notion of Longitudinal/transverse are frame specific), you will find in the run_card a new parameter in order to define in which frame you want to evaluate your matrix-element. (see the paper for more details on that)

I hope that this new syntax is what you are looking for



Can you help with this problem?

Provide an answer of your own, or ask Tae Kim for more information if necessary.

To post a message you must log in.