Registered by Mihailo Backovic

ATTENTION: MadDM is a plugin for MadGraph 5. In order to install it and run it, start madgraph and type

             install maddm

in the command line. Then exit and start maddm with ./

 - At least M5G_aMC@NLO v.2.6.2 is required to run the latest version, now MadDM v.3.2.
- MadDM does not support Python 3, but works with Python 2.7.
- In order to run it with M5G_aMC@NLO v.2.8.X the six package is required.

MadDM v.3.2 is a numerical tool to compute dark matter relic abundance, dark matter nucleus scattering rates and dark matter indirect detection predictions in a generic model. The code is based on the existing MadGraph 5 architecture and as such is easily integrable into any MadGraph collider study. A simple Python interface offers a level of user-friendliness characteristic of MadGraph 5 without sacrificing functionality.

MadDM is able to calculate the dark matter relic abundance in models which include a multi-component dark sector, resonance annihilation channels and co-annihilations.

The direct detection module of the MadDM code calculates spin independent / spin dependent dark matter-nucleon cross sections and differential recoil rates as a function of recoil energy, angle and time. The code provides a simplified simulation of detector effects for a wide range of target materials and volumes.

The indirect detection module of the MadDM code computes the velocity averaged cross-section for dark matter particles annihilating into n final state particles. It further provides the energy spectra of photons, neutrinos and cosmic-rays generated by these final states after decaying, showering and hadronization. It automatically computes the flux of prompt neutrinos and gamma rays at detection while it provides a user friendly interface with the numerical DRAGON code for obtaining the flux of cosmic rays at Earth. It also provides a user friendly interface with the nested sampling PyMultiNest algorithm for efficient sampling of the model parameter space and allows as well to test the model against the Fermi-LAT dwarf spheroidal galaxy likelihood.

The new feature that has been introduced in the version 3.2 is the capability of computing loop-induced processes relevant for indirect detection phenomenology. More in particular MadDM is now able to compute fully automatically the annihilation of dark matter into gamma gamma, gamma Z, gamma H or gluon gluon, etc. Typically in generic dark matter models those final states are loop-induced processes, namely the tree level amplitude is zero. In case of the gamma-ray line final state, MadDM performs an analysis of the signal against the Fermi-LAT gamma-ray line data to see whether the model parameter space is allowed or not by the current exclusion limits at 95% CL. More details about all the new feature of MadDM can be found in the release paper arXiv:2107.04598.


MadDM has now been moved to github. The last stable version can be found here:

The use of launchpad is now deprecated for installing MadDM


MadDM needs Python version 2.7, SciPy and NumPy.

Getting started:

A basic tutorial is provided directly in MadDM by typing "tutorial" in the prompt shell.
The most updated manual for MadDM v3.1 is arXiv:2012.09016 [hep-ph]. Indirect detection is detailed in arXiv:1804.00044[hep-ph], direct detection in arXiv:1505.04190 [hep-ph], and relic density in arXiv:1308.4955 [hep-ph].

Some third-party packages can be installed using the shell command "install", please cite them in the appropriate way as indicated during the install phase if you use them.

MadDM now has its own command line which is designed to resemble the familiar madgraph command line structure.
For example, if you have a model name DMsimp with the dark matter candidate X (with mass MX) and mediator Y (with mass MY and width WY) in the model, you can generate relic density, direct detection etc. by executing the following commands (works as a script as well)

        import model DMsimp
        define darkmatter xd #This command is only necessary if you want to 'force' a DM candidate
        generate relic_density #You can also exclude particles with the '/' syntax
        add direct_detection
        add indirect_detection
        add indirect_detection g g # this command computes the loop-induced annihilation into a pairs of gluons
        add indirect_spectral_features # with this command all possible loop-induced processes involving photons are computed (aa, aZ, aH, a...)
        output DMsimp
        #For the simple grid 'scan' syntax, any python command works!
        set MX scan:[x for x in range(1, 100)] #sequentially scan over the darkmatter mass (variable MX in this case).
        set MY scan:[x for x in range(1, 100)] #same over the mediator mass
        set WY AUTO # automatic computation of the mediator width

Voila! The output will show up in the output folder of your project.

Project information

Mihailo Backovic
Apache Licence, Simplified BSD Licence, Creative Commons - No Rights Reserved

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.


Latest version is maddm3.2

All downloads