|
[Rivet] What's going on with beam energies?Leif Lönnblad leif.lonnblad at thep.lu.seTue 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 |