ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CITCommon/CommonData/interface/ElectronTree.h
Revision: 1.7
Committed: Sun Oct 7 10:29:18 2012 UTC (12 years, 6 months ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +6 -1 lines
Error occurred while calculating annotation data.
Log Message:
add nontriggering mva

File Contents

# Content
1 #ifndef ElectronTree_H
2 #define ElectronTree_H
3
4 #include "TFile.h"
5 #include "TTree.h"
6 #include "TError.h"
7 #include <cmath>
8 #include "assert.h"
9
10 namespace citana
11 {
12 class ElectronTree {
13
14 public:
15
16 /// bit map
17 /// DON'T CHANGE ORDER
18
19 //*******************************************
20 //=== ElectronTriggerBits ====
21 //*******************************************
22 enum ElectronTriggerBits { kEleTrigger_Ele = 0x000001,
23 kEleTrigger_Ele_CaloIdL_CaloIsoVL = 0x000002,
24 kEleTrigger_Ele_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL = 0x000004
25 };
26
27 //*******************************************
28 //=== tree versions ===
29 //*******************************************
30 enum ElectronTreeVersion { kTreeV1, kTreeV2 };
31
32 /// variables
33 Float_t fWeight;
34 UInt_t fRunNumber;
35 UInt_t fLumiSectionNumber;
36 UInt_t fEventNumber;
37 Bool_t fEleEventNumberParity;
38 Float_t fElePt;
39 Float_t fEleEta;
40 Float_t fElePhi;
41 Float_t fEleSCEt;
42 Float_t fEleSCEta;
43 Float_t fEleSCPhi;
44 Float_t fEleEcalEnergy;
45 Bool_t fEleIsEcalDriven;
46 UInt_t fEleTriggerBit;
47 Float_t fRho;
48 Float_t fNVertices;
49
50 // Conversion and IP
51 Float_t fEleD0;
52 Float_t fEleDZ;
53 Float_t fEleIP3d;
54 Float_t fEleIP3dSig;
55 Bool_t fEleMatchedConversion;
56 Float_t fEleConvDCot;
57 Float_t fEleConvDist;
58 Float_t fEleNMissHits;
59
60 // E/P variables
61 Float_t fEleNBrem;
62 Float_t fEleFBrem;
63 Float_t fEleEOverP;
64 Float_t fEleESeedClusterOverPIn;
65 Float_t fEleESeedClusterOverPout;
66 Float_t fEleEEleClusterOverPout;
67 Float_t fEleOneOverEMinusOneOverP;
68
69 // track cluster matching
70 Float_t fEleDEtaIn;
71 Float_t fEleDPhiIn;
72 Float_t fEledEtaCalo;
73 Float_t fEledPhiCalo;
74
75 //shower shape
76 Float_t fEleSigmaIEtaIEta;
77 Float_t fEleSigmaIPhiIPhi;
78 Float_t fEleSigmaIEtaIPhi;
79 Float_t fEleSCEtaWidth;
80 Float_t fEleSCPhiWidth;
81 Float_t fEleR9;
82 Float_t fElePreShowerOverRaw;
83 Float_t fEleHoverE;
84
85 //track quality
86 Float_t fEleGsfTrackChi2OverNdof;
87 Float_t fEleKFTrackChi2OverNDoF;
88 Float_t fEleKFTrackNHits;
89 Float_t fEleKFTrackNLayersWithMeasurement;
90 Float_t fEleOneMinusSeedE1x5OverE5x5;
91
92 //Isolation Variables
93 Float_t fElePFMVA;
94 Float_t fEleTrkIso03;
95 Float_t fEleEMIso03;
96 Float_t fEleHadIso03;
97 Float_t fEleTrkIso04;
98 Float_t fEleEMIso04;
99 Float_t fEleHadIso04;
100 Float_t fElePFIso04;
101 Float_t fChargedIso_DR0p0To0p1;
102 Float_t fChargedIso_DR0p1To0p2;
103 Float_t fChargedIso_DR0p2To0p3;
104 Float_t fChargedIso_DR0p3To0p4;
105 Float_t fChargedIso_DR0p4To0p5;
106 Float_t fGammaIso_DR0p0To0p1;
107 Float_t fGammaIso_DR0p1To0p2;
108 Float_t fGammaIso_DR0p2To0p3;
109 Float_t fGammaIso_DR0p3To0p4;
110 Float_t fGammaIso_DR0p4To0p5;
111 Float_t fNeutralHadronIso_DR0p0To0p1;
112 Float_t fNeutralHadronIso_DR0p1To0p2;
113 Float_t fNeutralHadronIso_DR0p2To0p3;
114 Float_t fNeutralHadronIso_DR0p3To0p4;
115 Float_t fNeutralHadronIso_DR0p4To0p5;
116
117 Bool_t fElePassTriggerDenominator;
118
119 //Regression Variables
120 Bool_t fIsEB;
121 Bool_t fIsEE;
122 Float_t fSCRawEnergy;
123 Float_t fNClusters;
124 Float_t fEtaSeed;
125 Float_t fPhiSeed;
126 Float_t fESeed;
127 Float_t fE3x3Seed;
128 Float_t fE5x5Seed;
129 Float_t fEMaxSeed;
130 Float_t fE2ndSeed;
131 Float_t fETopSeed;
132 Float_t fEBottomSeed;
133 Float_t fELeftSeed;
134 Float_t fERightSeed;
135 Float_t fE2x5MaxSeed;
136 Float_t fE2x5TopSeed;
137 Float_t fE2x5BottomSeed;
138 Float_t fE2x5LeftSeed;
139 Float_t fE2x5RightSeed;
140 Float_t fIEtaSeed;
141 Float_t fIPhiSeed;
142 Float_t fEtaCrySeed;
143 Float_t fPhiCrySeed;
144 Float_t fEcalEnergyError;
145 Float_t fGsfTrackPIn;
146 Float_t fTrackMomentumError;
147 Float_t fpmeangsf;
148 Float_t fpmeankf;
149 Float_t fCharge;
150 Float_t fGeneratedEnergy;
151 Float_t fGeneratedEnergyStatus1;
152 Float_t fGeneratedEnergyStatus3;
153
154 //MVA Variables
155 Float_t fEGammaNonTriggeringMVA;
156
157 public:
158 /// this is the main element
159 TTree *tree_;
160 TFile *f_;
161
162 /// hold the names of variables to facilitate things (filled during Init)
163 std::vector<std::string> variables_;
164
165 /// default constructor
166 ElectronTree() {};
167 /// default destructor
168 ~ElectronTree(){
169 if (f_) f_->Close();
170 };
171
172 /// initialize varibles and fill list of available variables
173 void InitVariables() {
174 fWeight = 0.0;
175 fRunNumber = 0.0;
176 fLumiSectionNumber = 0.0;
177 fEventNumber = 0.0;
178 fEleEventNumberParity = 0.0;
179 fElePt = 0.0;
180 fEleEta = 0.0;
181 fElePhi = 0.0;
182 fEleSCEt = 0.0;
183 fEleSCEta = 0.0;
184 fEleSCPhi = 0.0;
185 fEleEcalEnergy = 0.0;
186 fEleIsEcalDriven = 0.0;
187 fEleTriggerBit = 0.0;
188 fRho = 0.0;
189 fNVertices = 0.0;
190 fEleD0 = 0.0;
191 fEleDZ = 0.0;
192 fEleIP3d = 0.0;
193 fEleIP3dSig = 0.0;
194 fEleMatchedConversion = 0.0;
195 fEleConvDCot = 0.0;
196 fEleConvDist = 0.0;
197 fEleNMissHits = 0.0;
198 fEleNBrem = 0.0;
199 fEleFBrem = 0.0;
200 fEleEOverP = 0.0;
201 fEleESeedClusterOverPIn = 0.0;
202 fEleESeedClusterOverPout = 0.0;
203 fEleEEleClusterOverPout = 0.0;
204 fEleOneOverEMinusOneOverP = 0.0;
205 fEleDEtaIn = 0.0;
206 fEleDPhiIn = 0.0;
207 fEledEtaCalo = 0.0;
208 fEledPhiCalo = 0.0;
209 fEleSigmaIEtaIEta = 0.0;
210 fEleSigmaIPhiIPhi = 0.0;
211 fEleSigmaIEtaIPhi = 0.0;
212 fEleSCEtaWidth = 0.0;
213 fEleSCPhiWidth = 0.0;
214 fEleR9 = 0.0;
215 fElePreShowerOverRaw = 0.0;
216 fEleHoverE = 0.0;
217 fEleGsfTrackChi2OverNdof = 0.0;
218 fEleKFTrackChi2OverNDoF = 0.0;
219 fEleKFTrackNHits = 0.0;
220 fEleKFTrackNLayersWithMeasurement = 0.0;
221 fEleOneMinusSeedE1x5OverE5x5 = 0.0;
222 fElePFMVA = 0.0;
223 fEleTrkIso03 = 0.0;
224 fEleEMIso03 = 0.0;
225 fEleHadIso03 = 0.0;
226 fEleTrkIso04 = 0.0;
227 fEleEMIso04 = 0.0;
228 fEleHadIso04 = 0.0;
229 fElePFIso04 = 0.0;
230 fChargedIso_DR0p0To0p1 = 0.0;
231 fChargedIso_DR0p1To0p2 = 0.0;
232 fChargedIso_DR0p2To0p3 = 0.0;
233 fChargedIso_DR0p3To0p4 = 0.0;
234 fChargedIso_DR0p4To0p5 = 0.0;
235 fGammaIso_DR0p0To0p1 = 0.0;
236 fGammaIso_DR0p1To0p2 = 0.0;
237 fGammaIso_DR0p2To0p3 = 0.0;
238 fGammaIso_DR0p3To0p4 = 0.0;
239 fGammaIso_DR0p4To0p5 = 0.0;
240 fNeutralHadronIso_DR0p0To0p1 = 0.0;
241 fNeutralHadronIso_DR0p1To0p2 = 0.0;
242 fNeutralHadronIso_DR0p2To0p3 = 0.0;
243 fNeutralHadronIso_DR0p3To0p4 = 0.0;
244 fNeutralHadronIso_DR0p4To0p5 = 0.0;
245 fElePassTriggerDenominator = 0.0;
246 fIsEB = 0.0;
247 fIsEE = 0.0;
248 fSCRawEnergy = 0.0;
249 fNClusters = 0.0;
250 fEtaSeed = 0.0;
251 fPhiSeed = 0.0;
252 fESeed = 0.0;
253 fE3x3Seed = 0.0;
254 fE5x5Seed = 0.0;
255 fEMaxSeed = 0.0;
256 fE2ndSeed = 0.0;
257 fETopSeed = 0.0;
258 fEBottomSeed = 0.0;
259 fELeftSeed = 0.0;
260 fERightSeed = 0.0;
261 fE2x5MaxSeed = 0.0;
262 fE2x5TopSeed = 0.0;
263 fE2x5BottomSeed = 0.0;
264 fE2x5LeftSeed = 0.0;
265 fE2x5RightSeed = 0.0;
266 fIEtaSeed = 0.0;
267 fIPhiSeed = 0.0;
268 fEtaCrySeed = 0.0;
269 fPhiCrySeed = 0.0;
270 fEcalEnergyError = 0.0;
271 fGsfTrackPIn = 0.0;
272 fTrackMomentumError = 0.0;
273 fpmeangsf = 0.0;
274 fpmeankf = 0.0;
275 fCharge = 0.0;
276 fGeneratedEnergy = 0.0;
277 fGeneratedEnergyStatus1 = 0.0;
278 fGeneratedEnergyStatus3 = 0.0;
279 fEGammaNonTriggeringMVA = -9999.0;
280
281 }
282
283 /// load a ElectronTree
284 void LoadTree(const char* file, int version=kTreeV1){
285 f_ = TFile::Open(file);
286 assert(f_);
287 if(version==kTreeV1) tree_ = dynamic_cast<TTree*>(f_->Get("Electrons"));
288 else if(version==kTreeV2) tree_ = dynamic_cast<TTree*>(f_->Get("eleIDdir/T1"));
289 assert(tree_);
290 }
291
292 /// create a ElectronTree
293 void CreateTree(){
294 tree_ = new TTree("Electrons","Electrons");
295 f_ = 0;
296
297 //book the branches
298 tree_->Branch("weight",&fWeight,"weight/F");
299 tree_->Branch("run",&fRunNumber,"run/i");
300 tree_->Branch("lumi",&fLumiSectionNumber,"lumi/i");
301 tree_->Branch("event",&fEventNumber,"event/i");
302 tree_->Branch("EventNumberParity",&fEleEventNumberParity,"EventNumberParity/O");
303 tree_->Branch("pt",&fElePt,"pt/F");
304 tree_->Branch("eta",&fEleEta,"eta/F");
305 tree_->Branch("phi",&fElePhi,"phi/F");
306 tree_->Branch("scEt",&fEleSCEt,"scEt/F");
307 tree_->Branch("scEta",&fEleSCEta,"scEta/F");
308 tree_->Branch("scPhi",&fEleSCPhi,"scPhi/F");
309 tree_->Branch("ecalenergy",&fEleEcalEnergy,"ecalenergy/F");
310 tree_->Branch("ecaldriven",&fEleIsEcalDriven,"ecaldriven/O");
311 tree_->Branch("triggerBit",&fEleTriggerBit,"triggerBit/i");
312 tree_->Branch("rho",&fRho,"rho/F");
313 tree_->Branch("vertices",&fNVertices,"vertices/F");
314 tree_->Branch("d0",&fEleD0,"d0/F");
315 tree_->Branch("dz",&fEleDZ,"dz/F");
316 tree_->Branch("ip3d",&fEleIP3d,"ip3d/F");
317 tree_->Branch("ip3ds",&fEleIP3dSig,"ip3ds/F");
318 tree_->Branch("matchConv",&fEleMatchedConversion,"matchConv/O");
319 tree_->Branch("dcot",&fEleConvDCot,"dcot/F");
320 tree_->Branch("dist",&fEleConvDist,"dist/F");
321 tree_->Branch("missHits",&fEleNMissHits,"NMissHits/F");
322 tree_->Branch("nbrems",&fEleNBrem,"nbrems/F");
323 tree_->Branch("fbrem",&fEleFBrem,"fbrem/F");
324 tree_->Branch("EoP",&fEleEOverP,"EoP/F");
325 tree_->Branch("EoPin",&fEleESeedClusterOverPIn,"EoPin/F");
326 tree_->Branch("ESeedoPout",&fEleESeedClusterOverPout,"ESeedoPout/F");
327 tree_->Branch("EEleoPout",&fEleEEleClusterOverPout,"EEleoPout/F");
328 // tree_->Branch("eleEoPout",&fEleEEleClusterOverPout,"eleEoPout/F"); //old name of the branch
329 tree_->Branch("IoEmIoP",&fEleOneOverEMinusOneOverP,"IoEmIoP/F");
330 tree_->Branch("deta",&fEleDEtaIn,"deta/F");
331 tree_->Branch("dphi",&fEleDPhiIn,"dphi/F");
332 tree_->Branch("detacalo",&fEledEtaCalo,"detacalo/F");
333 tree_->Branch("dphicalo",&fEledPhiCalo,"dphicalo/F");
334 tree_->Branch("see",&fEleSigmaIEtaIEta,"see/F");
335 tree_->Branch("spp",&fEleSigmaIPhiIPhi,"spp/F");
336 tree_->Branch("sep",&fEleSigmaIEtaIPhi,"sep/F");
337 tree_->Branch("etawidth",&fEleSCEtaWidth,"etawidth/F");
338 tree_->Branch("phiwidth",&fEleSCPhiWidth,"phiwidth/F");
339 tree_->Branch("R9",&fEleR9,"R9/F");
340 tree_->Branch("PreShowerOverRaw",&fElePreShowerOverRaw,"PreShowerOverRaw/F");
341 tree_->Branch("HoE",&fEleHoverE,"HoE/F");
342 tree_->Branch("gsfchi2",&fEleGsfTrackChi2OverNdof,"gsfchi2/F");
343 tree_->Branch("kfchi2",&fEleKFTrackChi2OverNDoF,"kfchi2/F");
344 tree_->Branch("kfhits",&fEleKFTrackNHits,"kfhits/F");
345 tree_->Branch("kflayers",&fEleKFTrackNLayersWithMeasurement,"kflayers/F");
346 tree_->Branch("OneMinusSeedE1x5OverE5x5",&fEleOneMinusSeedE1x5OverE5x5,"OneMinusSeedE1x5OverE5x5/F");
347 tree_->Branch("PFMVA",&fElePFMVA,"PFMVA/F");
348 tree_->Branch("trkIso03",&fEleTrkIso03,"trkIso03/F");
349 tree_->Branch("ecalIso03",&fEleEMIso03,"ecalIso03/F");
350 tree_->Branch("hcalIso03",&fEleHadIso03,"hcalIso03/F");
351 tree_->Branch("trkIso04",&fEleTrkIso04,"trkIso04/F");
352 tree_->Branch("ecalIso04",&fEleEMIso04,"ecalIso04/F");
353 tree_->Branch("hcalIso04",&fEleHadIso04,"hcalIso04/F");
354 tree_->Branch("pfIso04",&fElePFIso04,"pfIso04/F");
355 tree_->Branch("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1,"ChargedIso_DR0p0To0p1/F");
356 tree_->Branch("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2,"ChargedIso_DR0p1To0p2/F");
357 tree_->Branch("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3,"ChargedIso_DR0p2To0p3/F");
358 tree_->Branch("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4,"ChargedIso_DR0p3To0p4/F");
359 tree_->Branch("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5,"ChargedIso_DR0p4To0p5/F");
360 tree_->Branch("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1,"GammaIso_DR0p0To0p1/F");
361 tree_->Branch("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2,"GammaIso_DR0p1To0p2/F");
362 tree_->Branch("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3,"GammaIso_DR0p2To0p3/F");
363 tree_->Branch("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4,"GammaIso_DR0p3To0p4/F");
364 tree_->Branch("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5,"GammaIso_DR0p4To0p5/F");
365 tree_->Branch("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1,"NeutralHadronIso_DR0p0To0p1/F");
366 tree_->Branch("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2,"NeutralHadronIso_DR0p1To0p2/F");
367 tree_->Branch("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3,"NeutralHadronIso_DR0p2To0p3/F");
368 tree_->Branch("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4,"NeutralHadronIso_DR0p3To0p4/F");
369 tree_->Branch("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5,"NeutralHadronIso_DR0p4To0p5/F");
370 tree_->Branch("PassTriggerDenominator",&fElePassTriggerDenominator,"PassTriggerDenominator/O");
371 tree_->Branch("IsEB",&fIsEB,"IsEB/O");
372 tree_->Branch("IsEE",&fIsEE,"IsEE/O");
373 tree_->Branch("SCRawEnergy",&fSCRawEnergy,"SCRawEnergy/F");
374 tree_->Branch("NClusters",&fNClusters,"NClusters/F");
375 tree_->Branch("EtaSeed",&fEtaSeed,"EtaSeed/F");
376 tree_->Branch("PhiSeed",&fPhiSeed,"PhiSeed/F");
377 tree_->Branch("ESeed",&fESeed,"ESeed/F");
378 tree_->Branch("E3x3Seed",&fE3x3Seed,"E3x3Seed/F");
379 tree_->Branch("E5x5Seed",&fE5x5Seed,"E5x5Seed/F");
380 tree_->Branch("EMaxSeed",&fEMaxSeed,"EMaxSeed/F");
381 tree_->Branch("E2ndSeed",&fE2ndSeed,"E2ndSeed/F");
382 tree_->Branch("ETopSeed",&fETopSeed,"ETopSeed/F");
383 tree_->Branch("EBottomSeed",&fEBottomSeed,"EBottomSeed/F");
384 tree_->Branch("ELeftSeed",&fELeftSeed,"ELeftSeed/F");
385 tree_->Branch("ERightSeed",&fERightSeed,"ERightSeed/F");
386 tree_->Branch("E2x5MaxSeed",&fE2x5MaxSeed,"E2x5MaxSeed/F");
387 tree_->Branch("E2x5TopSeed",&fE2x5TopSeed,"E2x5TopSeed/F");
388 tree_->Branch("E2x5BottomSeed",&fE2x5BottomSeed,"E2x5BottomSeed/F");
389 tree_->Branch("E2x5LeftSeed",&fE2x5LeftSeed,"E2x5LeftSeed/F");
390 tree_->Branch("E2x5RightSeed",&fE2x5RightSeed,"E2x5RightSeed/F");
391 tree_->Branch("IEtaSeed",&fIEtaSeed,"IEtaSeed/F");
392 tree_->Branch("IPhiSeed",&fIPhiSeed,"IPhiSeed/F");
393 tree_->Branch("EtaCrySeed",&fEtaCrySeed,"EtaCrySeed/F");
394 tree_->Branch("PhiCrySeed",&fPhiCrySeed,"PhiCrySeed/F");
395 tree_->Branch("ecalenergyerror",&fEcalEnergyError,"ecalenergyerror/F");
396 tree_->Branch("pmodegsf",&fGsfTrackPIn,"pmodegsf/F");
397 tree_->Branch("perror",&fTrackMomentumError,"perror/F");
398 tree_->Branch("pmeangsf",&fpmeangsf,"pmodegsf/F");
399 tree_->Branch("pmeankf",&fpmeankf,"pmeankf/F");
400 tree_->Branch("Charge",&fCharge,"Charge/F");
401 tree_->Branch("GeneratedEnergy",&fGeneratedEnergy,"GeneratedEnergy/F");
402 tree_->Branch("GeneratedEnergyStatus1",&fGeneratedEnergyStatus1,"GeneratedEnergyStatus1/F");
403 tree_->Branch("GeneratedEnergyStatus3",&fGeneratedEnergyStatus3,"GeneratedEnergyStatus3/F");
404 tree_->Branch("EGammaNonTriggeringMVA",&fEGammaNonTriggeringMVA,"EGammaNonTriggeringMVA/F");
405
406
407 }
408
409 // initialze a ElectronTree
410 void InitTree(){
411 assert(tree_);
412 // don't forget to set pointers to zero before you set address
413 // or you will fully appreciate that "ROOT sucks" :)
414 InitVariables();
415 //Set branch address
416 Int_t currentState = gErrorIgnoreLevel;
417
418 tree_->SetBranchAddress("weight",&fWeight);
419 tree_->SetBranchAddress("run",&fRunNumber);
420 tree_->SetBranchAddress("lumi",&fLumiSectionNumber);
421 tree_->SetBranchAddress("event",&fEventNumber);
422 tree_->SetBranchAddress("EventNumberParity",&fEleEventNumberParity);
423 tree_->SetBranchAddress("pt",&fElePt);
424 tree_->SetBranchAddress("eta",&fEleEta);
425 tree_->SetBranchAddress("phi",&fElePhi);
426 tree_->SetBranchAddress("scEt",&fEleSCEt);
427 tree_->SetBranchAddress("scEta",&fEleSCEta);
428 tree_->SetBranchAddress("scPhi",&fEleSCPhi);
429 tree_->SetBranchAddress("ecalenergy",&fEleEcalEnergy);
430 tree_->SetBranchAddress("ecaldriven",&fEleIsEcalDriven);
431 tree_->SetBranchAddress("triggerBit",&fEleTriggerBit);
432 tree_->SetBranchAddress("rho",&fRho);
433 tree_->SetBranchAddress("vertices",&fNVertices);
434 tree_->SetBranchAddress("d0",&fEleD0);
435 tree_->SetBranchAddress("dz",&fEleDZ);
436 tree_->SetBranchAddress("ip3d",&fEleIP3d);
437 tree_->SetBranchAddress("ip3ds",&fEleIP3dSig);
438 tree_->SetBranchAddress("matchConv",&fEleMatchedConversion);
439 tree_->SetBranchAddress("dcot",&fEleConvDCot);
440 tree_->SetBranchAddress("dist",&fEleConvDist);
441 tree_->SetBranchAddress("missHits",&fEleNMissHits);
442 tree_->SetBranchAddress("nbrems",&fEleNBrem);
443 tree_->SetBranchAddress("fbrem",&fEleFBrem);
444 tree_->SetBranchAddress("EoP",&fEleEOverP);
445 tree_->SetBranchAddress("EoPin",&fEleESeedClusterOverPIn);
446 tree_->SetBranchAddress("ESeedoPout",&fEleESeedClusterOverPout);
447 tree_->SetBranchAddress("EEleoPout",&fEleEEleClusterOverPout);
448 tree_->SetBranchAddress("IoEmIoP",&fEleOneOverEMinusOneOverP);
449 tree_->SetBranchAddress("deta",&fEleDEtaIn);
450 tree_->SetBranchAddress("dphi",&fEleDPhiIn);
451 tree_->SetBranchAddress("detacalo",&fEledEtaCalo);
452 tree_->SetBranchAddress("dphicalo",&fEledPhiCalo);
453 tree_->SetBranchAddress("see",&fEleSigmaIEtaIEta);
454 tree_->SetBranchAddress("spp",&fEleSigmaIPhiIPhi);
455 tree_->SetBranchAddress("sep",&fEleSigmaIEtaIPhi);
456 tree_->SetBranchAddress("etawidth",&fEleSCEtaWidth);
457 tree_->SetBranchAddress("phiwidth",&fEleSCPhiWidth);
458 tree_->SetBranchAddress("R9",&fEleR9);
459 tree_->SetBranchAddress("PreShowerOverRaw",&fElePreShowerOverRaw);
460 tree_->SetBranchAddress("HoE",&fEleHoverE);
461 tree_->SetBranchAddress("gsfchi2",&fEleGsfTrackChi2OverNdof);
462 tree_->SetBranchAddress("kfchi2",&fEleKFTrackChi2OverNDoF);
463 tree_->SetBranchAddress("kfhits",&fEleKFTrackNHits);
464 tree_->SetBranchAddress("kflayers",&fEleKFTrackNLayersWithMeasurement);
465 tree_->SetBranchAddress("OneMinusSeedE1x5OverE5x5",&fEleOneMinusSeedE1x5OverE5x5);
466 tree_->SetBranchAddress("PFMVA",&fElePFMVA);
467 tree_->SetBranchAddress("trkIso03",&fEleTrkIso03);
468 tree_->SetBranchAddress("ecalIso03",&fEleEMIso03);
469 tree_->SetBranchAddress("hcalIso03",&fEleHadIso03);
470 tree_->SetBranchAddress("trkIso04",&fEleTrkIso04);
471 tree_->SetBranchAddress("ecalIso04",&fEleEMIso04);
472 tree_->SetBranchAddress("hcalIso04",&fEleHadIso04);
473 tree_->SetBranchAddress("pfIso04",&fElePFIso04);
474 tree_->SetBranchAddress("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1);
475 tree_->SetBranchAddress("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2);
476 tree_->SetBranchAddress("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3);
477 tree_->SetBranchAddress("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4);
478 tree_->SetBranchAddress("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5);
479 tree_->SetBranchAddress("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1);
480 tree_->SetBranchAddress("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2);
481 tree_->SetBranchAddress("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3);
482 tree_->SetBranchAddress("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4);
483 tree_->SetBranchAddress("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5);
484 tree_->SetBranchAddress("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1);
485 tree_->SetBranchAddress("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2);
486 tree_->SetBranchAddress("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3);
487 tree_->SetBranchAddress("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4);
488 tree_->SetBranchAddress("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5);
489 tree_->SetBranchAddress("PassTriggerDenominator",&fElePassTriggerDenominator);
490 tree_->SetBranchAddress("IsEB",&fIsEB);
491 tree_->SetBranchAddress("IsEE",&fIsEE);
492 tree_->SetBranchAddress("SCRawEnergy",&fSCRawEnergy);
493 tree_->SetBranchAddress("NClusters",&fNClusters);
494 tree_->SetBranchAddress("EtaSeed",&fEtaSeed);
495 tree_->SetBranchAddress("PhiSeed",&fPhiSeed);
496 tree_->SetBranchAddress("ESeed",&fESeed);
497 tree_->SetBranchAddress("E3x3Seed",&fE3x3Seed);
498 tree_->SetBranchAddress("E5x5Seed",&fE5x5Seed);
499 tree_->SetBranchAddress("EMaxSeed",&fEMaxSeed);
500 tree_->SetBranchAddress("E2ndSeed",&fE2ndSeed);
501 tree_->SetBranchAddress("ETopSeed",&fETopSeed);
502 tree_->SetBranchAddress("EBottomSeed",&fEBottomSeed);
503 tree_->SetBranchAddress("ELeftSeed",&fELeftSeed);
504 tree_->SetBranchAddress("ERightSeed",&fERightSeed);
505 tree_->SetBranchAddress("E2x5MaxSeed",&fE2x5MaxSeed);
506 tree_->SetBranchAddress("E2x5TopSeed",&fE2x5TopSeed);
507 tree_->SetBranchAddress("E2x5BottomSeed",&fE2x5BottomSeed);
508 tree_->SetBranchAddress("E2x5LeftSeed",&fE2x5LeftSeed);
509 tree_->SetBranchAddress("E2x5RightSeed",&fE2x5RightSeed);
510 tree_->SetBranchAddress("IEtaSeed",&fIEtaSeed);
511 tree_->SetBranchAddress("IPhiSeed",&fIPhiSeed);
512 tree_->SetBranchAddress("EtaCrySeed",&fEtaCrySeed);
513 tree_->SetBranchAddress("PhiCrySeed",&fPhiCrySeed);
514 tree_->SetBranchAddress("ecalenergyerror",&fEcalEnergyError);
515 tree_->SetBranchAddress("pmodegsf",&fGsfTrackPIn);
516 tree_->SetBranchAddress("perror",&fTrackMomentumError);
517 tree_->SetBranchAddress("pmeangsf",&fpmeankf);
518 tree_->SetBranchAddress("pmeankf",&fpmeankf);
519 tree_->SetBranchAddress("Charge",&fCharge);
520 tree_->SetBranchAddress("GeneratedEnergy",&fGeneratedEnergy);
521 tree_->SetBranchAddress("GeneratedEnergyStatus1",&fGeneratedEnergyStatus1);
522 tree_->SetBranchAddress("GeneratedEnergyStatus3",&fGeneratedEnergyStatus3);
523 tree_->SetBranchAddress("EGammaNonTriggeringMVA",&fEGammaNonTriggeringMVA);
524
525 gErrorIgnoreLevel = currentState;
526 }
527
528 };
529
530 }
531
532 #endif