rivet is hosted by Hepforge, IPPP Durham
MC_QCD_PARTONS.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analyses/MC_JetSplittings.hh"
00003 #include "Rivet/Projections/FinalState.hh"
00004 #include "Rivet/Projections/IdentifiedFinalState.hh"
00005 #include "Rivet/Projections/FastJets.hh"
00006 
00007 namespace Rivet {
00008 
00009   
00010 
00011 
00012   /// Generic analysis looking at kt splitting scales of partons
00013   class MC_QCD_PARTONS : public MC_JetSplittings {
00014   public:
00015 
00016     /// Constructor
00017     MC_QCD_PARTONS()
00018       : MC_JetSplittings("MC_QCD_PARTONS", 4, "Jets")
00019     {    }
00020 
00021 
00022   public:
00023 
00024     /// @name Analysis methods
00025     //@{
00026 
00027     /// Book histograms and initialise projections before the run
00028     void init() {
00029 
00030       // Projections
00031       IdentifiedFinalState partonfs;
00032       for (int i=1; i<6; ++i) partonfs.acceptIdPair(i);
00033       partonfs.acceptId(PID::GLUON);
00034       addProjection(FastJets(partonfs, FastJets::KT, 0.6), "Jets");
00035 
00036       MC_JetSplittings::init();
00037     }
00038 
00039 
00040 
00041     /// Perform the per-event analysis
00042     void analyze(const Event& event) {
00043       MC_JetSplittings::analyze(event);
00044     }
00045 
00046 
00047 
00048     /// Finalize
00049     void finalize() {
00050       MC_JetSplittings::finalize();
00051     }
00052 
00053     //@}
00054 
00055 
00056   private:
00057 
00058     /// @name Histograms
00059     //@{
00060     //@}
00061 
00062   };
00063 
00064 
00065   // The hook for the plugin system
00066   DECLARE_RIVET_PLUGIN(MC_QCD_PARTONS);
00067 
00068 }