ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LiteCaloEval.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file LiteCaloEval.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef LITECALOEVAL_H
4 #define LITECALOEVAL_H
5 
6 #include <fun4all/SubsysReco.h>
7 
8 #include <string>
9 
10 class PHCompositeNode;
11 class TFile;
12 class TH1;
13 class TH2;
14 class TH3;
15 
16 class LiteCaloEval : public SubsysReco
17 {
18  public:
19  enum Calo
20  {
21  NONE = 0,
22  CEMC = 1,
23  HCALIN = 2,
24  HCALOUT = 3
25  };
26 
27  LiteCaloEval(const std::string &name = "LiteCaloEval", const std::string &caloNm = "CEMC", const std::string &fnm = "outJF");
28 
29  virtual ~LiteCaloEval() {}
30 
36  int InitRun(PHCompositeNode *topNode) override;
37 
41  int process_event(PHCompositeNode *topNode) override;
42 
44  int End(PHCompositeNode *topNode) override;
45 
46  void CaloType(const Calo i) { calotype = i; }
47 
48  private:
49  TFile *cal_output = nullptr;
50 
51  TH1 *hcal_out_eta_phi[24][64] = {};
52  TH1 *hcalout_eta[24] = {};
53  TH2 *hcalout_energy_eta = nullptr;
54  TH3 *hcalout_e_eta_phi = {};
55 
56  TH1 *hcal_in_eta_phi[24][64] = {};
57  TH1 *hcalin_eta[24] = {};
58  TH2 *hcalin_energy_eta = nullptr;
59  TH3 *hcalin_e_eta_phi = nullptr;
60 
61  TH1 *cemc_hist_eta_phi[96][258] = {};
62  TH1 *eta_hist[96] = {};
63  TH2 *energy_eta_hist = nullptr;
64  TH3 *e_eta_phi = nullptr;
65 
67  int _ievent = 0;
68  std::string _caloname;
69  std::string _filename;
70 };
71 
72 #endif // LITECALOEVAL_H