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 |
|
11 |
using namespace std;
|
12 |
|
13 |
class TRootElectron : public TRootParticle
|
14 |
{
|
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(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() {;}
|
439 |
|
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() << ")"
|
567 |
<< " vertex(x,y,z)=("<< electron.vx() <<","<< electron.vy() <<","<< electron.vz() << ")";
|
568 |
return stream;
|
569 |
};
|
570 |
|
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 |
};
|
710 |
|
711 |
#endif
|