rivet is hosted by Hepforge, IPPP Durham
MC_ELECTRONS.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analyses/MC_ParticleAnalysis.hh"
00003 #include "Rivet/Projections/IdentifiedFinalState.hh"
00004 
00005 namespace Rivet {
00006 
00007   using namespace Cuts;
00008 
00009 
00010   /// @brief MC validation analysis for electrons
00011   class MC_ELECTRONS : public MC_ParticleAnalysis {
00012   public:
00013 
00014     MC_ELECTRONS()
00015       : MC_ParticleAnalysis("MC_ELECTRONS", 2, "electron")
00016     {    }
00017 
00018 
00019   public:
00020 
00021     void init() {
00022       IdentifiedFinalState electrons;
00023       electrons.acceptIdPair(PID::ELECTRON);
00024       addProjection(electrons, "Electrons");
00025 
00026       MC_ParticleAnalysis::init();
00027     }
00028 
00029 
00030     void analyze(const Event& event) {
00031       const Particles es = applyProjection<FinalState>(event, "Electrons").particlesByPt(pT>=0.5*GeV);
00032       MC_ParticleAnalysis::_analyze(event, es);
00033     }
00034 
00035 
00036     void finalize() {
00037       MC_ParticleAnalysis::finalize();
00038     }
00039 
00040   };
00041 
00042 
00043   // The hook for the plugin system
00044   DECLARE_RIVET_PLUGIN(MC_ELECTRONS);
00045 
00046 }