1 #ifndef PandaTree_Objects_XPhoton_h 2 #define PandaTree_Objects_XPhoton_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" 24 static TString IDTuneName[nIDTunes];
75 Float_t (*chIsoX)[nIDTunes]{0};
76 Float_t (*chIsoMaxX)[nIDTunes]{0};
77 Float_t (*nhIsoX)[nIDTunes]{0};
78 Float_t (*phIsoX)[nIDTunes]{0};
81 Bool_t (*looseX)[nIDTunes]{0};
82 Bool_t (*mediumX)[nIDTunes]{0};
83 Bool_t (*tightX)[nIDTunes]{0};
84 Int_t* matchedGenId{0};
86 void allocate(UInt_t n)
override;
87 void deallocate()
override;
91 void setAddress(TTree&, TString
const&,
utils::BranchList const& = {
"*"}, Bool_t setStatus = kTRUE)
override;
92 void book(TTree&, TString
const&,
utils::BranchList const& = {
"*"}, Bool_t dynamic = kTRUE)
override;
93 void releaseTree(TTree&, TString
const&)
override;
102 XPhoton(
char const* name =
"");
108 static char const* typeName() {
return "XPhoton"; }
110 void print(std::ostream& = std::cout, UInt_t level = 1)
const override;
111 void dump(std::ostream& = std::cout)
const override;
113 bool passCHIso(UInt_t wp, UInt_t t)
const {
return chIsoX[t] < chIsoCuts[t][isEB ? 0 : 1][wp]; }
114 bool passCHIsoMax(UInt_t wp, UInt_t t)
const {
return chIsoMaxX[t] < chIsoCuts[t][isEB ? 0 : 1][wp]; }
115 bool passNHIso(UInt_t wp, UInt_t t)
const {
return nhIsoX[t] < nhIsoCuts[t][isEB ? 0 : 1][wp]; }
116 bool passPhIso(UInt_t wp, UInt_t t)
const {
return phIsoX[t] < phIsoCuts[t][isEB ? 0 : 1][wp]; }
117 bool passSieie(UInt_t wp, UInt_t t)
const {
return sieie < sieieCuts[t][isEB ? 0 : 1][wp]; }
118 bool passHOverE(UInt_t wp, UInt_t t)
const {
return hOverE < hOverECuts[t][isEB ? 0 : 1][wp]; }
162 Float_t (&chIsoX)[nIDTunes];
163 Float_t (&chIsoMaxX)[nIDTunes];
164 Float_t (&nhIsoX)[nIDTunes];
165 Float_t (&phIsoX)[nIDTunes];
168 Bool_t (&looseX)[nIDTunes];
169 Bool_t (&mediumX)[nIDTunes];
170 Bool_t (&tightX)[nIDTunes];
174 typedef std::array<double, 4> SubdetThresholds;
175 typedef std::array<SubdetThresholds, 2> Thresholds;
176 typedef std::array<Thresholds, nIDTunes> IDDefinitions;
177 static IDDefinitions
const chIsoCuts;
178 static IDDefinitions
const nhIsoCuts;
179 static IDDefinitions
const phIsoCuts;
180 static IDDefinitions
const sieieCuts;
181 static IDDefinitions
const hOverECuts;
186 void destructor(Bool_t recursive = kFALSE);
192 void doInit_()
override;
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 dump(std::ostream &=std::cout) const override
Dump the object content.
Definition: XPhoton.cc:357
Template class for fixed-size container implementations. Inherits from base_type::array_type of the e...
Definition: Array.h:20
List of branch names.
Definition: IOUtils.h:64
void resizeVectors_(UInt_t) override
Override when there are vector members.
Definition: XPhoton.cc:171
void print(std::ostream &=std::cout, UInt_t level=1) const override
Print the object content.
Definition: XPhoton.cc:334
Base class for elements of containers.
Definition: Element.h:32
A vector of references to elements in a container.
Definition: RefVector.h:18