OpenLoops is hosted by Hepforge, IPPP Durham

Getting started

To get started first all required process libraries have to be downloaded and compiled. Further libraries can be downloaded at any time.

Now you are ready to use OpenLoops as a plugin to Sherpa or Herwig++.

Alternatively, you can interface OpenLoops to your own Monte Carlo program. A minimal Fortran90 example how this can be done is presented in the following. More detailed instructions on the OpenLoops interface can be found here.

Minimal example

The following minimal example loads the library for the process dd ➞ Zuu and calculates the corresponding tree and one-loop amplitude for a random phase-space point. The required library has to be downloaded before via

./openloops libinstall ppzjj


program main
  use openloops
  implicit none
  integer :: id
  real(8) :: psp(0:3,5), m2l0, m2l1(0:2), acc, sqrt_s = 1000

  call set_parameter("order_ew", 1) ! coupling order
  id = register_process("1 -1 -> 23 2 -2", 11) ! register loop process d dbar --> Z u ubar
  call start() ! initialise
  call set_parameter("mass(23)", 91.2);
  call set_parameter("alpha_s", 0.1)
  call set_parameter("mu", 100)
  call phase_space_point(id, sqrt_s, psp) ! obtain a random phase-space point from Rambo
  call evaluate_loop(id, psp, m2l0, m2l1, acc) ! calculate tree and loop matrix elements
  call finish()

  print *, "  d dbar --> Z u ubar for a RAMBO phase space point"
  print *, "  tree                     loop ep^0                  loop ep^-1               loop ep^-2                 accuracy"
  print *, m2l0, m2l1, acc
end program main


This example can also be found inside the file ./examples/OL_minimal.f90 of the OpenLoops installation and can be compiled via:

cd ./example
gfortran -o OL_minimal.o -c -O2 -I../lib_src/openloops/mod OL_minimal.f90
gfortran -o OL_minimal -Wl,-rpath=../lib OL_minimal.o -L../lib -lopenloops

or with the SCons build system via

cd ./example
../scons OL_minimal