ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CITCommon/CommonData/interface/LeptonPairPhotonEvent.h
Revision: 1.1
Committed: Thu Oct 4 11:01:22 2012 UTC (12 years, 7 months ago) by sixie
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
ZllGamma

File Contents

# User Rev Content
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