Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pi0ClusterAna.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file pi0ClusterAna.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef PI0CLUSTERANA_H
4 #define PI0CLUSTERANA_H
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <string>
9 #include <vector>
10 
11 class PHCompositeNode;
12 class TTree;
13 class PHG4Particle;
14 class CaloEvalStack;
15 class TFile;
17 
18 class pi0ClusterAna : public SubsysReco
19 {
20  public:
21 
22  pi0ClusterAna(const std::string &name, const std::string &outName);
23 
24  ~pi0ClusterAna() override;
25 
31  int Init(PHCompositeNode *topNode) override;
32 
38  int InitRun(PHCompositeNode *topNode) override;
39 
43  int process_event(PHCompositeNode *topNode) override;
44 
46  int ResetEvent(PHCompositeNode *topNode) override;
47 
49  int EndRun(const int runnumber) override;
50 
52  int End(PHCompositeNode *topNode) override;
53 
55  int Reset(PHCompositeNode * /*topNode*/) override;
56 
57  void Print(const std::string &what = "ALL") const override;
58 
59  private:
60 
62 
64  TTree *truth_photon;
65  TTree *truth_pi0;
66 
67  //CaloEvalStack *caloevalstack;
68 
69  //stuff for towers and clusters
70  std::vector<float> m_eta_center;
71  std::vector<float> m_phi_center;
72  std::vector<float> m_tower_energy;
73  std::vector<float> m_cluster_eta;
74  std::vector<float> m_cluster_phi;
75  std::vector<float> m_cluster_e;
76  std::vector<float> m_cluster_chi2;
77  std::vector<float> m_cluster_prob;
78  std::vector<float> m_cluster_nTowers;
79 
80  //stuff for truth photons
81  std::vector<float> m_asym;
82  std::vector<float> m_deltaR;
83  std::vector<float> m_lead_E;
84  std::vector<float> m_sublead_E;
85  std::vector<float> m_lead_phi;
86  std::vector<float> m_lead_eta;
87  std::vector<float> m_sublead_phi;
88  std::vector<float> m_sublead_eta;
89 
90  //stuff for truth pi0's
91  std::vector<float> m_pi0_E;
92  std::vector<float> m_pi0_eta;
93  std::vector<float> m_pi0_phi;
94 
95  TFile *out;
96  Fun4AllHistoManager *hm = nullptr;
98 
99 
100 };
101 
102 #endif // PI0CLUSTERANA_H