ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Morgan/interface/TRootElectron.h
(Generate patch)

Comparing UserCode/Morgan/interface/TRootElectron.h (file contents):
Revision 1.1 by mlethuil, Mon May 19 16:12:13 2008 UTC vs.
Revision 1.7 by lethuill, Wed Mar 11 12:44:56 2009 UTC

# Line 1 | Line 1
1   #ifndef TRootElectron_h
2   #define TRootElectron_h
3  
4 + #include <map>
5 +
6   #include "../interface/TRootParticle.h"
7  
8   #include "Rtypes.h"
9   #include "TObject.h"
10  
9
11   using namespace std;
12  
13   class TRootElectron : public TRootParticle
14   {
15 <        
15 >
16   public:
17 +
18 +        TRootElectron() :
19 +                TRootParticle()
20 +                ,classification_(-9999)
21 +                ,caloEnergy_(-9999.)
22 +                ,caloEnergyError_(-9999.)
23 +                ,trackMomentum_(-9999.)
24 +                ,trackMomentumError_(-9999.)
25 +                ,hadOverEm_(-9999.)
26 +                ,deltaEtaIn_(-9999.)
27 +                ,deltaPhiIn_(-9999.)
28 +                ,energySuperClusterOverPin_(-9999.)
29 +                ,deltaEtaOut_(-9999.)
30 +                ,deltaPhiOut_(-9999.)
31 +                ,energySeedClusterOverPout_(-9999.)
32 +                ,energyScaleCorrected_(false)
33 +                ,momentumCorrected_(false)
34 +                ,d0_(-9999.)
35 +                ,d0Error_(-9999.)
36 +                ,dsz_(-9999.)
37 +                ,dszError_(-9999.)
38 +                ,normalizedChi2_(-9999.)
39 +                ,ptError_(-9999.)
40 +                ,etaError_(-9999.)
41 +                ,phiError_(-9999.)
42 +                ,nbClusters_(-9999)
43 +                ,superClusterRawEnergy_(-9999.)
44 +                ,preshowerEnergy_(-9999.)
45 +                ,caloPosition_(-9999.,-9999.,-9999.)
46 +                ,scRef_()
47 +                ,clusterAlgo_(-9999)
48 +                ,caloConeSize_(-9999.)
49 +                ,e2x2_(-9999.)
50 +                ,e3x3_(-9999.)
51 +                ,e5x5_(-9999.)
52 +                ,eMax_(-9999.)
53 +                ,isoR01_sumPt_(-9999.)
54 +                ,isoR01_nTracks_(-9999)
55 +                ,isoR02_sumPt_(-9999.)
56 +                ,isoR02_nTracks_(-9999)
57 +                ,isoR03_emEt_(-9999.)
58 +                ,isoR03_hadEt_(-9999.)
59 +                ,isoR03_sumPt_(-9999.)
60 +                ,isoR03_nTracks_(-9999)
61 +                ,isoR05_emEt_(-9999.)
62 +                ,isoR05_hadEt_(-9999.)
63 +                ,isoR05_sumPt_(-9999.)
64 +                ,isoR05_nTracks_(-9999)
65 +                ,idCutBasedFixedThresholdLoose_(-1)
66 +                ,idCutBasedFixedThresholdTight_(-1)
67 +                ,idCutBasedFixedThresholdHighEnergy_(-1)
68 +                ,idCutBasedCategorizedLoose_(-1)
69 +                ,idCutBasedCategorizedTight_(-1)
70 +                ,idLikelihood_(-9999.)
71 +                ,idNeuralNet_(-9999.)
72 +                {;}
73 +
74 +        TRootElectron(const TRootElectron& electron) :
75 +                TRootParticle(electron)
76 +                ,classification_(electron.classification_)
77 +                ,caloEnergy_(electron.caloEnergy_)
78 +                ,caloEnergyError_(electron.caloEnergyError_)
79 +                ,trackMomentum_(electron.trackMomentum_)
80 +                ,trackMomentumError_(electron.trackMomentumError_)
81 +                ,hadOverEm_(electron.hadOverEm_)
82 +                ,deltaEtaIn_(electron.deltaEtaIn_)
83 +                ,deltaPhiIn_(electron.deltaPhiIn_)
84 +                ,energySuperClusterOverPin_(electron.energySuperClusterOverPin_)
85 +                ,deltaEtaOut_(electron.deltaEtaOut_)
86 +                ,deltaPhiOut_(electron.deltaPhiOut_)
87 +                ,energySeedClusterOverPout_(electron.energySeedClusterOverPout_)
88 +                ,energyScaleCorrected_(electron.energyScaleCorrected_)
89 +                ,momentumCorrected_(electron.momentumCorrected_)
90 +                ,d0_(electron.d0_)
91 +                ,d0Error_(electron.d0Error_)
92 +                ,dsz_(electron.dsz_)
93 +                ,dszError_(electron.dszError_)
94 +                ,normalizedChi2_(electron.normalizedChi2_)
95 +                ,ptError_(electron.ptError_)
96 +                ,etaError_(electron.etaError_)
97 +                ,phiError_(electron.phiError_)
98 +                ,nbClusters_(electron.nbClusters_)
99 +                ,superClusterRawEnergy_(electron.superClusterRawEnergy_)
100 +                ,preshowerEnergy_(electron.preshowerEnergy_)
101 +                ,caloPosition_(electron.caloPosition_)
102 +                ,scRef_(electron.scRef_)
103 +                ,clusterAlgo_(electron.clusterAlgo_)
104 +                ,caloConeSize_(electron.caloConeSize_)
105 +                ,e2x2_(electron.e2x2_)
106 +                ,e3x3_(electron.e3x3_)
107 +                ,e5x5_(electron.e5x5_)
108 +                ,eMax_(electron.eMax_)
109 +                ,isoR01_sumPt_(electron.isoR01_sumPt_)
110 +                ,isoR01_nTracks_(electron.isoR01_nTracks_)
111 +                ,isoR02_sumPt_(electron.isoR02_sumPt_)
112 +                ,isoR02_nTracks_(electron.isoR02_nTracks_)
113 +                ,isoR03_emEt_(electron.isoR03_emEt_)
114 +                ,isoR03_hadEt_(electron.isoR03_hadEt_)
115 +                ,isoR03_sumPt_(electron.isoR03_sumPt_)
116 +                ,isoR03_nTracks_(electron.isoR03_nTracks_)
117 +                ,isoR05_emEt_(electron.isoR05_emEt_)
118 +                ,isoR05_hadEt_(electron.isoR05_hadEt_)
119 +                ,isoR05_sumPt_(electron.isoR05_sumPt_)
120 +                ,isoR05_nTracks_(electron.isoR05_nTracks_)
121 +                ,idCutBasedFixedThresholdLoose_(electron.idCutBasedFixedThresholdLoose_)
122 +                ,idCutBasedFixedThresholdTight_(electron.idCutBasedFixedThresholdTight_)
123 +                ,idCutBasedFixedThresholdHighEnergy_(electron.idCutBasedFixedThresholdHighEnergy_)
124 +                ,idCutBasedCategorizedLoose_(electron.idCutBasedCategorizedLoose_)
125 +                ,idCutBasedCategorizedTight_(electron.idCutBasedCategorizedTight_)
126 +                ,idLikelihood_(electron.idLikelihood_)
127 +                ,idNeuralNet_(electron.idNeuralNet_)
128 +                {;}
129 +
130 +        TRootElectron(Double_t px, Double_t py, Double_t pz, Double_t e) :
131 +                TRootParticle(px,py,pz,e)
132 +                ,classification_(-9999)
133 +                ,caloEnergy_(-9999.)
134 +                ,caloEnergyError_(-9999.)
135 +                ,trackMomentum_(-9999.)
136 +                ,trackMomentumError_(-9999.)
137 +                ,hadOverEm_(-9999.)
138 +                ,deltaEtaIn_(-9999.)
139 +                ,deltaPhiIn_(-9999.)
140 +                ,energySuperClusterOverPin_(-9999.)
141 +                ,deltaEtaOut_(-9999.)
142 +                ,deltaPhiOut_(-9999.)
143 +                ,energySeedClusterOverPout_(-9999.)
144 +                ,energyScaleCorrected_(false)
145 +                ,momentumCorrected_(false)
146 +                ,d0_(-9999.)
147 +                ,d0Error_(-9999.)
148 +                ,dsz_(-9999.)
149 +                ,dszError_(-9999.)
150 +                ,normalizedChi2_(-9999.)
151 +                ,ptError_(-9999.)
152 +                ,etaError_(-9999.)
153 +                ,phiError_(-9999.)
154 +                ,nbClusters_(-9999)
155 +                ,superClusterRawEnergy_(-9999.)
156 +                ,preshowerEnergy_(-9999.)
157 +                ,caloPosition_(-9999.,-9999.,-9999.)
158 +                ,scRef_()
159 +                ,clusterAlgo_(-9999)
160 +                ,caloConeSize_(-9999.)
161 +                ,e2x2_(-9999.)
162 +                ,e3x3_(-9999.)
163 +                ,e5x5_(-9999.)
164 +                ,eMax_(-9999.)
165 +                ,isoR01_sumPt_(-9999.)
166 +                ,isoR01_nTracks_(-9999)
167 +                ,isoR02_sumPt_(-9999.)
168 +                ,isoR02_nTracks_(-9999)
169 +                ,isoR03_emEt_(-9999.)
170 +                ,isoR03_hadEt_(-9999.)
171 +                ,isoR03_sumPt_(-9999.)
172 +                ,isoR03_nTracks_(-9999)
173 +                ,isoR05_emEt_(-9999.)
174 +                ,isoR05_hadEt_(-9999.)
175 +                ,isoR05_sumPt_(-9999.)
176 +                ,isoR05_nTracks_(-9999)
177 +                ,idCutBasedFixedThresholdLoose_(-1)
178 +                ,idCutBasedFixedThresholdTight_(-1)
179 +                ,idCutBasedFixedThresholdHighEnergy_(-1)
180 +                ,idCutBasedCategorizedLoose_(-1)
181 +                ,idCutBasedCategorizedTight_(-1)
182 +                ,idLikelihood_(-9999.)
183 +                ,idNeuralNet_(-9999.)
184 +                {;}
185          
186 <        TRootElectron() : TRootParticle(), et_em_(0.) {;}
187 <        TRootElectron(const TRootElectron& electron) : TRootParticle(electron), et_em_(electron.et_em_) {;}
188 <        TRootElectron(Double_t px, Double_t py, Double_t pz, Double_t e) : TRootParticle(px,py,pz,e), et_em_(0.) {;}    
189 <        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) : TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z), et_em_(0.) {;}
190 <        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) : TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge), et_em_(0.) {;}
191 <        TRootElectron(const TLorentzVector &momentum) : TRootParticle(momentum), et_em_(0.) {;}
192 <        TRootElectron(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) : TRootParticle(momentum, vertex, type, charge), et_em_(0.) {;}
186 >        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) :
187 >                TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z)
188 >                ,classification_(-9999)
189 >                ,caloEnergy_(-9999.)
190 >                ,caloEnergyError_(-9999.)
191 >                ,trackMomentum_(-9999.)
192 >                ,trackMomentumError_(-9999.)
193 >                ,hadOverEm_(-9999.)
194 >                ,deltaEtaIn_(-9999.)
195 >                ,deltaPhiIn_(-9999.)
196 >                ,energySuperClusterOverPin_(-9999.)
197 >                ,deltaEtaOut_(-9999.)
198 >                ,deltaPhiOut_(-9999.)
199 >                ,energySeedClusterOverPout_(-9999.)
200 >                ,energyScaleCorrected_(false)
201 >                ,momentumCorrected_(false)
202 >                ,d0_(-9999.)
203 >                ,d0Error_(-9999.)
204 >                ,dsz_(-9999.)
205 >                ,dszError_(-9999.)
206 >                ,normalizedChi2_(-9999.)
207 >                ,ptError_(-9999.)
208 >                ,etaError_(-9999.)
209 >                ,phiError_(-9999.)
210 >                ,nbClusters_(-9999)
211 >                ,superClusterRawEnergy_(-9999.)
212 >                ,preshowerEnergy_(-9999.)
213 >                ,caloPosition_(-9999.,-9999.,-9999.)
214 >                ,scRef_()
215 >                ,clusterAlgo_(-9999)
216 >                ,caloConeSize_(-9999.)
217 >                ,e2x2_(-9999.)
218 >                ,e3x3_(-9999.)
219 >                ,e5x5_(-9999.)
220 >                ,eMax_(-9999.)
221 >                ,isoR01_sumPt_(-9999.)
222 >                ,isoR01_nTracks_(-9999)
223 >                ,isoR02_sumPt_(-9999.)
224 >                ,isoR02_nTracks_(-9999)
225 >                ,isoR03_emEt_(-9999.)
226 >                ,isoR03_hadEt_(-9999.)
227 >                ,isoR03_sumPt_(-9999.)
228 >                ,isoR03_nTracks_(-9999)
229 >                ,isoR05_emEt_(-9999.)
230 >                ,isoR05_hadEt_(-9999.)
231 >                ,isoR05_sumPt_(-9999.)
232 >                ,isoR05_nTracks_(-9999)
233 >                ,idCutBasedFixedThresholdLoose_(-1)
234 >                ,idCutBasedFixedThresholdTight_(-1)
235 >                ,idCutBasedFixedThresholdHighEnergy_(-1)
236 >                ,idCutBasedCategorizedLoose_(-1)
237 >                ,idCutBasedCategorizedTight_(-1)
238 >                ,idLikelihood_(-9999.)
239 >                ,idNeuralNet_(-9999.)
240 >                {;}
241 >
242 >        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) :
243 >                TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge)
244 >                ,classification_(-9999)
245 >                ,caloEnergy_(-9999.)
246 >                ,caloEnergyError_(-9999.)
247 >                ,trackMomentum_(-9999.)
248 >                ,trackMomentumError_(-9999.)
249 >                ,hadOverEm_(-9999.)
250 >                ,deltaEtaIn_(-9999.)
251 >                ,deltaPhiIn_(-9999.)
252 >                ,energySuperClusterOverPin_(-9999.)
253 >                ,deltaEtaOut_(-9999.)
254 >                ,deltaPhiOut_(-9999.)
255 >                ,energySeedClusterOverPout_(-9999.)
256 >                ,energyScaleCorrected_(false)
257 >                ,momentumCorrected_(false)
258 >                ,d0_(-9999.)
259 >                ,d0Error_(-9999.)
260 >                ,dsz_(-9999.)
261 >                ,dszError_(-9999.)
262 >                ,normalizedChi2_(-9999.)
263 >                ,ptError_(-9999.)
264 >                ,etaError_(-9999.)
265 >                ,phiError_(-9999.)
266 >                ,nbClusters_(-9999)
267 >                ,superClusterRawEnergy_(-9999.)
268 >                ,preshowerEnergy_(-9999.)
269 >                ,caloPosition_(-9999.,-9999.,-9999.)
270 >                ,scRef_()
271 >                ,clusterAlgo_(-9999)
272 >                ,caloConeSize_(-9999.)
273 >                ,e2x2_(-9999.)
274 >                ,e3x3_(-9999.)
275 >                ,e5x5_(-9999.)
276 >                ,eMax_(-9999.)
277 >                ,isoR01_sumPt_(-9999.)
278 >                ,isoR01_nTracks_(-9999)
279 >                ,isoR02_sumPt_(-9999.)
280 >                ,isoR02_nTracks_(-9999)
281 >                ,isoR03_emEt_(-9999.)
282 >                ,isoR03_hadEt_(-9999.)
283 >                ,isoR03_sumPt_(-9999.)
284 >                ,isoR03_nTracks_(-9999)
285 >                ,isoR05_emEt_(-9999.)
286 >                ,isoR05_hadEt_(-9999.)
287 >                ,isoR05_sumPt_(-9999.)
288 >                ,isoR05_nTracks_(-9999)
289 >                ,idCutBasedFixedThresholdLoose_(-1)
290 >                ,idCutBasedFixedThresholdTight_(-1)
291 >                ,idCutBasedFixedThresholdHighEnergy_(-1)
292 >                ,idCutBasedCategorizedLoose_(-1)
293 >                ,idCutBasedCategorizedTight_(-1)
294 >                ,idLikelihood_(-9999.)
295 >                ,idNeuralNet_(-9999.)
296 >                {;}
297 >
298 >        TRootElectron(const TLorentzVector &momentum) :
299 >                TRootParticle(momentum)
300 >                ,classification_(-9999)
301 >                ,caloEnergy_(-9999.)
302 >                ,caloEnergyError_(-9999.)
303 >                ,trackMomentum_(-9999.)
304 >                ,trackMomentumError_(-9999.)
305 >                ,hadOverEm_(-9999.)
306 >                ,deltaEtaIn_(-9999.)
307 >                ,deltaPhiIn_(-9999.)
308 >                ,energySuperClusterOverPin_(-9999.)
309 >                ,deltaEtaOut_(-9999.)
310 >                ,deltaPhiOut_(-9999.)
311 >                ,energySeedClusterOverPout_(-9999.)
312 >                ,energyScaleCorrected_(false)
313 >                ,momentumCorrected_(false)
314 >                ,d0_(-9999.)
315 >                ,d0Error_(-9999.)
316 >                ,dsz_(-9999.)
317 >                ,dszError_(-9999.)
318 >                ,normalizedChi2_(-9999.)
319 >                ,ptError_(-9999.)
320 >                ,etaError_(-9999.)
321 >                ,phiError_(-9999.)
322 >                ,nbClusters_(-9999)
323 >                ,superClusterRawEnergy_(-9999.)
324 >                ,preshowerEnergy_(-9999.)
325 >                ,caloPosition_(-9999.,-9999.,-9999.)
326 >                ,scRef_()
327 >                ,clusterAlgo_(-9999)
328 >                ,caloConeSize_(-9999.)
329 >                ,e2x2_(-9999.)
330 >                ,e3x3_(-9999.)
331 >                ,e5x5_(-9999.)
332 >                ,eMax_(-9999.)
333 >                ,isoR01_sumPt_(-9999.)
334 >                ,isoR01_nTracks_(-9999)
335 >                ,isoR02_sumPt_(-9999.)
336 >                ,isoR02_nTracks_(-9999)
337 >                ,isoR03_emEt_(-9999.)
338 >                ,isoR03_hadEt_(-9999.)
339 >                ,isoR03_sumPt_(-9999.)
340 >                ,isoR03_nTracks_(-9999)
341 >                ,isoR05_emEt_(-9999.)
342 >                ,isoR05_hadEt_(-9999.)
343 >                ,isoR05_sumPt_(-9999.)
344 >                ,isoR05_nTracks_(-9999)
345 >                ,idCutBasedFixedThresholdLoose_(-1)
346 >                ,idCutBasedFixedThresholdTight_(-1)
347 >                ,idCutBasedFixedThresholdHighEnergy_(-1)
348 >                ,idCutBasedCategorizedLoose_(-1)
349 >                ,idCutBasedCategorizedTight_(-1)
350 >                ,idLikelihood_(-9999.)
351 >                ,idNeuralNet_(-9999.)
352 >                {;}
353 >
354 >        TRootElectron(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) :
355 >                TRootParticle(momentum, vertex, type, charge)
356 >                ,classification_(-9999)
357 >                ,caloEnergy_(-9999.)
358 >                ,caloEnergyError_(-9999.)
359 >                ,trackMomentum_(-9999.)
360 >                ,trackMomentumError_(-9999.)
361 >                ,hadOverEm_(-9999.)
362 >                ,deltaEtaIn_(-9999.)
363 >                ,deltaPhiIn_(-9999.)
364 >                ,energySuperClusterOverPin_(-9999.)
365 >                ,deltaEtaOut_(-9999.)
366 >                ,deltaPhiOut_(-9999.)
367 >                ,energySeedClusterOverPout_(-9999.)
368 >                ,energyScaleCorrected_(false)
369 >                ,momentumCorrected_(false)
370 >                ,d0_(-9999.)
371 >                ,d0Error_(-9999.)
372 >                ,dsz_(-9999.)
373 >                ,dszError_(-9999.)
374 >                ,normalizedChi2_(-9999.)
375 >                ,ptError_(-9999.)
376 >                ,etaError_(-9999.)
377 >                ,phiError_(-9999.)
378 >                ,nbClusters_(-9999)
379 >                ,superClusterRawEnergy_(-9999.)
380 >                ,preshowerEnergy_(-9999.)
381 >                ,caloPosition_(-9999.,-9999.,-9999.)
382 >                ,scRef_()
383 >                ,clusterAlgo_(-9999)
384 >                ,caloConeSize_(-9999.)
385 >                ,e2x2_(-9999.)
386 >                ,e3x3_(-9999.)
387 >                ,e5x5_(-9999.)
388 >                ,eMax_(-9999.)
389 >                ,isoR01_sumPt_(-9999.)
390 >                ,isoR01_nTracks_(-9999)
391 >                ,isoR02_sumPt_(-9999.)
392 >                ,isoR02_nTracks_(-9999)
393 >                ,isoR03_emEt_(-9999.)
394 >                ,isoR03_hadEt_(-9999.)
395 >                ,isoR03_sumPt_(-9999.)
396 >                ,isoR03_nTracks_(-9999)
397 >                ,isoR05_emEt_(-9999.)
398 >                ,isoR05_hadEt_(-9999.)
399 >                ,isoR05_sumPt_(-9999.)
400 >                ,isoR05_nTracks_(-9999)
401 >                ,idCutBasedFixedThresholdLoose_(-1)
402 >                ,idCutBasedFixedThresholdTight_(-1)
403 >                ,idCutBasedFixedThresholdHighEnergy_(-1)
404 >                ,idCutBasedCategorizedLoose_(-1)
405 >                ,idCutBasedCategorizedTight_(-1)
406 >                ,idLikelihood_(-9999.)
407 >                ,idNeuralNet_(-9999.)
408 >                {;}
409  
410          ~TRootElectron() {;}
26                
27        Float_t et_em() { return et_em_; }
411  
412 <        void setEt_em(Float_t et_em) { et_em_ = et_em; }
412 >
413 >        Int_t classification() const { return classification_ ;}
414 >        Float_t caloEnergy() const { return caloEnergy_ ;}
415 >        Float_t caloEnergyError() const { return caloEnergyError_ ;}
416 >        Float_t trackMomentum() const { return trackMomentum_ ;}
417 >        Float_t trackMomentumError() const { return trackMomentumError_ ;}
418 >        Float_t hadOverEm() const { return hadOverEm_ ;}
419 >        Float_t deltaEtaIn() const { return deltaEtaIn_ ;}
420 >        Float_t deltaPhiIn() const { return deltaPhiIn_ ;}
421 >        Float_t energySuperClusterOverPin() const { return energySuperClusterOverPin_ ;}
422 >        Float_t deltaEtaOut() const { return deltaEtaOut_ ;}
423 >        Float_t deltaPhiOut() const { return deltaPhiOut_ ;}
424 >        Float_t energySeedClusterOverPout() const { return energySeedClusterOverPout_ ;}
425 >        Bool_t energyScaleCorrected() const { return energyScaleCorrected_ ;}
426 >        Bool_t momentumCorrected() const { return momentumCorrected_ ;}
427 >        Float_t d0() const { return d0_ ;}
428 >        Float_t d0Error() const { return d0Error_ ;}
429 >        Float_t dsz() const { return dsz_ ;}
430 >        Float_t dszError() const { return dszError_ ;}
431 >        Float_t normalizedChi2() const { return normalizedChi2_ ;}
432 >        Float_t ptError() const { return ptError_ ;}
433 >        Float_t etaError() const { return etaError_ ;}
434 >        Float_t phiError() const { return phiError_ ;}
435 >        Int_t nbClusters() const { return nbClusters_ ;}
436 >        Float_t superClusterRawEnergy() const { return superClusterRawEnergy_ ;}
437 >        Float_t preshowerEnergy() const { return preshowerEnergy_ ;}
438 >        TVector3 caloPosition() const { return caloPosition_ ;}
439 >        map<Int_t,TRef> scRef() const { return scRef_ ;}
440 >        Int_t clusterAlgo() const { return clusterAlgo_ ;}
441 >        Float_t caloConeSize() const { return caloConeSize_ ;}
442 >        Float_t e2x2() const { return e2x2_ ;}
443 >        Float_t e3x3() const { return e3x3_ ;}
444 >        Float_t e5x5() const { return e5x5_ ;}
445 >        Float_t eMax() const { return eMax_ ;}
446 >        Float_t isoR01_sumPt() const { return isoR01_sumPt_ ;}
447 >        Int_t isoR01_nTracks() const { return isoR01_nTracks_ ;}
448 >        Float_t isoR02_sumPt() const { return isoR02_sumPt_ ;}
449 >        Int_t isoR02_nTracks() const { return isoR02_nTracks_ ;}
450 >        Float_t isoR03_emEt() const { return isoR03_emEt_ ;}
451 >        Float_t isoR03_hadEt() const { return isoR03_hadEt_ ;}
452 >        Float_t isoR03_sumPt() const { return isoR03_sumPt_ ;}
453 >        Int_t isoR03_nTracks() const { return isoR03_nTracks_ ;}
454 >        Float_t isoR05_emEt() const { return isoR05_emEt_ ;}
455 >        Float_t isoR05_hadEt() const { return isoR05_hadEt_ ;}
456 >        Float_t isoR05_sumPt() const { return isoR05_sumPt_ ;}
457 >        Int_t isoR05_nTracks() const { return isoR05_nTracks_ ;}
458 >        Int_t idCutBasedFixedThresholdLoose() const { return idCutBasedFixedThresholdLoose_ ;}
459 >        Int_t idCutBasedFixedThresholdTight() const { return idCutBasedFixedThresholdTight_ ;}
460 >        Int_t idCutBasedFixedThresholdHighEnergy() const { return idCutBasedFixedThresholdHighEnergy_ ;}
461 >        Int_t idCutBasedCategorizedLoose() const { return idCutBasedCategorizedLoose_ ;}
462 >        Int_t idCutBasedCategorizedTight() const { return idCutBasedCategorizedTight_ ;}
463 >        Float_t idLikelihood() const { return idLikelihood_ ;}
464 >        Float_t idNeuralNet() const { return idNeuralNet_ ;}
465 >
466 >        virtual TString typeName() const { return "TRootElectron"; }
467 >
468 >
469 >        void setClassification(Int_t classification) { classification_ = classification; }
470 >        void setCaloEnergy(Float_t caloEnergy) { caloEnergy_ = caloEnergy; }
471 >        void setCaloEnergyError(Float_t caloEnergyError) { caloEnergyError_ = caloEnergyError; }
472 >        void setTrackMomentum(Float_t trackMomentum) { trackMomentum_ = trackMomentum; }
473 >        void setTrackMomentumError(Float_t trackMomentumError) { trackMomentumError_ = trackMomentumError; }
474 >        void setHadOverEm(Float_t hadOverEm) { hadOverEm_ = hadOverEm; }
475 >        void setDeltaEtaIn(Float_t deltaEtaIn) { deltaEtaIn_ = deltaEtaIn; }
476 >        void setDeltaPhiIn(Float_t deltaPhiIn) { deltaPhiIn_ = deltaPhiIn; }
477 >        void setEnergySuperClusterOverPin(Float_t energySuperClusterOverPin) { energySuperClusterOverPin_ = energySuperClusterOverPin; }
478 >        void setDeltaEtaOut(Float_t deltaEtaOut) { deltaEtaOut_ = deltaEtaOut; }
479 >        void setDeltaPhiOut(Float_t deltaPhiOut) { deltaPhiOut_ = deltaPhiOut; }
480 >        void setEnergySeedClusterOverPout(Float_t energySeedClusterOverPout) { energySeedClusterOverPout_ = energySeedClusterOverPout; }
481 >        void setEnergyScaleCorrected(Bool_t energyScaleCorrected) { energyScaleCorrected_ = energyScaleCorrected; }
482 >        void setMomentumCorrected(Bool_t momentumCorrected) { momentumCorrected_ = momentumCorrected; }
483 >        void setD0(Float_t d0) { d0_ = d0; }
484 >        void setD0Error(Float_t d0Error) { d0Error_ = d0Error; }
485 >        void setDsz(Float_t dsz) { dsz_ = dsz; }
486 >        void setDszError(Float_t dszError) { dszError_ = dszError; }
487 >        void setNormalizedChi2(Float_t normalizedChi2) { normalizedChi2_ = normalizedChi2; }
488 >        void setPtError(Float_t ptError) { ptError_ = ptError; }
489 >        void setEtaError(Float_t etaError) { etaError_ = etaError; }
490 >        void setPhiError(Float_t phiError) { phiError_ = phiError; }
491 >        void setNbClusters(Int_t nbClusters) { nbClusters_ = nbClusters; }
492 >        void setSuperClusterRawEnergy(Float_t superClusterRawEnergy) { superClusterRawEnergy_ = superClusterRawEnergy; }
493 >        void setPreshowerEnergy(Float_t preshowerEnergy) { preshowerEnergy_ = preshowerEnergy; }
494 >        void setCaloPosition(TVector3 caloPosition) { caloPosition_ = caloPosition; }
495 >        void setCaloPosition(Double_t x, Double_t y, Double_t z) { caloPosition_.SetXYZ(x, y ,z); }
496 >        void setSCRef(map<Int_t,TRef> scRef) { scRef_ = scRef; }
497 >        void setClusterAlgo(Int_t clusterAlgo) { clusterAlgo_ = clusterAlgo; }
498 >        void setCaloConeSize(Float_t caloConeSize) { caloConeSize_ = caloConeSize; }
499 >        void setE2x2(Float_t e2x2) { e2x2_ = e2x2; }
500 >        void setE3x3(Float_t e3x3) { e3x3_ = e3x3; }
501 >        void setE5x5(Float_t e5x5) { e5x5_ = e5x5; }
502 >        void setEMax(Float_t eMax) { eMax_ = eMax; }
503 >        void setIsoR01_sumPt(Float_t isoR01_sumPt) { isoR01_sumPt_ = isoR01_sumPt; }
504 >        void setIsoR01_nTracks(Int_t isoR01_nTracks) { isoR01_nTracks_ = isoR01_nTracks; }
505 >        void setIsoR02_sumPt(Float_t isoR02_sumPt) { isoR02_sumPt_ = isoR02_sumPt; }
506 >        void setIsoR02_nTracks(Int_t isoR02_nTracks) { isoR02_nTracks_ = isoR02_nTracks; }
507 >        void setIsoR03_emEt(Float_t isoR03_emEt) { isoR03_emEt_ = isoR03_emEt; }
508 >        void setIsoR03_hadEt(Float_t isoR03_hadEt) { isoR03_hadEt_ = isoR03_hadEt; }
509 >        void setIsoR03_sumPt(Float_t isoR03_sumPt) { isoR03_sumPt_ = isoR03_sumPt; }
510 >        void setIsoR03_nTracks(Int_t isoR03_nTracks) { isoR03_nTracks_ = isoR03_nTracks; }
511 >        void setIsoR05_emEt(Float_t isoR05_emEt) { isoR05_emEt_ = isoR05_emEt; }
512 >        void setIsoR05_hadEt(Float_t isoR05_hadEt) { isoR05_hadEt_ = isoR05_hadEt; }
513 >        void setIsoR05_sumPt(Float_t isoR05_sumPt) { isoR05_sumPt_ = isoR05_sumPt; }
514 >        void setIsoR05_nTracks(Int_t isoR05_nTracks) { isoR05_nTracks_ = isoR05_nTracks; }
515 >        void setIDCutBasedFixedThresholdLoose(Int_t idCutBasedFixedThresholdLoose) { idCutBasedFixedThresholdLoose_ = idCutBasedFixedThresholdLoose; }
516 >        void setIDCutBasedFixedThresholdTight(Int_t idCutBasedFixedThresholdTight) { idCutBasedFixedThresholdTight_ = idCutBasedFixedThresholdTight; }
517 >        void setIDCutBasedFixedThresholdHighEnergy(Int_t idCutBasedFixedThresholdHighEnergy) { idCutBasedFixedThresholdHighEnergy_ = idCutBasedFixedThresholdHighEnergy; }
518 >        void setIDCutBasedCategorizedLoose(Int_t idCutBasedCategorizedLoose) { idCutBasedCategorizedLoose_ = idCutBasedCategorizedLoose; }
519 >        void setIDCutBasedCategorizedTight(Int_t idCutBasedCategorizedTight) { idCutBasedCategorizedTight_ = idCutBasedCategorizedTight; }
520 >        void setIDLikelihood(Float_t idLikelihood) { idLikelihood_ = idLikelihood; }
521 >        void setIDNeuralNet(Float_t idNeuralNet) { idNeuralNet_ = idNeuralNet; }
522          
523          friend std::ostream& operator<< (std::ostream& stream, const TRootElectron& electron) {
524                  stream << "TRootElectron - Charge=" << electron.charge() << " (Et,eta,phi)=("<< electron.Et() <<","<< electron.Eta() <<","<< electron.Phi() << ")"
# Line 34 | Line 526 | public:
526                  return stream;
527          };
528  
529 <                        
530 < private:
529 >                
530 > private:
531 >        /*
532 >        TODO
533 >      if (fabs (eta) <= 1.4442) {
534 >        localElectron.setPosition (1);
535 >      }
536 >      else if (fabs (eta) > 1.4442 & fabs (eta) < 1.5560) {
537 >        localElectron.setPosition (0);
538 >      }
539 >      else if (fabs (eta) >= 1.5560) {
540 >        localElectron.setPosition (-1);
541 >      }
542 >        */
543 >
544 >        // Variables from reco::GsfElectron
545 >
546 >        // Classification:
547 >        //      barrel  :   0: golden,  10: bigbrem,  20: narrow, 30-34: showering,
548 >        //          (30: showering nbrem=0, 31: showering nbrem=1, 32: showering nbrem=2 ,33: showering nbrem=3, 34: showering nbrem>=4)
549 >        //           40: crack
550 >        //      endcaps : 100: golden, 110: bigbrem, 120: narrow, 130-134: showering
551 >        //            (130: showering nbrem=0, 131: showering nbrem=1, 132: showering nbrem=2 ,133: showering nbrem=3, 134: showering nbrem>=4)
552 >
553 >        Int_t classification_;             // Electron classification
554 >
555 >        Float_t caloEnergy_;                // SuperCluster energy corrected by EnergyScaleFactor
556 >        Float_t caloEnergyError_;           // Error on caloEnergy_
557 >        Float_t trackMomentum_;             // Track momentum at vertex
558 >        Float_t trackMomentumError_;        // Error on trackMomentum_
559 >
560 >        Float_t hadOverEm_;                 // hadronic over electromagnetic fraction
561 >
562 >        Float_t deltaEtaIn_;                // Supercluster eta - Track eta from helix extrapolation from impact point
563 >        Float_t deltaPhiIn_;                // Supercluster phi - Track phi from helix extrapolation from impact point
564 >        Float_t energySuperClusterOverPin_; // supercluster energy / track momentum at impact point
565 >
566 >        Float_t deltaEtaOut_;               // SeedCluster eta - Track eta at calo from outermost state
567 >        Float_t deltaPhiOut_;               // SeedCluster phi - Track phi at calo from outermost state
568 >        Float_t energySeedClusterOverPout_; // SeedCluster energy / track momentum at calo from outermost state
569 >
570 >        Bool_t energyScaleCorrected_;       // Has Energy Scale been applied ?
571 >        Bool_t momentumCorrected_;          // Tell if class dependant E-p combination has been determined
572 >
573 >
574 >        // Variables from reco::GsfTrack
575 >
576 >        /* cf: http://cmslxr.fnal.gov/lxr/source/DataFormats/TrackReco/interface/TrackBase.h
577 >        For tracks reconstructed in the CMS Tracker, the reference position is the point of closest approach to the centre
578 >        of CMS. For muons, this is not necessarily true. Parameters associated to the 5D curvilinear covariance matrix:
579 >                qoverp = q / abs(p) = signed inverse of momentum [1/GeV]
580 >                lambda = pi/2 - polar angle at the given point
581 >                phi = azimuth angle at the given point
582 >                dxy = -vx*sin(phi) + vy*cos(phi) [cm]
583 >                dsz = vz*cos(lambda) - (vx*cos(phi)+vy*sin(phi))*sin(lambda) [cm]
584 >
585 >        Geometrically, dxy is the signed distance in the XY plane between the straight line passing through (vx,vy) with
586 >        azimuthal angle phi and the point (0,0). The dsz parameter is the signed distance in the SZ plane between the straight
587 >        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
588 >        of the straight line onto the XY plane. The convention is to assign the S coordinate for (vx,vy) as the value
589 >        vx*cos(phi)+vy*sin(phi). This value is zero when (vx,vy) is the point of minimum transverse distance to (0,0).
590 >
591 >        Note that dxy and dsz provide sensible estimates of the distance from the true particle trajectory to (0,0,0) ONLY
592 >        in two cases:
593 >                - When (vx,vy,vz) already correspond to the point of minimum transverse distance to (0,0,0) or is close to it
594 >                (so that the differences between considering the exact trajectory or a straight line in this range  are negligible).
595 >                This is usually true for Tracker tracks.
596 >                - When the track has infinite or extremely high momentum */
597 >
598 >     Float_t d0_;             // d0=-dxy
599 >     Float_t d0Error_;        // error on d0_
600 >     Float_t dsz_;            // dsz parameter
601 >     Float_t dszError_;       // error on dsz_
602 >     Float_t normalizedChi2_; // chi-squared divided by n.d.o.f. of track fit
603 >
604 >     Float_t ptError_; // needed ?  ptError()
605 >     Float_t etaError_; // needed ?  etaError()
606 >     Float_t phiError_; // needed ?  phiError()
607 >
608 >
609 >        // Variables from reco::SuperCluster
610 >        Int_t nbClusters_; // Number of related brem clusters
611 >     Float_t superClusterRawEnergy_;
612 >     Float_t preshowerEnergy_;
613 >        TVector3 caloPosition_;         // SuperCluster centroid position
614 >        map<Int_t,TRef> scRef_;     // references to the seed SuperClusters (one per SC tytpe)
615 >
616 >
617 >        // Cluster Shape variables
618 >        // need reco::SuperCluster and reco::BasicCluster
619 >        Int_t clusterAlgo_; // reco::BasicCluster::algo() island = 0, hybrid = 1, fixedMatrix = 2, dynamicHybrid = 3, multi5x5 = 4
620 >        Float_t caloConeSize_; // Delta_R of the cone centered on the reco::GsfElectron and containing all its basic clusters constituents
621 >        // need reco::SuperCluster and reco::BasicCluster and reduced Ecal RecHits Collections for EcalClusterLazyTools
622 >        Float_t e2x2_;
623 >        Float_t e3x3_;
624 >        Float_t e5x5_;
625 >        Float_t eMax_;
626 >
627 >
628 >     // pat::Electron Isolation
629 >        Float_t isoR01_sumPt_;
630 >        Int_t isoR01_nTracks_;
631 >
632 >        Float_t isoR02_sumPt_;
633 >        Int_t isoR02_nTracks_;
634 >
635 >        Float_t isoR03_emEt_;
636 >        Float_t isoR03_hadEt_;
637 >        Float_t isoR03_sumPt_;
638 >        Int_t isoR03_nTracks_;
639 >
640 >        Float_t isoR05_emEt_;
641 >        Float_t isoR05_hadEt_;
642 >        Float_t isoR05_sumPt_; // Pt sum of tracks in a DR=0.5 cone around the electron
643 >        Int_t isoR05_nTracks_; // Tracks multiplicity in a DR=0.5 cone around the electron
644 >
645 >
646 >     // pat::Electron ID (cf https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideElectronID)
647 >        // By default in 2.2.X, only cut based identification is available in pat (https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideCutBasedElectronID
648 >     Int_t idCutBasedFixedThresholdLoose_;      // Simple cut based ID (aka 'robust') - Loose Thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta
649 >     Int_t idCutBasedFixedThresholdTight_;      // Simple cut based ID (default in EWK group) - Tight Thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta
650 >     Int_t idCutBasedFixedThresholdHighEnergy_; // Simple cut based ID - Thresholds optimized for high energy electron (~TeV)
651 >     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
652 >     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
653 >     Float_t idLikelihood_;                       // Lieklihood ID - not activated by default in 2.2.X
654 >     Float_t idNeuralNet_;                        // NN ID - not activated by default in 2.2.X
655 >
656          
657 <        Float_t et_em_;
657 >        // Matched genParticle
658 >        TLorentzVector momentumMCElectron_;
659 >        TVector3 vertexMCElectron_;
660 >        Int_t pdgIdMCElectron_;
661 >
662 >        // needed ?
663 >        //Float_t sigmaEtaEta_;
664 >        //Float_t sigmaPhiPhi_;
665 >
666          
667 <        ClassDef (TRootElectron,1);
667 >        ClassDef (TRootElectron,2);
668   };
669  
670   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines