[Rivet-svn] r3512 - in branches/2011-07-aida2yoda: . bin data/anainfo data/plotinfo doc include/Rivet/Projections src/Analyses src/Projections

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Tue Dec 6 15:48:46 GMT 2011


Author: hoeth
Date: Tue Dec  6 15:48:46 2011
New Revision: 3512

Log:
merge r3480-3490 from trunk

Modified:
   branches/2011-07-aida2yoda/ChangeLog
   branches/2011-07-aida2yoda/bin/rivet-mkanalysis
   branches/2011-07-aida2yoda/data/anainfo/ATLAS_2011_S9212183.info
   branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2010_S8894728.plot
   branches/2011-07-aida2yoda/doc/bend.eps
   branches/2011-07-aida2yoda/doc/cone.eps
   branches/2011-07-aida2yoda/doc/thinker.eps
   branches/2011-07-aida2yoda/doc/warning.eps
   branches/2011-07-aida2yoda/include/Rivet/Projections/Hemispheres.hh
   branches/2011-07-aida2yoda/include/Rivet/Projections/Spherocity.hh
   branches/2011-07-aida2yoda/src/Analyses/OPAL_2004_S6132243.cc
   branches/2011-07-aida2yoda/src/Projections/Hemispheres.cc

Modified: branches/2011-07-aida2yoda/ChangeLog
==============================================================================
--- branches/2011-07-aida2yoda/ChangeLog	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/ChangeLog	Tue Dec  6 15:48:46 2011	(r3512)
@@ -1,3 +1,16 @@
+2011-11-18  Andy Buckley  <andy.buckley at cern.ch>
+
+	* Adding a guide to compiling a new analysis template to the
+	output message of rivet-mkanalysis.
+
+2011-11-11  Andy Buckley  <andy.buckley at cern.ch>
+
+	* Version 1.7.0 release!
+
+	* Protecting the OPAL 2004 analysis against NaNs in the
+	hemispheres projection -- I can't track the origin of these and
+	suspect some occasional memory corruption.
+
 2011-11-09  Andy Buckley  <andy at insectnation.org>
 
 	* Renaming source files for EXAMPLE and

