ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootElectron.h
Revision: 1.14
Committed: Fri Sep 18 14:14:20 2009 UTC (15 years, 7 months ago) by lethuill
Content type: text/plain
Branch: MAIN
CVS Tags: all_3_3_2_01, all_3_2_5_02, all_3_2_5_01, HEAD
Changes since 1.13: +47 -4 lines
Log Message:
Update for 3.2.X

File Contents

# Content
1 #ifndef TRootElectron_h
2 #define TRootElectron_h
3
4 #include <map>
5
6 #include "../interface/TRootParticle.h"
7
8 using namespace std;
9
10 class TRootSuperCluster;
11
12 class TRootElectron : public TRootParticle
13 {
14
15 public:
16
17 TRootElectron() :
18 TRootParticle()
19 ,classification_(-9999)
20 ,caloEnergy_(-9999.)
21 ,caloEnergyError_(-9999.)
22 ,trackMomentum_(-9999.)
23 ,trackMomentumError_(-9999.)
24 ,hadOverEm_(-9999.)
25 ,deltaEtaIn_(-9999.)
26 ,deltaPhiIn_(-9999.)
27 ,energySuperClusterOverPin_(-9999.)
28 ,deltaEtaOut_(-9999.)
29 ,deltaPhiOut_(-9999.)
30 ,energySeedClusterOverPout_(-9999.)
31 ,energyScaleCorrected_(false)
32 ,momentumCorrected_(false)
33 ,dr03TkSumPt_(-9999.)
34 ,dr03EcalRecHitSumEt_(-9999.)
35 ,dr03HcalDepth1TowerSumEt_(-9999.)
36 ,dr03HcalDepth2TowerSumEt_(-9999.)
37 ,pixelLayersWithMeasurement_(-1)
38 ,stripLayersWithMeasurement_(-1)
39 ,d0_(-9999.)
40 ,d0Error_(-9999.)
41 ,dsz_(-9999.)
42 ,dszError_(-9999.)
43 ,normalizedChi2_(-9999.)
44 ,ptError_(-9999.)
45 ,etaError_(-9999.)
46 ,phiError_(-9999.)
47 ,ip3DSignificance_(-9999.)
48 ,nbClusters_(-9999)
49 ,superClusterRawEnergy_(-9999.)
50 ,preshowerEnergy_(-9999.)
51 ,caloPosition_(-9999.,-9999.,-9999.)
52 ,scIndex_()
53 ,scRef_()
54 ,clusterAlgo_(-9999)
55 ,caloConeSize_(-9999.)
56 ,e2x2_(-9999.)
57 ,e3x3_(-9999.)
58 ,e5x5_(-9999.)
59 ,eMax_(-9999.)
60 ,isoR01_sumPt_(-9999.)
61 ,isoR01_nTracks_(-9999)
62 ,isoR02_sumPt_(-9999.)
63 ,isoR02_nTracks_(-9999)
64 ,isoR03_emEt_(-9999.)
65 ,isoR03_hadEt_(-9999.)
66 ,isoR03_sumPt_(-9999.)
67 ,isoR03_nTracks_(-9999)
68 ,isoR05_emEt_(-9999.)
69 ,isoR05_hadEt_(-9999.)
70 ,isoR05_sumPt_(-9999.)
71 ,isoR05_nTracks_(-9999)
72 ,idCutBasedFixedThresholdLoose_(-1)
73 ,idCutBasedFixedThresholdTight_(-1)
74 ,idCutBasedFixedThresholdHighEnergy_(-1)
75 ,idCutBasedCategorizedLoose_(-1)
76 ,idCutBasedCategorizedTight_(-1)
77 ,idLikelihood_(-9999.)
78 ,idNeuralNet_(-9999.)
79 ,isAlsoPhoton_(false)
80 {;}
81
82 TRootElectron(const TRootElectron& electron) :
83 TRootParticle(electron)
84 ,classification_(electron.classification_)
85 ,caloEnergy_(electron.caloEnergy_)
86 ,caloEnergyError_(electron.caloEnergyError_)
87 ,trackMomentum_(electron.trackMomentum_)
88 ,trackMomentumError_(electron.trackMomentumError_)
89 ,hadOverEm_(electron.hadOverEm_)
90 ,deltaEtaIn_(electron.deltaEtaIn_)
91 ,deltaPhiIn_(electron.deltaPhiIn_)
92 ,energySuperClusterOverPin_(electron.energySuperClusterOverPin_)
93 ,deltaEtaOut_(electron.deltaEtaOut_)
94 ,deltaPhiOut_(electron.deltaPhiOut_)
95 ,energySeedClusterOverPout_(electron.energySeedClusterOverPout_)
96 ,energyScaleCorrected_(electron.energyScaleCorrected_)
97 ,momentumCorrected_(electron.momentumCorrected_)
98 ,dr03TkSumPt_(electron.dr03TkSumPt_)
99 ,dr03EcalRecHitSumEt_(electron.dr03EcalRecHitSumEt_)
100 ,dr03HcalDepth1TowerSumEt_(electron.dr03HcalDepth1TowerSumEt_)
101 ,dr03HcalDepth2TowerSumEt_(electron.dr03HcalDepth2TowerSumEt_)
102 ,pixelLayersWithMeasurement_(electron.pixelLayersWithMeasurement_)
103 ,stripLayersWithMeasurement_(electron.stripLayersWithMeasurement_)
104 ,d0_(electron.d0_)
105 ,d0Error_(electron.d0Error_)
106 ,dsz_(electron.dsz_)
107 ,dszError_(electron.dszError_)
108 ,normalizedChi2_(electron.normalizedChi2_)
109 ,ptError_(electron.ptError_)
110 ,etaError_(electron.etaError_)
111 ,phiError_(electron.phiError_)
112 ,ip3DSignificance_(electron.ip3DSignificance_)
113 ,nbClusters_(electron.nbClusters_)
114 ,superClusterRawEnergy_(electron.superClusterRawEnergy_)
115 ,preshowerEnergy_(electron.preshowerEnergy_)
116 ,caloPosition_(electron.caloPosition_)
117 ,scIndex_(electron.scIndex_)
118 ,scRef_(electron.scRef_)
119 ,clusterAlgo_(electron.clusterAlgo_)
120 ,caloConeSize_(electron.caloConeSize_)
121 ,e2x2_(electron.e2x2_)
122 ,e3x3_(electron.e3x3_)
123 ,e5x5_(electron.e5x5_)
124 ,eMax_(electron.eMax_)
125 ,isoR01_sumPt_(electron.isoR01_sumPt_)
126 ,isoR01_nTracks_(electron.isoR01_nTracks_)
127 ,isoR02_sumPt_(electron.isoR02_sumPt_)
128 ,isoR02_nTracks_(electron.isoR02_nTracks_)
129 ,isoR03_emEt_(electron.isoR03_emEt_)
130 ,isoR03_hadEt_(electron.isoR03_hadEt_)
131 ,isoR03_sumPt_(electron.isoR03_sumPt_)
132 ,isoR03_nTracks_(electron.isoR03_nTracks_)
133 ,isoR05_emEt_(electron.isoR05_emEt_)
134 ,isoR05_hadEt_(electron.isoR05_hadEt_)
135 ,isoR05_sumPt_(electron.isoR05_sumPt_)
136 ,isoR05_nTracks_(electron.isoR05_nTracks_)
137 ,idCutBasedFixedThresholdLoose_(electron.idCutBasedFixedThresholdLoose_)
138 ,idCutBasedFixedThresholdTight_(electron.idCutBasedFixedThresholdTight_)
139 ,idCutBasedFixedThresholdHighEnergy_(electron.idCutBasedFixedThresholdHighEnergy_)
140 ,idCutBasedCategorizedLoose_(electron.idCutBasedCategorizedLoose_)
141 ,idCutBasedCategorizedTight_(electron.idCutBasedCategorizedTight_)
142 ,idLikelihood_(electron.idLikelihood_)
143 ,idNeuralNet_(electron.idNeuralNet_)
144 ,isAlsoPhoton_(electron.isAlsoPhoton_)
145 {;}
146
147 TRootElectron(Double_t px, Double_t py, Double_t pz, Double_t e) :
148 TRootParticle(px,py,pz,e)
149 ,classification_(-9999)
150 ,caloEnergy_(-9999.)
151 ,caloEnergyError_(-9999.)
152 ,trackMomentum_(-9999.)
153 ,trackMomentumError_(-9999.)
154 ,hadOverEm_(-9999.)
155 ,deltaEtaIn_(-9999.)
156 ,deltaPhiIn_(-9999.)
157 ,energySuperClusterOverPin_(-9999.)
158 ,deltaEtaOut_(-9999.)
159 ,deltaPhiOut_(-9999.)
160 ,energySeedClusterOverPout_(-9999.)
161 ,energyScaleCorrected_(false)
162 ,momentumCorrected_(false)
163 ,dr03TkSumPt_(-9999.)
164 ,dr03EcalRecHitSumEt_(-9999.)
165 ,dr03HcalDepth1TowerSumEt_(-9999.)
166 ,dr03HcalDepth2TowerSumEt_(-9999.)
167 ,pixelLayersWithMeasurement_(-1)
168 ,stripLayersWithMeasurement_(-1)
169 ,d0_(-9999.)
170 ,d0Error_(-9999.)
171 ,dsz_(-9999.)
172 ,dszError_(-9999.)
173 ,normalizedChi2_(-9999.)
174 ,ptError_(-9999.)
175 ,etaError_(-9999.)
176 ,phiError_(-9999.)
177 ,ip3DSignificance_(-9999.)
178 ,nbClusters_(-9999)
179 ,superClusterRawEnergy_(-9999.)
180 ,preshowerEnergy_(-9999.)
181 ,caloPosition_(-9999.,-9999.,-9999.)
182 ,scIndex_()
183 ,scRef_()
184 ,clusterAlgo_(-9999)
185 ,caloConeSize_(-9999.)
186 ,e2x2_(-9999.)
187 ,e3x3_(-9999.)
188 ,e5x5_(-9999.)
189 ,eMax_(-9999.)
190 ,isoR01_sumPt_(-9999.)
191 ,isoR01_nTracks_(-9999)
192 ,isoR02_sumPt_(-9999.)
193 ,isoR02_nTracks_(-9999)
194 ,isoR03_emEt_(-9999.)
195 ,isoR03_hadEt_(-9999.)
196 ,isoR03_sumPt_(-9999.)
197 ,isoR03_nTracks_(-9999)
198 ,isoR05_emEt_(-9999.)
199 ,isoR05_hadEt_(-9999.)
200 ,isoR05_sumPt_(-9999.)
201 ,isoR05_nTracks_(-9999)
202 ,idCutBasedFixedThresholdLoose_(-1)
203 ,idCutBasedFixedThresholdTight_(-1)
204 ,idCutBasedFixedThresholdHighEnergy_(-1)
205 ,idCutBasedCategorizedLoose_(-1)
206 ,idCutBasedCategorizedTight_(-1)
207 ,idLikelihood_(-9999.)
208 ,idNeuralNet_(-9999.)
209 ,isAlsoPhoton_(false)
210 {;}
211
212 TRootElectron(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z) :
213 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
214 ,classification_(-9999)
215 ,caloEnergy_(-9999.)
216 ,caloEnergyError_(-9999.)
217 ,trackMomentum_(-9999.)
218 ,trackMomentumError_(-9999.)
219 ,hadOverEm_(-9999.)
220 ,deltaEtaIn_(-9999.)
221 ,deltaPhiIn_(-9999.)
222 ,energySuperClusterOverPin_(-9999.)
223 ,deltaEtaOut_(-9999.)
224 ,deltaPhiOut_(-9999.)
225 ,energySeedClusterOverPout_(-9999.)
226 ,energyScaleCorrected_(false)
227 ,momentumCorrected_(false)
228 ,dr03TkSumPt_(-9999.)
229 ,dr03EcalRecHitSumEt_(-9999.)
230 ,dr03HcalDepth1TowerSumEt_(-9999.)
231 ,dr03HcalDepth2TowerSumEt_(-9999.)
232 ,pixelLayersWithMeasurement_(-1)
233 ,stripLayersWithMeasurement_(-1)
234 ,d0_(-9999.)
235 ,d0Error_(-9999.)
236 ,dsz_(-9999.)
237 ,dszError_(-9999.)
238 ,normalizedChi2_(-9999.)
239 ,ptError_(-9999.)
240 ,etaError_(-9999.)
241 ,phiError_(-9999.)
242 ,ip3DSignificance_(-9999.)
243 ,nbClusters_(-9999)
244 ,superClusterRawEnergy_(-9999.)
245 ,preshowerEnergy_(-9999.)
246 ,caloPosition_(-9999.,-9999.,-9999.)
247 ,scIndex_()
248 ,scRef_()
249 ,clusterAlgo_(-9999)
250 ,caloConeSize_(-9999.)
251 ,e2x2_(-9999.)
252 ,e3x3_(-9999.)
253 ,e5x5_(-9999.)
254 ,eMax_(-9999.)
255 ,isoR01_sumPt_(-9999.)
256 ,isoR01_nTracks_(-9999)
257 ,isoR02_sumPt_(-9999.)
258 ,isoR02_nTracks_(-9999)
259 ,isoR03_emEt_(-9999.)
260 ,isoR03_hadEt_(-9999.)
261 ,isoR03_sumPt_(-9999.)
262 ,isoR03_nTracks_(-9999)
263 ,isoR05_emEt_(-9999.)
264 ,isoR05_hadEt_(-9999.)
265 ,isoR05_sumPt_(-9999.)
266 ,isoR05_nTracks_(-9999)
267 ,idCutBasedFixedThresholdLoose_(-1)
268 ,idCutBasedFixedThresholdTight_(-1)
269 ,idCutBasedFixedThresholdHighEnergy_(-1)
270 ,idCutBasedCategorizedLoose_(-1)
271 ,idCutBasedCategorizedTight_(-1)
272 ,idLikelihood_(-9999.)
273 ,idNeuralNet_(-9999.)
274 ,isAlsoPhoton_(false)
275 {;}
276
277 TRootElectron(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z, Int_t type, Float_t charge) :
278 TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
279 ,classification_(-9999)
280 ,caloEnergy_(-9999.)
281 ,caloEnergyError_(-9999.)
282 ,trackMomentum_(-9999.)
283 ,trackMomentumError_(-9999.)
284 ,hadOverEm_(-9999.)
285 ,deltaEtaIn_(-9999.)
286 ,deltaPhiIn_(-9999.)
287 ,energySuperClusterOverPin_(-9999.)
288 ,deltaEtaOut_(-9999.)
289 ,deltaPhiOut_(-9999.)
290 ,energySeedClusterOverPout_(-9999.)
291 ,energyScaleCorrected_(false)
292 ,momentumCorrected_(false)
293 ,dr03TkSumPt_(-9999.)
294 ,dr03EcalRecHitSumEt_(-9999.)
295 ,dr03HcalDepth1TowerSumEt_(-9999.)
296 ,dr03HcalDepth2TowerSumEt_(-9999.)
297 ,pixelLayersWithMeasurement_(-1)
298 ,stripLayersWithMeasurement_(-1)
299 ,d0_(-9999.)
300 ,d0Error_(-9999.)
301 ,dsz_(-9999.)
302 ,dszError_(-9999.)
303 ,normalizedChi2_(-9999.)
304 ,ptError_(-9999.)
305 ,etaError_(-9999.)
306 ,phiError_(-9999.)
307 ,ip3DSignificance_(-9999.)
308 ,nbClusters_(-9999)
309 ,superClusterRawEnergy_(-9999.)
310 ,preshowerEnergy_(-9999.)
311 ,caloPosition_(-9999.,-9999.,-9999.)
312 ,scIndex_()
313 ,scRef_()
314 ,clusterAlgo_(-9999)
315 ,caloConeSize_(-9999.)
316 ,e2x2_(-9999.)
317 ,e3x3_(-9999.)
318 ,e5x5_(-9999.)
319 ,eMax_(-9999.)
320 ,isoR01_sumPt_(-9999.)
321 ,isoR01_nTracks_(-9999)
322 ,isoR02_sumPt_(-9999.)
323 ,isoR02_nTracks_(-9999)
324 ,isoR03_emEt_(-9999.)
325 ,isoR03_hadEt_(-9999.)
326 ,isoR03_sumPt_(-9999.)
327 ,isoR03_nTracks_(-9999)
328 ,isoR05_emEt_(-9999.)
329 ,isoR05_hadEt_(-9999.)
330 ,isoR05_sumPt_(-9999.)
331 ,isoR05_nTracks_(-9999)
332 ,idCutBasedFixedThresholdLoose_(-1)
333 ,idCutBasedFixedThresholdTight_(-1)
334 ,idCutBasedFixedThresholdHighEnergy_(-1)
335 ,idCutBasedCategorizedLoose_(-1)
336 ,idCutBasedCategorizedTight_(-1)
337 ,idLikelihood_(-9999.)
338 ,idNeuralNet_(-9999.)
339 ,isAlsoPhoton_(false)
340 {;}
341
342 TRootElectron(const TLorentzVector &momentum) :
343 TRootParticle(momentum)
344 ,classification_(-9999)
345 ,caloEnergy_(-9999.)
346 ,caloEnergyError_(-9999.)
347 ,trackMomentum_(-9999.)
348 ,trackMomentumError_(-9999.)
349 ,hadOverEm_(-9999.)
350 ,deltaEtaIn_(-9999.)
351 ,deltaPhiIn_(-9999.)
352 ,energySuperClusterOverPin_(-9999.)
353 ,deltaEtaOut_(-9999.)
354 ,deltaPhiOut_(-9999.)
355 ,energySeedClusterOverPout_(-9999.)
356 ,energyScaleCorrected_(false)
357 ,momentumCorrected_(false)
358 ,dr03TkSumPt_(-9999.)
359 ,dr03EcalRecHitSumEt_(-9999.)
360 ,dr03HcalDepth1TowerSumEt_(-9999.)
361 ,dr03HcalDepth2TowerSumEt_(-9999.)
362 ,pixelLayersWithMeasurement_(-1)
363 ,stripLayersWithMeasurement_(-1)
364 ,d0_(-9999.)
365 ,d0Error_(-9999.)
366 ,dsz_(-9999.)
367 ,dszError_(-9999.)
368 ,normalizedChi2_(-9999.)
369 ,ptError_(-9999.)
370 ,etaError_(-9999.)
371 ,phiError_(-9999.)
372 ,ip3DSignificance_(-9999.)
373 ,nbClusters_(-9999)
374 ,superClusterRawEnergy_(-9999.)
375 ,preshowerEnergy_(-9999.)
376 ,caloPosition_(-9999.,-9999.,-9999.)
377 ,scIndex_()
378 ,scRef_()
379 ,clusterAlgo_(-9999)
380 ,caloConeSize_(-9999.)
381 ,e2x2_(-9999.)
382 ,e3x3_(-9999.)
383 ,e5x5_(-9999.)
384 ,eMax_(-9999.)
385 ,isoR01_sumPt_(-9999.)
386 ,isoR01_nTracks_(-9999)
387 ,isoR02_sumPt_(-9999.)
388 ,isoR02_nTracks_(-9999)
389 ,isoR03_emEt_(-9999.)
390 ,isoR03_hadEt_(-9999.)
391 ,isoR03_sumPt_(-9999.)
392 ,isoR03_nTracks_(-9999)
393 ,isoR05_emEt_(-9999.)
394 ,isoR05_hadEt_(-9999.)
395 ,isoR05_sumPt_(-9999.)
396 ,isoR05_nTracks_(-9999)
397 ,idCutBasedFixedThresholdLoose_(-1)
398 ,idCutBasedFixedThresholdTight_(-1)
399 ,idCutBasedFixedThresholdHighEnergy_(-1)
400 ,idCutBasedCategorizedLoose_(-1)
401 ,idCutBasedCategorizedTight_(-1)
402 ,idLikelihood_(-9999.)
403 ,idNeuralNet_(-9999.)
404 ,isAlsoPhoton_(false)
405 {;}
406
407 TRootElectron(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
408 TRootParticle(momentum, vertex, type, charge)
409 ,classification_(-9999)
410 ,caloEnergy_(-9999.)
411 ,caloEnergyError_(-9999.)
412 ,trackMomentum_(-9999.)
413 ,trackMomentumError_(-9999.)
414 ,hadOverEm_(-9999.)
415 ,deltaEtaIn_(-9999.)
416 ,deltaPhiIn_(-9999.)
417 ,energySuperClusterOverPin_(-9999.)
418 ,deltaEtaOut_(-9999.)
419 ,deltaPhiOut_(-9999.)
420 ,energySeedClusterOverPout_(-9999.)
421 ,energyScaleCorrected_(false)
422 ,momentumCorrected_(false)
423 ,dr03TkSumPt_(-9999.)
424 ,dr03EcalRecHitSumEt_(-9999.)
425 ,dr03HcalDepth1TowerSumEt_(-9999.)
426 ,dr03HcalDepth2TowerSumEt_(-9999.)
427 ,pixelLayersWithMeasurement_(-1)
428 ,stripLayersWithMeasurement_(-1)
429 ,d0_(-9999.)
430 ,d0Error_(-9999.)
431 ,dsz_(-9999.)
432 ,dszError_(-9999.)
433 ,normalizedChi2_(-9999.)
434 ,ptError_(-9999.)
435 ,etaError_(-9999.)
436 ,phiError_(-9999.)
437 ,ip3DSignificance_(-9999.)
438 ,nbClusters_(-9999)
439 ,superClusterRawEnergy_(-9999.)
440 ,preshowerEnergy_(-9999.)
441 ,caloPosition_(-9999.,-9999.,-9999.)
442 ,scIndex_()
443 ,scRef_()
444 ,clusterAlgo_(-9999)
445 ,caloConeSize_(-9999.)
446 ,e2x2_(-9999.)
447 ,e3x3_(-9999.)
448 ,e5x5_(-9999.)
449 ,eMax_(-9999.)
450 ,isoR01_sumPt_(-9999.)
451 ,isoR01_nTracks_(-9999)
452 ,isoR02_sumPt_(-9999.)
453 ,isoR02_nTracks_(-9999)
454 ,isoR03_emEt_(-9999.)
455 ,isoR03_hadEt_(-9999.)
456 ,isoR03_sumPt_(-9999.)
457 ,isoR03_nTracks_(-9999)
458 ,isoR05_emEt_(-9999.)
459 ,isoR05_hadEt_(-9999.)
460 ,isoR05_sumPt_(-9999.)
461 ,isoR05_nTracks_(-9999)
462 ,idCutBasedFixedThresholdLoose_(-1)
463 ,idCutBasedFixedThresholdTight_(-1)
464 ,idCutBasedFixedThresholdHighEnergy_(-1)
465 ,idCutBasedCategorizedLoose_(-1)
466 ,idCutBasedCategorizedTight_(-1)
467 ,idLikelihood_(-9999.)
468 ,idNeuralNet_(-9999.)
469 ,isAlsoPhoton_(false)
470 {;}
471
472 ~TRootElectron() {;}
473
474
475 Int_t classification() const { return classification_ ;}
476 Float_t caloEnergy() const { return caloEnergy_ ;}
477 Float_t caloEnergyError() const { return caloEnergyError_ ;}
478 Float_t trackMomentum() const { return trackMomentum_ ;}
479 Float_t trackMomentumError() const { return trackMomentumError_ ;}
480 Float_t hadOverEm() const { return hadOverEm_ ;}
481 Float_t deltaEtaIn() const { return deltaEtaIn_ ;}
482 Float_t deltaPhiIn() const { return deltaPhiIn_ ;}
483 Float_t energySuperClusterOverPin() const { return energySuperClusterOverPin_ ;}
484 Float_t deltaEtaOut() const { return deltaEtaOut_ ;}
485 Float_t deltaPhiOut() const { return deltaPhiOut_ ;}
486 Float_t energySeedClusterOverPout() const { return energySeedClusterOverPout_ ;}
487 Bool_t energyScaleCorrected() const { return energyScaleCorrected_ ;}
488 Bool_t momentumCorrected() const { return momentumCorrected_ ;}
489
490 Float_t dr03TkSumPt() const { return dr03TkSumPt_ ;}
491 Float_t dr03EcalRecHitSumEt() const { return dr03EcalRecHitSumEt_;}
492 Float_t dr03HcalDepth1TowerSumEt() const { return dr03HcalDepth1TowerSumEt_ ;}
493 Float_t dr03HcalDepth2TowerSumEt() const { return dr03HcalDepth2TowerSumEt_ ;}
494 Float_t dr03HcalTowerSumEt() const { return dr03HcalDepth1TowerSumEt()+dr03HcalDepth2TowerSumEt() ;}
495
496 Int_t pixelLayersWithMeasurement() const { return pixelLayersWithMeasurement_; }
497 Int_t stripLayersWithMeasurement() const { return stripLayersWithMeasurement_; }
498 Float_t d0() const { return d0_ ;}
499 Float_t d0Error() const { return d0Error_ ;}
500 Float_t dsz() const { return dsz_ ;}
501 Float_t dszError() const { return dszError_ ;}
502 Float_t normalizedChi2() const { return normalizedChi2_ ;}
503 Float_t ptError() const { return ptError_ ;}
504 Float_t etaError() const { return etaError_ ;}
505 Float_t phiError() const { return phiError_ ;}
506 Float_t ip3DSignificance() const { return ip3DSignificance_ ;}
507
508 Int_t nbClusters() const { return nbClusters_ ;}
509 Float_t superClusterRawEnergy() const { return superClusterRawEnergy_ ;}
510 Float_t preshowerEnergy() const { return preshowerEnergy_ ;}
511 TVector3 caloPosition() const { return caloPosition_ ;}
512 map<Int_t,Int_t> scIndexMap() const { return scIndex_; }
513 map<Int_t,TRef> scRef() const { return scRef_ ;}
514 Int_t nSuperClusters() const { return scRef_.size();}
515
516 // Get index in TCloneArray of the supercluster associated by default
517 // Default SC collection for electron producer defined in
518 // RecoEgamma/EgammaElectronProducers/python/pixelMatchGsfElectrons_cfi
519 Int_t scIndex()
520 {
521 // 0=island or multi5x5, 1=hybrid
522 //if ( clusterAlgo_== 0 ) return scIndexOfType(122);
523 if ( clusterAlgo_== 0 ) return scIndexOfType(322);
524 else if ( clusterAlgo_== 1 ) return scIndexOfType(211);
525 else return -1;
526 }
527
528 // Get ith element in map scIndex_
529 Int_t scIndexAt(UInt_t index)
530 {
531 if ( index>=scIndex_.size())
532 {
533 return -1;
534 }
535 else
536 {
537 map<Int_t,Int_t>::iterator it=scIndex_.begin();
538 for (UInt_t i=0; i<index; ++i) it++;
539 return ( (*it).second );
540 }
541 }
542
543 // Get index in TCloneArray of the seed supercluster of type "type"
544 Int_t scIndexOfType(Int_t type)
545 {
546 map<Int_t,Int_t>::iterator it=scIndex_.find(type);
547 return ( it ==scIndex_.end() ? -1 : (*it).second );
548 }
549
550 // Get supercluster associated by default
551 // Default SC collection for electron producer defined in
552 // RecoEgamma/EgammaElectronProducers/python/pixelMatchGsfElectrons_cfi
553 TRootSuperCluster* superCluster()
554 {
555 // 0=island or multi5x5, 1=hybrid
556 //if ( clusterAlgo_== 0 ) return superClusterOfType(122);
557 if ( clusterAlgo_== 0 ) return superClusterOfType(322);
558 else if ( clusterAlgo_== 1 ) return superClusterOfType(211);
559 else return 0;
560 }
561
562 // Get ith element in map scRef_
563 TRootSuperCluster* superClusterAt(UInt_t index)
564 {
565 if ( index>=scRef_.size())
566 {
567 return 0;
568 }
569 else
570 {
571 map<Int_t,TRef>::iterator it=scRef_.begin();
572 for (UInt_t i=0; i<index; ++i) it++;
573 return ( (TRootSuperCluster*)(*it).second.GetObject() );
574 }
575 }
576
577 // Get the seed supercluster of type "type"
578 TRootSuperCluster* superClusterOfType(Int_t type)
579 {
580 map<Int_t,TRef>::iterator it=scRef_.find(type);
581 return ( it ==scRef_.end() ? 0 : (TRootSuperCluster*) (*it).second.GetObject() );
582 }
583
584 Int_t clusterAlgo() const { return clusterAlgo_ ;}
585 Float_t caloConeSize() const { return caloConeSize_ ;}
586 Float_t e2x2() const { return e2x2_ ;}
587 Float_t e3x3() const { return e3x3_ ;}
588 Float_t e5x5() const { return e5x5_ ;}
589 Float_t eMax() const { return eMax_ ;}
590 Float_t r19() const { return ( e3x3_ == 0. ? -1. : eMax_/e3x3_ ); } // ratio of Emax/E(3x3)
591 // FIXME - Check definition of r9... include preshowerEnergy as in SimplePhotonAnalyzer.cc ?
592 Float_t r9() const { return ( superClusterRawEnergy_ == 0. ? -1. : e3x3_/superClusterRawEnergy_ ); } // ratio of E(3x3)/ESC
593 Float_t isoR01_sumPt() const { return isoR01_sumPt_ ;}
594 Int_t isoR01_nTracks() const { return isoR01_nTracks_ ;}
595 Float_t isoR02_sumPt() const { return isoR02_sumPt_ ;}
596 Int_t isoR02_nTracks() const { return isoR02_nTracks_ ;}
597 Float_t isoR03_emEt() const { return isoR03_emEt_ ;}
598 Float_t isoR03_hadEt() const { return isoR03_hadEt_ ;}
599 Float_t isoR03_sumPt() const { return isoR03_sumPt_ ;}
600 Int_t isoR03_nTracks() const { return isoR03_nTracks_ ;}
601 Float_t isoR05_emEt() const { return isoR05_emEt_ ;}
602 Float_t isoR05_hadEt() const { return isoR05_hadEt_ ;}
603 Float_t isoR05_sumPt() const { return isoR05_sumPt_ ;}
604 Int_t isoR05_nTracks() const { return isoR05_nTracks_ ;}
605 Int_t idCutBasedFixedThresholdLoose() const { return idCutBasedFixedThresholdLoose_ ;}
606 Int_t idCutBasedFixedThresholdTight() const { return idCutBasedFixedThresholdTight_ ;}
607 Int_t idCutBasedFixedThresholdHighEnergy() const { return idCutBasedFixedThresholdHighEnergy_ ;}
608 Int_t idCutBasedCategorizedLoose() const { return idCutBasedCategorizedLoose_ ;}
609 Int_t idCutBasedCategorizedTight() const { return idCutBasedCategorizedTight_ ;}
610 Float_t idLikelihood() const { return idLikelihood_ ;}
611 Float_t idNeuralNet() const { return idNeuralNet_ ;}
612 Bool_t isAlsoPhoton() const { return isAlsoPhoton_; }
613
614 /* TODO - isBarrel / isEndcap / isCrack
615 if (fabs (eta) <= 1.4442) {
616 localElectron.setPosition (1);
617 }
618 else if (fabs (eta) > 1.4442 & fabs (eta) < 1.5560) {
619 localElectron.setPosition (0);
620 }
621 else if (fabs (eta) >= 1.5560) {
622 localElectron.setPosition (-1);
623 }
624 */
625
626 virtual TString typeName() const { return "TRootElectron"; }
627
628
629 void setClassification(Int_t classification) { classification_ = classification; }
630 void setCaloEnergy(Float_t caloEnergy) { caloEnergy_ = caloEnergy; }
631 void setCaloEnergyError(Float_t caloEnergyError) { caloEnergyError_ = caloEnergyError; }
632 void setTrackMomentum(Float_t trackMomentum) { trackMomentum_ = trackMomentum; }
633 void setTrackMomentumError(Float_t trackMomentumError) { trackMomentumError_ = trackMomentumError; }
634 void setHadOverEm(Float_t hadOverEm) { hadOverEm_ = hadOverEm; }
635 void setDeltaEtaIn(Float_t deltaEtaIn) { deltaEtaIn_ = deltaEtaIn; }
636 void setDeltaPhiIn(Float_t deltaPhiIn) { deltaPhiIn_ = deltaPhiIn; }
637 void setEnergySuperClusterOverPin(Float_t energySuperClusterOverPin) { energySuperClusterOverPin_ = energySuperClusterOverPin; }
638 void setDeltaEtaOut(Float_t deltaEtaOut) { deltaEtaOut_ = deltaEtaOut; }
639 void setDeltaPhiOut(Float_t deltaPhiOut) { deltaPhiOut_ = deltaPhiOut; }
640 void setEnergySeedClusterOverPout(Float_t energySeedClusterOverPout) { energySeedClusterOverPout_ = energySeedClusterOverPout; }
641 void setEnergyScaleCorrected(Bool_t energyScaleCorrected) { energyScaleCorrected_ = energyScaleCorrected; }
642 void setMomentumCorrected(Bool_t momentumCorrected) { momentumCorrected_ = momentumCorrected; }
643 void setDr03TkSumPt(Float_t dr03TkSumPt) { dr03TkSumPt_ = dr03TkSumPt; }
644 void setDr03EcalRecHitSumEt(Float_t dr03EcalRecHitSumEt) { dr03EcalRecHitSumEt_ = dr03EcalRecHitSumEt; }
645 void setDr03HcalDepth1TowerSumEt(Float_t dr03HcalDepth1TowerSumEt) { dr03HcalDepth1TowerSumEt_ = dr03HcalDepth1TowerSumEt; }
646 void setDr03HcalDepth2TowerSumEt(Float_t dr03HcalDepth2TowerSumEt) { dr03HcalDepth2TowerSumEt_ = dr03HcalDepth2TowerSumEt; }
647
648 void setPixelLayersWithMeasurement(Int_t pixelLayersWithMeasurement) { pixelLayersWithMeasurement_ = pixelLayersWithMeasurement; }
649 void setStripLayersWithMeasurement(Int_t stripLayersWithMeasurement) { stripLayersWithMeasurement_ = stripLayersWithMeasurement; }
650 void setD0(Float_t d0) { d0_ = d0; }
651 void setD0Error(Float_t d0Error) { d0Error_ = d0Error; }
652 void setDsz(Float_t dsz) { dsz_ = dsz; }
653 void setDszError(Float_t dszError) { dszError_ = dszError; }
654 void setNormalizedChi2(Float_t normalizedChi2) { normalizedChi2_ = normalizedChi2; }
655 void setPtError(Float_t ptError) { ptError_ = ptError; }
656 void setEtaError(Float_t etaError) { etaError_ = etaError; }
657 void setPhiError(Float_t phiError) { phiError_ = phiError; }
658 void setIP3DSignificance(Float_t ip3DSignificance) { ip3DSignificance_ = ip3DSignificance; }
659
660 void setNbClusters(Int_t nbClusters) { nbClusters_ = nbClusters; }
661 void setSuperClusterRawEnergy(Float_t superClusterRawEnergy) { superClusterRawEnergy_ = superClusterRawEnergy; }
662 void setPreshowerEnergy(Float_t preshowerEnergy) { preshowerEnergy_ = preshowerEnergy; }
663 void setCaloPosition(TVector3 caloPosition) { caloPosition_ = caloPosition; }
664 void setCaloPosition(Double_t x, Double_t y, Double_t z) { caloPosition_.SetXYZ(x, y ,z); }
665 void setSCIndex(Int_t type, Int_t index) { scIndex_[type]=index; }
666 void setSCRef(Int_t type, TObject* superCluster) { scRef_[type]=superCluster; }
667 void setClusterAlgo(Int_t clusterAlgo) { clusterAlgo_ = clusterAlgo; }
668 void setCaloConeSize(Float_t caloConeSize) { caloConeSize_ = caloConeSize; }
669 void setE2x2(Float_t e2x2) { e2x2_ = e2x2; }
670 void setE3x3(Float_t e3x3) { e3x3_ = e3x3; }
671 void setE5x5(Float_t e5x5) { e5x5_ = e5x5; }
672 void setEMax(Float_t eMax) { eMax_ = eMax; }
673 void setIsoR01_sumPt(Float_t isoR01_sumPt) { isoR01_sumPt_ = isoR01_sumPt; }
674 void setIsoR01_nTracks(Int_t isoR01_nTracks) { isoR01_nTracks_ = isoR01_nTracks; }
675 void setIsoR02_sumPt(Float_t isoR02_sumPt) { isoR02_sumPt_ = isoR02_sumPt; }
676 void setIsoR02_nTracks(Int_t isoR02_nTracks) { isoR02_nTracks_ = isoR02_nTracks; }
677 void setIsoR03_emEt(Float_t isoR03_emEt) { isoR03_emEt_ = isoR03_emEt; }
678 void setIsoR03_hadEt(Float_t isoR03_hadEt) { isoR03_hadEt_ = isoR03_hadEt; }
679 void setIsoR03_sumPt(Float_t isoR03_sumPt) { isoR03_sumPt_ = isoR03_sumPt; }
680 void setIsoR03_nTracks(Int_t isoR03_nTracks) { isoR03_nTracks_ = isoR03_nTracks; }
681 void setIsoR05_emEt(Float_t isoR05_emEt) { isoR05_emEt_ = isoR05_emEt; }
682 void setIsoR05_hadEt(Float_t isoR05_hadEt) { isoR05_hadEt_ = isoR05_hadEt; }
683 void setIsoR05_sumPt(Float_t isoR05_sumPt) { isoR05_sumPt_ = isoR05_sumPt; }
684 void setIsoR05_nTracks(Int_t isoR05_nTracks) { isoR05_nTracks_ = isoR05_nTracks; }
685 void setIDCutBasedFixedThresholdLoose(Int_t idCutBasedFixedThresholdLoose) { idCutBasedFixedThresholdLoose_ = idCutBasedFixedThresholdLoose; }
686 void setIDCutBasedFixedThresholdTight(Int_t idCutBasedFixedThresholdTight) { idCutBasedFixedThresholdTight_ = idCutBasedFixedThresholdTight; }
687 void setIDCutBasedFixedThresholdHighEnergy(Int_t idCutBasedFixedThresholdHighEnergy) { idCutBasedFixedThresholdHighEnergy_ = idCutBasedFixedThresholdHighEnergy; }
688 void setIDCutBasedCategorizedLoose(Int_t idCutBasedCategorizedLoose) { idCutBasedCategorizedLoose_ = idCutBasedCategorizedLoose; }
689 void setIDCutBasedCategorizedTight(Int_t idCutBasedCategorizedTight) { idCutBasedCategorizedTight_ = idCutBasedCategorizedTight; }
690 void setIDLikelihood(Float_t idLikelihood) { idLikelihood_ = idLikelihood; }
691 void setIDNeuralNet(Float_t idNeuralNet) { idNeuralNet_ = idNeuralNet; }
692 void setIsAlsoPhoton(Bool_t isAlsoPhoton) { isAlsoPhoton_ = isAlsoPhoton; }
693
694 friend std::ostream& operator<< (std::ostream& stream, const TRootElectron& electron)
695 {
696 stream << "TRootElectron - Charge=" << electron.charge() << " (E,Et,eta,phi)=("<< electron.Energy() <<","<< electron.Et() <<","<< electron.Eta() <<","<< electron.Phi() << ")"
697 << " vertex(x,y,z)=("<< electron.vx() <<","<< electron.vy() <<","<< electron.vz() << ")";
698 return stream;
699 };
700
701 void Print()
702 {
703 std::cout << "TRootElectron - Charge=" << this->charge() << " (E,Et,eta,phi)=("<< this->Energy() <<","<< this->Et() <<","<< this->Eta() <<","<< this->Phi() << ")"
704 << " vertex=("<< this->vx() <<","<< this->vy() <<","<< this->vz() << ")"
705 << " caloPosition=(" << this->caloPosition().X() << "," << this->caloPosition().Y() << "," << this->caloPosition().Z() << ")" << endl
706 << " trackMomentum=" << this->trackMomentum() << "+-" << this->trackMomentumError() << " nPixels=" << this->pixelLayersWithMeasurement()
707 << " nStrips=" << this->stripLayersWithMeasurement() << " d0=" << this->d0() << "+-" << this->d0Error()<< " dsz=" << this->dsz() << "+-" << this->dszError() << endl
708 << " algo=" << this->clusterAlgo() << " nBC=" << this->nbClusters() << " caloEnergy=" << this->caloEnergy() << "+-" << this->caloEnergyError()
709 << " scRawEnergy=" << this->superClusterRawEnergy() << " preshEnergy=" << this->preshowerEnergy()
710 << " E2x2=" << this->e2x2() <<" E3x3=" << this->e3x3() <<" E5x5=" << this->e5x5() <<" Emax=" << this->eMax()
711 << " R19=" << this->r19() <<" R9=" << this->r9() << endl
712 <<" H/E=" << this->hadOverEm() <<" deltaEtaIn=" << this->deltaEtaIn() <<" deltaPhiIn=" << this->deltaPhiIn() <<" deltaEtaOut=" << this->deltaEtaOut() <<" deltaPhiOut=" << this->deltaPhiOut() <<" E/p in=" << this->energySuperClusterOverPin() <<" E/p out=" << this->energySeedClusterOverPout() << endl
713 << " reco iso03 ecal="<< this->dr03EcalRecHitSumEt() << " hcal1=" << this->dr03HcalDepth1TowerSumEt() << " hcal2=" << this->dr03HcalDepth2TowerSumEt() << " tracker=" << this->dr03TkSumPt() << endl
714 << " pat iso03 ecal="<< this->isoR03_emEt() << " hcal=" << this->isoR03_hadEt() << " tracker=" << this->isoR03_sumPt() << " ntracks=" << this->isoR03_nTracks() << endl
715 << " pat iso05 ecal="<< this->isoR05_emEt() << " hcal=" << this->isoR05_hadEt() << " tracker=" << this->isoR05_sumPt() << " ntracks=" << this->isoR05_nTracks() << endl
716 <<" ID: Fixed-Threshold(Loose,Tight,HighEnergy)=(" << this->idCutBasedFixedThresholdLoose() << "," << this->idCutBasedFixedThresholdTight() << "," << this->idCutBasedFixedThresholdHighEnergy() << ")"
717 <<" Categorized(Loose,Tight)=(" << this->idCutBasedCategorizedLoose() << "," << this->idCutBasedCategorizedTight() << ")"
718 <<" LH=" << this->idLikelihood() << " NN=" << this->idNeuralNet() << " isAlsoPhoton=" << this->isAlsoPhoton();
719 };
720
721
722 private:
723
724 // Variables from reco::GsfElectron
725
726 // Classification:
727 // barrel : 0: golden, 10: bigbrem, 20: narrow, 30-34: showering, 40: crack
728 // (30: showering nbrem=0, 31: showering nbrem=1, 32: showering nbrem=2 ,33: showering nbrem=3, 34: showering nbrem>=4)
729 // endcaps : 100: golden, 110: bigbrem, 120: narrow, 130-134: showering
730 // (130: showering nbrem=0, 131: showering nbrem=1, 132: showering nbrem=2 ,133: showering nbrem=3, 134: showering nbrem>=4)
731
732 Int_t classification_; // Electron classification
733
734 Float_t caloEnergy_; // SuperCluster energy corrected by EnergyScaleFactor
735 Float_t caloEnergyError_; // Error on caloEnergy_
736 Float_t trackMomentum_; // Track momentum at vertex
737 Float_t trackMomentumError_; // Error on trackMomentum_
738
739 Float_t hadOverEm_; // hadronic over electromagnetic fraction
740
741 Float_t deltaEtaIn_; // Supercluster eta - Track eta from helix extrapolation from impact point
742 Float_t deltaPhiIn_; // Supercluster phi - Track phi from helix extrapolation from impact point
743 Float_t energySuperClusterOverPin_; // supercluster energy / track momentum at impact point
744
745 Float_t deltaEtaOut_; // SeedCluster eta - Track eta at calo from outermost state
746 Float_t deltaPhiOut_; // SeedCluster phi - Track phi at calo from outermost state
747 Float_t energySeedClusterOverPout_; // SeedCluster energy / track momentum at calo from outermost state
748
749 Bool_t energyScaleCorrected_; // Has Energy Scale been applied ?
750 Bool_t momentumCorrected_; // Tell if class dependant E-p combination has been determined
751
752 Float_t dr03TkSumPt_; // track iso deposit with electron footprint removed
753 Float_t dr03EcalRecHitSumEt_; // ecal iso deposit with electron footprint removed
754 Float_t dr03HcalDepth1TowerSumEt_; // hcal depht 1 iso deposit with electron footprint removed
755 Float_t dr03HcalDepth2TowerSumEt_; // hcal depht 2 iso deposit with electron footprint removed
756
757 // Variables from reco::GsfTrack
758
759 /* cf: http://cmslxr.fnal.gov/lxr/source/DataFormats/TrackReco/interface/TrackBase.h
760 For tracks reconstructed in the CMS Tracker, the reference position is the point of closest approach to the centre
761 of CMS. For muons, this is not necessarily true. Parameters associated to the 5D curvilinear covariance matrix:
762 qoverp = q / abs(p) = signed inverse of momentum [1/GeV]
763 lambda = pi/2 - polar angle at the given point
764 phi = azimuth angle at the given point
765 dxy = -vx*sin(phi) + vy*cos(phi) [cm]
766 dsz = vz*cos(lambda) - (vx*cos(phi)+vy*sin(phi))*sin(lambda) [cm]
767
768 Geometrically, dxy is the signed distance in the XY plane between the straight line passing through (vx,vy) with
769 azimuthal angle phi and the point (0,0). The dsz parameter is the signed distance in the SZ plane between the straight
770 line passing through (vx,vy,vz) with angles (phi, lambda) and the point (s=0,z=0). The S axis is defined by the projection
771 of the straight line onto the XY plane. The convention is to assign the S coordinate for (vx,vy) as the value
772 vx*cos(phi)+vy*sin(phi). This value is zero when (vx,vy) is the point of minimum transverse distance to (0,0).
773
774 Note that dxy and dsz provide sensible estimates of the distance from the true particle trajectory to (0,0,0) ONLY
775 in two cases:
776 - When (vx,vy,vz) already correspond to the point of minimum transverse distance to (0,0,0) or is close to it
777 (so that the differences between considering the exact trajectory or a straight line in this range are negligible).
778 This is usually true for Tracker tracks.
779 - When the track has infinite or extremely high momentum */
780
781 Int_t pixelLayersWithMeasurement_; // Number of pixel layers with at least one valid hit
782 Int_t stripLayersWithMeasurement_; // Number of strip layers with at least one valid hit
783
784 Float_t d0_; // d0=-dxy
785 Float_t d0Error_; // error on d0_
786 Float_t dsz_; // dsz parameter
787 Float_t dszError_; // error on dsz_
788 Float_t normalizedChi2_; // chi-squared divided by n.d.o.f. of track fit
789
790 Float_t ptError_; // needed ? ptError()
791 Float_t etaError_; // needed ? etaError()
792 Float_t phiError_; // needed ? phiError()
793
794 Float_t ip3DSignificance_; // Significance of the impact parameter wrt to the selected primary vertex
795
796
797 // Variables from reco::SuperCluster
798 Int_t nbClusters_; // Number of related brem clusters
799 Float_t superClusterRawEnergy_;
800 Float_t preshowerEnergy_;
801 TVector3 caloPosition_; // SuperCluster centroid position
802 map<Int_t,Int_t> scIndex_; // indexes of the seed SuperClusters (one per SC tytpe)
803 map<Int_t,TRef> scRef_; // references to the seed SuperClusters (one per SC tytpe)
804
805
806 // Cluster Shape variables
807 // need reco::SuperCluster and reco::BasicCluster
808 Int_t clusterAlgo_; // reco::BasicCluster::algo() island = 0, hybrid = 1, fixedMatrix = 2, dynamicHybrid = 3, multi5x5 = 4
809 Float_t caloConeSize_; // Delta_R of the cone centered on the reco::GsfElectron and containing all its basic clusters constituents
810 // need reco::SuperCluster and reco::BasicCluster and reduced Ecal RecHits Collections for EcalClusterLazyTools
811 Float_t e2x2_;
812 Float_t e3x3_;
813 Float_t e5x5_;
814 Float_t eMax_;
815
816
817 // pat::Electron Isolation
818 Float_t isoR01_sumPt_;
819 Int_t isoR01_nTracks_;
820
821 Float_t isoR02_sumPt_;
822 Int_t isoR02_nTracks_;
823
824 Float_t isoR03_emEt_;
825 Float_t isoR03_hadEt_;
826 Float_t isoR03_sumPt_;
827 Int_t isoR03_nTracks_;
828
829 Float_t isoR05_emEt_;
830 Float_t isoR05_hadEt_;
831 Float_t isoR05_sumPt_; // Pt sum of tracks in a DR=0.5 cone around the electron
832 Int_t isoR05_nTracks_; // Tracks multiplicity in a DR=0.5 cone around the electron
833
834
835 // Electron ID (cf https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideElectronID)
836 // By default in 2.2.X, only cut based identification is available in pat (https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideCutBasedElectronID
837 Int_t idCutBasedFixedThresholdLoose_; // Simple cut based ID (aka 'robust') - Loose Thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta
838 Int_t idCutBasedFixedThresholdTight_; // Simple cut based ID (default in EWK group) - Tight Thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta
839 Int_t idCutBasedFixedThresholdHighEnergy_; // Simple cut based ID - Thresholds optimized for high energy electron (~TeV) - not activated by default in 2.2.X
840 Int_t idCutBasedCategorizedLoose_; // Category based ID - Different loose thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta, eSeedOverPin for differents regions in the E/p vs fBrem plane
841 Int_t idCutBasedCategorizedTight_; // Category based ID - Different tight thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta, eSeedOverPin for differents regions in the E/p vs fBrem plane
842 Float_t idLikelihood_; // Lieklihood ID - not activated by default in 2.2.X
843 Float_t idNeuralNet_; // NN ID - not activated by default in 2.2.X
844
845 Bool_t isAlsoPhoton_; // is electron also a photon ?
846
847 // needed ?
848 //Float_t sigmaEtaEta_;
849 //Float_t sigmaPhiPhi_;
850
851
852 ClassDef (TRootElectron,6);
853
854 };
855
856 #endif