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.
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
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
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.
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
Run a parameterized detector simulation, outputting a ROOT file. You can:
- specify Delphes card
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
SimpleAnalysisfor 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.