Getting the value of the matrixelement for an event

Asked by Ponf on 2018-04-05

Given a set of events for some process, is there a way to calculate the value of the matrixelement for those events with MadGraph?

I tried using the standalone_cpp output of MadGraph but I don't really see an easy way to figure out the order of the momenta that the standalone output needs.

Question information

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

Hi,

standalone output is indeed what you are looking for.

For the ordering, you have to look at the expected order in the created file.
If you use fortran/python output, then you have some function such that you can learn from the code itself the order expected by the standalone output. This is what is used by the reweighting module to know the ordering.

Cheers,

Olivier

Ponf (ponf) said : #2

Hi,

I'm using the C++ output. Can you tell me in which files exactly I have to look for the ordering? It's not always the same order as in the classname, is it?

hi,

at the beginning of each
CPPProcess.cc<http://CPPProcess.cc>

you have line like:

//==========================================================================
// Class member functions for calculating the matrix elements for
// Process: u u > t t~ u u WEIGHTED<=4 @1
// Process: c c > t t~ c c WEIGHTED<=4 @1
// Process: d d > t t~ d d WEIGHTED<=4 @1
// Process: s s > t t~ s s WEIGHTED<=4 @1

Which tells you which matrix element are associated to that directory and in which order.

Cheers,

Olivier

On 5 Apr 2018, at 17:27, Ponf <<email address hidden><mailto:<email address hidden>>> wrote:

Question #667586 on MadGraph5_aMC@NLO changed:
https://answers.launchpad.net/mg5amcnlo/+question/667586

   Status: Answered => Open

Ponf is still having a problem:
Hi,

I'm using the C++ output. Can you tell me in which files exactly I have
to look for the ordering? It's not always the same order as in the
classname, is it?

--
You received this question notification because you are an answer
contact for MadGraph5_aMC@NLO.

Ponf (ponf) said : #4

Hi,

thanks for your answers. I have a process with a decay and the comments are:

//==========================================================================
// Class member functions for calculating the matrix elements for
// Process: g g > t t~ WEIGHTED<=2 @1
// * Decay: t > w+ b WEIGHTED<=2
// * Decay: w+ > ve e+ WEIGHTED<=2
// * Decay: t~ > w- b~ WEIGHTED<=2
// * Decay: w- > e- ve~ WEIGHTED<=2
// Process: g g > t t~ WEIGHTED<=2 @1
// * Decay: t > w+ b WEIGHTED<=2
// * Decay: w+ > vm mu+ WEIGHTED<=2
// * Decay: t~ > w- b~ WEIGHTED<=2
// * Decay: w- > e- ve~ WEIGHTED<=2
// Process: g g > t t~ WEIGHTED<=2 @1
// * Decay: t > w+ b WEIGHTED<=2
// * Decay: w+ > ve e+ WEIGHTED<=2
// * Decay: t~ > w- b~ WEIGHTED<=2
// * Decay: w- > mu- vm~ WEIGHTED<=2
// Process: g g > t t~ WEIGHTED<=2 @1
// * Decay: t > w+ b WEIGHTED<=2
// * Decay: w+ > vm mu+ WEIGHTED<=2
// * Decay: t~ > w- b~ WEIGHTED<=2
// * Decay: w- > mu- vm~ WEIGHTED<=2

How do I have to read this?

Ok this is a tricky case.

For the ordering you have to replace the particle by what they are decaying into

so
> // Process: g g > t t~ WEIGHTED<=2 @1
> // * Decay: t > w+ b WEIGHTED<=2
> // * Decay: w+ > ve e+ WEIGHTED<=2
> // * Decay: t~ > w- b~ WEIGHTED<=2
> // * Decay: w- > e- ve~ WEIGHTED<=2

is equivalent (for the order) to

> // Process: g g > w+ b w- b~ WEIGHTED<=2 @1
> // * Decay: w+ > ve e+ WEIGHTED<=2
> // * Decay: w- > e- ve~ WEIGHTED<=2
which is equivalent to

> // Process: g g > ve e+ b e- ve~ b~ WEIGHTED<=2 @1

Cheers,

Olivier

> On 9 Apr 2018, at 13:32, Ponf <email address hidden> wrote:
>
> Question #667586 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/667586
>
> Status: Answered => Open
>
> Ponf is still having a problem:
> Hi,
>
> thanks for your answers. I have a process with a decay and the comments
> are:
>
> //==========================================================================
> // Class member functions for calculating the matrix elements for
> // Process: g g > t t~ WEIGHTED<=2 @1
> // * Decay: t > w+ b WEIGHTED<=2
> // * Decay: w+ > ve e+ WEIGHTED<=2
> // * Decay: t~ > w- b~ WEIGHTED<=2
> // * Decay: w- > e- ve~ WEIGHTED<=2
> // Process: g g > t t~ WEIGHTED<=2 @1
> // * Decay: t > w+ b WEIGHTED<=2
> // * Decay: w+ > vm mu+ WEIGHTED<=2
> // * Decay: t~ > w- b~ WEIGHTED<=2
> // * Decay: w- > e- ve~ WEIGHTED<=2
> // Process: g g > t t~ WEIGHTED<=2 @1
> // * Decay: t > w+ b WEIGHTED<=2
> // * Decay: w+ > ve e+ WEIGHTED<=2
> // * Decay: t~ > w- b~ WEIGHTED<=2
> // * Decay: w- > mu- vm~ WEIGHTED<=2
> // Process: g g > t t~ WEIGHTED<=2 @1
> // * Decay: t > w+ b WEIGHTED<=2
> // * Decay: w+ > vm mu+ WEIGHTED<=2
> // * Decay: t~ > w- b~ WEIGHTED<=2
> // * Decay: w- > mu- vm~ WEIGHTED<=2
>
> How do I have to read this?
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Ponf (ponf) said : #6

Thanks Olivier Mattelaer, that solved my question.