Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-06 08:14:17

0001 // Tell emacs that this is a C++ source
0002 //  -*- C++ -*-.
0003 #ifndef JETSEEDCOUNT_H
0004 #define JETSEEDCOUNT_H
0005 
0006 #include <fun4all/SubsysReco.h>
0007 #include <jetbase/Jetv1.h>
0008 #include <jetbase/Jetv2.h>
0009 #include <fastjet/PseudoJet.hh>
0010 
0011 #include <string>
0012 #include <vector>
0013 
0014 #include <TFile.h>
0015 #include <TH1F.h>
0016 #include <TH2D.h>
0017 
0018 class PHCompositeNode;
0019 class TTree;
0020 class JetSeedCount : public SubsysReco
0021 {
0022  public:
0023 
0024   JetSeedCount(const std::string &recojetname = "AntiKt_Tower_r04",
0025                const std::string &truthjetname = "AntiKt_Truth_r04",
0026                const std::string &outputfilename = "myjetanalysis.root");
0027 
0028   ~JetSeedCount() override;
0029 
0030   void
0031     setEtaRange(double low, double high)
0032   {
0033     m_etaRange.first = low;
0034     m_etaRange.second = high;
0035   }
0036  void
0037    setPtRange(double low, double high)
0038  {
0039    m_ptRange.first = low;
0040    m_ptRange.second = high;
0041  }
0042 
0043   int Init(PHCompositeNode *topNode) override;
0044 
0045   int InitRun(PHCompositeNode *topNode) override;
0046 
0047   int process_event(PHCompositeNode *topNode) override;
0048 
0049   /// Clean up internals after each event.
0050   int ResetEvent(PHCompositeNode *topNode) override;
0051 
0052   /// Called at the end of each run.
0053   int EndRun(const int runnumber) override;
0054 
0055   /// Called at the end of all processing.
0056   int End(PHCompositeNode *topNode) override;
0057 
0058   /// Reset
0059   int Reset(PHCompositeNode * /*topNode*/) override;
0060 
0061   void Print(const std::string &what = "ALL") const override;
0062 
0063  private:
0064    std::string m_recoJetName;
0065    std::string m_truthJetName;
0066    std::string m_outputFileName;
0067    std::pair<double, double> m_etaRange;
0068    std::pair<double, double> m_ptRange;
0069    std::vector<double> m_RawEta;
0070    std::vector<double> m_RawPhi;
0071    std::vector<double> m_SubEta;
0072    std::vector<double> m_SubPhi;
0073    std::vector<int> m_centrality;
0074    std::vector<int> m_centrality_diff;
0075 
0076    int m_event = 0;
0077    int m_seed_sub;
0078    int m_seed_raw;
0079    double z_vtx;  
0080    std::vector<int> m_raw_counts;
0081    std::vector<int> m_sub_counts;
0082    std::vector<double> m_rawpt;
0083    std::vector<double> m_subpt;
0084    std::vector<double> m_rawpt_all;
0085    std::vector<double> m_subpt_all;
0086    std::vector<double> m_rawenergy;
0087    std::vector<double> m_subenergy;
0088    std::vector<double> m_rawcent;
0089    std::vector<double> m_subcent;
0090 };
0091 
0092 #endif // JETSEEDCOUNT_H