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   /// Generic analysis looking at kt splitting scales of partons
00011   class MC_QCD_PARTONS : public MC_JetSplittings {
00012   public:
00013 
00014     /// Constructor
00015     MC_QCD_PARTONS()
00016       : MC_JetSplittings("MC_QCD_PARTONS", 4, "Jets")
00017     {    }
00018 
00019 
00020   public:
00021 
00022     /// @name Analysis methods
00023     //@{
00024 
00025     /// Book histograms and initialise projections before the run
00026     void init() {
00027 
00028       // Projections
00029       IdentifiedFinalState partonfs;
00030       for (int i=1; i<6; ++i) partonfs.acceptIdPair(i);
00031       partonfs.acceptId(PID::GLUON);
00032       addProjection(FastJets(partonfs, FastJets::KT, 0.6), "Jets");
00033 
00034       MC_JetSplittings::init();
00035     }
00036 
00037 
00038 
00039     /// Perform the per-event analysis
00040     void analyze(const Event& event) {
00041       MC_JetSplittings::analyze(event);
00042     }
00043 
00044 
00045 
00046     /// Finalize
00047     void finalize() {
00048       MC_JetSplittings::finalize();
00049     }
00050 
00051     //@}
00052 
00053 
00054   private:
00055 
00056     /// @name Histograms
00057     //@{
00058     //@}
00059 
00060   };
00061 
00062 
00063   // The hook for the plugin system
00064   DECLARE_RIVET_PLUGIN(MC_QCD_PARTONS);
00065 
00066 }