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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines