PandaTree
CorrectedSecondaryVertex.h
1 #ifndef PandaTree_Objects_CorrectedSecondaryVertex_h
2 #define PandaTree_Objects_CorrectedSecondaryVertex_h
3 #include "Constants.h"
4 #include "SecondaryVertex.h"
5 #include "../../Framework/interface/Array.h"
6 #include "../../Framework/interface/Collection.h"
7 #include "../../Framework/interface/Ref.h"
8 #include "../../Framework/interface/RefVector.h"
9 #include "Vertex.h"
10 
11 namespace panda {
12 
14  public:
17  ~datastore() { deallocate(); }
18 
19  /* SecondaryVertex
20  Float_t* x{0};
21  Float_t* y{0};
22  Float_t* z{0};
23  UShort_t* ntrk{0};
24  Float_t* ndof{0};
25  Float_t* chi2{0};
26  ContainerBase const* daughtersContainer_{0};
27  std::vector<std::vector<Short_t>>* daughters_{0};
28  Float_t* significance{0};
29  Float_t* vtx3DVal{0};
30  Float_t* vtx3DeVal{0};
31  */
32  Float_t* r{0};
33  Float_t* rawPt{0};
34  Float_t* rawEta{0};
35  Float_t* rawPhi{0};
36  Float_t* rawMass{0};
37  Int_t* iPV{0};
38  Float_t* drPV{0};
39  Float_t* dzPV{0};
40  Short_t* q{0};
41  Float_t* chIso{0};
42  Float_t* nhIso{0};
43  Float_t* phIso{0};
44 
45  void allocate(UInt_t n) override;
46  void deallocate() override;
47  void setStatus(TTree&, TString const&, utils::BranchList const&) override;
48  utils::BranchList getStatus(TTree&, TString const&) const override;
49  utils::BranchList getBranchNames(TString const& = "") const override;
50  void setAddress(TTree&, TString const&, utils::BranchList const& = {"*"}, Bool_t setStatus = kTRUE) override;
51  void book(TTree&, TString const&, utils::BranchList const& = {"*"}, Bool_t dynamic = kTRUE) override;
52  void releaseTree(TTree&, TString const&) override;
53  void resizeVectors_(UInt_t) override;
54  };
55 
58 
59  typedef SecondaryVertex base_type;
60 
61  CorrectedSecondaryVertex(char const* name = "");
63  CorrectedSecondaryVertex(datastore&, UInt_t idx);
66 
67  static char const* typeName() { return "CorrectedSecondaryVertex"; }
68 
69  void print(std::ostream& = std::cout, UInt_t level = 1) const override;
70  void dump(std::ostream& = std::cout) const override;
71 
72  void setPV(VertexCollection const&);
73 
74  /* SecondaryVertex
75  Float_t& x;
76  Float_t& y;
77  Float_t& z;
78  UShort_t& ntrk;
79  Float_t& ndof;
80  Float_t& chi2;
81  RefVector<PFCandBase> daughters;
82  Float_t& significance;
83  Float_t& vtx3DVal;
84  Float_t& vtx3DeVal;
85  */
86  Float_t& r;
87  Float_t& rawPt;
88  Float_t& rawEta;
89  Float_t& rawPhi;
90  Float_t& rawMass;
91  Int_t& iPV;
92  Float_t& drPV;
93  Float_t& dzPV;
94  Short_t& q;
95  Float_t& chIso;
96  Float_t& nhIso;
97  Float_t& phIso;
98 
99  /* BEGIN CUSTOM CorrectedSecondaryVertex.h.classdef */
100  CorrectedSecondaryVertex& operator=(SecondaryVertex const&);
101  /* END CUSTOM */
102 
103  static utils::BranchList getListOfBranches();
104 
105  void destructor(Bool_t recursive = kFALSE);
106 
107  protected:
109 
110  void doBook_(TTree&, TString const&, utils::BranchList const& = {"*"}) override;
111  void doInit_() override;
112  };
113 
118 
119  /* BEGIN CUSTOM CorrectedSecondaryVertex.h.global */
120  /* END CUSTOM */
121 
122 }
123 
124 #endif
Base class for fixed-size containers.
Definition: ArrayBase.h:13
A reference to an element in a container.
Definition: Ref.h:20
Base class for dynamic-size containers.
Definition: CollectionBase.h:16
void resizeVectors_(UInt_t) override
Override when there are vector members.
Definition: CorrectedSecondaryVertex.cc:163
Template class for fixed-size container implementations. Inherits from base_type::array_type of the e...
Definition: Array.h:20
void dump(std::ostream &=std::cout) const override
Dump the object content.
Definition: CorrectedSecondaryVertex.cc:334
Definition: CorrectedSecondaryVertex.h:13
List of branch names.
Definition: IOUtils.h:64
Definition: CorrectedSecondaryVertex.h:15
Definition: SecondaryVertex.h:13
void print(std::ostream &=std::cout, UInt_t level=1) const override
Print the object content.
Definition: CorrectedSecondaryVertex.cc:326
Definition: SecondaryVertex.h:15
Definition: Array.h:11
A vector of references to elements in a container.
Definition: RefVector.h:18