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

# User Rev Content
1 sixie 1.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 sixie 1.2 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 sixie 1.6 UInt_t fNPU;
36 sixie 1.2 Float_t fRho;
37     UInt_t fNVertices;
38     UInt_t fEventTriggerBits;
39    
40     Float_t fMass;
41 sixie 1.3 Float_t fMassRegression;
42 sixie 1.2
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 sixie 1.7 Float_t fEle1EnergyRegressionV0;
55     Float_t fEle1EnergyRegressionV1;
56 sixie 1.8 Float_t fEle1EnergyRegressionV2;
57     Float_t fEle1EnergyRegressionErrorV0;
58     Float_t fEle1EnergyRegressionErrorV1;
59     Float_t fEle1EnergyRegressionErrorV2;
60 sixie 1.2 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 sixie 1.7 Float_t fEle2EnergyRegressionV0;
81     Float_t fEle2EnergyRegressionV1;
82     Float_t fEle2EnergyRegressionV2;
83 sixie 1.8 Float_t fEle2EnergyRegressionErrorV0;
84     Float_t fEle2EnergyRegressionErrorV1;
85     Float_t fEle2EnergyRegressionErrorV2;
86 sixie 1.2 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 sixie 1.1
116 sixie 1.2 /// 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 sixie 1.6 fNPU = 0.0;
135 sixie 1.2 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 sixie 1.7 fEle1EnergyRegressionV0 = 0.0;
150     fEle1EnergyRegressionV1 = 0.0;
151     fEle1EnergyRegressionV2 = 0.0;
152 sixie 1.8 fEle1EnergyRegressionErrorV0 = 0.0;
153     fEle1EnergyRegressionErrorV1 = 0.0;
154     fEle1EnergyRegressionErrorV2 = 0.0;
155 sixie 1.2 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 sixie 1.7 fEle2EnergyRegressionV0 = 0.0;
174     fEle2EnergyRegressionV1 = 0.0;
175     fEle2EnergyRegressionV2 = 0.0;
176 sixie 1.8 fEle2EnergyRegressionErrorV0 = 0.0;
177     fEle2EnergyRegressionErrorV1 = 0.0;
178     fEle2EnergyRegressionErrorV2 = 0.0;
179 sixie 1.2 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 sixie 1.1
201 sixie 1.2 }
202 sixie 1.1
203 sixie 1.2 /// 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 sixie 1.5 InitTree(Type);
218 sixie 1.2 assert(tree_);
219     }
220 sixie 1.1
221 sixie 1.2 /// 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 sixie 1.6 tree_->Branch("npu",&fNPU,"npu/i");
232 sixie 1.2 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 sixie 1.7 tree_->Branch("Ele1EnergyRegressionV0",&fEle1EnergyRegressionV0,"Ele1EnergyRegressionV0/F");
248     tree_->Branch("Ele1EnergyRegressionV1",&fEle1EnergyRegressionV1,"Ele1EnergyRegressionV1/F");
249     tree_->Branch("Ele1EnergyRegressionV2",&fEle1EnergyRegressionV2,"Ele1EnergyRegressionV2/F");
250 sixie 1.8 tree_->Branch("Ele1EnergyRegressionErrorV0",&fEle1EnergyRegressionErrorV0,"Ele1EnergyRegressionErrorV0/F");
251     tree_->Branch("Ele1EnergyRegressionErrorV1",&fEle1EnergyRegressionErrorV1,"Ele1EnergyRegressionErrorV1/F");
252     tree_->Branch("Ele1EnergyRegressionErrorV2",&fEle1EnergyRegressionErrorV2,"Ele1EnergyRegressionErrorV2/F");
253 sixie 1.2 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 sixie 1.4 tree_->Branch("Ele2Energy",&fEle2Energy,"Ele2Energy/F");
270 sixie 1.2 tree_->Branch("Ele2EnergyRegression",&fEle2EnergyRegression,"Ele2EnergyRegression/F");
271 sixie 1.7 tree_->Branch("Ele2EnergyRegressionV0",&fEle2EnergyRegressionV0,"Ele2EnergyRegressionV0/F");
272     tree_->Branch("Ele2EnergyRegressionV1",&fEle2EnergyRegressionV1,"Ele2EnergyRegressionV1/F");
273     tree_->Branch("Ele2EnergyRegressionV2",&fEle2EnergyRegressionV2,"Ele2EnergyRegressionV2/F");
274 sixie 1.8 tree_->Branch("Ele2EnergyRegressionErrorV0",&fEle2EnergyRegressionErrorV0,"Ele2EnergyRegressionErrorV0/F");
275     tree_->Branch("Ele2EnergyRegressionErrorV1",&fEle2EnergyRegressionErrorV1,"Ele2EnergyRegressionErrorV1/F");
276     tree_->Branch("Ele2EnergyRegressionErrorV2",&fEle2EnergyRegressionErrorV2,"Ele2EnergyRegressionErrorV2/F");
277 sixie 1.4 tree_->Branch("Ele2Charge",&fEle2Charge,"Ele2Charge/I");
278 sixie 1.2 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 sixie 1.5 cout << "CITZeeEvent\n";
299 sixie 1.2 tree_->SetBranchAddress("weight",&fWeight);
300     tree_->SetBranchAddress("run",&fRunNumber);
301     tree_->SetBranchAddress("lumi",&fLumiSectionNumber);
302     tree_->SetBranchAddress("event",&fEventNumber);
303 sixie 1.6 tree_->SetBranchAddress("npu",&fNPU);
304 sixie 1.2 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 sixie 1.7 tree_->SetBranchAddress("Ele1EnergyRegressionV0",&fEle1EnergyRegressionV0);
319     tree_->SetBranchAddress("Ele1EnergyRegressionV1",&fEle1EnergyRegressionV1);
320     tree_->SetBranchAddress("Ele1EnergyRegressionV2",&fEle1EnergyRegressionV2);
321 sixie 1.8 tree_->SetBranchAddress("Ele1EnergyRegressionErrorV0",&fEle1EnergyRegressionErrorV0);
322     tree_->SetBranchAddress("Ele1EnergyRegressionErrorV1",&fEle1EnergyRegressionErrorV1);
323     tree_->SetBranchAddress("Ele1EnergyRegressionErrorV2",&fEle1EnergyRegressionErrorV2);
324 sixie 1.2 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 sixie 1.7 tree_->SetBranchAddress("Ele2EnergyRegressionV0",&fEle2EnergyRegressionV0);
343     tree_->SetBranchAddress("Ele2EnergyRegressionV1",&fEle2EnergyRegressionV1);
344     tree_->SetBranchAddress("Ele2EnergyRegressionV2",&fEle2EnergyRegressionV2);
345 sixie 1.8 tree_->SetBranchAddress("Ele2EnergyRegressionErrorV0",&fEle2EnergyRegressionErrorV0);
346     tree_->SetBranchAddress("Ele2EnergyRegressionErrorV1",&fEle2EnergyRegressionErrorV1);
347     tree_->SetBranchAddress("Ele2EnergyRegressionErrorV2",&fEle2EnergyRegressionErrorV2);
348 sixie 1.2 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 sixie 1.5 cout << "other type\n";
358 sixie 1.2 //************************************************************
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 sixie 1.1
463    
464 sixie 1.2 };
465     }
466 sixie 1.1
467    
468     #endif