Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:05:37

0001 // -*- C++ -*-
0002 #ifndef RIVET_MC_KTSPLITTINGS_BASE_HH
0003 #define RIVET_MC_KTSPLITTINGS_BASE_HH
0004 
0005 #include "Rivet/Analysis.hh"
0006 #include "Rivet/Projections/FinalState.hh"
0007 
0008 namespace Rivet {
0009 
0010 
0011   /// @brief Base class providing common functionality for MC jet-structure validation analyses
0012   class MC_KTSPLITTINGS_BASE : public Analysis {
0013   public:
0014 
0015     /// Default constructor.
0016     MC_KTSPLITTINGS_BASE(const string& name,
0017                          size_t njet,
0018                          const string& jetpro_name);
0019 
0020 
0021     /// @name Analysis methods
0022     /// @{
0023     virtual void init();
0024     virtual void analyze(const Event& event);
0025     virtual void finalize();
0026     /// @}
0027 
0028 
0029   protected:
0030 
0031     /// The number of jets for which histograms are to be initialised
0032     size_t m_njet;
0033 
0034     /// The name of the jet projection to be used for this analysis
0035     /// (this projection has to be registered by the derived analysis!)
0036     const std::string m_jetpro_name;
0037 
0038     /// @name Histograms
0039     /// @{
0040     std::vector<Histo1DPtr> _h_log10_d;
0041     std::vector<Scatter2DPtr> _h_log10_R;
0042     /// @}
0043 
0044   };
0045 
0046 }
0047 
0048 #endif