Prerequisites of the Herwig program¶
The Herwig program is a large framework which incorporates many third party libraries. If you are Using the Herwig bootstrap script you do not need to take care of the installation of these packages. However, it may be that you want to install some of these packages manually or have them already installed on your machine. To make sure that Herwig works correctly make sure that all installations are performed with parameters such as outlined below.
We start with the numerical tools underlying Herwig. In the second section we describe the the different tools Herwig uses to compute the matrix elements.
Note: If you have already running ThePEG or Herwig++ installations on your
system, make sure that while installing the programs no leftovers
of these are present in your LD_LIBRARY_PATH
.
We assume that all the packages are to be installed in a common location
specified by the environment variable INSTALL_LOC
which can be set using
export INSTALL_LOC=/where/to/install/the/packages
Tools¶
BOOST¶
Boost is a collection of widely used C++ libraries and headers for
numerical computation. However, the Boost package will only work with
Herwig if installed with --layout=tagged
and the libraries are
installed. To have only the headers (e.g. Rivet’s default) is not
enough. This means your Boost installation should look similar to the
following (use the --with-python
if you also like to use Boost
libraries within python code)
cd /where/to/build/boost
wget -O boost_1_62_0.tar.gz "http://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.gz/download"
tar -xvf boost_1_62_0.tar.gz
cd boost_1_62_0
./bootstrap.sh --prefix=$INSTALL_LOC --with-python=$(which python)
./b2 install --layout=tagged
Note: without this tag wrong BOOST installs might get linked against the build, which leads to an error during make.
Note: this is not necessary if you are Using the Herwig bootstrap script.
Note: the above BOOST version is the most current one at the time of writing. You may find newer versions and additional information on the BOOST web-page.
RIVET¶
RIVET is a standardized HEP analysis tool. A thorough installation
guide can be found on the Rivet web-page. However, make sure to NOT
install BOOST with RIVET as this will not work for Herwig. Using the
rivet-bootstrap
this means your installation might look like
INSTALL_PREFIX=$INSTALL_LOC INSTALL_BOOST=0 BOOSTPATH=$INSTALL_LOC MAKE="make -j $(nproc)" ./rivet-bootstrap
If not configured differently RIVET automatically will install GSL, FastJet and HepMC. If you want to install these packages yourself (which we do not recommend) here is a short guide to installing each of them.
HEPMC¶
HepMC is a widely used event format:
cd /where/to/build/hepmc
wget "http://lcgapp.cern.ch/project/simu/HepMC/download/HepMC-2.06.09.tar.gz"
tar -xvf HepMC-2.06.09.tar.gz
cd HepMC-2.06.09
./configure --prefix=$INSTALL_LOC --with-momentum=GEV --with-length=MM
make -j$(nproc)
make check
make install
Note: the above HepMC version is the most current one at the time of writing. You might find newer versions and additional information on the HepMC web-page.
GSL¶
The Gnu Scientific Library (GSL) collects numerical standard tools. To install a local version follow these steps
cd /where/to/build/gsl
wget "http://ftp.heanet.ie/mirrors/gnu/gsl/gsl-2.2.1.tar.gz"
tar -xvf gsl-2.2.1.tar.gz
cd gsl-2.2.1
./configure --prefix=$INSTALL_LOC
make -j$(nproc)
make check
make install
Note: the above GSL version is the most current one at the time of writing. You might find newer versions and additional information on the GSL web-page.
FastJet¶
The FastJet package provides implementation of all the common jet algorithms. To install a local version follow these steps:
cd /where/to/build/fastjet
wget http://fastjet.fr/repo/fastjet-3.2.1.tar.gz
tar -xvf fastjet-3.2.1.tar.gz
cd fastjet-3.2.1
./configure --prefix=$INSTALL_LOC --enable-allplugins
make -j$(nproc)
make check
make install
Note: the above FastJet version is the most current one at the time of writing. You might find newer versions and additional information on the FastJet web-page.
LHAPDF¶
LHAPDF is a HEP tool to compute and interface the parton density functions. A local installation might look like
cd /where/to/build/lhapdf
wget "https://lhapdf.hepforge.org/downloads/LHAPDF-6.1.6.tar.gz"
tar -xvf LHAPDF-6.1.6.tar.gz
cd LHAPDF-6.1.6
./configure --prefix=$INSTALL_LOC --with-boost=$INSTALL_LOC
make -j$(nproc)
make check
make install
The pdf sets themselves have to be installed manually with
lhapdf install <PDFSET>
. As Herwig is using the CT14 PDF sets by default it
is a good idea to install these using
lhapdf install CT14nlo
lhapdf install CT14lo
Note: the above LHAPDF version is the most current one at the time of writing. You may find newer versions and additional information on the LHAPDF web-page.
ThePEG¶
ThePEG is the standardized event generator frame work Herwig relies on. Therefore, it has mostly the same prerequisites as Herwig itself. In addition it provides the interface to the parton density functions (pdf’s) via the LHAPDF tool. The code can be downloaded using
wget "https://thepeg.hepforge.org/downloads/ThePEG-2.1.0.tar.bz2"
tar xjf ThePEG-2.1.0.tar.bz2
Alternatively advanced users may wish to checkout the code from the Mercurial repository
The code can then be configured and built
cd ThePEG-2.1.0
./configure --prefix=$INSTALL_LOC --with-fastjet=$INSTALL_LOC \
--with-gsl=$INSTALL_LOC --with-rivet=$INSTALL_LOC \
--with-hepmc=$INSTALL_LOC --with-lhapdf=$INSTALL_LOC \
--with-boost=$INSTALL_LOC
make -j$(nproc)
make check
make install
External amplitude providers¶
You do not need to install any of these packages for Herwig to work for simple processes. However, for more complicated processes we would recommend installing at least Madgraph and one of the general one-loop programs.
GoSam¶
GoSam is a general package for the calculation of tree-level and one-loop amplitudes. It can be installed by first downloading the GoSam installer and then running it. It is advisable to do this in a new directory
mkdir gosam
cd gosam
wget "http://gosam.hepforge.org/gosam_installer.py"
chmod 0755 ./gosam_installer.py
./gosam_installer.py -b -v --prefix=$INSTALL_LOC
This will install the latest version. You can find additional information at the GoSam web-page.
MadGraph¶
Madgraph/aMC@NLO is a general program which can calculate both tree-level and one-loop amplitudes. Unlike some of the other programs the Madgraph code does not need to be configured, compiled and installed just downloaded
wget "https://launchpad.net/mg5amcnlo/2.0/2.5.x/+download/MG5_aMC_v2.5.3.tar.gz"
tar xzf MG5_aMC_v2.5.3.tar.gz
Note: the above Madgraph/aMC@NLO version is the most current one at the time of writing. You may find newer versions and additional information on the MadGraph/aMC@NLO web-page.
Note:
As Madgraph is not compiled and installed when specifying the path later to link it with Herwig you must supply the fullpath, i.e.
/where/you/extracted/the/tarball/MG5_aMC_v2_5_3To calculate NLO processes you need an installed version of golem. We recommend that you install GoSam as described above. If you install golem yourself make sure that the libary is in your
LD_LIBRARY_PATH
.Madgraph writes some files to the source location the first time it is run, which can cause problems if you install it on a read-only filesystem. We would therefore recommend you run a simple process during install to avoid this problem
cd MG5_aMC_v2_5_3/ bin/mg5_aMC generate e+ e- > u u~ output quit() rm -rf PROC_sm_0
NJet¶
NJet is a program for the calculation of jets, W+jets, Z+jets, A+jets and AA+jets processes. It can be downloaded and compiled using
wget https://bitbucket.org/njet/njet/downloads/njet-2.0.0.tar.gz
tar xzf njet-2.0.0.tar.gz
cd njet-2.0.0
./configure --prefix=$INSTALL_LOC --disable-autoflags
make -j$(nproc)
make check
make install
Note:
- The above NJet version is the most current one at the time of writing. You may find newer versions and additional information on the NJet web-page.
- Configure with –disable-autoflags, otherwise NJet is compiled with
-march=native
and-mtune=native
which results in SIGILL coredumps on non-compatible CPUs.
OpenLoops¶
The OpenLoops program can calculate a wide range of one-loop ampiltudes. It can be downloaded using
svn co http://openloops.hepforge.org/svn/OpenLoops/branches/public OpenLoops
There are a qwide range of processses available, here we will only install the processes for \(q\bar{q}\to \gamma/Z^0\to \ell^+\ell^-\)
cd OpenLoops
./openloops libinstall ppll
The full list of available processes can be found on the OpenLoops web-page.
Note:
As OpenLoops is not installed when specifying the path later to link it with Herwig you must supply the fullpath, i.e.
/where/you/checkedout/openloops/OpenLoopsOpenLoops needs to be complied with either
gfortran 4.6
or later orifort
.
VBFNLO¶
The VBFNLO program simulates vector-boson fusion processes at both leading and next-to-leading order. It can be downloaded and installed using
wget "http://www.itp.kit.edu/~vbfnloweb/archive/vbfnlo-3.0.0beta3.tgz"
tar xzf vbfnlo-3.0.0beta3.tgz
cd VBFNLO-3.0.0beta3
./configure --prefix=$INSTALL_LOC
make -s -j$(nproc)
make -s install
More information can be found on the VBFNLO web-page.
Decays¶
Starting with Herwig7.1 we also provide the option of using the EvtGen package to perform the decays of hadrons. EvtGen in turn uses TAUOLA to perform some tau decays, PHOTOS to generate QED radiation and Pythia8 to hadronize any partonic decays. Due to problems on some platforms we do not build EvtGen with TAUOLA or PHOTOS by default, however you can install them if you wish to do so. As EvtGen will only build with specific versions (especially of Pythia 8) we strongly recommend you use the versions nentioned below, unless you use a consistent set of versions for a more recent EvtGen version.
TAUOLA¶
The TAUOLA program simulates the decays of tau leptons, it is only used by EvtGen, and even then not by default. It can be downloaded and installed using
wget "http://tauolapp.web.cern.ch/tauolapp/resources/TAUOLA.1.1.5/TAUOLA.1.1.5.tar.gz"
tar xzf TAUOLA.1.1.5.tar.gz
cd TAUOLA
./configure --prefix=$INSTALL_LOC --with-hepmc=$INSTALL_LOC
make -s -j$(nproc)
make -s install
PHOTOS¶
The PHOTOS program simulates the QED radiation in decays, it is only used by EvtGen. It can be downloaded and installed using
wget "http://photospp.web.cern.ch/photospp/resources/PHOTOS.3.61/PHOTOS.3.61.tar.gz"
tar xzf PHOTOS.3.61.tar.gz
cd PHOTOS
./configure --prefix=$INSTALL_LOC --with-hepmc=$INSTALL_LOC
make -s -j$(nproc)
make -s install
Pythia8¶
The Pythia8 event generator is only used by EvtGen to hadronize decays. It can be downloaded and installed using
wget "http://home.thep.lu.se/~torbjorn/pythia8/pythia8186.tgz"
tar xzf pythia8186.tgz
cd pythia8186
./configure --prefix=$INSTALL_LOC --enable-shared --with-hepmc=$INSTALL_LOC
make -s -j$(nproc)
make -s install
EvtGen¶
The EvtGen decay package can be used to perform the decays of, in particular bottom, hadrons. It can be downloaded and installed using
wget "http://evtgen.warwick.ac.uk/static/srcrep/R01-06-00/EvtGen.R01-06-00.tar.gz"
tar xzf EvtGen.R01-06-00.tar.gz
cd EvtGen/R01-06-00
./configure --prefix=$INSTALL_LOC --prefix=$INSTALL_LOC --hepmcdir=$INSTALL_LOC \
--tauoladir=$INSTALL_LOC --photosdir=$INSTALL_LOC --pythiadir=$INSTALL_LOC
make -s -j$(nproc)
make -s install