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