|
[Rivet] Overwriting cross section with -xFrank Siegert frank.siegert at cern.chWed 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 |