ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CITCommon/CommonData/interface/ZeeEventTree.h
Revision: 1.6
Committed: Wed Oct 3 14:19:02 2012 UTC (12 years, 7 months ago) by sixie
Content type: text/plain
Branch: MAIN
Changes since 1.5: +4 -0 lines
Log Message:
add pileup

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