rivet is hosted by Hepforge, IPPP Durham
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   /// @brief Base class providing common functionality for MC jet validation analyses
00012   class MC_JetAnalysis : public Analysis {
00013   public:
00014 
00015     /// Default constructor.
00016     MC_JetAnalysis(const string& name,
00017                    size_t njet,
00018                    const string& jetpro_name,
00019                    double jetptcut=20*GeV);
00020 
00021 
00022     /// @name Analysis methods
00023     //@{
00024     virtual void init();
00025     virtual void analyze(const Event& event);
00026     virtual void finalize();
00027     //@}
00028 
00029 
00030   protected:
00031 
00032     /// The number of jets for which histograms are to be initialised
00033     size_t m_njet;
00034 
00035     /// The name of the jet projection to be used for this analysis
00036     /// (this projection has to be registered by the derived analysis!)
00037     const std::string m_jetpro_name;
00038 
00039     /// Jet pT cutoff
00040     double m_jetptcut;
00041 
00042     /// @todo Add jet masses and d(rap)
00043 
00044     /// @name Histograms
00045     //@{
00046     std::vector<Histo1DPtr> _h_pT_jet;
00047     std::vector<Histo1DPtr> _h_eta_jet;
00048     std::vector<Histo1DPtr> _h_eta_jet_plus, _h_eta_jet_minus;
00049     std::vector<Histo1DPtr> _h_rap_jet;
00050     std::vector<Histo1DPtr> _h_rap_jet_plus, _h_rap_jet_minus;
00051     std::vector<Histo1DPtr> _h_mass_jet;
00052     std::map<std::pair<size_t, size_t>, Histo1DPtr> _h_deta_jets;
00053     std::map<std::pair<size_t, size_t>, Histo1DPtr> _h_dphi_jets;
00054     std::map<std::pair<size_t, size_t>, Histo1DPtr> _h_dR_jets;
00055     Histo1DPtr _h_jet_multi_exclusive;
00056     Histo1DPtr _h_jet_multi_inclusive;
00057     Scatter2DPtr _h_jet_multi_ratio;
00058     Histo1DPtr _h_jet_HT;
00059     //@}
00060 
00061   };
00062 
00063 }
00064 
00065 #endif