EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4TowerNtuple.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4TowerNtuple.h
1 #ifndef G4HISTOS_G4TOWERNTUPLE_H
2 #define G4HISTOS_G4TOWERNTUPLE_H
3 
4 #include <fun4all/SubsysReco.h>
5 
6 #include <map>
7 #include <set>
8 #include <string>
9 #include <vector>
10 
11 // Forward declerations
13 class PHCompositeNode;
14 class TFile;
15 class TH1;
16 class TNtuple;
17 
18 class G4TowerNtuple : public SubsysReco
19 {
20  public:
22  G4TowerNtuple(const std::string &name = "G4TowerNtuple", const std::string &filename = "G4TowerNtuple.root");
23 
25  ~G4TowerNtuple() override;
26 
28  int Init(PHCompositeNode *) override;
29 
31  int process_event(PHCompositeNode *) override;
32 
34  int End(PHCompositeNode *) override;
35 
36  void AddNode(const std::string &name, const std::string &twrtype, const int detid);
37 
38  protected:
39  int nblocks;
41  std::vector<TH1 *> nhits;
42  std::vector<TH1 *> eloss;
43  // std::vector<TH2 *> nhit_edep;
44  std::string _filename;
45  std::set<std::string> _node_postfix;
46  std::map<std::string, std::string> _tower_type;
47  std::map<std::string, int> _detid;
48  TNtuple *ntup;
49  TFile *outfile;
50 };
51 
52 #endif