Skip to content
Snippets Groups Projects
user avatar
Jonas Lindert authored
1a5b3e79
History
=========
OpenLoops
=========

Copyright 2014-2024
Federico Buccioni, J.-N. Lang, Jonas Lindert, Philipp Maierhoefer, Stefano Pozzorini, Hantian Zhang, Max Zoller

Authors

    Federico Buccioni, buccioni@physik.uzh.ch
    Jean-Nicolas Lang, jlang@physik.uzh.ch
    Jonas Lindert, jonas.m.lindert@durham.ac.uk
    Philipp Maierhoefer, philipp@physik.uzh.ch
    Stefano Pozzorini, pozzorin@physik.uzh.ch
    Hantian Zhang, hantian.zhang@physik.uzh.ch
    Max Zoller, zoller@physik.uzh.ch

Former Authors
    Fabio Cascioli, cascioli@physik.uzh.ch

Contact

    openloops@projects.hepforge.org

If you would like to receive notifications about OpenLoops updates and news
per e-mail, please sign up to our mailing list at

    https://www.hepforge.org/lists/listinfo/openloops-announce

OpenLoops is a Fortran 90 package for the calculation of tree and one-loop
matrix elements for Standard Model processes based on

    F. Buccioni, J.-N. Lang, J.M. Lindert, P. Maierhöfer, S. Pozzorini, H. Zhang, M. Zoller
    Eur.Phys.J. C79 (2019) no.10, 866, arXiv:1907.13071

    F. Buccioni, S. Pozzorini, M. Zoller
    Eur.Phys.J. C78 (2018) no.1, 70, arXiv:1710.11452

    F. Cascioli, P. Maierhoefer and S. Pozzorini,
    Phys. Rev. Lett. 108 (2012) 111601, arXiv:1111.5206

License

    OpenLoops is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    OpenLoops is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with OpenLoops.  If not, see <http://www.gnu.org/licenses/>.


============
Installation
============

Requirements

    gfortran 4.6 or later, or ifort
    Python 2.7 or Python >= 3.5
    git (optional)

You can either download OpenLoops from the Git repository (recommended)

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

or from the OpenLoops web page

    https://openloops.hepforge.org/downloads

Compile

    cd OpenLoops
    ./scons

Download and compile process libraries

    ./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 "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.

A list of the available process libraries can be found here

    http://openloops.hepforge.org -> Process libraries -> OpenLoops 2

Process libraries usually include all real correction processes required
for an NLO calculation. However these processes are not compiled by default.
Note that Sherpa uses its own matrix elements for real corrections, thus
compiling OpenLoops real corrections is not required for usage with Sherpa.
In order to activate the compilation of real corrections, create a file named
"openloops.cfg" in your installation directory which contains the following
(besides other options which you might have set):

    [OpenLoops]
    compile_extra = 1

The set of available processes will be extended continuously.
If you need a process which is not (yet) available, please contact the
OpenLoops authors.


======================================
Update OpenLoops and process libraries
======================================

Note that automatic updates of the process independent OpenLoops code
are only supported when OpenLoops was installed from Git.

To update from Git and update all installed processes

    ./openloops update

To only update installed processes, but not OpenLoops itself
(this also works when OpenLoops was not installed from Git)

    ./openloops update --processes

Updating individual process libraries works the same way as installing
new processes.

    ./openloops libinstall <processes>

If process collections are used, new processes in the collection
will be installed and previously installed processes will be updated
if newer versions are available. E.g.

    ./openloops libinstall all.coll

Updating/installing processes also creates/updates a local database
of all processes which are available for download. This database is used
at runtime to report if a requested process is available for download,
if it is not yet installed.


=====================
Support and citations
=====================

Please help us improving OpenLoops by sending feedback to

    openloops@projects.hepforge.org

If you use OpenLoops (or an event sample generated with Sherpa+OpenLoops)
please cite

    F. Buccioni, J.-N. Lang, J.M. Lindert, P. Maierhöfer, S. Pozzorini, H. Zhang, M. Zoller
    Eur.Phys.J. C79 (2019) no.10, 866, arXiv:1907.13071

    F. Buccioni, S. Pozzorini, M. Zoller
    Eur.Phys.J. C78 (2018) no.1, 70, arXiv:1710.11452

    F. Cascioli, P. Maierhoefer and S. Pozzorini,
    Phys. Rev. Lett. 108 (2012) 111601, arXiv:1111.5206


OpenLoops makes use of the following third-party tools which are shipped and compiled
together with OpenLoops.

    Collier
    A. Denner, S. Dittmaier, L. Hofer, Comput.Phys.Commun. 212 (2017) 220-238, arXiv:1604.06792

    CutTools
    G. Ossola, C. Papadopoulos, R. Pittau, JHEP 0803 (2008) 042, arXiv:0711.3596

    OneLOop
    A. van Hameren, Comput. Phys. Commun. 182 (2011) 2427-2438, arXiv:1007.4716


================
Sherpa+OpenLoops
================

OpenLoops can be used as a plug-in of Sherpa 2.1.0 or later. For the
installation of Sherpa and the usage of Sherpa+OpenLoops please refer to the
Sherpa documentation at

    https://sherpa.hepforge.org

OpenLoops must be enabled by configuring Sherpa with the '--enable-openloops'
option

    ./configure --enable-openloops=</path/to/OpenLoops> [other configure options]
    make
    make install

The OpenLoops installation path can be modified at runtime by setting
(in the Sherpa run card or command line)

    OL_PREFIX=</path/to/OpenLoops>

To run Sherpa in combination with OpenLoops it is sufficient to set the flag

    Loop_Generator=OpenLoops

in the Sherpa runcard.