[Rivet-svn] r3477 - in trunk: . data/plotinfo data/refdata src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Wed Nov 9 17:12:06 GMT 2011


Author: buckley
Date: Wed Nov  9 17:12:06 2011
New Revision: 3477

Log:
Cosmetic fixes in ATLAS_2011_S9212183 SUSY analysis, and removing Makefile.am references to non-existing aux files for it

Modified:
   trunk/ChangeLog
   trunk/data/plotinfo/Makefile.am
   trunk/data/refdata/Makefile.am
   trunk/src/Analyses/ATLAS_2011_S9212183.cc

Modified: trunk/ChangeLog
==============================================================================
--- trunk/ChangeLog	Wed Nov  9 16:24:45 2011	(r3476)
+++ trunk/ChangeLog	Wed Nov  9 17:12:06 2011	(r3477)
@@ -1,4 +1,11 @@
+2011-11-09  Andy Buckley  <andy at insectnation.org>
+
+	* Cosmetic fixes in ATLAS_2011_S9212183 SUSY analysis.
+
+	* Adding new ATLAS W pT analysis from Elena Yatsenko (slightly adapted).
+
 2011-10-20  Frank Siegert  <frank.siegert at cern.ch>
+
 	* Extend API of W/ZFinder to allow for specification of input final
 	state in which to search for leptons/photons.
 

Modified: trunk/data/plotinfo/Makefile.am
==============================================================================
--- trunk/data/plotinfo/Makefile.am	Wed Nov  9 16:24:45 2011	(r3476)
+++ trunk/data/plotinfo/Makefile.am	Wed Nov  9 17:12:06 2011	(r3477)
@@ -23,7 +23,6 @@
   ATLAS_2011_S9126244.plot \
   ATLAS_2011_S9128077.plot \
   ATLAS_2011_S9131140.plot \
-  ATLAS_2011_S9212183.plot \
   ATLAS_2011_I919017.plot  \
   ATLAS_2011_I925932.plot  \
   CDF_1988_S1865951.plot \

Modified: trunk/data/refdata/Makefile.am
==============================================================================
--- trunk/data/refdata/Makefile.am	Wed Nov  9 16:24:45 2011	(r3476)
+++ trunk/data/refdata/Makefile.am	Wed Nov  9 17:12:06 2011	(r3477)
@@ -27,7 +27,6 @@
   ATLAS_2011_S9126244.aida       \
   ATLAS_2011_S9128077.aida       \
   ATLAS_2011_S9131140.aida       \
-  ATLAS_2011_S9212183.aida       \
   ATLAS_2011_I919017.aida        \
   ATLAS_2011_I925932.aida        \
   BABAR_2006_S6511112.aida       \

