Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
singlePhotonClusterAna.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file singlePhotonClusterAna.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef SINGLEPHOTONCLUSTERANA_H
4 #define SINGLEPHOTONCLUSTERANA_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 
19 {
20  public:
21 
22  singlePhotonClusterAna(const std::string &name, const std::string &outName);
23 
24  ~singlePhotonClusterAna() 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 *conversion;
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_ecore;
77  std::vector<float> m_cluster_chi2;
78  std::vector<float> m_cluster_prob;
79  std::vector<float> m_cluster_nTowers;
80 
81  //stuff for truth photons
82  std::vector<float> m_photon_E;
83  std::vector<float> m_photon_eta;
84  std::vector<float> m_photon_phi;
85 
86  //stuff for conversions
87  std::vector<float> m_electron_E;
88  std::vector<float> m_electron_eta;
89  std::vector<float> m_electron_phi;
90  std::vector<float> m_positron_E;
91  std::vector<float> m_positron_eta;
92  std::vector<float> m_positron_phi;
93  std::vector<float> m_vtx_x;
94  std::vector<float> m_vtx_y;
95  std::vector<float> m_vtx_z;
96  std::vector<float> m_vtx_t;
97  std::vector<float> m_vtx_r;
98  std::vector<bool> m_isConversionEvent;
99 
100  TFile *out;
103 
104 
105 };
106 
107 #endif // SINGLEPHOTONCLUSTERANA_H