Reference frame choice

Asked by Tetiana Kozynets

Hi,

Which reference frame (lab, CM, or other?) does MadGraph expect to see the initial momenta in, and what is the reference frame of the output? Is there any way to change the preferred reference frame prior to event generation?

In particular, I am looking to generate events for the neutrino-quark scattering process, given a proton at rest. I would like to see the final state/momenta energies in the proton rest frame as well. Is there an obvious/easy way to do that within MadGraph?

Thanks!

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

Hi,

What kind of run are your doing?
We typically have code which takes momenta as input (like standalonde code)
and other type of run that generate events (our most common type of compuatation at LO and NLO)
I do not see a run which has both input and output of momenta.

>In particular, I am looking to generate events for the neutrino-quark scattering process, given a proton at rest. I would like to see the final state/momenta energies in the proton rest frame as well. Is there an obvious/easy way to do that within MadGraph?

If you set the "ebeam" parameter corresponding to the proton to either the mass of the proton or zero then the output file will be in the frame where the proton is at rest. Now our phase-space integrator is written such that events are generated in the center of mass of the partonic collision and this is in that frame that most of the cuts are defined (all but the rapidity cut).
If your matrix-element is not lorentz invariant you can also decide in which frame you need to evaluate such matrix-element (but I do not think that this is relevant for you).

Cheers,

Olivier

Revision history for this message
Tetiana Kozynets (kotania) said :
#2

Hi Olivier,

Thanks a lot for your quick reply.

I am independently trying out the standalone calculation (from which I can get the matrix elements at any phase space point) as well as event generation (where I just provide the input momenta and as you say, extract the output afterwards). Do I understand it correctly that the events.lhe file will contain events in the proton rest frame if this is was the frame of my input in the event generation mode? I.e., something like event.particles[i].pz from that file will be in the proton rest frame?

For the standalone calculation, what is then the default frame for the matrix elements, assuming (in the most general case) that they're not Lorentz-invariant? I would in fact like to perform the phase space integration on my own just as a sanity check (which is why I am running these two independent calculations), so such knowledge would be extremely helpful.

Thanks a lot,
Tetiana

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

Hi,

> I.e., something
> like event.particles[i].pz from that file will be in the proton rest
> frame?

Here you seem to have a (python?) layer that read the file, if that layer does not boost the event then yes.

> For the standalone calculation, what is then the default frame for the
> matrix elements, assuming (in the most general case) that they're not
> Lorentz-invariant? I would in fact like to perform the phase space
> integration on my own just as a sanity check (which is why I am running
> these two independent calculations), so such knowledge would be
> extremely helpful.

In standalone, you can provide the momenta in the frame of your choice, and this is the frame in which the matrix-element will be evaluated.
We actually do use that code to check lorentz invariance by providing the same momenta in boosted in various way and check if the output is invariant or not. (this is what under the hook of the check command).
If you need more details then you can check the helas manual:
https://lib-extopc.kek.jp/preprints/PDF/1991/9124/9124011.pdf <https://lib-extopc.kek.jp/preprints/PDF/1991/9124/9124011.pdf>

Cheers,

Olivier

> On 27 Sep 2021, at 18:01, Tetiana Kozynets <email address hidden> wrote:
>
> Question #698895 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/698895
>
> Status: Answered => Open
>
> Tetiana Kozynets is still having a problem:
> Hi Olivier,
>
> Thanks a lot for your quick reply.
>
> I am independently trying out the standalone calculation (from which I
> can get the matrix elements at any phase space point) as well as event
> generation (where I just provide the input momenta and as you say,
> extract the output afterwards). Do I understand it correctly that the
> events.lhe file will contain events in the proton rest frame if this is
> was the frame of my input in the event generation mode? I.e., something
> like event.particles[i].pz from that file will be in the proton rest
> frame?
>
> For the standalone calculation, what is then the default frame for the
> matrix elements, assuming (in the most general case) that they're not
> Lorentz-invariant? I would in fact like to perform the phase space
> integration on my own just as a sanity check (which is why I am running
> these two independent calculations), so such knowledge would be
> extremely helpful.
>
> Thanks a lot,
> Tetiana
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Tetiana Kozynets (kotania) said (last edit ):
#4

Thanks, Olivier. I am using the matrix2py.so routine in Python (compiled from the SubProcesses folder) to extract the information from the LHE event files. I am actually not certain if that layer boosts the events or not?

This actually leads me to another question, which may better belong in a different thread — I have been unable to compile allmatrix2py.so, trying to execute "make allmatrix2py.so" from the SubProcesses directory. The error is the standard one — "make: *** No rule to make target `allmatrix2py.so'. Stop." "matrix2py.so" compiles successfully, on the other hand, from the subdirectories of SubProcesses. Is there anything I could do to fix this?

Thank you for pointing me to the Helas manual also.

Cheers,
Tetiana

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

> Thanks, Olivier. I am using the matrix2py.so routine in Python (compiled
> from te SubProcesses folder) to extract the information from the LHE
> event files. I am actually not certain if that layer boosts the events
> or not?

no it does not.

> This actually leads me to another question, which may better belong in a
> different thread — I have been unable to compile allmatrix2py.so, trying
> to execute "make allmatrix2py.so" from the SubProcesses directory. The
> error is the standard one — "make: *** No rule to make target
> `allmatrix2py.so'. Stop." "matrix2py.so" compiles successfully, on the
> other hand, from the subdirectories of SubProcesses. Is there anything I
> could do to fix this?

indeed better to do another thread.
Just check that you use the "--prefix=int" option when generating the standalone code.
missing that argument might explain your issue.

Cheers,

Olivier

> On 28 Sep 2021, at 06:45, Tetiana Kozynets <email address hidden> wrote:
>
> Question #698895 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/698895
>
> Status: Answered => Open
>
> Tetiana Kozynets is still having a problem:
> Thanks, Olivier. I am using the matrix2py.so routine in Python (compiled
> from te SubProcesses folder) to extract the information from the LHE
> event files. I am actually not certain if that layer boosts the events
> or not?
>
> This actually leads me to another question, which may better belong in a
> different thread — I have been unable to compile allmatrix2py.so, trying
> to execute "make allmatrix2py.so" from the SubProcesses directory. The
> error is the standard one — "make: *** No rule to make target
> `allmatrix2py.so'. Stop." "matrix2py.so" compiles successfully, on the
> other hand, from the subdirectories of SubProcesses. Is there anything I
> could do to fix this?
>
> Thank you for pointing me to the Helas manual also.
>
> Cheers,
> Tetiana
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Tetiana Kozynets (kotania) said :
#6

Thanks Olivier Mattelaer, that solved my question.