|
[Rivet-svn] r3512 - in branches/2011-07-aida2yoda: . bin data/anainfo data/plotinfo doc include/Rivet/Projections src/Analyses src/Projectionsblackhole at projects.hepforge.org blackhole at projects.hepforge.orgTue 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 |