Modified: branches/2011-07-aida2yoda/bin/rivet-mkanalysis
==============================================================================
--- branches/2011-07-aida2yoda/bin/rivet-mkanalysis	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/bin/rivet-mkanalysis	Tue Dec  6 15:48:46 2011	(r3512)
@@ -310,3 +310,6 @@
 """ % KEYWORDS
     f.write(src)
     f.close()
+
+
+    logging.info("Use e.g. 'rivet-buildplugin Rivet%s.so %s.cc' to compile the plugin" % (ANANAME, ANANAME))

Modified: branches/2011-07-aida2yoda/data/anainfo/ATLAS_2011_S9212183.info
==============================================================================
--- branches/2011-07-aida2yoda/data/anainfo/ATLAS_2011_S9212183.info	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/data/anainfo/ATLAS_2011_S9212183.info	Tue Dec  6 15:48:46 2011	(r3512)
@@ -1,35 +1,35 @@
-Name: ATLAS_2011_S9212183
-Year: 2011
-Summary: 0-Lepton Squark and Gluino Search
-Experiment: ATLAS
-Collider: LHC
-SpiresID: 9212183
-Status: UNVALIDATED
-Authors:
- - Chris Wymant <c.m.wymant at durham.ac.uk>
- - David Grellscheid <david.grellscheid at durham.ac.uk>
-References:
- - arXiv:1102.5290
-RunInfo:
-  BSM signal events at 7000 GeV.
-NumEvents: 25000 for BSM signals
-Beams: [p+, p+]
-Energies: [7000]
-Description:
-  '0-lepton search for squarks and gluinos by ATLAS at 7 TeV. 
-  Event counts in five signal regions are implemented as one-bin
-  histograms.'
-BibKey: Aad:2011ib
-BibTeX: '@article{Aad:2011ib,
-      author         = "Aad, Georges and others",
-      title          = "{Search for squarks and gluinos using final states with
-                        jets and missing transverse momentum with the ATLAS
-                        detector in sqrt(s) = 7 TeV proton-proton collisions}",
-      collaboration  = "ATLAS Collaboration",
-      year           = "2011",
-      note           = "* Temporary entry *",
-      eprint         = "1109.6572",
-      archivePrefix  = "arXiv",
-      primaryClass   = "hep-ex",
-}'
-
+Name: ATLAS_2011_S9212183
+Year: 2011
+Summary: 0-Lepton Squark and Gluino Search
+Experiment: ATLAS
+Collider: LHC
+SpiresID: 9212183
+Status: VALIDATED
+Authors:
+ - Chris Wymant <c.m.wymant at durham.ac.uk>
+ - David Grellscheid <david.grellscheid at durham.ac.uk>
+References:
+ - arXiv:1102.5290
+RunInfo:
+  BSM signal events at 7000 GeV.
+NumEvents: 10000 for BSM signals
+Beams: [p+, p+]
+Energies: [7000]
+Description:
+  '0-lepton search for squarks and gluinos by ATLAS at 7 TeV. 
+  Event counts in five signal regions are implemented as one-bin
+  histograms.'
+BibKey: Aad:2011ib
+BibTeX: '@article{Aad:2011ib,
+      author         = "Aad, Georges and others",
+      title          = "{Search for squarks and gluinos using final states with
+                        jets and missing transverse momentum with the ATLAS
+                        detector in sqrt(s) = 7 TeV proton-proton collisions}",
+      collaboration  = "ATLAS Collaboration",
+      year           = "2011",
+      note           = "* Temporary entry *",
+      eprint         = "1109.6572",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+}'
+

Modified: branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2010_S8894728.plot
==============================================================================
--- branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2010_S8894728.plot	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/data/plotinfo/ATLAS_2010_S8894728.plot	Tue Dec  6 15:48:46 2011	(r3512)
@@ -110,7 +110,7 @@
 
 # BEGIN PLOT /ATLAS_2010_S8894728/d05-x01-y01
 Title=Std. dev. Transverse $N_\text{chg}$ density vs. $p_\perp^\text{trk1}$, $\sqrt{s} = \text{900~GeV}$
-XLabel=$p_\perp$ (leading track)
+XLabel=$p_\perp$ (leading track) [GeV]
 YLabel=Std. dev. $\mathrm{d}^2 N_\text{chg}/\mathrm{d}\eta\mathrm{d}\phi$
 LogY=0
 LegendXPos=0.5
@@ -119,7 +119,7 @@
 
 # BEGIN PLOT /ATLAS_2010_S8894728/d06-x01-y01
 Title=Std. dev. Transverse $N_\text{chg}$ density vs. $p_\perp^\text{trk1}$, $\sqrt{s} = \text{7~TeV}$
-XLabel=$p_\perp$ (leading track)
+XLabel=$p_\perp$ (leading track) [GeV]
 YLabel=Std. dev. $\mathrm{d}^2 N_\text{chg}/\mathrm{d}\eta\mathrm{d}\phi$
 LogY=0
 LegendXPos=0.5
@@ -129,7 +129,7 @@
 
 # BEGIN PLOT /ATLAS_2010_S8894728/d07-x01-y01
 Title=Std. dev. Transverse $\sum p_\perp$ density vs. $p_\perp^\text{trk1}$, $\sqrt{s} = \text{900~GeV}$
-XLabel=$p_\perp$ (leading track)
+XLabel=$p_\perp$ (leading track) [GeV]
 YLabel=Std. dev. $\mathrm{d}^2 \sum p_\perp/\mathrm{d}\eta\mathrm{d}\phi$[GeV]
 LogY=0
 LegendXPos=0.5
@@ -138,7 +138,7 @@
 
 # BEGIN PLOT /ATLAS_2010_S8894728/d08-x01-y01
 Title=Std. dev. Transverse $\sum p_\perp$ density vs. $p_\perp^\text{trk1}$, $\sqrt{s} = \text{7~TeV}$
-XLabel=$p_\perp$ (leading track)
+XLabel=$p_\perp$ (leading track) [GeV]
 YLabel=Std. dev. $\mathrm{d}^2 \sum p_\perp/\mathrm{d}\eta\mathrm{d}\phi$[GeV]
 LogY=0
 LegendXPos=0.5

Modified: branches/2011-07-aida2yoda/doc/bend.eps
==============================================================================
--- branches/2011-07-aida2yoda/doc/bend.eps	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/doc/bend.eps	Tue Dec  6 15:48:46 2011	(r3512)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0 EPSF-3.0
 %%Creator: (GraphicsMagick)
 %%Title: (bend.eps)
-%%CreationDate: (Tue Aug  2 14:59:39 2011)
+%%CreationDate: (Fri Nov 11 23:14:46 2011)
 %%BoundingBox: 0 0 60 83
 %%DocumentData: Clean7Bit
 %%LanguageLevel: 1

Modified: branches/2011-07-aida2yoda/doc/cone.eps
==============================================================================
--- branches/2011-07-aida2yoda/doc/cone.eps	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/doc/cone.eps	Tue Dec  6 15:48:46 2011	(r3512)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0 EPSF-3.0
 %%Creator: (GraphicsMagick)
 %%Title: (cone.eps)
-%%CreationDate: (Tue Aug  2 14:59:39 2011)
+%%CreationDate: (Fri Nov 11 23:14:46 2011)
 %%BoundingBox: 0 0 157 211
 %%DocumentData: Clean7Bit
 %%LanguageLevel: 1

Modified: branches/2011-07-aida2yoda/doc/thinker.eps
==============================================================================
--- branches/2011-07-aida2yoda/doc/thinker.eps	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/doc/thinker.eps	Tue Dec  6 15:48:46 2011	(r3512)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0 EPSF-3.0
 %%Creator: (GraphicsMagick)
 %%Title: (thinker.eps)
-%%CreationDate: (Tue Aug  2 14:59:39 2011)
+%%CreationDate: (Fri Nov 11 23:14:46 2011)
 %%BoundingBox: 0 0 143 200
 %%DocumentData: Clean7Bit
 %%LanguageLevel: 1

Modified: branches/2011-07-aida2yoda/doc/warning.eps
==============================================================================
--- branches/2011-07-aida2yoda/doc/warning.eps	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/doc/warning.eps	Tue Dec  6 15:48:46 2011	(r3512)
@@ -1,7 +1,7 @@
 %!PS-Adobe-3.0 EPSF-3.0
 %%Creator: (GraphicsMagick)
 %%Title: (warning.eps)
-%%CreationDate: (Tue Aug  2 14:59:39 2011)
+%%CreationDate: (Fri Nov 11 23:14:46 2011)
 %%BoundingBox: 0 0 116 116
 %%DocumentData: Clean7Bit
 %%LanguageLevel: 1

Modified: branches/2011-07-aida2yoda/include/Rivet/Projections/Hemispheres.hh
==============================================================================
--- branches/2011-07-aida2yoda/include/Rivet/Projections/Hemispheres.hh	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/include/Rivet/Projections/Hemispheres.hh	Tue Dec  6 15:48:46 2011	(r3512)
@@ -10,55 +10,51 @@
 
 namespace Rivet {
 
-  /**
-     @brief Calculate the hemisphere masses and broadenings.
-
-     Calculate the hemisphere masses and broadenings, with event hemispheres
-     defined by the plane normal to the thrust vector, \f$ \vec{n}_\mathrm{T} \f$.
-
-     @todo Allow axes to be defined by sphericity: superclass Thrust and Sphericity as AxisDefinition?
-
-     The "high" hemisphere mass,
-     \f$ M^2_\mathrm{high} / E^2_\mathrm{vis} \f$, is defined as
-     \f[
-     \frac{M^2_\mathrm{high}}{E^2_\mathrm{vis}} =
-     \frac{1}{E^2_\mathrm{vis}} \max
-     \left(
-     \left| \sum_{\vec{p}_k \cdot \vec{n}_\mathrm{T} > 0} p_k \right|^2 ,
-     \left| \sum_{\vec{p}_k \cdot \vec{n}_\mathrm{T} < 0} p_k \right|^2
-     \right)
-     \f]
-     and the corresponding "low" hemisphere mass,
-     \f$ M^2_\mathrm{low} / E^2_\mathrm{vis} \f$,
-     is the sum of momentum vectors in the opposite hemisphere, i.e.
-     \f$ \max \rightarrow \min \f$ in the formula above.
-
-     Finally, we define a hemisphere mass difference:
-     \f[
-     \frac{M^2_\mathrm{diff} }{ E^2_\mathrm{vis}} =
-     \frac{ M^2_\mathrm{high} - M^2_\mathrm{low} }{ E^2_\mathrm{vis}} .
-     \f]
-
-     Similarly to the masses, we also define hemisphere broadenings, using the
-     momenta transverse to the thrust axis:
-     \f[
-     B_\pm =
-     \frac{
-       \sum{\pm \vec{p}_i \cdot \vec{n}_\mathrm{T} > 0}
-       |\vec{p}_i \times \vec{n}_\mathrm{T} |
-     }{
-       2 \sum_i | \vec{p}_i |
-     }
-     \f]
-     and then a set of the broadening maximum, minimum, sum and difference as follows:
-     \f[ B_\mathrm{max}  = \max(B_+, B_-) \f]
-     \f[ B_\mathrm{min}  = \min(B_+, B_-) \f]
-     \f[ B_\mathrm{sum}  = B_+ + B_- \f]
-     \f[ B_\mathrm{diff} = |B_+ - B_-| \f]
-
-     Internally, this projection uses a Thrust or Sphericity projection to
-     determine the hemisphere orientation.
-  */
+  /// @brief Calculate the hemisphere masses and broadenings.
+  ///
+  /// Calculate the hemisphere masses and broadenings, with event hemispheres
+  /// defined by the plane normal to the thrust vector, \f$ \vec{n}_\mathrm{T} \f$.
+  ///
+  /// The "high" hemisphere mass,
+  /// \f$ M^2_\mathrm{high} / E^2_\mathrm{vis} \f$, is defined as
+  /// \f[
+  /// \frac{M^2_\mathrm{high}}{E^2_\mathrm{vis}} =
+  /// \frac{1}{E^2_\mathrm{vis}} \max
+  /// \left(
+  /// \left| \sum_{\vec{p}_k \cdot \vec{n}_\mathrm{T} > 0} p_k \right|^2 ,
+  /// \left| \sum_{\vec{p}_k \cdot \vec{n}_\mathrm{T} < 0} p_k \right|^2
+  /// \right)
+  /// \f]
+  /// and the corresponding "low" hemisphere mass,
+  /// \f$ M^2_\mathrm{low} / E^2_\mathrm{vis} \f$,
+  /// is the sum of momentum vectors in the opposite hemisphere, i.e.
+  /// \f$ \max \rightarrow \min \f$ in the formula above.
+  ///
+  /// Finally, we define a hemisphere mass difference:
+  /// \f[
+  /// \frac{M^2_\mathrm{diff} }{ E^2_\mathrm{vis}} =
+  /// \frac{ M^2_\mathrm{high} - M^2_\mathrm{low} }{ E^2_\mathrm{vis}} .
+  /// \f]
+  ///
+  /// Similarly to the masses, we also define hemisphere broadenings, using the
+  /// momenta transverse to the thrust axis:
+  /// \f[
+  /// B_\pm =
+  /// \frac{
+  ///   \sum{\pm \vec{p}_i \cdot \vec{n}_\mathrm{T} > 0}
+  ///   |\vec{p}_i \times \vec{n}_\mathrm{T} |
+  /// }{
+  ///   2 \sum_i | \vec{p}_i |
+  /// }
+  /// \f]
+  /// and then a set of the broadening maximum, minimum, sum and difference as follows:
+  /// \f[ B_\mathrm{max}  = \max(B_+, B_-) \f]
+  /// \f[ B_\mathrm{min}  = \min(B_+, B_-) \f]
+  /// \f[ B_\mathrm{sum}  = B_+ + B_- \f]
+  /// \f[ B_\mathrm{diff} = |B_+ - B_-| \f]
+  ///
+  /// Internally, this projection uses a Thrust or Sphericity projection to
+  /// determine the hemisphere orientation.
   class Hemispheres : public Projection {
   public:
 
@@ -114,15 +110,15 @@
     double Mdiff() const { return sqrt(M2diff()); }
 
     double scaledM2high() const {
-      if (_M2high == 0.0) return 0.0;
-      if (_E2vis != 0.0) return _M2high/_E2vis;
+      if (isZero(_M2high)) return 0.0;
+      if (!isZero(_E2vis)) return _M2high/_E2vis;
       else return std::numeric_limits<double>::max();
     }
     double scaledMhigh() const { return sqrt(scaledM2high()); }
 
     double scaledM2low() const {
-      if (_M2low == 0.0) return 0.0;
-      if (_E2vis != 0.0) return _M2low/_E2vis;
+      if (isZero(_M2low)) return 0.0;
+      if (!isZero(_E2vis)) return _M2low/_E2vis;
       else return std::numeric_limits<double>::max();
     }
     double scaledMlow() const { return sqrt(scaledM2low()); }
@@ -150,7 +146,7 @@
       return _highMassEqMaxBroad;
     }
 
-     
+
   private:
 
     /// Visible energy-squared, \f$ E^2_\mathrm{vis} \f$.

Modified: branches/2011-07-aida2yoda/include/Rivet/Projections/Spherocity.hh
==============================================================================
--- branches/2011-07-aida2yoda/include/Rivet/Projections/Spherocity.hh	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/include/Rivet/Projections/Spherocity.hh	Tue Dec  6 15:48:46 2011	(r3512)
@@ -33,6 +33,9 @@
   class Spherocity : public AxesDefinition {
   public:
 
+    // Default Constructor
+    Spherocity() {}
+
     /// Constructor.
     Spherocity(const FinalState& fsp)
       : _calculatedSpherocity(false)

Modified: branches/2011-07-aida2yoda/src/Analyses/OPAL_2004_S6132243.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/OPAL_2004_S6132243.cc	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/src/Analyses/OPAL_2004_S6132243.cc	Tue Dec  6 15:48:46 2011	(r3512)
@@ -159,21 +159,28 @@
       // The paper says that M_H/L are scaled by sqrt(s), but scaling by E_vis is the way that fits the data...
       const double hemi_mh = hemi.scaledMhigh();
       const double hemi_ml = hemi.scaledMlow();
-      //
-      const double hemi_bmax = hemi.Bmax();
-      const double hemi_bmin = hemi.Bmin();
-      const double hemi_bsum = hemi.Bsum();
-      _histHemiMassH[_isqrts]->fill(hemi_mh, weight);
-      _histHemiMassL[_isqrts]->fill(hemi_ml, weight);
-      _histHemiBroadW[_isqrts]->fill(hemi_bmax, weight);
-      _histHemiBroadN[_isqrts]->fill(hemi_bmin, weight);
-      _histHemiBroadT[_isqrts]->fill(hemi_bsum, weight);
-      for (int n = 1; n <= 5; ++n) {
-        _histHemiMassHMom[_isqrts]->fill(n, pow(hemi_mh, n)*weight);
-        _histHemiMassLMom[_isqrts]->fill(n, pow(hemi_ml, n)*weight);
-        _histHemiBroadWMom[_isqrts]->fill(n, pow(hemi_bmax, n)*weight);
-        _histHemiBroadNMom[_isqrts]->fill(n, pow(hemi_bmin, n)*weight);
-        _histHemiBroadTMom[_isqrts]->fill(n, pow(hemi_bsum, n)*weight);
+      /// @todo This shouldn't be necessary... what's going on? Memory corruption suspected :(
+      // if (isnan(hemi_ml)) {
+      //   MSG_ERROR("NaN in HemiL! Event = " << numEvents());
+      //   MSG_ERROR(hemi.M2low() << ", " << hemi.E2vis());
+      // }
+      if (!isnan(hemi_mh) && !isnan(hemi_ml)) {
+        const double hemi_bmax = hemi.Bmax();
+        const double hemi_bmin = hemi.Bmin();
+        const double hemi_bsum = hemi.Bsum();
+        _histHemiMassH[_isqrts]->fill(hemi_mh, weight);
+        _histHemiMassL[_isqrts]->fill(hemi_ml, weight);
+        _histHemiBroadW[_isqrts]->fill(hemi_bmax, weight);
+        _histHemiBroadN[_isqrts]->fill(hemi_bmin, weight);
+        _histHemiBroadT[_isqrts]->fill(hemi_bsum, weight);
+        for (int n = 1; n <= 5; ++n) {
+          // if (isnan(pow(hemi_ml, n))) MSG_ERROR("NaN in HemiL moment! Event = " << numEvents());
+          _histHemiMassHMom[_isqrts]->fill(n, pow(hemi_mh, n)*weight);
+          _histHemiMassLMom[_isqrts]->fill(n, pow(hemi_ml, n)*weight);
+          _histHemiBroadWMom[_isqrts]->fill(n, pow(hemi_bmax, n)*weight);
+          _histHemiBroadNMom[_isqrts]->fill(n, pow(hemi_bmin, n)*weight);
+          _histHemiBroadTMom[_isqrts]->fill(n, pow(hemi_bsum, n)*weight);
+        }
       }
     }
 

Modified: branches/2011-07-aida2yoda/src/Projections/Hemispheres.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Projections/Hemispheres.cc	Tue Dec  6 15:21:28 2011	(r3511)
+++ branches/2011-07-aida2yoda/src/Projections/Hemispheres.cc	Tue Dec  6 15:48:46 2011	(r3512)
@@ -5,6 +5,8 @@
 
 
   void Hemispheres::project(const Event& e) {
+    clear();
+
     // Get thrust axes.
     const AxesDefinition& ax = applyProjection<AxesDefinition>(e, "Axes");
     const Vector3 n = ax.axis1();
@@ -14,7 +16,7 @@
     double Evis(0), broadWith(0), broadAgainst(0), broadDenom(0);
     const FinalState& fs = applyProjection<FinalState>(e, ax.getProjection("FS"));
     const ParticleVector& particles = fs.particles();
-    MSG_DEBUG("number of particles = " << particles.size());
+    MSG_DEBUG("Number of particles = " << particles.size());
     foreach (const Particle& p, particles) {
       const FourMomentum p4 = p.momentum();
       const Vector3 p3 = p4.vector3();
@@ -36,7 +38,7 @@
       } else {
         // In the incredibly unlikely event that a particle goes exactly along the
         // thrust plane, add half to each hemisphere.
-        MSG_DEBUG("Particle split between hemispheres");
+        MSG_WARNING("Particle split between hemispheres");
         p4With += 0.5 * p4;
         p4Against += 0.5 * p4;
         broadWith += 0.5 * p3Trans;


More information about the Rivet-svn mailing list