Accurate perturbative computation of cross-sections with Numerical Loop-Tree Duality.
Install MadGraph and alphaLoop:
wget https://launchpad.net/mg5amcnlo/2.0/2.7.x/+download/MG5aMC_3.0.2.beta.py3.tgz
cd <MG_ROOT_PATH>/PLUGIN && git clone [email protected]:vahirschi/alphaloop.git
As many of our example generations use an internal model to alphaLoop, it is best to soft-link it in the models directory of MadGraph:
cd models
ln -s ../PLUGIN/alphaloop/models/aL_sm .
Then
cd alphaloop
sh deploy.sh
to install all dependencies.
Then
cd LTD
python3 ltd_commons.py
to create a default hyperparameters file.
Then
cd ..
cd rust_backend
cargo build
to compile the Rust backend. Optionally, build --release
, for a slightly faster version.
To use the Python API of the Rust backend, compile with the Python API support using the following script:
Make sure to install the python dependencies
pip install scipy progressbar2 networkx python-igraph wheel
where pip
needs to refer to the pip
of at least Python 3.7. On clusters you may have to run
python3.7 -m pip install <PACKAGES>
You can run one of the example cards:
python3.7 ./bin/mg5_aMC --debug --mode=alphaloop PLUGIN/alphaloop/examples/epem_a_ddxg.aL
and integrate from the rust_backend
folder with:
cargo run -- --cross_section_set ../../MG5_aMC_v2_7_2_py3/TEST_epem_a_ddxg/FORM/Rust_inputs/all_MG_supergraphs.yaml --debug 0 -c 16
You may have to include the following to your library path:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<ALPHALOOP>/libraries/fjcore:<ALPHALOOP>/libraries/ecos:<ALPHALOOP>/libraries/scs/out:<ALPHALOOP>/libraries/Cuba-4.2
- Output a process and list all corresponding super-graphs from it.
- Then build a library that can be linked to rust_backed in order to retrieve a fast implementation of the numerator of all contributing super graphs.
- Run with the Rust backend