MillG4Tree.h
Go to the documentation of this file.
1 #ifndef GARANA_MILL_G4TREE_H
2 #define GARANA_MILL_G4TREE_H
3 
7 
8 #include <vector>
9 #include <string>
10 #include <climits>
11 
12 using std::vector;
13 
14 namespace garana {
15 
16  class MillG4Tree : public Mill, public FlatG4Tree {
17 
18  public:
19 
21  MillG4Tree(TTree* treeIn, TTree* treeOut);
22 
23  void MillTrees() override;
24 
25  private:
26 
27  bool VerifyBranches() override;
28 
29 
30  StructuredG4Tree* fG4In = nullptr;
31 
32  //known branches, need to update if tree structure changes
33  // in garsoft/Ana/StructuredTree_module.cc
34  enum G4Branch {
38  };//
39 
40  std::map<std::string,G4Branch> nameToG4Branch = {
41  {"Event", kEvent},
42  {"G4Particles", kG4Particles},
43  {"G4TruthIndex", kG4TruthIndex}
44 
45  };//
46 
47  std::map<G4Branch,bool> branchToDrawOpt = {
48  {kEvent, false},
49  {kG4Particles, false},
50  {kG4TruthIndex, false}
51  };
52 
53  };//class
54 
55 }//namespace
56 
57 #endif /* GARANA_MILL_G4TREE_H */
struct vector vector
bool VerifyBranches() override
Definition: MillG4Tree.cxx:117
void MillTrees() override
Definition: MillG4Tree.cxx:34
std::map< std::string, G4Branch > nameToG4Branch
Definition: MillG4Tree.h:40
std::map< G4Branch, bool > branchToDrawOpt
Definition: MillG4Tree.h:47
StructuredG4Tree * fG4In
Definition: MillG4Tree.h:30