[Rivet] What's going on with beam energies?

Leif Lönnblad leif.lonnblad at thep.lu.se
Tue Jan 21 09:16:33 GMT 2014


Hi all,

Christian, my student, noticed that when running the analysis 
CMS_2011_S8978280 in Rivet 2.0, the histograms filled are always 
compared to the 900 GeV data, even if we're running with 7 TeV. In the 
old version this was handled in the booking of the histograms in init(), 
where sqrtS() was checked and the histograms were booked accordingly. I 
think I localized the change to revision 4013 (by David).

Now I seem to remember that the beam energy handling was supposed to 
change, and that some of the checking should be done centrally, but I 
can't really find where the booking of histograms would be affected.
If you agree that this is a bug, I will fix it.

We also noted that when requesting an analysis made at 900 GeV, it is 
not switched off when generating events at 7 TeV, even if 
AnalysisHandler::_ignoreBeams is false. I found the following suspicious 
lines in Analysis.cc:

     foreach (const DoublePair& ep, requiredEnergies()) {
       if ((fuzzyEquals(ep.first, energies.first, 0.01) &&
            fuzzyEquals(ep.second, energies.second, 0.01)) ||
           (fuzzyEquals(ep.first, energies.second, 0.01) &&
            fuzzyEquals(ep.second, energies.first, 0.01)) ||
           ((ep.first - energies.first) < 1*GeV &&
            (ep.second - energies.second) < 1*GeV) ||
           ((ep.first - energies.second) < 1*GeV &&
            (ep.second - energies.first) < 1*GeV)) {
         beamEnergiesOk =  true;
         break;
       }
     }

I assume that the four '(blah - duh) < 1*GeV' statements should have an 
"abs" and will fix this if no one objects.

Cheers,
Leif




More information about the Rivet mailing list