JHUGen MELA
JHUGen v7.5.6, MELA v2.4.2
Matrix element calculations as used in JHUGen.
|
MELA is an important tool that was used for the Higgs boson discovery and for precise measurements of its structure and interactions. Please see the website and papers cited there for more details, and kindly cite those papers when using this code.
This is the documentation for JHUGenMELA, a package that produces Matrix Element Calculations as used in JHUGen, MCFM-JHUGen, and Madgraph.
The main user-interface in C++ can be found at the documentation for the Mela class, while the Python can be found in the PyMela section.
Documentation written by Mohit Srivastav in 2024.
Mela is a part of the JHUGen package, and is installed by downloading a tar file located on the website. Once you have un-tar'd the file, you will have to compile JHUGenMELA (alongside JHUGen, MCFM, and anything else you wish to use within the JHUGen package).
Compile using
Once you compile, make sure to follow the on-screen instructions to set up all extra environment variables, i.e., run
There are a few tutorials lying around for MELA. They are listed below:
There have also been a few presentations regarding improvements to MELA, and about the MELA package in general. Refer to these presentations for more information.
There are also examples that may prove useful in your own MELA endeavors. The repository for the aforementioned MELA tutorials are located below:
On a more general note - the steps to begin re-weighting events with MELA are as follows:
C++
in the TVar namespace. Use Mela::SetProcess to do this step.There are also two MELA interfaces. These interfaces are two different methods of configuring MELA and utilizing it, usually starting from a ROOT file.
MELAcalc is a fully Pythonic interface to using ROOT files reweighted with MELA. One does not need CERN ROOT
, only uproot
, numpy
, and MELA
itself. MELAcalc is currently on version 3 - you can find it here. The configuration for the interface is done through .json
files. You can find the documentation for MELAcalc here: TODO: MELACALC DOCS.
MELAAnalytics is a C++
based interface to MELA that utilizes csv files as configurations to MELA. MELAAnalytics has been used for analyses in the past. You can find it here
The root of MELA is underlying FORTRAN code. From there, there is a C++
interface that adds a variety of functionality such as angle calculation, and the ability to interface to other different matrix-element calculators like MCFM
or Madgraph
. The functions in the C++
implementation are documented throughout this page, but especially in the source code documentation for Mela.
From there, there is a Python implementation that utilizes PyBind11
to generate the Python package. It is somewhat unique in nature, and so is documented differently here
JHUGenMELA is a tool that also builds off of the work of others. Their work is credited here.
MCFM-JHUGen is built off of MCFM, and its printout is shown below:
MCFM matrix elements are used in a variety of different calculations, and can be compiled in the JHUGen package by calling ./compile.sh
within the MCFM-JHUGen folder.
There are certain processes that are use matrix elements generated with Madgraph utilizing the SMEFTsim package. MG5_aMC@nlo is used to generate these matrix elements, with all of them being at leading order. The printout for Madgraph with SMEFTsim is located below:
Madgraph matrix elements are currently used to reweight processes that were generated via Madgraph, colloquially referred to as "MadMELA", (which will be the preferred nomenclature moving forward). The Madgraph matrix elements that we provide are generated using the SMEFTsim
package.
Information about "MadMELA" can be found here.