# Getting the value of the matrixelement for an event

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

- 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://

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>

Question #667586 on MadGraph5_aMC@NLO changed:

https:/

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:/

>

> 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.