Skip to content

cms-externals/openloops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=========
OpenLoops
=========

Copyright 2014 Fabio Cascioli, Jonas Lindert, Philipp Maierhoefer, Stefano Pozzorini

Authors

    Fabio Cascioli, [email protected]
    Jonas Lindert, [email protected]
    Philipp Maierhoefer, [email protected]
    Stefano Pozzorini, [email protected]

Contact

    [email protected]

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. 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.x starting with 2.4
    Apache Subversion (optional, to install from SVN)

You can either download OpenLoops from SVN (recommended)

    svn checkout http://openloops.hepforge.org/svn/OpenLoops/branches/public OpenLoops

or from the OpenLoops web page

    http://www.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/processes

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 SVN.

To update from SVN 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 SVN)

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

    [email protected]

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

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

In the computation of loop amplitudes, OpenLoops uses CutTools for OPP reduction
and OneLOop to compute scalar integrals (unless other reduction libraries are
installed and used). If you use CutTools and OneLOop please cite

    G. Ossola, C. Papadopoulos, R. Pittau, JHEP 0803 (2008) 042, arXiv:0711.3596
    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. Standard Sherpa+OpenLoops run cards can be found at

    http://openloops.hepforge.org/sherpa-runcards