|Version 112 (modified by 11 years ago) (diff),|
Getting started with Rivet
These instructions are aimed at users who want to install and run a release of Rivet. GettingStartedForDevelopers has some additional or replacement steps for people wishing to check out the development version from the repository and build from there.
Rivet installation instructions
If you are installing Rivet on an Apple Mac, please take a look at the MacInstallationIssues first.
The simplest Rivet installation from source uses a "bootstrap" script to install Rivet, plus some dependency libraries if required. The script will also try to use copies of the dependencies from the CERN AFS area if it is mounted on your system at
/afs/cern.ch. Due to some issues with the CERN system, it is very recommended that you use the script installation to get Rivet working at CERN.
- Download the bootstrap script from http://svn.hepforge.org/rivet/bootstrap/rivet-bootstrap into a temporary working directory, and make it executable:
cd /scratch/rivet wget http://svn.hepforge.org/rivet/bootstrap/rivet-bootstrap chmod +x rivet-bootstrap
- Run the script, with your chosen installation directory (e.g.
$HOME/local) as an optional argument. By default the script will install to
$PWDis the current directory. You can get usage information with
and then to install, run
to install to
$PWD/local. We will refer to the installation root path as
Troubleshooting: the curse of Boost!
A typical stumbling point on systems where not all packages are either installed via a system package manager or in the LCG area, is the Boost package on which Rivet depends (it is a library of future C++ standard library feature candidates). If you have an installation of Boost on your system in a non-standard place, e.g.
/opt, then you can point the bootstrap at this with the
This usually works, but Boost is often installed in strangely non-standard ways! The above command implies that the bootstrap will be able to find the Boost headers in either
/opt/include/boost-1_XXX/boost (where XXX is the Boost version: we just look for the
include/boost-* pattern.) If you don't have Boost installed in one of these forms, you will have to "normalise" the Boost header directory structure by judicious use of symlinks.
Finally, if you have no Boost on your system at all, and you can't get a pre-packaged one with your system package manager, you can tell the bootstrap to install its own copy in
This can take some time!
- After the script grinds away for a while, it will tell you about some system environment variables which you may wish to set for more convenient usage of Rivet: these are the system
PATH(for finding the executables),
LD_LIBRARY_PATH(for finding the libraries), and
PYTHONPATH(for finding the Python library modules). If installing to a system location, such as
usr/local, you probably won't have to set these. If you wish to run generators via AGILe, then you may also need to set
AGILE_GEN_PATH, which is used to find generator libraries in the structure used by [LCG Genser](http://lcgapp.cern.ch/project/simu/generator/) MC library archive, as used by the LHC experiments. For simplicity, you can source these variables from a file which is produced by the bootstrapper:
This done, you can try running the
rivet program with the
-h flag to get some help:
If that works, everything is installed correctly. If you are using the
bash shell in your terminal, then Rivet will offer you programmable tab completion: try typing
rivet and pressing the Tab key!
You can now check out the FirstRivetRun guide, unless you want to use generators via AGILe.
You may wish to add the environment variable settings to your
~/.bashrc shell config file, so that Rivet (and AGILe) will work without needing any special session setup.
- Optionally, you can also test the AGILe generator interface library at this stage. You can do this most easily by (re-)running the bootstrap script with the
To see if
agile-runmc can find any generators to run, execute this command:
If no generator names are returned, you need to set up a local mirror of the Genser generators archive. Instructions for this can be found at GenserMirror. If you have already done this, and still get no generators in the listing, you should check that your
$AGILE_GEN_PATH environment variable is pointing to the correct path.
If at least one generator is listed, you can try to generate a few events in LHC mode, e.g.:
agile-runmc Pythia6:418 --beams pp:14TeV
Similarly to Rivet, the
agile-runmc command will give you programmable Tab completion in bash shell: this makes life much more pleasant - try it!
If you wish, you can of course do everything the script does, by hand. See ManualInstallation for details.