ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CITCommon/CommonData/interface/ZeeEventTree.h
Revision: 1.4
Committed: Tue Aug 14 16:18:53 2012 UTC (12 years, 8 months ago) by sixie
Content type: text/plain
Branch: MAIN
Changes since 1.3: +10 -10 lines
Log Message:
fix bug. some of the variables for electron 2 was being referenced to electron 1 variables

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