Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
JetKinematicCheck.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file JetKinematicCheck.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef JETKINEMATICCHECK_H
4 #define JETKINEMATICCHECK_H
5 
6 #include <fun4all/SubsysReco.h>
7 #include <g4jets/Jetv1.h>
9 
10 #include <string>
11 #include <vector>
12 
13 class PHCompositeNode;
14 class TH1;
15 class TH2;
16 class TH3;
17 
19 {
20 
21  public:
22 
23  JetKinematicCheck(const std::string &recojetnameR02 = "AntiKt_Tower_r02",
24  const std::string &recojetnameR04 = "AntiKt_Tower_r04",
25  const std::string &outputfilename = "JetKinematicCheck");
26 
27  ~JetKinematicCheck() override;
28 
29  // set eta range
30  void setEtaRange(double low, double high)
31  {
32  m_etaRange.first = low;
33  m_etaRange.second = high;
34  }
35 
36  // set pt range
37  void setPtRange(double low, double high)
38  {
39  m_ptRange.first = low;
40  m_ptRange.second = high;
41  }
42 
43 
44  std::vector<std::string>GetCentLabels();
45  std::vector<int>GetMarkerColors();
46 
52  int Init(PHCompositeNode *topNode) override;
53 
59  int InitRun(PHCompositeNode *topNode) override;
60 
64  int process_event(PHCompositeNode *topNode) override;
65 
67  int ResetEvent(PHCompositeNode *topNode) override;
68 
70  int EndRun(const int runnumber) override;
71 
73  int End(PHCompositeNode *topNode) override;
74 
76  int Reset(PHCompositeNode * /*topNode*/) override;
77 
78  void Print(const std::string &what = "ALL") const override;
79 
80 
81  private:
82 
86  std::pair<double, double> m_etaRange;
87  std::pair<double, double> m_ptRange;
88  int cent_N;
89 
90 
91  // eventwise quantities
92  int m_nJet;
95  int ncent;
96 
97  // reconstructed jets
98  std::vector<int> m_id;
99  std::vector<int> m_nComponent;
100  std::vector<float> m_eta;
101  std::vector<float> m_phi;
102  std::vector<float> m_pt;
103  std::vector<float> m_radii;
104 
105  // output histograms
106  TH2 *jet_spectra_r02 = nullptr;
107  TH1 *jet_spectra_r02_proj[11] = {nullptr};
108  TH2 *jet_spectra_r04 = nullptr;
109  TH1 *jet_spectra_r04_proj[11] = {nullptr};
110  TH3 *jet_eta_phi_r02 = nullptr;
111  TH2 *jet_eta_phi_r02_proj[11] = {nullptr};
112  TH3 *jet_eta_phi_r04 = nullptr;
113  TH2 *jet_eta_phi_r04_proj[11] = {nullptr};
114 
115 
116 };
117 
118 #endif // JETKINEMATICCHECK_H