rivet is hosted by Hepforge, IPPP Durham
MC_MUONS.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 muons
00011   class MC_MUONS : public MC_ParticleAnalysis {
00012   public:
00013 
00014     MC_MUONS()
00015       : MC_ParticleAnalysis("MC_MUONS", 2, "muon")
00016     {    }
00017 
00018 
00019   public:
00020 
00021     void init() {
00022       IdentifiedFinalState muons;
00023       muons.acceptIdPair(PID::MUON);
00024       addProjection(muons, "Muons");
00025 
00026       MC_ParticleAnalysis::init();
00027     }
00028 
00029 
00030     void analyze(const Event& event) {
00031       const Particles mus = applyProjection<FinalState>(event, "Muons").particlesByPt(pT>=0.5*GeV);
00032       MC_ParticleAnalysis::_analyze(event, mus);
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_MUONS);
00045 
00046 }