Skip to content

Installation and Setup

Jeremy McCormick edited this page Jan 28, 2020 · 1 revision

Prerequisites

Overview

HPSMC has a number of tools and external packages which are required for building and installing it. There are also a number of HPS-specific programs which must be pre-installed and specified via a config file. The details of these are described below.

Linux is the only supported operating system.

Required Tools

Building and installing HPSMC requires a number of tools.

Program Version Notes
gcc > 4.8 A sufficiently recent version should be already installed on Linux
gfortran This version will match your GCC installation
java 1.8 Other versions may work but have not been tested
python 2.7 Might work with Python 3 but untested
gunzip Should come preinstalled in Linux
GSL

If one or more of these are not present, then the cmake command will fail. You will need to install the tools on your system using the package manager.

On Debian Linux you can install gfortran using:

sudo apt-get install gfortran

GSL can be installed using:

sudo apt-get install libgsl-dev

It can be complicated to install Java using your package manager, so you may want to do it manually.

On a shared system, these tools should already be present. If not then contact your system administrator to have the missing ones installed.

External Packages

HPSMC provides wrapper scripts for all the tools used for event generation and simulation. These are no longer pre-built for you and must be installed or downloaded manually.

Package Version Repository Notes
SLIC master SLIC github Any recent tag should also be fine
hps-java hps-java github The most recent snapshot is usually what you want or a recent release tag
LCIO 2.7.4 or 2.7.5 LCIO github No other version of LCIO should be used
hps-fieldmaps master hps-fieldmaps github

If SLIC is not present then refer to its github page for installation instructions.

hps-java can be installed by following the detailed installation instructions.

More recent versions of LCIO cannot be used due to data incompatibilities. You should install this tag and not the master or another version. Installation instructions can be found in the LCIO documentation. You may want to include the switches -DINSTALL_DOC=OFF -DBUILD_ROOTDICT=OFF when running CMake to disable building the ROOT interface and the generation of unneeded documentation.

The fieldmap files need to be decompressed after cloning the hps-fieldmaps github repository using a command such as:

cd hps-fieldmaps; for f in $(ls *.tar.gz); do tar -zxvf $f; done

These packages are currently NOT verified in the installation step of HPSMC, so if they are not installed correctly you will typically only see errors when running job scripts.

Internal Packages

HPSMC includes a number of tools in its repository which are built automatically.

These include the following:

Package Description Location Notes
EGS5 event generator generators/egs5
Madgraph4 event generator generators/madgraph4
Madgraph5 event generator generators/madgraph5
StdHep Lib StdHep library tools/stdhep-lib
StdHep Tools StdHep format utilities tools/stdhep-tools

Typically you should not need to modify these programs, but the Location field lists their location relative to the hps-mc directory in case you need to access their source code.

Build Instructions

Once you have verified that all the required tools and packages are installed, you can build HPSMC as follows:

cd hps-mc; mkdir build
cd build; cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/my/hps-mc/install
make install

The installation directory is a location of your choosing.

After running these commands you should see bin and lib sub-directories under your installation directory.

Job Setup

A few environment variables need to be set for HPSMC to find programs and to run correctly.

You can set these up automatically by sourcing the setup script generated by the build e.g.

source /path/to/my/install/bin/hps-mc-env.sh

The setup can be verified by checking for one of the installed scripts such as:

which hps-mc-job

If this does not work then the installation was not successful.