MillRecoTree.h
Go to the documentation of this file.
1 #ifndef GARANA_MILL_RECOTREE_H
2 #define GARANA_MILL_RECOTREE_H
3 
7 
8 #include <vector>
9 #include <string>
10 #include <climits>
11 
12 using std::vector;
13 
14 namespace garana {
15 
16  class MillRecoTree : public Mill, public FlatRecoTree {
17 
18  public:
19 
21  MillRecoTree(TTree* treeIn, TTree* treeOut);
22 
23  void MillTrees() override; ///< main method
24 
25  private:
26 
27  bool VerifyBranches() override;
28  void FillTrack();
29  void FillVertex();
30  void FillVee();
31  void FillCaloCluster();
32 
33  StructuredRecoTree* fRecoIn = nullptr; ///< points to input structured recoTree we are flattening
34 
35  //known branches, need to update if tree structure changes
36  // in garsoft/Ana/StructuredTree_module.cc
37  enum RecoBranch {
45  };//
46 
47  std::map<std::string,RecoBranch> nameToRecoBranch = {
48  {"Event", kEvent, },
49  {"Tracks", kTracks },
50  {"Vees", kVees },
51  {"Vertices", kVertices },
52  {"CalClusters", kCalClusters },
53  {"VertTrackEnds", kVertTrackEnds},
54  {"VeeTrackEnds ", kVeeTrackEnds }
55  };
56 
57  std::map<RecoBranch,bool> branchToDrawOpt = { ///< keep track of which branches are active
58  {kEvent , false},
59  {kTracks , false},
60  {kVees , false},
61  {kVertices , false},
62  {kCalClusters , false},
63  {kVertTrackEnds, false},
64  {kVeeTrackEnds , false}
65  };
66  };//class
67 
68 }//namespace
69 
70 #endif /* GARANA_MILL_RECOTREE_H */
void MillTrees() override
main method
struct vector vector
StructuredRecoTree * fRecoIn
points to input structured recoTree we are flattening
Definition: MillRecoTree.h:33
std::map< std::string, RecoBranch > nameToRecoBranch
Definition: MillRecoTree.h:47
std::map< RecoBranch, bool > branchToDrawOpt
Definition: MillRecoTree.h:57
bool VerifyBranches() override