[Rivet] Overwriting cross section with -x

Frank Siegert frank.siegert at cern.ch
Wed Jan 29 12:58:45 GMT 2014


Hi Riveters,

I noticed another small issue that we should fix before 2.1.0.
Currently, a XS specified on the command line (-> Core/Run.cc) is
overwritten by the analysis handler if the HepMC events contain the
cross section (https://rivet.hepforge.org/trac/browser/src/Core/AnalysisHandler.cc#L119).

As far as I can tell, an inelegant but simple stop-gap solution would be to call
 if (!isnan(_xs)) _ah.setCrossSection(_xs);
in Run::finalize (again).

But looking at Run vs. AnalysisHandler I see that there is a bit of
duplication/proliferation, especially wrt cross section
extraction/handling, making it worth cleaning it up a little bit
(maybe not for 2.1.0?).
What about the following proposal:
The ah.finalize() call is moved from bin/rivet into Run::finalize().
The Run::_xs only contains the user-specified xs, while
AnalysisHandler::_xs contains the current one read from events. In
Run::finalize we then call
if (!isnan(_xs)) _ah.setCrossSection(_xs);
before calling _ah.finalize().

What do you think? Which should I put into release-2-0 / default?

(I just realise that the if (_xs >= 0.0) in Run::init doesn't make
sense for NLO stuff. I will change that to isnan in any case.)

Cheers,
Frank


More information about the Rivet mailing list