1 |
sixie |
1.1 |
#ifndef ZmumuGammaEventTree_H
|
2 |
|
|
#define ZmumuGammaEventTree_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 ZmumuGammaEventTree {
|
13 |
|
|
|
14 |
|
|
public:
|
15 |
|
|
|
16 |
|
|
enum ZmumuGammaEventTreeType { kCITLeptonPairPhotonEvent = 0
|
17 |
|
|
};
|
18 |
|
|
|
19 |
|
|
|
20 |
|
|
/// setup variables
|
21 |
|
|
UInt_t fTreeType;
|
22 |
|
|
|
23 |
|
|
//Tree variables
|
24 |
|
|
Float_t Weight;
|
25 |
|
|
UInt_t RunNumber;
|
26 |
|
|
UInt_t LumiSectionNumber;
|
27 |
|
|
UInt_t EventNumber;
|
28 |
|
|
|
29 |
|
|
Float_t electronZmass;
|
30 |
|
|
Float_t mllg;// 3-body mass
|
31 |
|
|
Bool_t muonZgVeto;
|
32 |
|
|
Float_t muonZmass;
|
33 |
|
|
Int_t year;
|
34 |
|
|
|
35 |
|
|
Float_t ele1MVA;// Electron 1 MVA Value
|
36 |
|
|
Float_t ele1charge;// Electron 1 Charge
|
37 |
|
|
Float_t ele1energy;// Electron 1 Energy
|
38 |
|
|
Float_t ele1px;// Electron 1 Px
|
39 |
|
|
Float_t ele1py;// Electron 1 Py
|
40 |
|
|
Float_t ele1pz;// Electron 1 Pz
|
41 |
|
|
Float_t ele1pt;// Electron 1 Pt
|
42 |
|
|
Float_t ele1eta;// Electron 1 Eta
|
43 |
|
|
Float_t ele1mass;// Electron 1 Mass
|
44 |
|
|
Float_t ele1phi;// Electron 1 Phi
|
45 |
|
|
Float_t ele1dEtaIn;
|
46 |
|
|
Float_t ele1dPhiIn;
|
47 |
|
|
Float_t ele1sigmaIEtaIEta;
|
48 |
|
|
Float_t ele1HadOverEm;
|
49 |
|
|
Float_t ele1D0;
|
50 |
|
|
Float_t ele1DZ;
|
51 |
|
|
Float_t ele1OneOverEMinusOneOverP;
|
52 |
|
|
Float_t ele1PFIsoOverPt;
|
53 |
|
|
Bool_t ele1Conversion;
|
54 |
|
|
Float_t ele1missinghits;
|
55 |
|
|
|
56 |
|
|
Float_t ele2MVA;// Electron 2 MVA Value
|
57 |
|
|
Float_t ele2charge;// Electron 2 Charge
|
58 |
|
|
Float_t ele2energy;// Electron 2 Energy
|
59 |
|
|
Float_t ele2px;// Electron 2 Px
|
60 |
|
|
Float_t ele2py;// Electron 2 Py
|
61 |
|
|
Float_t ele2pz;// Electron 2 Pz
|
62 |
|
|
Float_t ele2pt;// Electron 2 Pt
|
63 |
|
|
Float_t ele2eta;// Electron 2 Eta
|
64 |
|
|
Float_t ele2mass;// Electron 2 Mass
|
65 |
|
|
Float_t ele2phi;// Electron 2 Phi
|
66 |
|
|
Float_t ele2dEtaIn;
|
67 |
|
|
Float_t ele2dPhiIn;
|
68 |
|
|
Float_t ele2sigmaIEtaIEta;
|
69 |
|
|
Float_t ele2HadOverEm;
|
70 |
|
|
Float_t ele2D0;
|
71 |
|
|
Float_t ele2DZ;
|
72 |
|
|
Float_t ele2OneOverEMinusOneOverP;
|
73 |
|
|
Float_t ele2PFIsoOverPt;
|
74 |
|
|
Bool_t ele2Conversion;
|
75 |
|
|
Float_t ele2missinghits;
|
76 |
|
|
|
77 |
|
|
Float_t chargediso_ele1;
|
78 |
|
|
Float_t gammaiso_ele1;
|
79 |
|
|
Float_t neutraliso_ele1;
|
80 |
|
|
Float_t rho_ele1;
|
81 |
|
|
Float_t effectivearea_ele1;
|
82 |
|
|
Float_t chargediso_ele2;
|
83 |
|
|
Float_t gammaiso_ele2;
|
84 |
|
|
Float_t neutraliso_ele2;
|
85 |
|
|
Float_t rho_ele2;
|
86 |
|
|
Float_t effectivearea_ele2;
|
87 |
|
|
|
88 |
|
|
Float_t photonidmva;// Photon MVA Value
|
89 |
|
|
Float_t photonenergy;// Photon Energy
|
90 |
|
|
Float_t photonpx;// Photon Px
|
91 |
|
|
Float_t photonpy;// Photon Py
|
92 |
|
|
Float_t photonpz;// Photon Pz
|
93 |
|
|
Float_t photonpt;// Photon Pt
|
94 |
|
|
Float_t photoneta;// Photon Eta
|
95 |
|
|
Float_t photonmass;// Photon Mass??? photon->Mass()
|
96 |
|
|
Float_t photonphi;// Photon Phi
|
97 |
|
|
Float_t photonr9;// Photon R9
|
98 |
|
|
|
99 |
|
|
Float_t m1E;// Muon 1 Energy
|
100 |
|
|
Float_t m1Pt;// Muon 1 Pt
|
101 |
|
|
Float_t m1Mass;// Muon 1 Mass
|
102 |
|
|
Float_t m1Px;// Muon 1 Px
|
103 |
|
|
Float_t m1Py;// Muon 1 Py
|
104 |
|
|
Float_t m1Pz;// Muon 1 Pz
|
105 |
|
|
Float_t m1Eta;// Muon 1 Eta
|
106 |
|
|
Float_t m1Phi;// Muon 1 Phi
|
107 |
|
|
Float_t m1Charge;// Muon 1 Charge
|
108 |
|
|
Float_t m2E;// Muon 2 Energy
|
109 |
|
|
Float_t m2Pt;// Muon 2 Pt
|
110 |
|
|
Float_t m2Mass;// Muon 2 Mass
|
111 |
|
|
Float_t m2Px;// Muon 2 Px
|
112 |
|
|
Float_t m2Py;// Muon 2 Py
|
113 |
|
|
Float_t m2Pz;// Muon 2 Pz
|
114 |
|
|
Float_t m2Eta;// Muon 2 Eta
|
115 |
|
|
Float_t m2Phi;// Muon 2 Phi
|
116 |
|
|
Float_t m2Charge;// Muon 2 Charge
|
117 |
|
|
|
118 |
|
|
Float_t NPu; //Number of Pileup events
|
119 |
|
|
Float_t NPuPlus;//Number of Pileup events in next signal readout
|
120 |
|
|
Float_t NPuMinus;//Number of Pileup events in previous signal readout
|
121 |
|
|
Float_t photonmatchmc;
|
122 |
|
|
|
123 |
|
|
Float_t costheta_lm_electrons;
|
124 |
|
|
Float_t costheta_lp_electrons;
|
125 |
|
|
Float_t phi_electrons;
|
126 |
|
|
Float_t cosTheta_electrons;
|
127 |
|
|
Float_t cosThetaG_electrons;
|
128 |
|
|
Float_t costheta_lm_muons;
|
129 |
|
|
Float_t costheta_lp_muons;
|
130 |
|
|
Float_t phi_muons;
|
131 |
|
|
Float_t cosTheta_muons;
|
132 |
|
|
Float_t cosThetaG_muons;
|
133 |
|
|
|
134 |
|
|
|
135 |
|
|
public:
|
136 |
|
|
/// this is the main element
|
137 |
|
|
TTree *tree_;
|
138 |
|
|
TFile *f_;
|
139 |
|
|
|
140 |
|
|
/// hold the names of variables to facilitate things (filled during Init)
|
141 |
|
|
std::vector<std::string> variables_;
|
142 |
|
|
|
143 |
|
|
/// default constructor
|
144 |
|
|
ZmumuGammaEventTree() {
|
145 |
|
|
fTreeType = kCITLeptonPairPhotonEvent;
|
146 |
|
|
};
|
147 |
|
|
/// default destructor
|
148 |
|
|
~ZmumuGammaEventTree(){
|
149 |
|
|
if (f_) f_->Close();
|
150 |
|
|
};
|
151 |
|
|
|
152 |
|
|
/// initialize varibles and fill list of available variables
|
153 |
|
|
void InitVariables() {
|
154 |
|
|
|
155 |
|
|
Weight = 0.0;
|
156 |
|
|
RunNumber = 0.0;
|
157 |
|
|
LumiSectionNumber = 0.0;
|
158 |
|
|
EventNumber = 0.0;
|
159 |
|
|
|
160 |
|
|
electronZmass = 0;
|
161 |
|
|
mllg = 0;
|
162 |
|
|
muonZgVeto = 0;
|
163 |
|
|
muonZmass = 0;
|
164 |
|
|
year = 0;
|
165 |
|
|
|
166 |
|
|
ele1MVA = 0;
|
167 |
|
|
ele1charge = 0;
|
168 |
|
|
ele1energy = 0;
|
169 |
|
|
ele1px = 0;
|
170 |
|
|
ele1py = 0;
|
171 |
|
|
ele1pz = 0;
|
172 |
|
|
ele1pt = 0;
|
173 |
|
|
ele1eta = 0;
|
174 |
|
|
ele1mass = 0;
|
175 |
|
|
ele1phi = 0;
|
176 |
|
|
ele1dEtaIn = 0;
|
177 |
|
|
ele1dPhiIn = 0;
|
178 |
|
|
ele1sigmaIEtaIEta = 0;
|
179 |
|
|
ele1HadOverEm = 0;
|
180 |
|
|
ele1D0 = 0;
|
181 |
|
|
ele1DZ = 0;
|
182 |
|
|
ele1OneOverEMinusOneOverP = 0;
|
183 |
|
|
ele1PFIsoOverPt = 0;
|
184 |
|
|
ele1Conversion = 0;
|
185 |
|
|
ele1missinghits = 0;
|
186 |
|
|
|
187 |
|
|
ele2MVA = 0;
|
188 |
|
|
ele2charge = 0;
|
189 |
|
|
ele2energy = 0;
|
190 |
|
|
ele2px = 0;
|
191 |
|
|
ele2py = 0;
|
192 |
|
|
ele2pz = 0;
|
193 |
|
|
ele2pt = 0;
|
194 |
|
|
ele2eta = 0;
|
195 |
|
|
ele2mass = 0;
|
196 |
|
|
ele2phi = 0;
|
197 |
|
|
ele2dEtaIn = 0;
|
198 |
|
|
ele2dPhiIn = 0;
|
199 |
|
|
ele2sigmaIEtaIEta = 0;
|
200 |
|
|
ele2HadOverEm = 0;
|
201 |
|
|
ele2D0 = 0;
|
202 |
|
|
ele2DZ = 0;
|
203 |
|
|
ele2OneOverEMinusOneOverP = 0;
|
204 |
|
|
ele2PFIsoOverPt = 0;
|
205 |
|
|
ele2Conversion = 0;
|
206 |
|
|
ele2missinghits = 0;
|
207 |
|
|
|
208 |
|
|
chargediso_ele1 = 0;
|
209 |
|
|
gammaiso_ele1 = 0;
|
210 |
|
|
neutraliso_ele1 = 0;
|
211 |
|
|
rho_ele1 = 0;
|
212 |
|
|
effectivearea_ele1 = 0;
|
213 |
|
|
chargediso_ele2 = 0;
|
214 |
|
|
gammaiso_ele2 = 0;
|
215 |
|
|
neutraliso_ele2 = 0;
|
216 |
|
|
rho_ele2 = 0;
|
217 |
|
|
effectivearea_ele2 = 0;
|
218 |
|
|
|
219 |
|
|
photonidmva = 0;
|
220 |
|
|
photonenergy = 0;
|
221 |
|
|
photonpx = 0;
|
222 |
|
|
photonpy = 0;
|
223 |
|
|
photonpz = 0;
|
224 |
|
|
photonpt = 0;
|
225 |
|
|
photoneta = 0;
|
226 |
|
|
photonmass = 0;
|
227 |
|
|
photonphi = 0;
|
228 |
|
|
photonr9 = 0;
|
229 |
|
|
|
230 |
|
|
m1E = 0;
|
231 |
|
|
m1Pt = 0;
|
232 |
|
|
m1Mass = 0;
|
233 |
|
|
m1Px = 0;
|
234 |
|
|
m1Py = 0;
|
235 |
|
|
m1Pz = 0;
|
236 |
|
|
m1Eta = 0;
|
237 |
|
|
m1Phi = 0;
|
238 |
|
|
m1Charge = 0;
|
239 |
|
|
m2E = 0;
|
240 |
|
|
m2Pt = 0;
|
241 |
|
|
m2Mass = 0;
|
242 |
|
|
m2Px = 0;
|
243 |
|
|
m2Py = 0;
|
244 |
|
|
m2Pz = 0;
|
245 |
|
|
m2Eta = 0;
|
246 |
|
|
m2Phi = 0;
|
247 |
|
|
m2Charge = 0;
|
248 |
|
|
|
249 |
|
|
NPu = 0;
|
250 |
|
|
NPuPlusNumber = 0;
|
251 |
|
|
NPuMinusNumber = 0;
|
252 |
|
|
photonmatchmc = 0;
|
253 |
|
|
|
254 |
|
|
costheta_lm_electrons = 0;
|
255 |
|
|
costheta_lp_electrons = 0;
|
256 |
|
|
phi_electrons = 0;
|
257 |
|
|
cosTheta_electrons = 0;
|
258 |
|
|
cosThetaG_electrons = 0;
|
259 |
|
|
costheta_lm_muons = 0;
|
260 |
|
|
costheta_lp_muons = 0;
|
261 |
|
|
phi_muons = 0;
|
262 |
|
|
cosTheta_muons = 0;
|
263 |
|
|
cosThetaG_muons = 0;
|
264 |
|
|
|
265 |
|
|
|
266 |
|
|
}
|
267 |
|
|
|
268 |
|
|
/// load a ZmumuGammaEventTree
|
269 |
|
|
void LoadTree(const char* file, UInt_t Type = kCITLeptonPairPhotonEvent){
|
270 |
|
|
fTreeType = Type;
|
271 |
|
|
f_ = TFile::Open(file);
|
272 |
|
|
assert(f_);
|
273 |
|
|
if (Type == kCITLeptonPairPhotonEvent) {
|
274 |
|
|
tree_ = dynamic_cast<TTree*>(f_->Get("h2LepPhotonTree"));
|
275 |
|
|
} else {
|
276 |
|
|
cout << "Warning: Type " << Type << " is not supported \n";
|
277 |
|
|
}
|
278 |
|
|
InitTree(Type);
|
279 |
|
|
assert(tree_);
|
280 |
|
|
}
|
281 |
|
|
|
282 |
|
|
/// create a ZmumuGammaEventTree
|
283 |
|
|
void CreateTree(){
|
284 |
|
|
tree_ = new TTree("ZmumuGammaEvent","ZmumuGammaEvent");
|
285 |
|
|
tree->SetAutoSave(300e9);
|
286 |
|
|
|
287 |
|
|
f_ = 0;
|
288 |
|
|
|
289 |
|
|
tree_->Branch("Weight",&Weight,"Weight/F");
|
290 |
|
|
tree_->Branch("RunNumber",&RunNumber,"RunNumber/i");
|
291 |
|
|
tree_->Branch("LumiSectionNumber",&LumiSectionNumber,"LumiSectionNumber/i");
|
292 |
|
|
tree_->Branch("EventNumber",&EventNumber,"EventNumber/i");
|
293 |
|
|
|
294 |
|
|
tree->Branch("electronZmass",&electronZmass,"electronZmass/F");
|
295 |
|
|
tree->Branch("mllg",&mllg,"mllg/F");
|
296 |
|
|
tree->Branch("ele1MVA",&ele1MVA,"ele1MVA/F");
|
297 |
|
|
tree->Branch("ele2MVA",&ele2MVA,"ele2MVA/F");
|
298 |
|
|
|
299 |
|
|
tree->Branch("ele1charge",&ele1charge,"ele1charge/F");
|
300 |
|
|
tree->Branch("ele1energy",&ele1energy,"ele1energy/F");
|
301 |
|
|
tree->Branch("ele1px",&ele1px,"ele1px/F");
|
302 |
|
|
tree->Branch("ele1py",&ele1py,"ele1py/F");
|
303 |
|
|
tree->Branch("ele1pz",&ele1pz,"ele1pz/F");
|
304 |
|
|
tree->Branch("ele1pt",&ele1pt,"ele1pt/F");
|
305 |
|
|
tree->Branch("ele1eta",&ele1eta,"ele1eta/F");
|
306 |
|
|
tree->Branch("ele1mass",&ele1mass,"ele1mass/F");
|
307 |
|
|
tree->Branch("ele1phi",&ele1phi,"ele1phi/F");
|
308 |
|
|
|
309 |
|
|
tree->Branch("ele2charge",&ele2charge,"ele2charge/F");
|
310 |
|
|
tree->Branch("ele2energy",&ele2energy,"ele2energy/F");
|
311 |
|
|
tree->Branch("ele2px",&ele2px,"ele2px/F");
|
312 |
|
|
tree->Branch("ele2py",&ele2py,"ele2py/F");
|
313 |
|
|
tree->Branch("ele2pz",&ele2pz,"ele2pz/F");
|
314 |
|
|
tree->Branch("ele2pt",&ele2pt,"ele2pt/F");
|
315 |
|
|
tree->Branch("ele2eta",&ele2eta,"ele2eta/F");
|
316 |
|
|
tree->Branch("ele2mass",&ele2mass,"ele2mass/F");
|
317 |
|
|
tree->Branch("ele2phi",&ele2phi,"ele2phi/F");
|
318 |
|
|
|
319 |
|
|
tree->Branch("ele1dEtaIn",&ele1dEtaIn,"ele1dEtaIn/F");
|
320 |
|
|
tree->Branch("ele1dPhiIn",&ele1dPhiIn,"ele1dPhiIn/F");
|
321 |
|
|
tree->Branch("ele1sigmaIEtaIEta",&ele1sigmaIEtaIEta, "ele1sigmaIEtaIEta/F");
|
322 |
|
|
tree->Branch("ele1HadOverEm",&ele1HadOverEm,"ele1HadOverEm/F");
|
323 |
|
|
tree->Branch("ele1D0",&ele1D0,"ele1D0/F");
|
324 |
|
|
tree->Branch("ele1DZ",&ele1DZ,"ele1DZ/F");
|
325 |
|
|
tree->Branch("ele1OneOverEMinusOneOverP",&ele1OneOverEMinusOneOverP,"ele1OneOverEMinusOneOverP/F");
|
326 |
|
|
tree->Branch("ele1PFIsoOverPt",&ele1PFIsoOverPt,"ele1PFIsoOverPt/F");
|
327 |
|
|
tree->Branch("ele1Conversion",&ele1Conversion,"ele1Conversion/O");
|
328 |
|
|
tree->Branch("ele1missinghits",&ele1missinghits,"ele1missinghits/F");
|
329 |
|
|
|
330 |
|
|
tree->Branch("ele2dEtaIn",&ele2dEtaIn,"ele2dEtaIn/F");
|
331 |
|
|
tree->Branch("ele2dPhiIn",&ele2dPhiIn,"ele2dPhiIn/F");
|
332 |
|
|
tree->Branch("ele2sigmaIEtaIEta",&ele2sigmaIEtaIEta, "ele2sigmaIEtaIEta/F");
|
333 |
|
|
tree->Branch("ele2HadOverEm",&ele2HadOverEm,"ele2HadOverEm/F");
|
334 |
|
|
tree->Branch("ele2D0",&ele2D0,"ele2D0/F");
|
335 |
|
|
tree->Branch("ele2DZ",&ele2DZ,"ele2DZ/F");
|
336 |
|
|
tree->Branch("ele2OneOverEMinusOneOverP",&ele2OneOverEMinusOneOverP,"ele2OneOverEMinusOneOverP/F");
|
337 |
|
|
tree->Branch("ele2PFIsoOverPt",&ele2PFIsoOverPt,"ele2PFIsoOverPt/F");
|
338 |
|
|
tree->Branch("ele2Conversion",&ele2Conversion,"ele2Conversion/O");
|
339 |
|
|
tree->Branch("ele2missinghits",&ele2missinghits,"ele2missinghits/F");
|
340 |
|
|
|
341 |
|
|
tree->Branch("chargediso_ele1",&chargediso_ele1,"chargediso_ele1/F");
|
342 |
|
|
tree->Branch("gammaiso_ele1",&gammaiso_ele1,"gammaiso_ele1/F");
|
343 |
|
|
tree->Branch("neutraliso_ele1",&neutraliso_ele1,"neutraliso_ele1/F");
|
344 |
|
|
tree->Branch("rho_ele1",&rho_ele1,"rho_ele1/F");
|
345 |
|
|
tree->Branch("effectivearea_ele1",&effectivearea_ele1,"effectivearea_ele1/F");
|
346 |
|
|
tree->Branch("chargediso_ele2",&chargediso_ele2,"chargediso_ele2/F");
|
347 |
|
|
tree->Branch("gammaiso_ele2",&gammaiso_ele2,"gammaiso_ele2/F");
|
348 |
|
|
tree->Branch("neutraliso_ele2",&neutraliso_ele2,"neutraliso_ele2/F");
|
349 |
|
|
tree->Branch("rho_ele2",&rho_ele2,"rho_ele2/F");
|
350 |
|
|
tree->Branch("effectivearea_ele2",&effectivearea_ele2,"effectivearea_ele2/F");
|
351 |
|
|
|
352 |
|
|
tree->Branch("costheta_lm_electrons",&costheta_lm_electrons,"costheta_lm_electrons/F");
|
353 |
|
|
tree->Branch("costheta_lp_electrons",&costheta_lp_electrons,"costheta_lp_electrons/F");
|
354 |
|
|
tree->Branch("phi_electrons",&phi_electrons,"phi_electrons/F");
|
355 |
|
|
tree->Branch("cosTheta_electrons",&cosTheta_electrons,"cosTheta_electrons/F");
|
356 |
|
|
tree->Branch("cosThetaG_electrons",&cosThetaG_electrons,"cosThetaG_electrons");
|
357 |
|
|
tree->Branch("costheta_lm_muons",&costheta_lm_muons,"costheta_lm_muons/F");
|
358 |
|
|
tree->Branch("costheta_lp_muons",&costheta_lp_muons,"costheta_lp_muons/F");
|
359 |
|
|
tree->Branch("phi_muons",&phi_muons,"phi_muons/F");
|
360 |
|
|
tree->Branch("cosTheta_muons",&cosTheta_muons,"cosTheta_muons/F");
|
361 |
|
|
tree->Branch("cosThetaG_muons",&cosThetaG_muons,"cosThetaG_muons/F");
|
362 |
|
|
|
363 |
|
|
tree->Branch("muonZgVeto",&muonZgVeto,"muonZgVeto/O");
|
364 |
|
|
tree->Branch("muonZmass",&muonZmass,"muonZmass/F");
|
365 |
|
|
tree->Branch("m1E",&m1E,"m1E/F");
|
366 |
|
|
tree->Branch("m1Pt",&m1Pt,"m1Pt/F");
|
367 |
|
|
tree->Branch("m1Mass",&m1Mass,"m1Mass/F");
|
368 |
|
|
tree->Branch("m1Px",&m1Px,"m1Px/F");
|
369 |
|
|
tree->Branch("m1Py",&m1Py,"m1Py/F");
|
370 |
|
|
tree->Branch("m1Pz",&m1Pz,"m1Pz/F");
|
371 |
|
|
tree->Branch("m1Eta",&m1Eta,"m1Eta/F");
|
372 |
|
|
tree->Branch("m1Phi",&m1Phi,"m1Phi/F");
|
373 |
|
|
tree->Branch("m1Charge",&m1Charge,"m1Charge/F");
|
374 |
|
|
tree->Branch("m2E",&m2E,"m2E/F");
|
375 |
|
|
tree->Branch("m2Pt",&m2Pt,"m2Pt/F");
|
376 |
|
|
tree->Branch("m2Mass",&m2Mass,"m2Mass/F");
|
377 |
|
|
tree->Branch("m2Px",&m2Px,"m2Px/F");
|
378 |
|
|
tree->Branch("m2Py",&m2Py,"m2Py/F");
|
379 |
|
|
tree->Branch("m2Pz",&m2Pz,"m2Pz/F");
|
380 |
|
|
tree->Branch("m2Eta",&m2Eta,"m2Eta/F");
|
381 |
|
|
tree->Branch("m2Phi",&m2Phi,"m2Phi/F");
|
382 |
|
|
tree->Branch("m2Charge",&m2Charge,"m2Charge/F");
|
383 |
|
|
|
384 |
|
|
tree->Branch("photonidmva",&photonidmva,"photonidmva/F");
|
385 |
|
|
tree->Branch("photonr9",&photonr9,"photonr9/F");
|
386 |
|
|
tree->Branch("photonenergy",&photonenergy,"photonenergy/F");
|
387 |
|
|
tree->Branch("photonpx",&photonpx,"photonpx/F");
|
388 |
|
|
tree->Branch("photonpy",&photonpy,"photonpy/F");
|
389 |
|
|
tree->Branch("photonpz",&photonpz,"photonpz/F");
|
390 |
|
|
tree->Branch("photonpt",&photonpt,"photonpt/F");
|
391 |
|
|
tree->Branch("photoneta",&photoneta,"photoneta/F");
|
392 |
|
|
tree->Branch("photonmass",&photonmass,"photonmass/F");
|
393 |
|
|
tree->Branch("photonphi",&photonphi,"photonphi/F");
|
394 |
|
|
|
395 |
|
|
tree->Branch("NPu",&NPu,"NPu/F");
|
396 |
|
|
tree->Branch("NPuPlus",&NPuPlus,"NPuPlus/F");
|
397 |
|
|
tree->Branch("NPuMinus",&NPuMinus,"NPuMinus/F");
|
398 |
|
|
|
399 |
|
|
tree->Branch("photonmatchmc",&photonmatchmc,"photonmatchmc/F");
|
400 |
|
|
|
401 |
|
|
}
|
402 |
|
|
|
403 |
|
|
// initialze a ZmumuGammaEventTree
|
404 |
|
|
void InitTree(UInt_t Type = kCITLeptonPairPhotonEvent){
|
405 |
|
|
assert(tree_);
|
406 |
|
|
// don't forget to set pointers to zero before you set address
|
407 |
|
|
// or you will fully appreciate that "ROOT sucks" :)
|
408 |
|
|
InitVariables();
|
409 |
|
|
//Set branch address
|
410 |
|
|
Int_t currentState = gErrorIgnoreLevel;
|
411 |
|
|
|
412 |
|
|
if (Type == kCITLeptonPairPhotonEvent) {
|
413 |
|
|
cout << "kCITLeptonPairPhotonEvent\n";
|
414 |
|
|
// tree_->SetBranchAddress("weight",&fWeight);
|
415 |
|
|
|
416 |
|
|
|
417 |
|
|
tree_->SetBranchAddress("Weight",&Weight);
|
418 |
|
|
tree_->SetBranchAddress("RunNumber",&RunNumber);
|
419 |
|
|
tree_->SetBranchAddress("LumiSectionNumber",&LumiSectionNumber);
|
420 |
|
|
tree_->SetBranchAddress("EventNumber",&EventNumber);
|
421 |
|
|
|
422 |
|
|
tree->SetBranchAddress("electronZmass",&electronZmass);
|
423 |
|
|
tree->SetBranchAddress("mllg",&mllg);
|
424 |
|
|
tree->SetBranchAddress("ele1MVA",&ele1MVA);
|
425 |
|
|
tree->SetBranchAddress("ele2MVA",&ele2MVA);
|
426 |
|
|
|
427 |
|
|
tree->SetBranchAddress("ele1charge",&ele1charge);
|
428 |
|
|
tree->SetBranchAddress("ele1energy",&ele1energy);
|
429 |
|
|
tree->SetBranchAddress("ele1px",&ele1px);
|
430 |
|
|
tree->SetBranchAddress("ele1py",&ele1py);
|
431 |
|
|
tree->SetBranchAddress("ele1pz",&ele1pz);
|
432 |
|
|
tree->SetBranchAddress("ele1pt",&ele1pt);
|
433 |
|
|
tree->SetBranchAddress("ele1eta",&ele1eta);
|
434 |
|
|
tree->SetBranchAddress("ele1mass",&ele1mass);
|
435 |
|
|
tree->SetBranchAddress("ele1phi",&ele1phi);
|
436 |
|
|
|
437 |
|
|
tree->SetBranchAddress("ele2charge",&ele2charge);
|
438 |
|
|
tree->SetBranchAddress("ele2energy",&ele2energy);
|
439 |
|
|
tree->SetBranchAddress("ele2px",&ele2px);
|
440 |
|
|
tree->SetBranchAddress("ele2py",&ele2py);
|
441 |
|
|
tree->SetBranchAddress("ele2pz",&ele2pz);
|
442 |
|
|
tree->SetBranchAddress("ele2pt",&ele2pt);
|
443 |
|
|
tree->SetBranchAddress("ele2eta",&ele2eta);
|
444 |
|
|
tree->SetBranchAddress("ele2mass",&ele2mass);
|
445 |
|
|
tree->SetBranchAddress("ele2phi",&ele2phi);
|
446 |
|
|
|
447 |
|
|
tree->SetBranchAddress("ele1dEtaIn",&ele1dEtaIn);
|
448 |
|
|
tree->SetBranchAddress("ele1dPhiIn",&ele1dPhiIn);
|
449 |
|
|
tree->SetBranchAddress("ele1sigmaIEtaIEta",&ele1sigmaIEtaIEta, "ele1sigmaIEtaIEta/F");
|
450 |
|
|
tree->SetBranchAddress("ele1HadOverEm",&ele1HadOverEm);
|
451 |
|
|
tree->SetBranchAddress("ele1D0",&ele1D0);
|
452 |
|
|
tree->SetBranchAddress("ele1DZ",&ele1DZ);
|
453 |
|
|
tree->SetBranchAddress("ele1OneOverEMinusOneOverP",&ele1OneOverEMinusOneOverP);
|
454 |
|
|
tree->SetBranchAddress("ele1PFIsoOverPt",&ele1PFIsoOverPt);
|
455 |
|
|
tree->SetBranchAddress("ele1Conversion",&ele1Conversion);
|
456 |
|
|
tree->SetBranchAddress("ele1missinghits",&ele1missinghits);
|
457 |
|
|
|
458 |
|
|
tree->SetBranchAddress("ele2dEtaIn",&ele2dEtaIn);
|
459 |
|
|
tree->SetBranchAddress("ele2dPhiIn",&ele2dPhiIn);
|
460 |
|
|
tree->SetBranchAddress("ele2sigmaIEtaIEta",&ele2sigmaIEtaIEta, "ele2sigmaIEtaIEta/F");
|
461 |
|
|
tree->SetBranchAddress("ele2HadOverEm",&ele2HadOverEm);
|
462 |
|
|
tree->SetBranchAddress("ele2D0",&ele2D0);
|
463 |
|
|
tree->SetBranchAddress("ele2DZ",&ele2DZ);
|
464 |
|
|
tree->SetBranchAddress("ele2OneOverEMinusOneOverP",&ele2OneOverEMinusOneOverP);
|
465 |
|
|
tree->SetBranchAddress("ele2PFIsoOverPt",&ele2PFIsoOverPt);
|
466 |
|
|
tree->SetBranchAddress("ele2Conversion",&ele2Conversion);
|
467 |
|
|
tree->SetBranchAddress("ele2missinghits",&ele2missinghits);
|
468 |
|
|
|
469 |
|
|
tree->SetBranchAddress("chargediso_ele1",&chargediso_ele1);
|
470 |
|
|
tree->SetBranchAddress("gammaiso_ele1",&gammaiso_ele1);
|
471 |
|
|
tree->SetBranchAddress("neutraliso_ele1",&neutraliso_ele1);
|
472 |
|
|
tree->SetBranchAddress("rho_ele1",&rho_ele1);
|
473 |
|
|
tree->SetBranchAddress("effectivearea_ele1",&effectivearea_ele1);
|
474 |
|
|
tree->SetBranchAddress("chargediso_ele2",&chargediso_ele2);
|
475 |
|
|
tree->SetBranchAddress("gammaiso_ele2",&gammaiso_ele2);
|
476 |
|
|
tree->SetBranchAddress("neutraliso_ele2",&neutraliso_ele2);
|
477 |
|
|
tree->SetBranchAddress("rho_ele2",&rho_ele2);
|
478 |
|
|
tree->SetBranchAddress("effectivearea_ele2",&effectivearea_ele2);
|
479 |
|
|
|
480 |
|
|
tree->SetBranchAddress("costheta_lm_electrons",&costheta_lm_electrons);
|
481 |
|
|
tree->SetBranchAddress("costheta_lp_electrons",&costheta_lp_electrons);
|
482 |
|
|
tree->SetBranchAddress("phi_electrons",&phi_electrons);
|
483 |
|
|
tree->SetBranchAddress("cosTheta_electrons",&cosTheta_electrons);
|
484 |
|
|
tree->SetBranchAddress("cosThetaG_electrons",&cosThetaG_electrons);
|
485 |
|
|
tree->SetBranchAddress("costheta_lm_muons",&costheta_lm_muons);
|
486 |
|
|
tree->SetBranchAddress("costheta_lp_muons",&costheta_lp_muons);
|
487 |
|
|
tree->SetBranchAddress("phi_muons",&phi_muons);
|
488 |
|
|
tree->SetBranchAddress("cosTheta_muons",&cosTheta_muons);
|
489 |
|
|
tree->SetBranchAddress("cosThetaG_muons",&cosThetaG_muons);
|
490 |
|
|
|
491 |
|
|
tree->SetBranchAddress("muonZgVeto",&muonZgVeto);
|
492 |
|
|
tree->SetBranchAddress("muonZmass",&muonZmass);
|
493 |
|
|
tree->SetBranchAddress("m1E",&m1E);
|
494 |
|
|
tree->SetBranchAddress("m1Pt",&m1Pt);
|
495 |
|
|
tree->SetBranchAddress("m1Mass",&m1Mass);
|
496 |
|
|
tree->SetBranchAddress("m1Px",&m1Px);
|
497 |
|
|
tree->SetBranchAddress("m1Py",&m1Py);
|
498 |
|
|
tree->SetBranchAddress("m1Pz",&m1Pz);
|
499 |
|
|
tree->SetBranchAddress("m1Eta",&m1Eta);
|
500 |
|
|
tree->SetBranchAddress("m1Phi",&m1Phi);
|
501 |
|
|
tree->SetBranchAddress("m1Charge",&m1Charge);
|
502 |
|
|
tree->SetBranchAddress("m2E",&m2E);
|
503 |
|
|
tree->SetBranchAddress("m2Pt",&m2Pt);
|
504 |
|
|
tree->SetBranchAddress("m2Mass",&m2Mass);
|
505 |
|
|
tree->SetBranchAddress("m2Px",&m2Px);
|
506 |
|
|
tree->SetBranchAddress("m2Py",&m2Py);
|
507 |
|
|
tree->SetBranchAddress("m2Pz",&m2Pz);
|
508 |
|
|
tree->SetBranchAddress("m2Eta",&m2Eta);
|
509 |
|
|
tree->SetBranchAddress("m2Phi",&m2Phi);
|
510 |
|
|
tree->SetBranchAddress("m2Charge",&m2Charge);
|
511 |
|
|
|
512 |
|
|
tree->SetBranchAddress("photonidmva",&photonidmva);
|
513 |
|
|
tree->SetBranchAddress("photonr9",&photonr9);
|
514 |
|
|
tree->SetBranchAddress("photonenergy",&photonenergy);
|
515 |
|
|
tree->SetBranchAddress("photonpx",&photonpx);
|
516 |
|
|
tree->SetBranchAddress("photonpy",&photonpy);
|
517 |
|
|
tree->SetBranchAddress("photonpz",&photonpz);
|
518 |
|
|
tree->SetBranchAddress("photonpt",&photonpt);
|
519 |
|
|
tree->SetBranchAddress("photoneta",&photoneta);
|
520 |
|
|
tree->SetBranchAddress("photonmass",&photonmass);
|
521 |
|
|
tree->SetBranchAddress("photonphi",&photonphi);
|
522 |
|
|
|
523 |
|
|
tree->SetBranchAddress("NPu",&NPu);
|
524 |
|
|
tree->SetBranchAddress("NPuPlus",&NPuPlus);
|
525 |
|
|
tree->SetBranchAddress("NPuMinus",&NPuMinus);
|
526 |
|
|
|
527 |
|
|
tree->SetBranchAddress("photonmatchmc",&photonmatchmc);
|
528 |
|
|
|
529 |
|
|
|
530 |
|
|
} else {
|
531 |
|
|
cout << "Warning: Type " << Type << " is not supported \n";
|
532 |
|
|
}
|
533 |
|
|
|
534 |
|
|
gErrorIgnoreLevel = currentState;
|
535 |
|
|
}
|
536 |
|
|
|
537 |
|
|
};
|
538 |
|
|
}
|
539 |
|
|
|
540 |
|
|
|
541 |
|
|
#endif
|