Rivet release 2.7.2

Posted May 21, 2019 by Rivet Developers ‐ 3 min read

We are very pleased to release Rivet 2.7.2, an increment of the 2.7 release series. This builds on the updates in version 2.7.1, which added a large number of machinery and analysis bugfixes and improvements, including better Python 3 compatibility, and more contributed analyses.

We are very pleased to release Rivet 2.7.2, an increment of the 2.7 release series which fixes a bug for heavy ion ‘data preloading’, applies better numerical precision in azimuthal angle calculation, improves the MC_TTBAR and several other analyses, adds projection refinements and new analyses for ep scattering physics, and provides new isum() and discardIfAny() high-level functions for compact expression of analysis logic. This builds on the updates in version 2.7.1, which added a large number of machinery and analysis bugfixes and improvements, including better Python 3 compatibility, and more contributed analyses.

The 2.7.x series itself introduced several major new features. Many of these should be considered to be experimental, in that they may not work perfectly and may therefore be modified in coming minor releases. Many of the new features are related to heavy ion analyses and will not affect any other analyses in previous release. But some changes will be noticeable to non-heavy-ion users.

The most visible change is that the size of the produced yoda files has doubled. This is done in order to enable having reentrant finalize. The produced yoda files will thus include the same analysis objects as previous versions, but will be supplemented by the same objects in the state they were before finalize() was called. These objects will have the same names as the normal ones but prefixed with “/RAW”. The reentrant finalize does not yet work for all analyses, since it requires that all information is stored in analysis objects, but this will be fixed in upcoming minor releases.

Another visible change is that analyses can now be given pre-defined options. Specifying analyses on the form “MyAnalysis:Opt1=val1:Opt2=val2” will create and add a MyAnalysis object making the options available through the Analysis::getOption() function. Several objects of MyAnalysis with different options can be added in the same run. This is used to replace the duplication of some previous analyses, eg. ATLAS_2017_I1589844 which was duplicated in ATLAS_2017_I1589844_EL and ATLAS_2017_I1589844_MU for running with electron and muon channels separately.

The heavy ion features include a new way of handling centrality binning (which can also be influenced by options). Other things related to typical heavy ion analyses include an EventMixingFinalState projection and a Correlators framework for flow analyses.

We also draw your attention to the new Rivet “LHC analysis coverage” web pages, where we have cross-referenced the Rivet analysis collection with all the LHC papers known to the CERN CDS system: https://rivet.hepforge.org/rivet-coverage . We have broken down the completion rates by each experiment, to provide a bit of competition!

Clearly-unsuitable papers have been removed from this tabulation, and “urgent” and in-progress analysis implementations are indicated: please let us know if you would like an analysis to be marked as in-progress or as high-priority and we’ll update our files. The coverage pages will be periodically updated: complete coverage will always be a moving target!