JHUGen MELA  JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
PyMela

There exists a Python implementation of MELA functions created via PyBind11. These functions are written in mela_binding.cpp. There are three groups of functions that are implemented:

  • Functions that are implemented as pass-by-reference in C++ that need to be converted to functions that return a value
  • Functions that don't translate well between Python and C++ that need to be rewritten in a more compatible format
  • Functions that just need to be referenced within the PyBind framework without any extra overhead

The first two categories of functions are detailed in the Novel Python Functions section. These changes vary, but generally exist for compatibility or ease-of-use cases.

Other Classes Encompassed

The following classes in the C++ implementation are encompassed by the PyBind11 module, and are documented in the following subpages:

These classes serve to help the functionality of MELA such as providing an avenue to input vectors, index values through enumerations, etc.

Novel Python Functions

There are a series of functions that are re-defined within the Python MELA bindings for a variety of reasons, mostly to convert function from pass-by-reference to pass-by-value. These are referenced here.

MELA itself

MELA in Python is a (quite large!) class within the PyBind11 module stated at the top of the page. All the functions are either defined at the top of the file, or is taken directly from the header, Mela.h. They are defined in the following subpage.

Mela::Mela
Mela(double LHCsqrts_=13., double mh_=125., TVar::VerbosityLevel verbosity_=TVar::ERROR)
the MELA constructor
Definition: Mela.cc:53