MC_JetAnalysis.hh

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #ifndef RIVET_MC_JetAnalysis_HH
00003 #define RIVET_MC_JetAnalysis_HH
00004 
00005 #include "Rivet/Analysis.hh"
00006 #include "Rivet/Projections/FinalState.hh"
00007 
00008 namespace Rivet {
00009 
00010 
00011   class MC_JetAnalysis : public Analysis {
00012 
00013   public:
00014 
00015     /// Default constructor.
00016     MC_JetAnalysis(const string& name,
00017                    const size_t& njet, 
00018                    const string& jetpro_name);
00019 
00020 
00021     /// @name Analysis methods
00022     //@{
00023     virtual void init();
00024     virtual void analyze(const Event& event);
00025     virtual void finalize();
00026     //@}
00027 
00028 
00029   protected:
00030  
00031     /// The number of jets for which histograms are to be initialised
00032     size_t m_njet;
00033  
00034     /// The name of the jet projection to be used for this analysis
00035     /// (this projection has to be registered by the derived analysis!)
00036     const std::string m_jetpro_name;
00037 
00038     /// @name Histograms
00039     //@{
00040     std::vector<AIDA::IHistogram1D *> _h_log10_d;
00041     std::vector<AIDA::IDataPointSet *> _h_log10_R;
00042     std::vector<AIDA::IHistogram1D *> _h_pT_jet;
00043     std::vector<AIDA::IHistogram1D *> _h_eta_jet;
00044     std::map<std::pair<size_t, size_t>, AIDA::IHistogram1D*> _h_deta_jets;
00045     std::map<std::pair<size_t, size_t>, AIDA::IHistogram1D*> _h_dR_jets;
00046     AIDA::IHistogram1D * _h_jet_multi_exclusive;
00047     AIDA::IHistogram1D * _h_jet_multi_inclusive;
00048     AIDA::IDataPointSet * _h_jet_multi_ratio;
00049     //@}
00050 
00051   };
00052 
00053 }
00054 
00055 #endif