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_JETS_BASE_HH
0003 #define RIVET_MC_JETS_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 validation analyses
0012   ///
0013   /// @todo Could reduce duplication by inheriting this from MC_ParticleAnalysis, with minor tweaking
0014   class MC_JETS_BASE : public Analysis {
0015   public:
0016 
0017     /// Default constructor.
0018     MC_JETS_BASE(const string& name,
0019                  size_t njet,
0020                  const string& jetpro_name,
0021                  double jetptcut=20*GeV);
0022 
0023 
0024     /// @name Analysis methods
0025     /// @{
0026     virtual void init();
0027     virtual void analyze(const Event& event);
0028     virtual void finalize();
0029     /// @}
0030 
0031 
0032   protected:
0033 
0034     /// The number of jets for which histograms are to be initialised
0035     size_t _njet;
0036 
0037     /// The name of the jet projection to be used for this analysis
0038     /// (this projection has to be registered by the derived analysis!)
0039     const std::string _jetpro_name;
0040 
0041     /// Jet pT cutoff
0042     double _jetptcut;
0043 
0044     /// @todo Add jet masses and d(rap)
0045 
0046     /// @name Histograms
0047     /// @{
0048     std::vector<Histo1DPtr> _h_pT_jet;
0049     std::vector<Histo1DPtr> _h_eta_jet;
0050     std::vector<Histo1DPtr> _h_eta_jet_plus, _h_eta_jet_minus;
0051     std::vector<Histo1DPtr> _h_rap_jet;
0052     std::vector<Histo1DPtr> _h_rap_jet_plus, _h_rap_jet_minus;
0053     std::vector<Histo1DPtr> _h_mass_jet;
0054     std::vector<Estimate1DPtr> tmpeta, tmprap;
0055     std::map<std::pair<size_t, size_t>, Histo1DPtr> _h_deta_jets;
0056     std::map<std::pair<size_t, size_t>, Histo1DPtr> _h_dphi_jets;
0057     std::map<std::pair<size_t, size_t>, Histo1DPtr> _h_dR_jets;
0058     BinnedHistoPtr<int> _h_jet_multi_exclusive;
0059     BinnedHistoPtr<int> _h_jet_multi_inclusive;
0060     BinnedEstimatePtr<std::string> _h_jet_multi_ratio;
0061     Histo1DPtr _h_jet_HT, _h_mjj_jets;
0062     /// @}
0063 
0064   };
0065 
0066 }
0067 
0068 #endif