Modified: trunk/src/Analyses/ATLAS_2011_S9212183.cc
==============================================================================
--- trunk/src/Analyses/ATLAS_2011_S9212183.cc	Wed Nov  9 16:24:45 2011	(r3476)
+++ trunk/src/Analyses/ATLAS_2011_S9212183.cc	Wed Nov  9 17:12:06 2011	(r3477)
@@ -11,6 +11,7 @@
 
 namespace Rivet {
 
+
   /// @author Chris Wymant
   class ATLAS_2011_S9212183 : public Analysis {
   public:
@@ -21,12 +22,9 @@
     /// Constructor
     ATLAS_2011_S9212183()
       : Analysis("ATLAS_2011_S9212183")
-    {
-      /// Set whether your finalize method needs the generator cross section
-      setNeedsCrossSection(false);
-    }
+    {    }
 
-  //@}
+    //@}
 
 
   public:
@@ -37,31 +35,31 @@
     /// Book histograms and initialise projections before the run
     void init() {
 
-      // projection to find the electrons
+      // Projection to find the electrons
       std::vector<std::pair<double, double> > eta_e;
       eta_e.push_back(make_pair(-2.47,2.47));
       IdentifiedFinalState elecs(eta_e, 20.0*GeV);
       elecs.acceptIdPair(ELECTRON);
       addProjection(elecs, "elecs");
 
-      // projection to find the muons
+      // Projection to find the muons
       std::vector<std::pair<double, double> > eta_m;
       eta_m.push_back(make_pair(-2.4,2.4));
       IdentifiedFinalState muons(eta_m, 10.0*GeV);
       muons.acceptIdPair(MUON);
       addProjection(muons, "muons");
 
-      /// Jet finder
+      // Jet finder
       addProjection(FastJets(FinalState(), FastJets::ANTIKT, 0.4), "AntiKtJets04");
 
-      // all tracks (to do deltaR with leptons)
+      // All tracks (to do deltaR with leptons)
       addProjection(ChargedFinalState(-3.0,3.0),"cfs");
 
-      // used for pTmiss (N.B. the real 'vfs' extends beyond 4.5 to |eta| = 4.9)
+      // Used for pTmiss (N.B. the real 'vfs' extends beyond 4.5 to |eta| = 4.9)
       addProjection(VisibleFinalState(-4.5,4.5),"vfs");
 
 
-      /// Book histograms
+      // Book histograms
       _count_2j =   bookHistogram1D("count_2j", 1, 0., 1.);
       _count_3j =   bookHistogram1D("count_3j", 1, 0., 1.);
       _count_4j5 =  bookHistogram1D("count_4j5", 1, 0., 1.);
@@ -77,252 +75,243 @@
     }
 
 
-  /// Perform the per-event analysis
-  void analyze(const Event& event) {
-    const double weight = event.weight();
-
-    Jets cand_jets;
-    foreach (const Jet& jet,
-      applyProjection<FastJets>(event, "AntiKtJets04").jetsByPt(20.0*GeV) ) {
-      if ( fabs( jet.momentum().eta() ) < 4.9 ) {
-        cand_jets.push_back(jet);
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const double weight = event.weight();
+
+      Jets cand_jets;
+      const Jets jets = applyProjection<FastJets>(event, "AntiKtJets04").jetsByPt(20.0*GeV);
+      foreach (const Jet& jet, jets) {
+        if ( fabs( jet.momentum().eta() ) < 4.9 ) {
+          cand_jets.push_back(jet);
+        }
       }
-    }
 
-    ParticleVector cand_e  = applyProjection<IdentifiedFinalState>(event, "elecs").particlesByPt();
+      const ParticleVector cand_e  = applyProjection<IdentifiedFinalState>(event, "elecs").particlesByPt();
 
-    // muon isolation not mentioned in hep-exp 1109.6572, unlike in 1102.5290,
-    // but assumed to still be applicable
-    ParticleVector cand_mu;
-    ParticleVector chg_tracks = applyProjection<ChargedFinalState>(event, "cfs").particles();
-    foreach ( const Particle & mu,
-      applyProjection<IdentifiedFinalState>(event, "muons").particlesByPt() ) {
-      double pTinCone = -mu.momentum().pT();
-      foreach ( const Particle & track, chg_tracks ) {
-        if ( deltaR(mu.momentum(),track.momentum()) <= 0.2 )
-          pTinCone += track.momentum().pT();
+      // Muon isolation not mentioned in hep-exp 1109.6572, unlike in 1102.5290,
+      // but assumed to still be applicable
+      ParticleVector cand_mu;
+      const ParticleVector chg_tracks = applyProjection<ChargedFinalState>(event, "cfs").particles();
+      const ParticleVector muons = applyProjection<IdentifiedFinalState>(event, "muons").particlesByPt();
+      foreach (const Particle& mu, muons) {
+        double pTinCone = -mu.momentum().pT();
+        foreach (const Particle& track, chg_tracks) {
+          if ( deltaR(mu.momentum(),track.momentum()) <= 0.2 ) {
+            pTinCone += track.momentum().pT();
+          }
+        }
+        if ( pTinCone < 1.8*GeV ) cand_mu.push_back(mu);
       }
-      if ( pTinCone < 1.8*GeV )
-      cand_mu.push_back(mu);
-    }
 
-    // resolve jet-lepton overlap for jets with |eta| < 2.8
-    Jets cand_jets_2;
-    foreach ( const Jet& jet, cand_jets ) {
-      if ( fabs( jet.momentum().eta() ) >= 2.8 )
-        cand_jets_2.push_back( jet );
-      else {
-        bool away_from_e = true;
-        foreach ( const Particle & e, cand_e ) {
-          if ( deltaR(e.momentum(),jet.momentum()) <= 0.2 ) {
-            away_from_e = false;
-            break;
+      // Resolve jet-lepton overlap for jets with |eta| < 2.8
+      Jets cand_jets_2;
+      foreach ( const Jet& jet, cand_jets ) {
+        if ( fabs( jet.momentum().eta() ) >= 2.8 ) {
+          cand_jets_2.push_back( jet );
+        } else {
+          bool away_from_e = true;
+          foreach ( const Particle & e, cand_e ) {
+            if ( deltaR(e.momentum(),jet.momentum()) <= 0.2 ) {
+              away_from_e = false;
+              break;
+            }
           }
+          if ( away_from_e ) cand_jets_2.push_back( jet );
         }
-        if ( away_from_e )
-          cand_jets_2.push_back( jet );
       }
-    }
 
 
-    ParticleVector recon_e, recon_mu;
+      ParticleVector recon_e, recon_mu;
 
-    foreach ( const Particle & e, cand_e ) {
-      bool away = true;
-      foreach ( const Jet& jet, cand_jets_2 ) {
-        if ( deltaR(e.momentum(),jet.momentum()) < 0.4 ) {
-          away = false;
-          break;
+      foreach ( const Particle & e, cand_e ) {
+        bool away = true;
+        foreach ( const Jet& jet, cand_jets_2 ) {
+          if ( deltaR(e.momentum(),jet.momentum()) < 0.4 ) {
+            away = false;
+            break;
+          }
         }
+        if ( away ) recon_e.push_back( e );
       }
-      if ( away )
-        recon_e.push_back( e );
-    }
 
-    foreach ( const Particle & mu, cand_mu ) {
-      bool away = true;
-      foreach ( const Jet& jet, cand_jets_2 ) {
-        if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 ) {
-          away = false;
-          break;
+      foreach ( const Particle & mu, cand_mu ) {
+        bool away = true;
+        foreach ( const Jet& jet, cand_jets_2 ) {
+          if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 ) {
+            away = false;
+            break;
+          }
         }
+        if ( away ) recon_mu.push_back( mu );
       }
-      if ( away )
-      recon_mu.push_back( mu );
-    }
 
 
-    // pTmiss
-    // based on all candidate electrons, muons and jets, plus everything else with |eta| < 4.5
-    // i.e. everything in our projection "vfs" plus the jets with |eta| > 4.5
-    ParticleVector vfs_particles = applyProjection<VisibleFinalState>(event, "vfs").particles();
-    FourMomentum pTmiss;
-    foreach ( const Particle & p, vfs_particles ) {
-      pTmiss -= p.momentum();
-    }
-    foreach ( const Jet& jet, cand_jets_2 ) {
-      if ( fabs( jet.momentum().eta() ) > 4.5 )
-        pTmiss -= jet.momentum();
-    }
-    double eTmiss = pTmiss.pT();
+      // pTmiss
+      // Based on all candidate electrons, muons and jets, plus everything else with |eta| < 4.5
+      // i.e. everything in our projection "vfs" plus the jets with |eta| > 4.5
+      ParticleVector vfs_particles = applyProjection<VisibleFinalState>(event, "vfs").particles();
+      FourMomentum pTmiss;
+      foreach ( const Particle & p, vfs_particles ) {
+        pTmiss -= p.momentum();
+      }
+      foreach ( const Jet& jet, cand_jets_2 ) {
+        if ( fabs( jet.momentum().eta() ) > 4.5 ) pTmiss -= jet.momentum();
+      }
+      double eTmiss = pTmiss.pT();
 
 
-    // final jet filter
-    Jets recon_jets;
-    foreach ( const Jet& jet, cand_jets_2 ) {
-      if ( fabs( jet.momentum().eta() ) <= 2.8 )
-        recon_jets.push_back( jet );
-    }
-    // NB it seems that jets with |eta| > 2.8 could have been thrown away at
-    // the start; we don't do so, in order to follow both the structure of
-    // the paper and the similar Rivet analysis ATLAS_2011_S8983313
-
-    // 'candidate' muons needed only 10 GeV, to cause a veto they need 20 GeV
-    ParticleVector veto_mu;
-    foreach ( const Particle & mu, cand_mu ) {
-      if ( mu.momentum().pT() >= 20.0*GeV )
-        veto_mu.push_back(mu);
-    }
+      // Final jet filter
+      Jets recon_jets;
+      foreach ( const Jet& jet, cand_jets_2 ) {
+        if ( fabs( jet.momentum().eta() ) <= 2.8 ) recon_jets.push_back( jet );
+      }
+      // NB. It seems that jets with |eta| > 2.8 could have been thrown away at
+      // the start; we don't do so, in order to follow both the structure of
+      // the paper and the similar Rivet analysis ATLAS_2011_S8983313
 
-    if ( ! ( veto_mu.empty() && recon_e.empty() ) ) {
-      MSG_DEBUG("Charged leptons left after selection");
-      vetoEvent;
-    }
+      // 'candidate' muons needed only 10 GeV, to cause a veto they need 20 GeV
+      ParticleVector veto_mu;
+      foreach ( const Particle & mu, cand_mu ) {
+        if ( mu.momentum().pT() >= 20.0*GeV ) veto_mu.push_back(mu);
+      }
 
-    if ( eTmiss <= 130 * GeV ) {
-      MSG_DEBUG("Not enough eTmiss: " << eTmiss << " < 130");
-      vetoEvent;
-    }
+      if ( ! ( veto_mu.empty() && recon_e.empty() ) ) {
+        MSG_DEBUG("Charged leptons left after selection");
+        vetoEvent;
+      }
+
+      if ( eTmiss <= 130 * GeV ) {
+        MSG_DEBUG("Not enough eTmiss: " << eTmiss << " < 130");
+        vetoEvent;
+      }
 
+      if ( recon_jets.empty() || recon_jets[0].momentum().pT() <= 130.0 * GeV ) {
+        MSG_DEBUG("No hard leading jet in " << recon_jets.size() << " jets");
+        vetoEvent;
+      }
 
-    if ( recon_jets.empty() || recon_jets[0].momentum().pT() <= 130.0 * GeV ) {
-      MSG_DEBUG("No hard leading jet in " << recon_jets.size() << " jets");
-      vetoEvent;
-    }
+      // ==================== observables ====================
 
-    // ==================== observables ====================
+      int Njets = 0;
+      double min_dPhi = 999.999;
+      double pTmiss_phi = pTmiss.phi();
+      foreach ( const Jet& jet, recon_jets ) {
+        if ( jet.momentum().pT() > 40 * GeV ) {
+          if ( Njets < 3 ) {
+            min_dPhi = min( min_dPhi, deltaPhi( pTmiss_phi, jet.momentum().phi() ) );
+          }
+          ++Njets;
+        }
+      }
 
-    int Njets = 0;
-    double min_dPhi = 999.999;
-    double pTmiss_phi = pTmiss.phi();
-    foreach ( const Jet& jet, recon_jets ) {
-      if ( jet.momentum().pT() > 40 * GeV ) {
-        if ( Njets < 3 )
-          min_dPhi = min( min_dPhi, deltaPhi( pTmiss_phi, jet.momentum().phi() ) );
-        ++Njets;
+      int NjetsHighMass = 0;
+      foreach ( const Jet& jet, recon_jets ) {
+        if ( jet.momentum().pT() > 80.0 * GeV ) {
+          ++NjetsHighMass;
+        }
       }
-    }
 
-    int NjetsHighMass = 0;
-    foreach ( const Jet& jet, recon_jets ) {
-      if ( jet.momentum().pT() > 80.0 * GeV ) {
-        ++NjetsHighMass;
+      if ( Njets < 2 ) {
+        MSG_DEBUG("Only " << Njets << " >40 GeV jets left");
+        vetoEvent;
       }
-    }
 
-    if ( Njets < 2 ) {
-      MSG_DEBUG("Only " << Njets << " >40 GeV jets left");
-      vetoEvent;
-    }
+      if ( min_dPhi <= 0.4 ) {
+        MSG_DEBUG("dPhi too small");
+        vetoEvent;
+      }
 
-    if ( min_dPhi <= 0.4 ) {
-      MSG_DEBUG("dPhi too small");
-      vetoEvent;
-    }
+      // m_eff
+      double m_eff_2j = eTmiss + recon_jets[0].momentum().pT() + recon_jets[1].momentum().pT();
+      double m_eff_3j = recon_jets.size() < 3 ? -999.0 : m_eff_2j + recon_jets[2].momentum().pT();
+      double m_eff_4j = recon_jets.size() < 4 ? -999.0 : m_eff_3j + recon_jets[3].momentum().pT();
+      double m_eff_HM = eTmiss;
+      foreach ( const Jet& jet, recon_jets ) {
+        if ( jet.momentum().pT() > 40.0 * GeV ) m_eff_HM += jet.momentum().pT();
+      }
 
-    // m_eff
-    double m_eff_2j = eTmiss + recon_jets[0].momentum().pT() + recon_jets[1].momentum().pT();
-    double m_eff_3j = recon_jets.size() < 3 ? -999.0 : m_eff_2j + recon_jets[2].momentum().pT();
-    double m_eff_4j = recon_jets.size() < 4 ? -999.0 : m_eff_3j + recon_jets[3].momentum().pT();
-    double m_eff_HM = eTmiss;
-    foreach ( const Jet& jet, recon_jets ) {
-      if ( jet.momentum().pT() > 40.0 * GeV )
-        m_eff_HM += jet.momentum().pT();
-    }
+      double et_meff_2j = eTmiss / m_eff_2j;
+      double et_meff_3j = eTmiss / m_eff_3j;
+      double et_meff_4j = eTmiss / m_eff_4j;
+      double et_meff_HM = eTmiss / m_eff_HM;
 
-    double et_meff_2j = eTmiss / m_eff_2j;
-    double et_meff_3j = eTmiss / m_eff_3j;
-    double et_meff_4j = eTmiss / m_eff_4j;
-    double et_meff_HM = eTmiss / m_eff_HM;
-
-
-    // ==================== FILL ====================
-
-    MSG_DEBUG( "Trying to fill "
-        << Njets << ' '
-        << m_eff_2j << ' '
-        << et_meff_2j << ' '
-        << m_eff_3j << ' '
-        << et_meff_3j << ' '
-        << m_eff_4j << ' '
-        << et_meff_4j << ' '
-        << m_eff_HM << ' '
-        << et_meff_HM );
-
-    _hist_eTmiss->fill(eTmiss, weight);
-
-
-    // 2j region
-    if ( et_meff_2j > 0.3 ) {
-      _hist_meff_2j->fill(m_eff_2j, weight);
-      if ( m_eff_2j > 1000 * GeV ) {
-        MSG_DEBUG("Hits 2j");
-        _count_2j->fill(0.5, weight);
-      }
-    }
 
+      // ==================== FILL ====================
+
+      MSG_DEBUG( "Trying to fill "
+                 << Njets << ' '
+                 << m_eff_2j << ' '
+                 << et_meff_2j << ' '
+                 << m_eff_3j << ' '
+                 << et_meff_3j << ' '
+                 << m_eff_4j << ' '
+                 << et_meff_4j << ' '
+                 << m_eff_HM << ' '
+                 << et_meff_HM );
 
-    // 3j region
-    if ( Njets >= 3 && et_meff_3j > 0.25 ) {
-      _hist_meff_3j->fill(m_eff_3j, weight);
-      if ( m_eff_3j > 1000 * GeV ) {
-        MSG_DEBUG("Hits 3j");
-        _count_3j->fill(0.5, weight);
-      }
-    }
 
+      _hist_eTmiss->fill(eTmiss, weight);
 
-    // 4j5 & 4j10 regions
-    if ( Njets >= 4 && et_meff_4j > 0.25 ) {
-      _hist_meff_4j->fill(m_eff_4j, weight);
-      if ( m_eff_4j > 500 * GeV ) {
-        MSG_DEBUG("Hits 4j5");
-        _count_4j5->fill(0.5, weight);
-      }
-      if ( m_eff_4j > 1000 * GeV ) {
-        MSG_DEBUG("Hits 4j10");
-        _count_4j10->fill(0.5, weight);
+
+      // 2j region
+      if ( et_meff_2j > 0.3 ) {
+        _hist_meff_2j->fill(m_eff_2j, weight);
+        if ( m_eff_2j > 1000 * GeV ) {
+          MSG_DEBUG("Hits 2j");
+          _count_2j->fill(0.5, weight);
+        }
       }
-    }
 
 
-    // High Mass region
-    if ( NjetsHighMass >= 4 && et_meff_HM > 0.2 ) {
-      _hist_meff_HM->fill(m_eff_HM, weight);
-      if ( m_eff_HM > 1100 * GeV ) {
-        MSG_DEBUG("Hits HM");
-        _count_HM->fill(0.5, weight);
+      // 3j region
+      if ( Njets >= 3 && et_meff_3j > 0.25 ) {
+        _hist_meff_3j->fill(m_eff_3j, weight);
+        if ( m_eff_3j > 1000 * GeV ) {
+          MSG_DEBUG("Hits 3j");
+          _count_3j->fill(0.5, weight);
+        }
       }
-    }
 
 
-  }
+      // 4j5 & 4j10 regions
+      if ( Njets >= 4 && et_meff_4j > 0.25 ) {
+        _hist_meff_4j->fill(m_eff_4j, weight);
+        if ( m_eff_4j > 500 * GeV ) {
+          MSG_DEBUG("Hits 4j5");
+          _count_4j5->fill(0.5, weight);
+        }
+        if ( m_eff_4j > 1000 * GeV ) {
+          MSG_DEBUG("Hits 4j10");
+          _count_4j10->fill(0.5, weight);
+        }
+      }
+
 
-  //@}
+      // High mass region
+      if ( NjetsHighMass >= 4 && et_meff_HM > 0.2 ) {
+        _hist_meff_HM->fill(m_eff_HM, weight);
+        if ( m_eff_HM > 1100 * GeV ) {
+          MSG_DEBUG("Hits HM");
+          _count_HM->fill(0.5, weight);
+        }
+      }
 
-  void finalize() {
+    }
 
-    // Two, three and four jet channels have bin width = 100 (GeV)
-    // High mass channel has bin width = 150 (GeV)
-    // Integrated luminosity = 1040 (pb)
 
-    scale( _hist_meff_2j, 100. * 1040 * crossSection()/sumOfWeights() );
-    scale( _hist_meff_3j, 100. * 1040 * crossSection()/sumOfWeights() );
-    scale( _hist_meff_4j, 100. * 1040 * crossSection()/sumOfWeights() );
-    scale( _hist_meff_HM, 150. * 1040 * crossSection()/sumOfWeights() );
+    void finalize() {
+      // Two, three and four jet channels have bin width = 100 (GeV)
+      // High mass channel has bin width = 150 (GeV)
+      // Integrated luminosity = 1040 (pb)
+      scale( _hist_meff_2j, 100. * 1040 * crossSection()/sumOfWeights() );
+      scale( _hist_meff_3j, 100. * 1040 * crossSection()/sumOfWeights() );
+      scale( _hist_meff_4j, 100. * 1040 * crossSection()/sumOfWeights() );
+      scale( _hist_meff_HM, 150. * 1040 * crossSection()/sumOfWeights() );
+    }
 
+    //@}
 
-  }
 
   private:
 
@@ -337,11 +326,10 @@
     AIDA::IHistogram1D* _hist_meff_HM;
     AIDA::IHistogram1D* _hist_eTmiss;
 
-
   };
 
 
   // This global object acts as a hook for the plugin system
-  AnalysisBuilder<ATLAS_2011_S9212183> plugin_ATLAS_2011_S9212183;
+  DECLARE_RIVET_PLUGIN(ATLAS_2011_S9212183);
 
 }


More information about the Rivet-svn mailing list