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
|