Rivet is hosted by Hepforge, IPPP Durham


MCnet studentships!

Would you like to work on a short project involving Monte Carlo event generators?

MCnet offers 3-6 month fully funded studentships for current PhD students.

See montecarlonet.org for more information!

WANTED: Analysis code

The LHC performed marvelously in Run 1, and we are looking for as much analysis code as possible to make MC modelling even better for Run 2. If you are member of an experimental collaboration, please have a look at our wishlist and help us by providing us with Rivet analyses for your publications. This will also ensure that your measurements get used!

Important stuff

Team Rivet scoops silver at the Higgs+jets karting championship. Just pipped by Team NNLO, dammit.

The Rivet project (Robust Independent Validation of Experiment and Theory) is a toolkit for validation of Monte Carlo event generators. It provides a large (and ever growing) set of experimental analyses useful for MC generator development, validation, and tuning, as well as a convenient infrastructure for adding your own analyses. Rivet is the most widespread way by which analysis code from the LHC and other high-energy collider experiments is preserved for comparison to and development of future theory models.

Take me to the code!

Jump to Rivet library and analysis releases

Key features

Rivet is an object oriented C++ replacement for the venerable HZTool/HZSteer system. It is used by both phenomenologists/generator developers and by the LHC experiments for generator tuning, analysis prototyping, and MC-data comparisons.

Rivet's design emphasises the separation between HepMC records and where they came from, allowing it to be a completely cross-generator validation platform. Internally, it uses a computationally efficient mechanism (known as the "projections" system) to compute physical observables, so that re-calculation of common quantities is avoided.

Another key feature of Rivet is the avoidance of hard-coding reference data or histogram binnings in the analysis code: Rivet provides functions to extract this information from bundled data files, meaning that it is much easier to keep reference and generated data synchronised.

The Rivet user manual is kept up to date on the arXiv (1003.0694 [hep-ph]).

For Fortran generators you may find it useful to combine Rivet with the AGILe generator steering interface, but for C++ generators such as Herwig++ and Sherpa the built-in control programs are much better. For Pythia8, we recommend using the Sacrifice interface, which behaves much like AGILe.

More information on the status of the project, as well as a more detailed description and documentation, can be found via the links on the left.

Rivet Contrib

Since it's proven impossible for us to make new Rivet releases for analysis updates faster than every 1-2 months, we have created a "Rivet Contrib" area in our downloads site where newly submitted analysis codes will be placed immediately: see https://www.hepforge.org/archive/rivet/contrib/ and the README file in that location. These analyses don't come with any "Rivet guarantee" but we hope it will be useful to users who want to use the very latest analyses and don't mind doing some technical work and physics checking to get them working!

2015-03-24: Rivet release 2.2.1

We're very pleased to announce the release of Rivet 2.2.1 and an accompanying release of version 1.3.1 of the YODA histogramming package.

This new release of Rivet is a minor update but contains several important bug fixes and improvements: a bugfix in isCharmHadron(pid), use of vector rather than scalar pT for the MET cut in WFinder, a fix to the transverse mass setting (also) in WFinder, improvement of numerical tolerance handling in the Vector3::angle() function, and adding a missing projection comparison operator to the HeavyHadrons class.

In addition, the Cuts system has been improved with new Cuts::abseta and Cuts::absrap selectors, and the ability to logically combine them with standard &&, || etc. operators. Many Projection interfaces have also been updated to use the new Cuts functionality. We've also added a --cmd option to rivet-buildplugin to help users of LCG Grid distributions, and the possibiity to pass PLOT parameters via a pseudo-file argument to rivet-cmphistos and rivet-mkhtml. Finally we have provided a FinalPartons projection to help, for example, with the new QCDAware Fastjet plugin, a set of particle charge/sign comparison functions, and 16 new analyses! Please see the ChangeLog for the full list of substantial changes since release 2.2.0.

As always, this new version is recommended for immediate use. Please keep sending us your feedback and analysis codes!

Download source code

2013-12-16: Rivet release 1.9.0

Release 1.9.0 of Rivet is now available. This is the final release in the 1.x series, primarily to supply new analyses which were provided to us during the development of version 2.0.0. A version 2.1 will be provided to bring the analysis content of the 2.x line up to the same point. As always, many thanks to everyone involved in preparing the new analyses!

Rivet 1.9.0 is recommended for immediate production use for those who have not yet moved to the 2.x series. An updated manual – documenting use of the system, the standard analyses, and the underlying mechanisms – is available in the tarball, on this website, and on the arXiv. All 1.x users are encouraged to upgrade immediately... and to then immediately move on to 2.x!

Please let us know your experiences using Rivet, send us your analysis code to be included in future releases, and suggest improvements by emailing us at rivet@NOSPAMprojects.hepforge.org