Skip to content

scipp-atlas/mapyde

Repository files navigation

mapyde v0.5.0

MaPyDe stands for MadGraph-Pythia-Delphes which is a utility that allows one to run all of the various HEP toolings or chain them together and perform a quick analysis with the results, such as running CERN ATLAS SimpleAnalysis or pyhf.


Mapyde logo
CI/CD CI - Test CI - Docker Docs
Docs doc Zenodo
Package PyPI - Downloads PyPI - Version PyPI platforms Conda-Forge
Meta GitHub - Discussion GitHub - Issue License - Apache 2.0

Docker Images

Docker images are made available in our container registry.

docker pull ghcr.io/scipp-atlas/mapyde/madgraph
docker pull ghcr.io/scipp-atlas/mapyde/delphes
docker pull ghcr.io/scipp-atlas/mapyde/pyplotting

If you want to run on a machine with an NVidia GPU and use it for limit setting with pyhf, then there's a container for that too:

docker pull ghcr.io/scipp-atlas/mario-mapyde/pyplotting-cuda

Running

Everyone is centralized around the concept of providing a user configuration file that references a template. By default, defaults.toml is used (if not specified). These configuration files significantly control how to run or execute the various steps in the chain of mapyde. Use the command line interface to get started:

# display the help
mapyde --help

# open Textual TUI
mapyde --tui

# display the prefix path for data cards shipped with mapyde
mapyde --prefix cards

# parse and display the config
mapyde config parse user.toml

# run all steps
maypde run all user.toml

# run only madgraph
mapyde run madgraph user.toml

# display the help for running
mapyde run --help

Configuration Details

There are a lot of different configuration options one can specify. For right now, the user is asked to look at defaults.toml, run mapyde config parse user.toml, open a discussion, or look at the source code.

MadGraph

Produces a hepmc file. You can:

  • specify process, param, and run cards
    • define particle masses in config file
    • define additional kinematic cuts to apply at parton level
  • specify pythia card
  • define center of mass energy

Delphes

Run a parameterized detector simulation, outputting a ROOT file. You can:

  • specify Delphes card

Analysis

Analyze the Delphes output, which could be user-provided analysis code. There are some scripts already provided for you:

  • scripts/Delphes2SA.py will make an ntuple that can be parsed by SimpleAnalysis for limit setting.
  • scripts/SimpleAna.py will make a generic "flat" ntuple in a ROOT file.
  • scripts/muscan.py will use pyhf to perform a mu-scan and compute upper-limits for a public likelihood injected with results from SimpleAnalysis.