openloops is hosted by Hepforge, IPPP Durham

Download

You may obtain the latest release version of OpenLoops directly from our git repository To do so, use the following command:

git clone https://gitlab.com/openloops/OpenLoops.git

The latest release version of OpenLoops can also directly be downloaded as OpenLoops-2.1.2.tar.gz. All release versions can be found here.

The latest beta version can be obtained via:

git clone -b public_beta https://gitlab.com/openloops/OpenLoops.git

Prerequisites

Python 2.7 or ≥ 3.5, gfortran ≥ 4.6.

Installation

After checkout or download of OpenLoops you can compile the code using the following procedure:

cd OpenLoops
./scons

We ship OpenLoops with a working copy of SCons, but you can of course also use your local installation.

To override default build options (including the fortran compiler, where currently only gfortran & ifort are supported), create a file 'openloops.cfg' in your OpenLoops installation directory with the following format:

[OpenLoops]
fortran_compiler = ifort

Apple M1/M2

On Apple ARM-based machines (i.e. M1, M2) you have to ensure a consistent gcc setup as OpenLoops does not compile with clang on these machines. This can be achieved by adding the following to the file 'openloops.cfg' in your OpenLoops installation directory:

[OpenLoops]
fortran_compiler = gfortran-11
cc = gcc-11
cxx = g++-11
cpp = cpp-11

Updates

To pull and compile updates simply run (given OpenLoops was downloaded from our svn)

./openloops update

This will also update all installed process libraries (see below) if necessary.

Process libraries

Before starting to use OpenLoops you have to download and compile the process libraries for the amplitudes you want to use. You can download several individual processes via

./openloops libinstall <processes>

where <processes> is a white space separated list of the processes or process collections (with suffix ".coll") which should be installed. Some process collections are defined in the process repository (in particular "LHC.coll" for a list of essential LHC processes and "all.coll" to install all processes from the repository). User-defined collections can be set up as plain text files with file extension ".coll" with line break separated names of process libraries. Note that installing all available processes will require a considerbale amount of time for compiling and several hundreds of MB of disk space.

A list of currently available libraries can be found here. The set of available processes will be extended continuously. However, please do not hesitate to send us an email if the process you want to study is not (yet) available.

These process libraries always contain all required partonic subprocesses including (for most processes) real radiation amplitudes, i.e. tree amplitudes with one additional parton. In order to compile these real radiation tree amplitudes, process libraries have to be installed via

./openloops libinstall <processes> compile_extra=1

To update process libraries (this will install new libraries if available and replace old libraries if newer versions are available) run

./openloops update