.. _Installation: Installation ============ Download -------- A tar archive of the HEJ 2 source code can be downloaded and decompressed with the command:: curl https://hej.hepforge.org/downloads?f=HEJ_2.0.tar.gz | tar -xz To obtain the latest stable HEJ version, `HEJ_2.0.tar.gz` should be replaced by `HEJ.tar.gz`. Alternatively, the HEJ source code can be obtained by installing the `git version control system `_. and running:: git clone https://phab.hepforge.org/source/hej.git We also provide a `Docker image `_ containing a HEJ 2 installation on. This image can be pulled with:: docker pull hejdock/hej When using the Docker image the remaining installation steps can be skipped. Prerequisites ------------- Before installing HEJ 2, you need the following programs and libraries: - `CMake `_ version 3.1 - A compiler supporting the C++14 standard, for example `gcc `_ 5 or later - `FastJet `_ - `CLHEP `_ - `LHAPDF `_ - The `IOStreams` and `uBLAS` `boost `_ libraries - `yaml-cpp `_ If you want to include finite top mass corrections in Higgs boson + jets production, you additionally need version 2 of the `QCDLoop `_ library. HEJ 2 supports versions 2 and 3 of `HepMC `_ if it is installed, but does not require it. Additional HEJ 2 can be interfaced to `rivet `_, which requires HepMC version 2. Compilation ----------- To compile and install HEJ 2 run:: cmake source/directory -DCMAKE_INSTALL_PREFIX=target/directory make install :file:`source/directory` is the directory containing the file :file:`CMakeLists.txt`. If you omit :code:`-DCMAKE_INSTALL_PREFIX=target/directory` HEJ 2 will be installed to some default location. In case some of the aforementioned prerequisites are not found by :code:`cmake` you can give a hint by adding an additional argument :code:`-Dlibname_ROOT_DIR=/directory/with/library`, where :code:`libname` should be replaced by the name of the library in question. To not include specific packages one can add :code:`-DEXCLUDE_packagename=TRUE` to :code:`cmake`, e.g. by setting :code:`-DEXCLUDE_rivet=TRUE` HEJ 2 will not be interfaced to `rivet` even if rivet is available on the system. Testing ------- To test your installation, download the NNPDF 2.3 PDF set with:: lhapdf install NNPDF23_nlo_as_0119 and run:: make test