[Rivet-svn] rivet: Numerical fix in OPAL 4jet analysis

Rivet Mercurial rivet at projects.hepforge.org
Mon Dec 12 11:15:02 GMT 2016


details:   https://rivet.hepforge.org/hg/rivet/rev/428add1d4b74
branches:  release-2-5-x
changeset: 5644:428add1d4b74
user:      Holger Schulz <holger.schulz at durham.ac.uk>
date:      Mon Dec 12 11:00:33 2016 +0000
description:
Numerical fix in OPAL 4jet analysis

diffs (25 lines):

--- a/ChangeLog	Mon Dec 12 10:27:01 2016 +0000
+++ b/ChangeLog	Mon Dec 12 11:00:33 2016 +0000
@@ -1,3 +1,9 @@
+2016-12-12  Holger Schulz  <holger.schulz at cern.ch>
+
+	* Add cut in BZ calculation in OPAL 4 jet analysis. Paper is not clear
+	about treatment of parallel vectors, leads to division by zero and
+	nan-fill and subsequent YODA RangeError (OPAL_2001_S4553896)
+
 2016-12-12  Andy Buckley  <andy.buckley at cern.ch>
 
 	* Tweak to 'convert' call to improve the thumbnail quality from rivet-mkhtml/make-plots.
--- a/src/Analyses/OPAL_2001_S4553896.cc	Mon Dec 12 10:27:01 2016 +0000
+++ b/src/Analyses/OPAL_2001_S4553896.cc	Mon Dec 12 11:00:33 2016 +0000
@@ -111,7 +111,9 @@
           if (jet.E()>3.0*GeV) jets.push_back(jet);
         }
         if (jets.size() == 4) {
-          _h_BZ->fill(fabs(calc_BZ(jets)), weight);
+          // Prevent nan-fill due to division by zero in calc_BZ
+          double bz = fabs(calc_BZ(jets));
+          if (!std::isnan(bz)) _h_BZ->fill(bz, weight);
           _h_KSW->fill(calc_KSW(jets), weight);
           _h_NR->fill(fabs(calc_NR(jets)), weight);
           _h_ALPHA34->fill(calc_ALPHA34(jets), weight);


More information about the Rivet-svn mailing list