PandaTree
MicroJet.h
1 #ifndef PandaTree_Objects_MicroJet_h
2 #define PandaTree_Objects_MicroJet_h
3 #include "Constants.h"
4 #include "ParticleM.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 
10 namespace panda {
11 
12  class MicroJet : public ParticleM {
13  public:
14  struct datastore : public ParticleM::datastore {
16  ~datastore() { deallocate(); }
17 
18  Float_t* csv{0};
19  Float_t* qgl{0};
20  Float_t* cmva{0};
21  Float_t* deepCSVudsg{0};
22  Float_t* deepCSVb{0};
23  Float_t* deepCSVc{0};
24  Float_t* deepCSVbb{0};
25  Float_t* deepCSVcc{0};
26  Float_t* deepCMVAudsg{0};
27  Float_t* deepCMVAb{0};
28  Float_t* deepCMVAc{0};
29  Float_t* deepCMVAbb{0};
30  Float_t* deepCMVAcc{0};
31 
32  void allocate(UInt_t n) override;
33  void deallocate() override;
34  void setStatus(TTree&, TString const&, utils::BranchList const&) override;
35  utils::BranchList getStatus(TTree&, TString const&) const override;
36  utils::BranchList getBranchNames(TString const& = "") const override;
37  void setAddress(TTree&, TString const&, utils::BranchList const& = {"*"}, Bool_t setStatus = kTRUE) override;
38  void book(TTree&, TString const&, utils::BranchList const& = {"*"}, Bool_t dynamic = kTRUE) override;
39  void releaseTree(TTree&, TString const&) override;
40  void resizeVectors_(UInt_t) override;
41  };
42 
45 
46  typedef ParticleM base_type;
47 
48  MicroJet(char const* name = "");
49  MicroJet(MicroJet const&);
50  MicroJet(datastore&, UInt_t idx);
51  ~MicroJet();
52  MicroJet& operator=(MicroJet const&);
53 
54  static char const* typeName() { return "MicroJet"; }
55 
56  void print(std::ostream& = std::cout, UInt_t level = 1) const override;
57  void dump(std::ostream& = std::cout) const override;
58 
59  Float_t& csv;
60  Float_t& qgl;
61  Float_t& cmva;
62  Float_t& deepCSVudsg;
63  Float_t& deepCSVb;
64  Float_t& deepCSVc;
65  Float_t& deepCSVbb;
66  Float_t& deepCSVcc;
67  Float_t& deepCMVAudsg;
68  Float_t& deepCMVAb;
69  Float_t& deepCMVAc;
70  Float_t& deepCMVAbb;
71  Float_t& deepCMVAcc;
72 
73  /* BEGIN CUSTOM MicroJet.h.classdef */
74  /* END CUSTOM */
75 
76  static utils::BranchList getListOfBranches();
77 
78  void destructor(Bool_t recursive = kFALSE);
79 
80  protected:
82 
83  void doBook_(TTree&, TString const&, utils::BranchList const& = {"*"}) override;
84  void doInit_() override;
85  };
86 
89  typedef Ref<MicroJet> MicroJetRef;
91 
92  /* BEGIN CUSTOM MicroJet.h.global */
93  /* END CUSTOM */
94 
95 }
96 
97 #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
Definition: MicroJet.h:14
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: MicroJet.cc:349
List of branch names.
Definition: IOUtils.h:64
void resizeVectors_(UInt_t) override
Override when there are vector members.
Definition: MicroJet.cc:171
void print(std::ostream &=std::cout, UInt_t level=1) const override
Print the object content.
Definition: MicroJet.cc:341
Definition: ParticleM.h:13
Definition: ParticleM.h:15
Definition: MicroJet.h:12
Definition: Array.h:11
A vector of references to elements in a container.
Definition: RefVector.h:18