23 |
|
#include "MitAna/DataTree/interface/MCParticleCol.h" |
24 |
|
#include "MitAna/DataTree/interface/SuperClusterCol.h" |
25 |
|
#include "MitAna/DataTree/interface/PFMetCol.h" |
26 |
+ |
#include "MitAna/DataTree/interface/JetCol.h" |
27 |
|
#include "MitPhysics/Utils/interface/PhotonFix.h" |
28 |
|
#include "MitPhysics/Utils/interface/PhotonTools.h" |
29 |
|
|
43 |
|
Float_t Ecoreleerr() const { return ecoreleerr; }; |
44 |
|
|
45 |
|
private: |
46 |
< |
Bool_t hasphoton; |
46 |
> |
UChar_t hasphoton; |
47 |
|
Float_t e; |
48 |
|
Float_t pt; |
49 |
|
Float_t eta; |
69 |
|
Float_t eerr; |
70 |
|
Float_t eerrsmeared; |
71 |
|
Float_t esmearing; |
72 |
+ |
Float_t idmva; |
73 |
+ |
Float_t ecalisodr03; |
74 |
+ |
Float_t hcalisodr03; |
75 |
+ |
Float_t trkisohollowdr03; |
76 |
|
|
77 |
< |
//quantities from seed basic cluster |
78 |
< |
Float_t sigiphiphi; |
74 |
< |
Float_t covietaiphi; |
75 |
< |
Float_t emax; |
76 |
< |
Float_t e2nd; |
77 |
< |
Float_t etop; |
78 |
< |
Float_t ebottom; |
79 |
< |
Float_t eleft; |
80 |
< |
Float_t eright; |
81 |
< |
Float_t e1x3; |
82 |
< |
Float_t e3x1; |
83 |
< |
Float_t e1x5; |
84 |
< |
Float_t e2x2; |
85 |
< |
Float_t e4x4; |
86 |
< |
Float_t e2x5max; |
87 |
< |
Float_t e2x5top; |
88 |
< |
Float_t e2x5bottom; |
89 |
< |
Float_t e2x5left; |
90 |
< |
Float_t e2x5right; |
91 |
< |
Float_t xseed; |
92 |
< |
Float_t yseed; |
93 |
< |
Float_t zseed; |
94 |
< |
|
77 |
> |
|
78 |
> |
//quantities from seed basic cluster |
79 |
|
Float_t eseed; |
80 |
|
Float_t etaseed; |
81 |
|
Float_t phiseed; |
89 |
|
Float_t ycryseed; |
90 |
|
Float_t thetaaxisseed; |
91 |
|
Float_t phiaxisseed; |
92 |
+ |
Float_t sigietaietaseed; |
93 |
+ |
Float_t sigiphiphiseed; |
94 |
+ |
Float_t covietaiphiseed; |
95 |
+ |
Float_t e3x3seed; |
96 |
+ |
Float_t e5x5seed; |
97 |
+ |
Float_t emaxseed; |
98 |
+ |
Float_t e2ndseed; |
99 |
+ |
Float_t etopseed; |
100 |
+ |
Float_t ebottomseed; |
101 |
+ |
Float_t eleftseed; |
102 |
+ |
Float_t erightseed; |
103 |
+ |
Float_t e1x3seed; |
104 |
+ |
Float_t e3x1seed; |
105 |
+ |
Float_t e1x5seed; |
106 |
+ |
Float_t e2x2seed; |
107 |
+ |
Float_t e4x4seed; |
108 |
+ |
Float_t e2x5maxseed; |
109 |
+ |
Float_t e2x5topseed; |
110 |
+ |
Float_t e2x5bottomseed; |
111 |
+ |
Float_t e2x5leftseed; |
112 |
+ |
Float_t e2x5rightseed; |
113 |
+ |
Float_t xseedseed; |
114 |
+ |
Float_t yseedseed; |
115 |
+ |
Float_t zseedseed; |
116 |
+ |
UInt_t nhitsseed; |
117 |
+ |
|
118 |
|
|
119 |
|
//quantities from second basic cluster, if present |
120 |
|
Float_t ebc2; |
129 |
|
Float_t xcrybc2; |
130 |
|
Float_t ycrybc2; |
131 |
|
Float_t thetaaxisbc2; |
132 |
< |
Float_t phiaxisbc2; |
132 |
> |
Float_t phiaxisbc2; |
133 |
> |
Float_t sigietaietabc2; |
134 |
> |
Float_t sigiphiphibc2; |
135 |
> |
Float_t covietaiphibc2; |
136 |
> |
Float_t e3x3bc2; |
137 |
> |
Float_t e5x5bc2; |
138 |
> |
Float_t emaxbc2; |
139 |
> |
Float_t e2ndbc2; |
140 |
> |
Float_t etopbc2; |
141 |
> |
Float_t ebottombc2; |
142 |
> |
Float_t eleftbc2; |
143 |
> |
Float_t erightbc2; |
144 |
> |
Float_t e1x3bc2; |
145 |
> |
Float_t e3x1bc2; |
146 |
> |
Float_t e1x5bc2; |
147 |
> |
Float_t e2x2bc2; |
148 |
> |
Float_t e4x4bc2; |
149 |
> |
Float_t e2x5maxbc2; |
150 |
> |
Float_t e2x5topbc2; |
151 |
> |
Float_t e2x5bottombc2; |
152 |
> |
Float_t e2x5leftbc2; |
153 |
> |
Float_t e2x5rightbc2; |
154 |
> |
Float_t xbc2bc2; |
155 |
> |
Float_t ybc2bc2; |
156 |
> |
Float_t zbc2bc2; |
157 |
> |
UInt_t nhitsbc2; |
158 |
> |
|
159 |
> |
//quantities from lowest energy basic cluster if present |
160 |
> |
Float_t ebclast; |
161 |
> |
Float_t etabclast; |
162 |
> |
Float_t phibclast; |
163 |
> |
Int_t ietabclast; |
164 |
> |
Int_t iphibclast; |
165 |
> |
Int_t ixbclast; |
166 |
> |
Int_t iybclast; |
167 |
> |
Float_t etacrybclast; |
168 |
> |
Float_t phicrybclast; |
169 |
> |
Float_t xcrybclast; |
170 |
> |
Float_t ycrybclast; |
171 |
> |
Float_t thetaaxisbclast; |
172 |
> |
Float_t phiaxisbclast; |
173 |
> |
Float_t sigietaietabclast; |
174 |
> |
Float_t sigiphiphibclast; |
175 |
> |
Float_t covietaiphibclast; |
176 |
> |
Float_t e3x3bclast; |
177 |
> |
Float_t e5x5bclast; |
178 |
> |
UInt_t nhitsbclast; |
179 |
> |
|
180 |
> |
//quantities from second lowest energy basic cluster if present |
181 |
> |
Float_t ebclast2; |
182 |
> |
Float_t etabclast2; |
183 |
> |
Float_t phibclast2; |
184 |
> |
Int_t ietabclast2; |
185 |
> |
Int_t iphibclast2; |
186 |
> |
Int_t ixbclast2; |
187 |
> |
Int_t iybclast2; |
188 |
> |
Float_t etacrybclast2; |
189 |
> |
Float_t phicrybclast2; |
190 |
> |
Float_t xcrybclast2; |
191 |
> |
Float_t ycrybclast2; |
192 |
> |
Float_t thetaaxisbclast2; |
193 |
> |
Float_t phiaxisbclast2; |
194 |
> |
Float_t sigietaietabclast2; |
195 |
> |
Float_t sigiphiphibclast2; |
196 |
> |
Float_t covietaiphibclast2; |
197 |
> |
Float_t e3x3bclast2; |
198 |
> |
Float_t e5x5bclast2; |
199 |
> |
UInt_t nhitsbclast2; |
200 |
|
|
201 |
|
//energy correction quantities from PhotonFix |
202 |
|
Float_t ecor; |
219 |
|
Float_t ym; |
220 |
|
|
221 |
|
//conversion quantities |
222 |
< |
Bool_t hasconversion; |
222 |
> |
UChar_t hasconversion; |
223 |
|
Float_t convp; |
224 |
|
Float_t convpt; |
225 |
|
Float_t conveta; |
241 |
|
Char_t trailtrackcharge; |
242 |
|
|
243 |
|
//electron quantities |
244 |
< |
Bool_t haselectron; |
245 |
< |
Bool_t eleisecaldriven; |
246 |
< |
Bool_t eleistrackerdriven; |
244 |
> |
UChar_t haselectron; |
245 |
> |
UChar_t eleisecaldriven; |
246 |
> |
UChar_t eleistrackerdriven; |
247 |
|
Float_t elee; |
248 |
|
Float_t elept; |
249 |
|
Float_t eleeta; |
257 |
|
Float_t elepout; |
258 |
|
|
259 |
|
//pf supercluster quantities |
260 |
< |
Bool_t haspfsc; |
260 |
> |
UChar_t haspfsc; |
261 |
|
Float_t pfsce; |
262 |
|
Float_t pfscrawe; |
263 |
|
Float_t pfsceta; |
264 |
|
Float_t pfscphi; |
265 |
|
|
266 |
|
//generator level quantities |
267 |
< |
Bool_t ispromptgen; |
267 |
> |
UChar_t ispromptgen; |
268 |
|
Float_t gene; |
269 |
|
Float_t genpt; |
270 |
|
Float_t geneta; |
271 |
|
Float_t genphi; |
272 |
|
Float_t genz; |
273 |
+ |
Int_t pdgid; |
274 |
+ |
Int_t motherpdgid; |
275 |
|
|
276 |
|
|
277 |
|
|
301 |
|
Float_t masserrwrongvtx; |
302 |
|
Float_t masserrsmearedwrongvtx; |
303 |
|
Float_t vtxprob; |
304 |
+ |
Float_t deltamvtx; |
305 |
|
Float_t ptgg; |
306 |
+ |
Float_t etagg; |
307 |
+ |
Float_t phigg; |
308 |
|
Float_t costheta; |
309 |
|
Float_t massele; |
310 |
|
Float_t ptee; |
322 |
|
Float_t pfmetphi; |
323 |
|
Float_t pfmetx; |
324 |
|
Float_t pfmety; |
325 |
< |
Bool_t ismc; |
325 |
> |
UChar_t ismc; |
326 |
|
|
327 |
|
//corrected quantities from PhotonFix corrections |
328 |
|
Float_t masscor; |
330 |
|
Float_t masscorele; |
331 |
|
Float_t masscoreleerr; |
332 |
|
|
333 |
+ |
//jet quantities |
334 |
+ |
Float_t jet1pt; |
335 |
+ |
Float_t jet1eta; |
336 |
+ |
Float_t jet1phi; |
337 |
+ |
Float_t jet1mass; |
338 |
+ |
Float_t jet2pt; |
339 |
+ |
Float_t jet2eta; |
340 |
+ |
Float_t jet2phi; |
341 |
+ |
Float_t jet2mass; |
342 |
+ |
Float_t jetcentralpt; |
343 |
+ |
Float_t jetcentraleta; |
344 |
+ |
Float_t jetcentralphi; |
345 |
+ |
Float_t jetcentralmass; |
346 |
+ |
Float_t dijetpt; |
347 |
+ |
Float_t dijeteta; |
348 |
+ |
Float_t dijetphi; |
349 |
+ |
Float_t dijetmass; |
350 |
+ |
Float_t jetetaplus; |
351 |
+ |
Float_t jetetaminus; |
352 |
+ |
|
353 |
+ |
Float_t zeppenfeld; |
354 |
+ |
Float_t dphidijetgg; |
355 |
+ |
|
356 |
|
PhotonTreeWriterPhoton photons[2]; |
357 |
|
|
358 |
|
|
380 |
|
void SetBeamspotName(const char *n) { fBeamspotName = n; } |
381 |
|
void SetPFCandName(const char *n) { fPFCandName = n; } |
382 |
|
void SetSuperClusterName(const char *n) { fSuperClusterName = n; } |
383 |
+ |
void SetPFJetName(const char *n) { fPFJetName = n; } |
384 |
+ |
void SetPFJetsFromBranch(Bool_t b) { fPFJetsFromBranch = b; } |
385 |
+ |
void SetEnableJets(Bool_t b) { fEnableJets = b; } |
386 |
|
void SetPhFixDataFile(const char *n) { fPhFixDataFile = n; } |
387 |
|
|
388 |
|
|
425 |
|
TString fPileUpName; |
426 |
|
TString fSuperClusterName; |
427 |
|
TString fPFMetName; |
428 |
+ |
TString fPFJetName; |
429 |
|
|
430 |
|
// is it Data or MC? |
431 |
|
Bool_t fIsData; |
434 |
|
Bool_t fPhotonsFromBranch; |
435 |
|
Bool_t fPVFromBranch; |
436 |
|
Bool_t fGoodElectronsFromBranch; |
437 |
+ |
Bool_t fPFJetsFromBranch; |
438 |
|
|
439 |
|
const PhotonCol *fPhotons; |
440 |
|
const ElectronCol *fElectrons; |
449 |
|
const PileupInfoCol *fPileUp; |
450 |
|
const SuperClusterCol *fSuperClusters; |
451 |
|
const PFMetCol *fPFMet; |
452 |
+ |
const JetCol *fPFJets; |
453 |
|
|
454 |
|
// -------------------------------- |
455 |
|
Bool_t fLoopOnGoodElectrons; //primary loop over good electrons collection instead of photons |
460 |
|
Bool_t fExcludeSinglePrompt; |
461 |
|
Bool_t fExcludeDoublePrompt; |
462 |
|
|
463 |
+ |
Bool_t fEnableJets; |
464 |
+ |
|
465 |
|
TString fPhFixDataFile; |
466 |
|
PhotonFix fPhfixph; |
467 |
|
PhotonFix fPhfixele; |