VBFNLO includes a GNU conforming build system for portability and an easy build and installation procedure.


The basic installation requires GNU make, a FORTRAN 95 (we have tested gfortran and ifort) and a C++ compiler. VBFNLO offers the possibility of using the LHAPDF library for parton distribution functions. In order to include the electroweak corrections, the program LoopTools is required. Additionally, FeynHiggs can be linked to the code in order to calculate the Higgs boson sector of the MSSM, although a SLHA file can be used as an alternative. If the simulation of Kaluza-Klein resonances is enabled, an installation of the GNU Scientific Library GSL is required. VBFNLO can also be linked to ROOT and HepMC to produce histograms and event files in those formats.

Compilation and installation

After unpacking the source archive and entering the source directory, the configure script can be invoked with several options, a complete list being available via ./configure --help. Among these, the most important ones are:

  • --prefix=[path]
    Install Vbfnlo in the location given by [path].
  • --enable-processes=[list]
    By default, the code for processes that do not contain hexagons (i.e. all processes except triboson + jet processes) is compiled. Optionally, [list] gives a comma-separated list of selected processes to be compiled. Possible process names are:
    • vbf — Vector boson fusion processes
    • qcdvjj — QCD-induced vector boson plus two jet production
    • qcdvvjj — QCD-induced vector boson pair plus two jet production
    • diboson — Double gauge boson production, including W and WH production
    • triboson — Triple gauge boson production
    • dibosonjet — Double gauge boson production with a hadronic jet, including Wj and WHj production
    • tribosonjet — Triple gauge boson production with a hadronic jet
    • hjjj — Higgs boson plus three jet production in vector boson fusion
    • ggf — Higgs boson plus two jets via gluon fusion
    • all_except_hexagons — All the above processes except those with hexagon contributions (default)
    • all — All of the above processes
  • FC=/path/to/fortran/compiler
    choose a specific fortran compiler, like gfortran or ifort
  • --disable-NLO
    Disable the next-to-leading order QCD corrections.
  • --enable-kk
    Enable simulation of Kaluza-Klein resonances. Disabled by default, the Kaluza-Klein option requires the installation of the GNU Scientific Library, which can be specified via --with-gsl.
  • --enable-spin2
    Enable simulation of spin-2 resonances. Disabled by default.
  • --with-gsl=[path]
    Enable use of the GNU Scientific Library. [path] specifies the location of the GSL installation. If the GSL is available directly from the system libraries this flag can be omitted.
  • --with-LHAPDF=[path]
    Enable the use of LHAPDF instead of the built-in PDF sets. Disabled by default. [path] specifies the location of the LHAPDF installation.
  • --with-LOOPTOOLS=[path]
    Enable the use of LoopTools in order to calculate the electroweak corrections. If this option is not specified, the electroweak corrections cannot be included. Disabled by default. [path] specifies the location of the LoopTools installation.
  • --with-FEYNHIGGS=[path]
    Enable the use of FeynHiggs to calculate the MSSM Higgs sector parameters. Disabled by default. [path] specifies the location of the FeynHiggs installation.
  • --with-root=[path]
    Enable the use of Root. [path] specifies the location of the Root installation.
  • --with-hepmc=[path]
    Enable the production of HepMC format event files. [path] specifies the location of the HepMC installation.

Note that, by default, both LoopTools and FeynHiggs are installed as static libraries. If this is the case, configure must be run with the option --enable-shared=no. Also note that, in order to link to an external program such as LoopTools, the external program needs to have been compiled using the same compiler (e.g. gfortran) as VBFNLO. Once configure has finished successfully, the make and make install commands will compile and install VBFNLO, respectively.

The source does not need to be modified to change the simulation parameters. VBFNLO offers several kinematic cuts and scale choices via input files. These are described in the manual. In addition, it provides a few basic histograms. Cuts, histograms and scale choices not already provided may be added in the utilities/cuts.F, utilities/histograms.F and utilities/scales.F files.

Installation directory layout

The installation is performed in a standard Unix-layout, i.e. the directory specified with the --prefix option of the configure script contains the following directories:

  • bin/: vbfnlo and ggflo executables.
  • include/VBFNLO/: VBFNLO header files.
  • lib/VBFNLO/: VBFNLO modules as dynamically loadable libraries. These can also be used independently from one of the main programs.
  • share/VBFNLO/: Input files and internal PDF tables.

Running the program

Both the vbfnlo and ggflo executables contained in the bin directory of the installation path look for input files in their current working directory. An alternative path to input files may be specified explicitly by passing the --input=path argument to the programs, with path denoting the full path where input files are located.
I.e. in order to run VBFNLO from the installation (prefix) directory, the command is

./bin/vbfnlo --input=[path]

The input files contained in the share/VBFNLO directory are meant to represent default settings and should not be changed. We therefore recommend that the user copies the input files to a separate directory. Here, special settings may be chosen in the input files and the program can be run in that directory without specifying further options.

VBFNLO outputs a running 'log' to the terminal, containing information about the settings used. In addition, a file (named, by default, xsection.out) is produced, which contains only the LO and NLO cross sections, with the associated errors. Histograms and event files, in various forms, can be output as described in the manual.

Last modified:: 2016/09/16 11:32