Introduction¶
The Matrix Element Method¶
The Matrix Element Method (MEM) is a multivariate method in which a perevent likelihood ("weight") is computed from first principles. This weight can be expressed, given a certain theoretical hypothesis, by the convolution of the matrix element (squared) corresponding to this hypothesis, the parton distribution functions, and the transfer functions and efficiencies describing the evolution from a partonlevel configuration to the observed event:
Where:

is the matrix element (usually LO) under hypothesis .

The transfer function is the probability density that ends up as the measured event in the detector. It describes parton shower, hadronization, and detector and reconstruction effects. It is normalised as while the probability that ends up as a selected event is included in the efficiency term .

and are the Parton Distribution Functions (PDFs) and Björkenx; is the phasespace density term; is the hadronic centreofmass energy.

The denominator , including the total crosssection of the process and the overall acceptance ensures that is correctly normalised as a likelihood. In some use cases, this normalisation factor can be neglected.
This perevent likelihood has two main analysis usecases:

Constructing the sample likelihood and measuring a parameter using the maximum likelihood method

Constructing a NeymanPearson discriminant to discriminate a process (signal) against others (backgrounds), useful either for conducting discrete hypothesis testing or for searches for rare processes or New Physics signals
However, computing an integral like () is a difficult numerical problem, due to the presence of sharp peaks in the integrand (propagators in the matrix element, transfer functions on angles and energies). Solving it in a reasonable amout of time requires the use of both adaptive MonteCarlo integration algorithms and smart phasespace parametrisations.
MoMEMta¶
MoMEMta is a modular C++ framework designed with the aim to allow a quick and efficient computation of weights under a large number of theoretical hypotheses, while remaining easily configurable by the user, enabling easy interfacing with existing analysis workflows.
The modularity of MoMEMta consists in configuring the integrand of () by linking modules together. A module is responsible for a small part of the computation: transfer functions, phasespace parametrisation, matrix element, …, each module’s output being fed to other modules as input. This configuration is realised by the user through a file written in the Lua scripting language. The integration is then carried out by MoMEMta using MonteCarlo algorithms (such as Vegas) as implemented in the Cuba library. MoMEMta ships modules convering most needs, but it is possible for the user to write additional modules to perform specific tasks.
It should be noted that MoMEMta provides dedicated phasespace parametrisations especially suited for the computation of MEM integrals, greatly improving the speed of the calculations compared to a naive approach. The philosophy of these parametrisations is mostly based on results described in ^{1}, with a few additions.