Upgrade Gaudi algorithm to new properties. Event number issues solved in RIVET 3. Enhance tests.
This MR includes a work-around for the issues with the HepMC event number in RIVET 3 runs and a few more enhacements. The code is also a bit re-ordered so that most of changes to the deep-copy of the GenEvent
provided by Gauss is gathered in a single internal method. Since the event number issue originated from the changes in the way HepMC events are processed by RIVET 3 and later (i.e. the correct treatment of event weights), a few more properties are added to the GaudiAlgorithm
to allow steering the newly introduced RIVET options. The internal event counter used to correct automatically the event number (if constant) is also automatically disabled if HepMC event weights are found in the HepMC stream and all other option values indicate that these weights should be considered by RIVET. Also all properties are ported to use Gaudi::Property
class.
Some of the code was changed to make reference to the HepMC version abstraction layer provided by RIVET so that less conflicts should appear when/if switching the HepMC library version (from current 2 to 3). Also code was patched to deal correctly with the newly introduced analysis module options implemented by RIVET as passing the values through the analysis name.
Finally, the example RIVET analysis module used by the 2nd test was a bit improved to include distributions of particles depending on their heaviest flavour quark and the test reference was updated accordingly.