-
Notifications
You must be signed in to change notification settings - Fork 6
Installation and Setup
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.
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.
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.
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.
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.
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.