ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CITCommon/CommonData/interface/ZeeEventTree.h
Revision: 1.8
Committed: Sun Oct 7 10:28:51 2012 UTC (12 years, 6 months ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +25 -1 lines
Log Message:
add regression energy

File Contents

# Content
1 #ifndef ZeeEventTree_H
2 #define ZeeEventTree_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 ZeeEventTree {
13
14 public:
15
16 enum ZeeEventTreeType { kCITZeeEvent = 0,
17 kHggFutyanZeeDataEvent,
18 kHggFutyanZeeMCEvent,
19 };
20
21 enum DiElecTrigBits { kEle17SC8Trigger = 1UL<<0,
22 kEle20SC4Trigger = 1UL<<1,
23 kEle32SC17Trigger = 1UL<<2,
24 kEle17Ele8Loose = 1UL<<3,
25 kEle17Ele8Tight = 1UL<<4,
26 kSingleEleTight = 1UL<<5
27 };
28
29 /// variables
30 UInt_t fTreeType;
31 Float_t fWeight;
32 UInt_t fRunNumber;
33 UInt_t fLumiSectionNumber;
34 UInt_t fEventNumber;
35 UInt_t fNPU;
36 Float_t fRho;
37 UInt_t fNVertices;
38 UInt_t fEventTriggerBits;
39
40 Float_t fMass;
41 Float_t fMassRegression;
42
43
44 Float_t fEle1Pt;
45 Float_t fEle1Eta;
46 Float_t fEle1Phi;
47 Float_t fEle1SCEt;
48 Float_t fEle1SCEta;
49 Float_t fEle1SCPhi;
50 Float_t fEle1GenPt;
51 Float_t fEle1EnergyCorrAndSmeared;
52 Float_t fEle1Energy;
53 Float_t fEle1EnergyRegression;
54 Float_t fEle1EnergyRegressionV0;
55 Float_t fEle1EnergyRegressionV1;
56 Float_t fEle1EnergyRegressionV2;
57 Float_t fEle1EnergyRegressionErrorV0;
58 Float_t fEle1EnergyRegressionErrorV1;
59 Float_t fEle1EnergyRegressionErrorV2;
60 Int_t fEle1Charge;
61 Float_t fEle1HZZICHEP2012IDMVA;
62 Float_t fEle1PFIso04;
63 Float_t fEle1R9;
64 Bool_t fEle1PassLooseSimpleCuts;
65 Bool_t fEle1PassMediumSimpleCuts;
66 Bool_t fEle1PassTightSimpleCuts;
67 Bool_t fEle1PassHZZICHEP2012;
68
69
70 Float_t fEle2Pt;
71 Float_t fEle2Eta;
72 Float_t fEle2Phi;
73 Float_t fEle2SCEt;
74 Float_t fEle2SCEta;
75 Float_t fEle2SCPhi;
76 Float_t fEle2GenPt;
77 Float_t fEle2EnergyCorrAndSmeared;
78 Float_t fEle2Energy;
79 Float_t fEle2EnergyRegression;
80 Float_t fEle2EnergyRegressionV0;
81 Float_t fEle2EnergyRegressionV1;
82 Float_t fEle2EnergyRegressionV2;
83 Float_t fEle2EnergyRegressionErrorV0;
84 Float_t fEle2EnergyRegressionErrorV1;
85 Float_t fEle2EnergyRegressionErrorV2;
86 Int_t fEle2Charge;
87 Float_t fEle2HZZICHEP2012IDMVA;
88 Float_t fEle2PFIso04;
89 Float_t fEle2R9;
90 Bool_t fEle2PassLooseSimpleCuts;
91 Bool_t fEle2PassMediumSimpleCuts;
92 Bool_t fEle2PassTightSimpleCuts;
93 Bool_t fEle2PassHZZICHEP2012;
94
95
96 Int_t fRunNumber_int;
97 Int_t fLumiSectionNumber_int;
98 Int_t fEventNumber_int;
99 Int_t fNVertices_int;
100 Double_t dEle1Pt;
101 Double_t dEle1Eta;
102 Double_t dEle1Phi;
103 Double_t dEle1EnergyCorrAndSmeared;
104 Double_t dEle2Pt;
105 Double_t dEle2Eta;
106 Double_t dEle2Phi;
107 Double_t dEle2EnergyCorrAndSmeared;
108
109
110
111 public:
112 /// this is the main element
113 TTree *tree_;
114 TFile *f_;
115
116 /// hold the names of variables to facilitate things (filled during Init)
117 std::vector<std::string> variables_;
118
119 /// default constructor
120 ZeeEventTree() {
121 fTreeType = kCITZeeEvent;
122 };
123 /// default destructor
124 ~ZeeEventTree(){
125 if (f_) f_->Close();
126 };
127
128 /// initialize varibles and fill list of available variables
129 void InitVariables() {
130 fWeight = 0.0;
131 fRunNumber = 0.0;
132 fLumiSectionNumber = 0.0;
133 fEventNumber = 0.0;
134 fNPU = 0.0;
135 fRho = 0.0;
136 fNVertices = 0.0;
137 fEventTriggerBits = 0;
138 fMass = 0.0;
139 fEle1Pt = 0.0;
140 fEle1Eta = 0.0;
141 fEle1Phi = 0.0;
142 fEle1SCEt = 0.0;
143 fEle1SCEta = 0.0;
144 fEle1SCPhi = 0.0;
145 fEle1GenPt = 0.0;
146 fEle1EnergyCorrAndSmeared = 0.0;
147 fEle1Energy = 0.0;
148 fEle1EnergyRegression = 0.0;
149 fEle1EnergyRegressionV0 = 0.0;
150 fEle1EnergyRegressionV1 = 0.0;
151 fEle1EnergyRegressionV2 = 0.0;
152 fEle1EnergyRegressionErrorV0 = 0.0;
153 fEle1EnergyRegressionErrorV1 = 0.0;
154 fEle1EnergyRegressionErrorV2 = 0.0;
155 fEle1Charge = 0;
156 fEle1HZZICHEP2012IDMVA = 0.0;
157 fEle1PFIso04 = 0.0;
158 fEle1R9 = 0.0;
159 fEle1PassLooseSimpleCuts = kFALSE;
160 fEle1PassMediumSimpleCuts = kFALSE;
161 fEle1PassTightSimpleCuts = kFALSE;
162 fEle1PassHZZICHEP2012 = kFALSE;
163 fEle2Pt = 0.0;
164 fEle2Eta = 0.0;
165 fEle2Phi = 0.0;
166 fEle2SCEt = 0.0;
167 fEle2SCEta = 0.0;
168 fEle2SCPhi = 0.0;
169 fEle2GenPt = 0.0;
170 fEle2EnergyCorrAndSmeared = 0.0;
171 fEle2Energy = 0.0;
172 fEle2EnergyRegression = 0.0;
173 fEle2EnergyRegressionV0 = 0.0;
174 fEle2EnergyRegressionV1 = 0.0;
175 fEle2EnergyRegressionV2 = 0.0;
176 fEle2EnergyRegressionErrorV0 = 0.0;
177 fEle2EnergyRegressionErrorV1 = 0.0;
178 fEle2EnergyRegressionErrorV2 = 0.0;
179 fEle2Charge = 0;
180 fEle2HZZICHEP2012IDMVA = 0.0;
181 fEle2PFIso04 = 0.0;
182 fEle2R9 = 0.0;
183 fEle2PassLooseSimpleCuts = kFALSE;
184 fEle2PassMediumSimpleCuts = kFALSE;
185 fEle2PassTightSimpleCuts = kFALSE;
186 fEle2PassHZZICHEP2012 = kFALSE;
187
188 fRunNumber_int = 0;
189 fLumiSectionNumber_int = 0;
190 fEventNumber_int = 0;
191 fNVertices_int = 0;
192 dEle1Pt = 0;
193 dEle1Eta = 0;
194 dEle1Phi = 0;
195 dEle1EnergyCorrAndSmeared = 0;
196 dEle2Pt = 0;
197 dEle2Eta = 0;
198 dEle2Phi = 0;
199 dEle2EnergyCorrAndSmeared = 0;
200
201 }
202
203 /// load a ZeeEventTree
204 void LoadTree(const char* file, UInt_t Type = kCITZeeEvent){
205 fTreeType = Type;
206 f_ = TFile::Open(file);
207 assert(f_);
208 if (Type == kCITZeeEvent) {
209 tree_ = dynamic_cast<TTree*>(f_->Get("ZeeEvent"));
210 } else if (Type == kHggFutyanZeeDataEvent) {
211 tree_ = dynamic_cast<TTree*>(f_->Get("Data"));
212 } else if (Type == kHggFutyanZeeMCEvent) {
213 tree_ = dynamic_cast<TTree*>(f_->Get("DYJetsToLL"));
214 } else {
215 cout << "Warning: Type " << Type << " is not supported \n";
216 }
217 InitTree(Type);
218 assert(tree_);
219 }
220
221 /// create a ZeeEventTree
222 void CreateTree(){
223 tree_ = new TTree("ZeeEvent","ZeeEvent");
224 f_ = 0;
225
226 //book the branches
227 tree_->Branch("weight",&fWeight,"weight/F");
228 tree_->Branch("run",&fRunNumber,"run/i");
229 tree_->Branch("lumi",&fLumiSectionNumber,"lumi/i");
230 tree_->Branch("event",&fEventNumber,"event/i");
231 tree_->Branch("npu",&fNPU,"npu/i");
232 tree_->Branch("rho",&fRho,"rho/F");
233 tree_->Branch("vertices",&fNVertices,"vertices/i");
234 tree_->Branch("triggerbits",&fEventTriggerBits,"triggerbits/i");
235 tree_->Branch("mass",&fMass,"mass/F");
236
237 tree_->Branch("Ele1Pt",&fEle1Pt,"Ele1Pt/F");
238 tree_->Branch("Ele1Eta",&fEle1Eta,"Ele1Eta/F");
239 tree_->Branch("Ele1Phi",&fEle1Phi,"Ele1Phi/F");
240 tree_->Branch("Ele1SCEt",&fEle1SCEt,"Ele1SCEt/F");
241 tree_->Branch("Ele1SCEta",&fEle1SCEta,"Ele1SCEta/F");
242 tree_->Branch("Ele1SCPhi",&fEle1SCPhi,"Ele1SCPhi/F");
243 tree_->Branch("Ele1GenPt",&fEle1GenPt,"Ele1GenPt/F");
244 tree_->Branch("Ele1EnergyCorrAndSmeared",&fEle1EnergyCorrAndSmeared,"Ele1EnergyCorrAndSmeared/F");
245 tree_->Branch("Ele1Energy",&fEle1Energy,"Ele1Energy/F");
246 tree_->Branch("Ele1EnergyRegression",&fEle1EnergyRegression,"Ele1EnergyRegression/F");
247 tree_->Branch("Ele1EnergyRegressionV0",&fEle1EnergyRegressionV0,"Ele1EnergyRegressionV0/F");
248 tree_->Branch("Ele1EnergyRegressionV1",&fEle1EnergyRegressionV1,"Ele1EnergyRegressionV1/F");
249 tree_->Branch("Ele1EnergyRegressionV2",&fEle1EnergyRegressionV2,"Ele1EnergyRegressionV2/F");
250 tree_->Branch("Ele1EnergyRegressionErrorV0",&fEle1EnergyRegressionErrorV0,"Ele1EnergyRegressionErrorV0/F");
251 tree_->Branch("Ele1EnergyRegressionErrorV1",&fEle1EnergyRegressionErrorV1,"Ele1EnergyRegressionErrorV1/F");
252 tree_->Branch("Ele1EnergyRegressionErrorV2",&fEle1EnergyRegressionErrorV2,"Ele1EnergyRegressionErrorV2/F");
253 tree_->Branch("Ele1Charge",&fEle1Charge,"Ele1Charge/I");
254 tree_->Branch("Ele1HZZICHEP2012IDMVA",&fEle1HZZICHEP2012IDMVA,"Ele1HZZICHEP2012IDMVA/F");
255 tree_->Branch("Ele1PFIso04",&fEle1PFIso04,"Ele1PFIso04/F");
256 tree_->Branch("Ele1R9",&fEle1R9,"Ele1R9/F");
257 tree_->Branch("Ele1PassLooseSimpleCuts",&fEle1PassLooseSimpleCuts,"Ele1PassLooseSimpleCuts/O");
258 tree_->Branch("Ele1PassMediumSimpleCuts",&fEle1PassMediumSimpleCuts,"Ele1PassMediumSimpleCuts/O");
259 tree_->Branch("Ele1PassTightSimpleCuts",&fEle1PassTightSimpleCuts,"Ele1PassTightSimpleCuts/O");
260 tree_->Branch("Ele1PassHZZICHEP2012",&fEle1PassHZZICHEP2012,"Ele1PassHZZICHEP2012/O");
261 tree_->Branch("Ele2Pt",&fEle2Pt,"Ele2Pt/F");
262 tree_->Branch("Ele2Eta",&fEle2Eta,"Ele2Eta/F");
263 tree_->Branch("Ele2Phi",&fEle2Phi,"Ele2Phi/F");
264 tree_->Branch("Ele2SCEt",&fEle2SCEt,"Ele2SCEt/F");
265 tree_->Branch("Ele2SCEta",&fEle2SCEta,"Ele2SCEta/F");
266 tree_->Branch("Ele2SCPhi",&fEle2SCPhi,"Ele2SCPhi/F");
267 tree_->Branch("Ele2GenPt",&fEle2GenPt,"Ele2GenPt/F");
268 tree_->Branch("Ele2EnergyCorrAndSmeared",&fEle2EnergyCorrAndSmeared,"Ele2EnergyCorrAndSmeared/F");
269 tree_->Branch("Ele2Energy",&fEle2Energy,"Ele2Energy/F");
270 tree_->Branch("Ele2EnergyRegression",&fEle2EnergyRegression,"Ele2EnergyRegression/F");
271 tree_->Branch("Ele2EnergyRegressionV0",&fEle2EnergyRegressionV0,"Ele2EnergyRegressionV0/F");
272 tree_->Branch("Ele2EnergyRegressionV1",&fEle2EnergyRegressionV1,"Ele2EnergyRegressionV1/F");
273 tree_->Branch("Ele2EnergyRegressionV2",&fEle2EnergyRegressionV2,"Ele2EnergyRegressionV2/F");
274 tree_->Branch("Ele2EnergyRegressionErrorV0",&fEle2EnergyRegressionErrorV0,"Ele2EnergyRegressionErrorV0/F");
275 tree_->Branch("Ele2EnergyRegressionErrorV1",&fEle2EnergyRegressionErrorV1,"Ele2EnergyRegressionErrorV1/F");
276 tree_->Branch("Ele2EnergyRegressionErrorV2",&fEle2EnergyRegressionErrorV2,"Ele2EnergyRegressionErrorV2/F");
277 tree_->Branch("Ele2Charge",&fEle2Charge,"Ele2Charge/I");
278 tree_->Branch("Ele2HZZICHEP2012IDMVA",&fEle2HZZICHEP2012IDMVA,"Ele2HZZICHEP2012IDMVA/F");
279 tree_->Branch("Ele2PFIso04",&fEle2PFIso04,"Ele2PFIso04/F");
280 tree_->Branch("Ele2R9",&fEle2R9,"Ele2R9/F");
281 tree_->Branch("Ele2PassLooseSimpleCuts",&fEle2PassLooseSimpleCuts,"Ele2PassLooseSimpleCuts/O");
282 tree_->Branch("Ele2PassMediumSimpleCuts",&fEle2PassMediumSimpleCuts,"Ele2PassMediumSimpleCuts/O");
283 tree_->Branch("Ele2PassTightSimpleCuts",&fEle2PassTightSimpleCuts,"Ele2PassTightSimpleCuts/O");
284 tree_->Branch("Ele2PassHZZICHEP2012",&fEle2PassHZZICHEP2012,"Ele2PassHZZICHEP2012/O");
285
286 }
287
288 // initialze a ZeeEventTree
289 void InitTree(UInt_t Type = kCITZeeEvent){
290 assert(tree_);
291 // don't forget to set pointers to zero before you set address
292 // or you will fully appreciate that "ROOT sucks" :)
293 InitVariables();
294 //Set branch address
295 Int_t currentState = gErrorIgnoreLevel;
296
297 if (Type == kCITZeeEvent) {
298 cout << "CITZeeEvent\n";
299 tree_->SetBranchAddress("weight",&fWeight);
300 tree_->SetBranchAddress("run",&fRunNumber);
301 tree_->SetBranchAddress("lumi",&fLumiSectionNumber);
302 tree_->SetBranchAddress("event",&fEventNumber);
303 tree_->SetBranchAddress("npu",&fNPU);
304 tree_->SetBranchAddress("rho",&fRho);
305 tree_->SetBranchAddress("vertices",&fNVertices);
306 tree_->SetBranchAddress("triggerbits",&fEventTriggerBits);
307 tree_->SetBranchAddress("mass",&fMass);
308 tree_->SetBranchAddress("Ele1Pt",&fEle1Pt);
309 tree_->SetBranchAddress("Ele1Eta",&fEle1Eta);
310 tree_->SetBranchAddress("Ele1Phi",&fEle1Phi);
311 tree_->SetBranchAddress("Ele1SCEt",&fEle1SCEt);
312 tree_->SetBranchAddress("Ele1SCEta",&fEle1SCEta);
313 tree_->SetBranchAddress("Ele1SCPhi",&fEle1SCPhi);
314 tree_->SetBranchAddress("Ele1GenPt",&fEle1GenPt);
315 tree_->SetBranchAddress("Ele1EnergyCorrAndSmeared",&fEle1EnergyCorrAndSmeared);
316 tree_->SetBranchAddress("Ele1Energy",&fEle1Energy);
317 tree_->SetBranchAddress("Ele1EnergyRegression",&fEle1EnergyRegression);
318 tree_->SetBranchAddress("Ele1EnergyRegressionV0",&fEle1EnergyRegressionV0);
319 tree_->SetBranchAddress("Ele1EnergyRegressionV1",&fEle1EnergyRegressionV1);
320 tree_->SetBranchAddress("Ele1EnergyRegressionV2",&fEle1EnergyRegressionV2);
321 tree_->SetBranchAddress("Ele1EnergyRegressionErrorV0",&fEle1EnergyRegressionErrorV0);
322 tree_->SetBranchAddress("Ele1EnergyRegressionErrorV1",&fEle1EnergyRegressionErrorV1);
323 tree_->SetBranchAddress("Ele1EnergyRegressionErrorV2",&fEle1EnergyRegressionErrorV2);
324 tree_->SetBranchAddress("Ele1Charge",&fEle1Charge);
325 tree_->SetBranchAddress("Ele1HZZICHEP2012IDMVA",&fEle1HZZICHEP2012IDMVA);
326 tree_->SetBranchAddress("Ele1PFIso04",&fEle1PFIso04);
327 tree_->SetBranchAddress("Ele1R9",&fEle1R9);
328 tree_->SetBranchAddress("Ele1PassLooseSimpleCuts",&fEle1PassLooseSimpleCuts);
329 tree_->SetBranchAddress("Ele1PassMediumSimpleCuts",&fEle1PassMediumSimpleCuts);
330 tree_->SetBranchAddress("Ele1PassTightSimpleCuts",&fEle1PassTightSimpleCuts);
331 tree_->SetBranchAddress("Ele1PassHZZICHEP2012",&fEle1PassHZZICHEP2012);
332 tree_->SetBranchAddress("Ele2Pt",&fEle2Pt);
333 tree_->SetBranchAddress("Ele2Eta",&fEle2Eta);
334 tree_->SetBranchAddress("Ele2Phi",&fEle2Phi);
335 tree_->SetBranchAddress("Ele2SCEt",&fEle2SCEt);
336 tree_->SetBranchAddress("Ele2SCEta",&fEle2SCEta);
337 tree_->SetBranchAddress("Ele2SCPhi",&fEle2SCPhi);
338 tree_->SetBranchAddress("Ele2GenPt",&fEle2GenPt);
339 tree_->SetBranchAddress("Ele2EnergyCorrAndSmeared",&fEle2EnergyCorrAndSmeared);
340 tree_->SetBranchAddress("Ele2Energy",&fEle2Energy);
341 tree_->SetBranchAddress("Ele2EnergyRegression",&fEle2EnergyRegression);
342 tree_->SetBranchAddress("Ele2EnergyRegressionV0",&fEle2EnergyRegressionV0);
343 tree_->SetBranchAddress("Ele2EnergyRegressionV1",&fEle2EnergyRegressionV1);
344 tree_->SetBranchAddress("Ele2EnergyRegressionV2",&fEle2EnergyRegressionV2);
345 tree_->SetBranchAddress("Ele2EnergyRegressionErrorV0",&fEle2EnergyRegressionErrorV0);
346 tree_->SetBranchAddress("Ele2EnergyRegressionErrorV1",&fEle2EnergyRegressionErrorV1);
347 tree_->SetBranchAddress("Ele2EnergyRegressionErrorV2",&fEle2EnergyRegressionErrorV2);
348 tree_->SetBranchAddress("Ele2Charge",&fEle2Charge);
349 tree_->SetBranchAddress("Ele2HZZICHEP2012IDMVA",&fEle2HZZICHEP2012IDMVA);
350 tree_->SetBranchAddress("Ele2PFIso04",&fEle2PFIso04);
351 tree_->SetBranchAddress("Ele2R9",&fEle2R9);
352 tree_->SetBranchAddress("Ele2PassLooseSimpleCuts",&fEle2PassLooseSimpleCuts);
353 tree_->SetBranchAddress("Ele2PassMediumSimpleCuts",&fEle2PassMediumSimpleCuts);
354 tree_->SetBranchAddress("Ele2PassTightSimpleCuts",&fEle2PassTightSimpleCuts);
355 tree_->SetBranchAddress("Ele2PassHZZICHEP2012",&fEle2PassHZZICHEP2012);
356 } else if (Type == kHggFutyanZeeDataEvent || Type == kHggFutyanZeeMCEvent ) {
357 cout << "other type\n";
358 //************************************************************
359 //The commented out branches don't exist in this version
360 //************************************************************
361
362 tree_->SetBranchAddress("weight",&fWeight);
363 tree_->SetBranchAddress("run",&fRunNumber_int);
364 tree_->SetBranchAddress("lumi",&fLumiSectionNumber_int);
365 tree_->SetBranchAddress("event",&fEventNumber_int);
366 //tree_->SetBranchAddress("rho",&fRho);
367 tree_->SetBranchAddress("nvtx",&fNVertices_int);
368 //tree_->SetBranchAddress("triggerbits",&fEventTriggerBits);
369 tree_->SetBranchAddress("dipho_mass",&fMass);
370 tree_->SetBranchAddress("pho1_pt",&dEle1Pt);
371 tree_->SetBranchAddress("pho1_eta",&dEle1Eta);
372 tree_->SetBranchAddress("pho1_phi",&dEle1Phi);
373 //tree_->SetBranchAddress("Ele1SCEt",&fEle1SCEt);
374 tree_->SetBranchAddress("pho1_sceta",&fEle1SCEta);
375 tree_->SetBranchAddress("pho1_scphi",&fEle1SCPhi);
376 //tree_->SetBranchAddress("Ele1GenPt",&fEle1GenPt);
377 tree_->SetBranchAddress("pho1_energy",&dEle1EnergyCorrAndSmeared);
378 tree_->SetBranchAddress("pho1_energy_noregr",&fEle1Energy);
379 tree_->SetBranchAddress("pho1_energy_regr",&fEle1EnergyRegression);
380 //tree_->SetBranchAddress("Ele1Charge",&fEle1Charge);
381 //tree_->SetBranchAddress("Ele1HZZICHEP2012IDMVA",&fEle1HZZICHEP2012IDMVA);
382 //tree_->SetBranchAddress("Ele1PFIso04",&fEle1PFIso04);
383 tree_->SetBranchAddress("pho1_r9",&fEle1R9);
384 //tree_->SetBranchAddress("Ele1PassLooseSimpleCuts",&fEle1PassLooseSimpleCuts);
385 //tree_->SetBranchAddress("Ele1PassMediumSimpleCuts",&fEle1PassMediumSimpleCuts);
386 //tree_->SetBranchAddress("Ele1PassTightSimpleCuts",&fEle1PassTightSimpleCuts);
387 //tree_->SetBranchAddress("Ele1PassHZZICHEP2012",&fEle1PassHZZICHEP2012);
388
389 tree_->SetBranchAddress("pho2_pt",&dEle2Pt);
390 tree_->SetBranchAddress("pho2_eta",&dEle2Eta);
391 tree_->SetBranchAddress("pho2_phi",&dEle2Phi);
392 //tree_->SetBranchAddress("Ele2SCEt",&fEle2SCEt);
393 tree_->SetBranchAddress("pho2_sceta",&fEle2SCEta);
394 tree_->SetBranchAddress("pho2_scphi",&fEle2SCPhi);
395 //tree_->SetBranchAddress("Ele2GenPt",&fEle2GenPt);
396 tree_->SetBranchAddress("pho2_energy",&dEle2EnergyCorrAndSmeared);
397 tree_->SetBranchAddress("pho2_energy_noregr",&fEle2Energy);
398 tree_->SetBranchAddress("pho2_energy_regr",&fEle2EnergyRegression);
399 //tree_->SetBranchAddress("Ele2Charge",&fEle2Charge);
400 //tree_->SetBranchAddress("Ele2HZZICHEP2012IDMVA",&fEle2HZZICHEP2012IDMVA);
401 //tree_->SetBranchAddress("Ele2PFIso04",&fEle2PFIso04);
402 tree_->SetBranchAddress("pho2_r9",&fEle2R9);
403 //tree_->SetBranchAddress("Ele2PassLooseSimpleCuts",&fEle2PassLooseSimpleCuts);
404 //tree_->SetBranchAddress("Ele2PassMediumSimpleCuts",&fEle2PassMediumSimpleCuts);
405 //tree_->SetBranchAddress("Ele2PassTightSimpleCuts",&fEle2PassTightSimpleCuts);
406 //tree_->SetBranchAddress("Ele2PassHZZICHEP2012",&fEle2PassHZZICHEP2012);
407 } else {
408 cout << "Warning: Type " << Type << " is not supported \n";
409 }
410
411 gErrorIgnoreLevel = currentState;
412 }
413
414 Float_t Ele1Pt() {
415 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle1Pt;
416 else return fEle1Pt;
417 }
418 Float_t Ele1Eta() {
419 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle1Eta;
420 else return fEle1Eta;
421 }
422 Float_t Ele1Phi() {
423 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle1Phi;
424 else return fEle1Phi;
425 }
426 Float_t Ele1EnergyCorrAndSmeared() {
427 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle1EnergyCorrAndSmeared;
428 else return fEle1EnergyCorrAndSmeared;
429 }
430 Float_t Ele2Pt() {
431 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle2Pt;
432 else return fEle2Pt;
433 }
434 Float_t Ele2Eta() {
435 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle2Eta;
436 else return fEle2Eta;
437 }
438 Float_t Ele2Phi() {
439 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle2Phi;
440 else return fEle2Phi;
441 }
442 Float_t Ele2EnergyCorrAndSmeared() {
443 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return dEle2EnergyCorrAndSmeared;
444 else return fEle2EnergyCorrAndSmeared;
445 }
446 UInt_t RunNumber() {
447 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return fRunNumber_int;
448 else return fRunNumber;
449 }
450 UInt_t LumiSectionNumber() {
451 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return fLumiSectionNumber_int;
452 else return fLumiSectionNumber;
453 }
454 UInt_t EventNumber() {
455 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return fEventNumber_int;
456 else return fEventNumber;
457 }
458 UInt_t NVertices() {
459 if (fTreeType == kHggFutyanZeeDataEvent || fTreeType == kHggFutyanZeeMCEvent) return fNVertices_int;
460 else return fNVertices;
461 }
462
463
464 };
465 }
466
467
468 #endif