rivet is hosted by Hepforge, IPPP Durham
close Warning: Can't synchronize with repository "(default)" (Repository path '/hepforge/hg/rivet/public/rivet' does not exist.). Look in the Trac log for more information.

Version 117 (modified by Andy Buckley, 9 years ago) (diff)


Getting started with Rivet

These instructions are aimed at users who want to install and run a release of Rivet.

If you are running on the CERN lxplus system, or any other system where the /afs/cern.ch/sw/lcg applications are usable, you should be able to use the LCG/Genser installation of Rivet without having to build it yourself: see the tutorial slides in our documentation area.

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 the way that the CERN packages are installed, and the need to use a non-system compiler and library set, it is very recommended that you use the script installation to get Rivet working at CERN.

If you wish, you can of course do everything the script does, by hand. See ManualInstallation for details.

  1. (optional). Set up to use the right compiler and SWIG versions on SLC5: by default the system compiler on SLC5 is gcc 4.1 and Python is version 2.4... which are not the versions used by LCG or the LHC experiments. You probably don't want this, not least because you won't be able to use any of the Genser pre-compiled libraries. To use the LCG compiler/Python setup on an AFS system, do this:
    export PATH=/afs/cern.ch/sw/lcg/external/Python/2.6.5/x86_64-slc5-gcc43-opt/bin:$PATH
    export LD_LIBRARY_PATH=/afs/cern.ch/sw/lcg/external/Python/2.6.5/x86_64-slc5-gcc43-opt/lib:$LD_LIBRARY_PATH
    export PATH=/afs/cern.ch/sw/lcg/external/swig/1.3.40/x86_64-slc5-gcc43-opt/bin:$PATH
    source /afs/cern.ch/sw/lcg/contrib/gcc/4.3/x86_64-slc5-gcc43-opt/setup.sh

This is correct at the time of writing (5th July 2011) -- you may need to update these instructions to match your current LCG setup.

  1. 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
  1. Run the script, with your chosen installation directory (e.g. $HOME/local) as an optional argument. By default the script will install to $PWD/local, where $PWD is the current directory. You can get usage information with
    ./rivet-bootstrap --help

and then to install, run

./rivet-bootstrap --prefix=$HOME/local

or just


to install to $PWD/local. We will refer to the installation root path as $PREFIX.

If you have trouble with the Boost library (hopefully you won't) see TroubleshootingBoost.

  1. 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:
    source rivetenv.sh

This done, you can try running the rivet program with the -h flag to get some help:

  rivet -h

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.

  1. 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 --install-agile option:
    ./rivet-bootstrap --install-agile

To see if agile-runmc can find any generators to run, execute this command:

  agile-runmc --list-gens

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're having trouble, there may well be some relevant help on the TroubleShooting page.