7 |
|
#include <cmath> |
8 |
|
#include "assert.h" |
9 |
|
|
10 |
< |
class MuonTree { |
11 |
< |
|
12 |
< |
public: |
13 |
< |
|
14 |
< |
/// variables |
15 |
< |
Float_t fWeight; |
16 |
< |
UInt_t fRunNumber; |
17 |
< |
UInt_t fLumiSectionNumber; |
18 |
< |
UInt_t fEventNumber; |
19 |
< |
Bool_t fMuEventNumberParity; |
20 |
< |
Float_t fRho; |
21 |
< |
UInt_t fNVertices; |
22 |
< |
|
23 |
< |
Float_t fMuPt; |
24 |
< |
Float_t fMuEta; |
25 |
< |
Float_t fMuPhi; |
26 |
< |
|
27 |
< |
UInt_t fMuTypeBits; |
28 |
< |
Bool_t fIsAllArbitrated; |
29 |
< |
Float_t fMuTkNchi2; |
30 |
< |
Float_t fMuGlobalNchi2; |
31 |
< |
Float_t fMuNValidHits; |
32 |
< |
Float_t fMuNTrackerHits; |
33 |
< |
Float_t fMuNPixelHits; |
34 |
< |
Float_t fMuNMatches; |
35 |
< |
Float_t fMuD0; |
10 |
> |
namespace citana |
11 |
> |
{ |
12 |
> |
class MuonTree { |
13 |
> |
|
14 |
> |
public: |
15 |
> |
|
16 |
> |
/// variables |
17 |
> |
Float_t fWeight; |
18 |
> |
UInt_t fRunNumber; |
19 |
> |
UInt_t fLumiSectionNumber; |
20 |
> |
UInt_t fEventNumber; |
21 |
> |
Bool_t fMuEventNumberParity; |
22 |
> |
Float_t fRho; |
23 |
> |
UInt_t fNVertices; |
24 |
> |
|
25 |
> |
Float_t fMuPt; |
26 |
> |
Float_t fMuEta; |
27 |
> |
Float_t fMuPhi; |
28 |
> |
|
29 |
> |
UInt_t fMuTypeBits; |
30 |
> |
Bool_t fIsAllArbitrated; |
31 |
> |
Float_t fMuTkNchi2; |
32 |
> |
Float_t fMuGlobalNchi2; |
33 |
> |
Float_t fMuNValidHits; |
34 |
> |
Float_t fMuNTrackerHits; |
35 |
> |
Float_t fMuNPixelHits; |
36 |
> |
Float_t fMuNMatches; |
37 |
> |
Float_t fMuD0; |
38 |
|
|
39 |
< |
//Additional Vars used in Likelihood |
40 |
< |
Float_t fMuIP3d; |
41 |
< |
Float_t fMuIP3dSig; |
42 |
< |
Float_t fMuTrkKink; |
43 |
< |
Float_t fMuGlobalKink; |
44 |
< |
Float_t fMuSegmentCompatibility; |
45 |
< |
Float_t fMuCaloCompatibility; |
46 |
< |
Float_t fMuHadEnergy; |
47 |
< |
Float_t fMuHoEnergy; |
48 |
< |
Float_t fMuEmEnergy; |
49 |
< |
Float_t fMuHadS9Energy; |
50 |
< |
Float_t fMuHoS9Energy; |
51 |
< |
Float_t fMuEmS9Energy; |
52 |
< |
|
53 |
< |
//Isolation Variables |
54 |
< |
Float_t fMuTrkIso03; |
55 |
< |
Float_t fMuEMIso03; |
56 |
< |
Float_t fMuHadIso03; |
57 |
< |
Float_t fMuTrkIso05; |
58 |
< |
Float_t fMuEMIso05; |
59 |
< |
Float_t fMuHadIso05; |
60 |
< |
Float_t fMuPFIso04; |
61 |
< |
Float_t fChargedIso_DR0p0To0p1; |
62 |
< |
Float_t fChargedIso_DR0p1To0p2; |
63 |
< |
Float_t fChargedIso_DR0p2To0p3; |
64 |
< |
Float_t fChargedIso_DR0p3To0p4; |
65 |
< |
Float_t fChargedIso_DR0p4To0p5; |
66 |
< |
Float_t fGammaIso_DR0p0To0p1; |
67 |
< |
Float_t fGammaIso_DR0p1To0p2; |
68 |
< |
Float_t fGammaIso_DR0p2To0p3; |
69 |
< |
Float_t fGammaIso_DR0p3To0p4; |
70 |
< |
Float_t fGammaIso_DR0p4To0p5; |
71 |
< |
Float_t fNeutralHadronIso_DR0p0To0p1; |
72 |
< |
Float_t fNeutralHadronIso_DR0p1To0p2; |
73 |
< |
Float_t fNeutralHadronIso_DR0p2To0p3; |
74 |
< |
Float_t fNeutralHadronIso_DR0p3To0p4; |
75 |
< |
Float_t fNeutralHadronIso_DR0p4To0p5; |
76 |
< |
|
77 |
< |
Bool_t fMuPassTriggerDenominator; |
78 |
< |
|
79 |
< |
public: |
80 |
< |
/// this is the main element |
81 |
< |
TTree *tree_; |
82 |
< |
TFile *f_; |
39 |
> |
//Additional Vars used in Likelihood |
40 |
> |
Float_t fMuIP3d; |
41 |
> |
Float_t fMuIP3dSig; |
42 |
> |
Float_t fMuTrkKink; |
43 |
> |
Float_t fMuGlobalKink; |
44 |
> |
Float_t fMuSegmentCompatibility; |
45 |
> |
Float_t fMuCaloCompatibility; |
46 |
> |
Float_t fMuHadEnergy; |
47 |
> |
Float_t fMuHoEnergy; |
48 |
> |
Float_t fMuEmEnergy; |
49 |
> |
Float_t fMuHadS9Energy; |
50 |
> |
Float_t fMuHoS9Energy; |
51 |
> |
Float_t fMuEmS9Energy; |
52 |
> |
|
53 |
> |
//Isolation Variables |
54 |
> |
Float_t fMuTrkIso03; |
55 |
> |
Float_t fMuEMIso03; |
56 |
> |
Float_t fMuHadIso03; |
57 |
> |
Float_t fMuTrkIso05; |
58 |
> |
Float_t fMuEMIso05; |
59 |
> |
Float_t fMuHadIso05; |
60 |
> |
Float_t fMuPFIso04; |
61 |
> |
Float_t fChargedIso_DR0p0To0p1; |
62 |
> |
Float_t fChargedIso_DR0p1To0p2; |
63 |
> |
Float_t fChargedIso_DR0p2To0p3; |
64 |
> |
Float_t fChargedIso_DR0p3To0p4; |
65 |
> |
Float_t fChargedIso_DR0p4To0p5; |
66 |
> |
Float_t fGammaIso_DR0p0To0p1; |
67 |
> |
Float_t fGammaIso_DR0p1To0p2; |
68 |
> |
Float_t fGammaIso_DR0p2To0p3; |
69 |
> |
Float_t fGammaIso_DR0p3To0p4; |
70 |
> |
Float_t fGammaIso_DR0p4To0p5; |
71 |
> |
Float_t fNeutralHadronIso_DR0p0To0p1; |
72 |
> |
Float_t fNeutralHadronIso_DR0p1To0p2; |
73 |
> |
Float_t fNeutralHadronIso_DR0p2To0p3; |
74 |
> |
Float_t fNeutralHadronIso_DR0p3To0p4; |
75 |
> |
Float_t fNeutralHadronIso_DR0p4To0p5; |
76 |
> |
|
77 |
> |
Bool_t fMuPassTriggerDenominator; |
78 |
> |
|
79 |
> |
public: |
80 |
> |
/// this is the main element |
81 |
> |
TTree *tree_; |
82 |
> |
TFile *f_; |
83 |
|
|
84 |
< |
/// hold the names of variables to facilitate things (filled during Init) |
85 |
< |
std::vector<std::string> variables_; |
84 |
> |
/// hold the names of variables to facilitate things (filled during Init) |
85 |
> |
std::vector<std::string> variables_; |
86 |
|
|
87 |
< |
/// default constructor |
88 |
< |
MuonTree() {}; |
89 |
< |
/// default destructor |
90 |
< |
~MuonTree(){ |
91 |
< |
if (f_) f_->Close(); |
92 |
< |
}; |
87 |
> |
/// default constructor |
88 |
> |
MuonTree() {}; |
89 |
> |
/// default destructor |
90 |
> |
~MuonTree(){ |
91 |
> |
if (f_) f_->Close(); |
92 |
> |
}; |
93 |
|
|
94 |
< |
/// initialize varibles and fill list of available variables |
95 |
< |
void InitVariables() { |
96 |
< |
fWeight = 0.0; |
97 |
< |
fRunNumber = 0.0; |
98 |
< |
fLumiSectionNumber = 0.0; |
99 |
< |
fEventNumber = 0.0; |
100 |
< |
fMuEventNumberParity = 0.0; |
101 |
< |
fRho = 0.0; |
102 |
< |
fNVertices = 0.0; |
103 |
< |
fMuPt = 0.0; |
104 |
< |
fMuEta = 0.0; |
105 |
< |
fMuPhi = 0.0; |
106 |
< |
fMuTypeBits = 0.0; |
107 |
< |
fIsAllArbitrated = 0.0; |
108 |
< |
fMuTkNchi2 = 0.0; |
109 |
< |
fMuGlobalNchi2 = 0.0; |
110 |
< |
fMuNValidHits = 0.0; |
111 |
< |
fMuNTrackerHits = 0.0; |
112 |
< |
fMuNPixelHits = 0.0; |
113 |
< |
fMuNMatches = 0.0; |
114 |
< |
fMuD0 = 0.0; |
115 |
< |
fMuIP3d = 0.0; |
116 |
< |
fMuIP3dSig = 0.0; |
117 |
< |
fMuTrkKink = 0.0; |
118 |
< |
fMuGlobalKink = 0.0; |
119 |
< |
fMuSegmentCompatibility = 0.0; |
120 |
< |
fMuCaloCompatibility = 0.0; |
121 |
< |
fMuHadEnergy = 0.0; |
122 |
< |
fMuHoEnergy = 0.0; |
123 |
< |
fMuEmEnergy = 0.0; |
124 |
< |
fMuHadS9Energy = 0.0; |
125 |
< |
fMuHoS9Energy = 0.0; |
126 |
< |
fMuEmS9Energy = 0.0; |
127 |
< |
fMuTrkIso03 = 0.0; |
128 |
< |
fMuEMIso03 = 0.0; |
129 |
< |
fMuHadIso03 = 0.0; |
130 |
< |
fMuTrkIso05 = 0.0; |
131 |
< |
fMuEMIso05 = 0.0; |
132 |
< |
fMuHadIso05 = 0.0; |
133 |
< |
fMuPFIso04 = 0.0; |
134 |
< |
fChargedIso_DR0p0To0p1 = 0.0; |
135 |
< |
fChargedIso_DR0p1To0p2 = 0.0; |
136 |
< |
fChargedIso_DR0p2To0p3 = 0.0; |
137 |
< |
fChargedIso_DR0p3To0p4 = 0.0; |
138 |
< |
fChargedIso_DR0p4To0p5 = 0.0; |
139 |
< |
fGammaIso_DR0p0To0p1 = 0.0; |
140 |
< |
fGammaIso_DR0p1To0p2 = 0.0; |
141 |
< |
fGammaIso_DR0p2To0p3 = 0.0; |
142 |
< |
fGammaIso_DR0p3To0p4 = 0.0; |
143 |
< |
fGammaIso_DR0p4To0p5 = 0.0; |
144 |
< |
fNeutralHadronIso_DR0p0To0p1 = 0.0; |
145 |
< |
fNeutralHadronIso_DR0p1To0p2 = 0.0; |
146 |
< |
fNeutralHadronIso_DR0p2To0p3 = 0.0; |
147 |
< |
fNeutralHadronIso_DR0p3To0p4 = 0.0; |
148 |
< |
fNeutralHadronIso_DR0p4To0p5 = 0.0; |
149 |
< |
fMuPassTriggerDenominator = kFALSE; |
150 |
< |
} |
94 |
> |
/// initialize varibles and fill list of available variables |
95 |
> |
void InitVariables() { |
96 |
> |
fWeight = 0.0; |
97 |
> |
fRunNumber = 0.0; |
98 |
> |
fLumiSectionNumber = 0.0; |
99 |
> |
fEventNumber = 0.0; |
100 |
> |
fMuEventNumberParity = 0.0; |
101 |
> |
fRho = 0.0; |
102 |
> |
fNVertices = 0.0; |
103 |
> |
fMuPt = 0.0; |
104 |
> |
fMuEta = 0.0; |
105 |
> |
fMuPhi = 0.0; |
106 |
> |
fMuTypeBits = 0.0; |
107 |
> |
fIsAllArbitrated = 0.0; |
108 |
> |
fMuTkNchi2 = 0.0; |
109 |
> |
fMuGlobalNchi2 = 0.0; |
110 |
> |
fMuNValidHits = 0.0; |
111 |
> |
fMuNTrackerHits = 0.0; |
112 |
> |
fMuNPixelHits = 0.0; |
113 |
> |
fMuNMatches = 0.0; |
114 |
> |
fMuD0 = 0.0; |
115 |
> |
fMuIP3d = 0.0; |
116 |
> |
fMuIP3dSig = 0.0; |
117 |
> |
fMuTrkKink = 0.0; |
118 |
> |
fMuGlobalKink = 0.0; |
119 |
> |
fMuSegmentCompatibility = 0.0; |
120 |
> |
fMuCaloCompatibility = 0.0; |
121 |
> |
fMuHadEnergy = 0.0; |
122 |
> |
fMuHoEnergy = 0.0; |
123 |
> |
fMuEmEnergy = 0.0; |
124 |
> |
fMuHadS9Energy = 0.0; |
125 |
> |
fMuHoS9Energy = 0.0; |
126 |
> |
fMuEmS9Energy = 0.0; |
127 |
> |
fMuTrkIso03 = 0.0; |
128 |
> |
fMuEMIso03 = 0.0; |
129 |
> |
fMuHadIso03 = 0.0; |
130 |
> |
fMuTrkIso05 = 0.0; |
131 |
> |
fMuEMIso05 = 0.0; |
132 |
> |
fMuHadIso05 = 0.0; |
133 |
> |
fMuPFIso04 = 0.0; |
134 |
> |
fChargedIso_DR0p0To0p1 = 0.0; |
135 |
> |
fChargedIso_DR0p1To0p2 = 0.0; |
136 |
> |
fChargedIso_DR0p2To0p3 = 0.0; |
137 |
> |
fChargedIso_DR0p3To0p4 = 0.0; |
138 |
> |
fChargedIso_DR0p4To0p5 = 0.0; |
139 |
> |
fGammaIso_DR0p0To0p1 = 0.0; |
140 |
> |
fGammaIso_DR0p1To0p2 = 0.0; |
141 |
> |
fGammaIso_DR0p2To0p3 = 0.0; |
142 |
> |
fGammaIso_DR0p3To0p4 = 0.0; |
143 |
> |
fGammaIso_DR0p4To0p5 = 0.0; |
144 |
> |
fNeutralHadronIso_DR0p0To0p1 = 0.0; |
145 |
> |
fNeutralHadronIso_DR0p1To0p2 = 0.0; |
146 |
> |
fNeutralHadronIso_DR0p2To0p3 = 0.0; |
147 |
> |
fNeutralHadronIso_DR0p3To0p4 = 0.0; |
148 |
> |
fNeutralHadronIso_DR0p4To0p5 = 0.0; |
149 |
> |
fMuPassTriggerDenominator = kFALSE; |
150 |
> |
} |
151 |
|
|
152 |
< |
/// load a MuonTree |
153 |
< |
void LoadTree(const char* file){ |
154 |
< |
f_ = TFile::Open(file); |
155 |
< |
assert(f_); |
156 |
< |
tree_ = dynamic_cast<TTree*>(f_->Get("Muons")); |
157 |
< |
assert(tree_); |
158 |
< |
} |
152 |
> |
/// load a MuonTree |
153 |
> |
void LoadTree(const char* file){ |
154 |
> |
f_ = TFile::Open(file); |
155 |
> |
assert(f_); |
156 |
> |
tree_ = dynamic_cast<TTree*>(f_->Get("Muons")); |
157 |
> |
assert(tree_); |
158 |
> |
} |
159 |
|
|
160 |
< |
/// create a MuonTree |
161 |
< |
void CreateTree(){ |
162 |
< |
tree_ = new TTree("Muons","Muons"); |
163 |
< |
f_ = 0; |
164 |
< |
|
165 |
< |
//book the branches |
166 |
< |
tree_->Branch("weight",&fWeight,"weight/F"); |
167 |
< |
tree_->Branch("run",&fRunNumber,"run/i"); |
168 |
< |
tree_->Branch("lumi",&fLumiSectionNumber,"lumi/i"); |
169 |
< |
tree_->Branch("event",&fEventNumber,"event/i"); |
170 |
< |
tree_->Branch("EventNumberParity",&fMuEventNumberParity,"EventNumberParity/O"); |
171 |
< |
tree_->Branch("Rho",&fRho,"Rho/F"); |
172 |
< |
tree_->Branch("NVertices",&fNVertices,"NVertices/F"); |
173 |
< |
tree_->Branch("pt",&fMuPt,"pt/F"); |
174 |
< |
tree_->Branch("eta",&fMuEta,"eta/F"); |
175 |
< |
tree_->Branch("phi",&fMuPhi,"phi/F"); |
176 |
< |
tree_->Branch("typeBits",&fMuTypeBits,"typeBits/i"); |
177 |
< |
tree_->Branch("isAllArbitrated",&fIsAllArbitrated,"isAllArbitrated/i"); |
178 |
< |
tree_->Branch("TkNchi2",&fMuTkNchi2,"TkNchi2/F"); |
179 |
< |
tree_->Branch("GlobalNchi2",&fMuGlobalNchi2,"GlobalNchi2/F"); |
180 |
< |
tree_->Branch("NValidHits",&fMuNValidHits,"NValidHits/F"); |
181 |
< |
tree_->Branch("NTrackerHits",&fMuNTrackerHits,"NTrackerHits/F"); |
182 |
< |
tree_->Branch("NPixelHits",&fMuNPixelHits,"NPixelHits/F"); |
183 |
< |
tree_->Branch("NMatches",&fMuNMatches,"NMatches/F"); |
184 |
< |
tree_->Branch("D0",&fMuD0,"D0/F"); |
185 |
< |
tree_->Branch("IP3d",&fMuIP3d,"IP3d/F"); |
186 |
< |
tree_->Branch("IP3dSig",&fMuIP3dSig,"IP3dSig/F"); |
187 |
< |
tree_->Branch("TrkKink",&fMuTrkKink,"TrkKink/F"); |
188 |
< |
tree_->Branch("GlobalKink",&fMuGlobalKink,"GlobalKink/F"); |
189 |
< |
tree_->Branch("SegmentCompatibility",&fMuSegmentCompatibility,"SegmentCompatibility/F"); |
190 |
< |
tree_->Branch("CaloCompatibility",&fMuCaloCompatibility,"CaloCompatibility/F"); |
191 |
< |
tree_->Branch("HadEnergy",&fMuHadEnergy,"HadEnergy/F"); |
192 |
< |
tree_->Branch("HoEnergy",&fMuHoEnergy,"HoEnergy/F"); |
193 |
< |
tree_->Branch("EmEnergy",&fMuEmEnergy,"EmEnergy/F"); |
194 |
< |
tree_->Branch("HadS9Energy",&fMuHadS9Energy,"HadS9Energy/F"); |
195 |
< |
tree_->Branch("HoS9Energy",&fMuHoS9Energy,"HoS9Energy/F"); |
196 |
< |
tree_->Branch("EmS9Energy",&fMuEmS9Energy,"EmS9Energy/F"); |
197 |
< |
tree_->Branch("TrkIso03",&fMuTrkIso03,"TrkIso03/F"); |
198 |
< |
tree_->Branch("EMIso03",&fMuEMIso03,"EMIso03/F"); |
199 |
< |
tree_->Branch("HadIso03",&fMuHadIso03,"HadIso03/F"); |
200 |
< |
tree_->Branch("TrkIso05",&fMuTrkIso05,"TrkIso05/F"); |
201 |
< |
tree_->Branch("EMIso05",&fMuEMIso05,"EMIso05/F"); |
202 |
< |
tree_->Branch("HadIso05",&fMuHadIso05,"HadIso05/F"); |
203 |
< |
tree_->Branch("PFIso04",&fMuPFIso04,"PFIso04/F"); |
204 |
< |
tree_->Branch("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1,"ChargedIso_DR0p0To0p1/F"); |
205 |
< |
tree_->Branch("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2,"ChargedIso_DR0p1To0p2/F"); |
206 |
< |
tree_->Branch("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3,"ChargedIso_DR0p2To0p3/F"); |
207 |
< |
tree_->Branch("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4,"ChargedIso_DR0p3To0p4/F"); |
208 |
< |
tree_->Branch("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5,"ChargedIso_DR0p4To0p5/F"); |
209 |
< |
tree_->Branch("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1,"GammaIso_DR0p0To0p1/F"); |
210 |
< |
tree_->Branch("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2,"GammaIso_DR0p1To0p2/F"); |
211 |
< |
tree_->Branch("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3,"GammaIso_DR0p2To0p3/F"); |
212 |
< |
tree_->Branch("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4,"GammaIso_DR0p3To0p4/F"); |
213 |
< |
tree_->Branch("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5,"GammaIso_DR0p4To0p5/F"); |
214 |
< |
tree_->Branch("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1,"NeutralHadronIso_DR0p0To0p1/F"); |
215 |
< |
tree_->Branch("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2,"NeutralHadronIso_DR0p1To0p2/F"); |
216 |
< |
tree_->Branch("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3,"NeutralHadronIso_DR0p2To0p3/F"); |
217 |
< |
tree_->Branch("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4,"NeutralHadronIso_DR0p3To0p4/F"); |
218 |
< |
tree_->Branch("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5,"NeutralHadronIso_DR0p4To0p5/F"); |
219 |
< |
tree_->Branch("PassTriggerDenominator",&fMuPassTriggerDenominator,"PassTriggerDenominator/O"); |
220 |
< |
|
221 |
< |
} |
222 |
< |
|
223 |
< |
// initialze a MuonTree |
224 |
< |
void InitTree(){ |
225 |
< |
assert(tree_); |
226 |
< |
// don't forget to set pointers to zero before you set address |
227 |
< |
// or you will fully appreciate that "ROOT sucks" :) |
228 |
< |
InitVariables(); |
229 |
< |
//Set branch address |
230 |
< |
Int_t currentState = gErrorIgnoreLevel; |
231 |
< |
// gErrorIgnoreLevel = kError; |
232 |
< |
gErrorIgnoreLevel = kBreak; |
233 |
< |
|
234 |
< |
tree_->SetBranchAddress("weight",&fWeight); |
235 |
< |
tree_->SetBranchAddress("run",&fRunNumber); |
236 |
< |
tree_->SetBranchAddress("lumi",&fLumiSectionNumber); |
237 |
< |
tree_->SetBranchAddress("event",&fEventNumber); |
238 |
< |
tree_->SetBranchAddress("EventNumberParity",&fMuEventNumberParity); |
239 |
< |
tree_->SetBranchAddress("Rho",&fRho); |
240 |
< |
tree_->SetBranchAddress("NVertices",&fNVertices); |
241 |
< |
tree_->SetBranchAddress("pt",&fMuPt); |
242 |
< |
tree_->SetBranchAddress("eta",&fMuEta); |
243 |
< |
tree_->SetBranchAddress("phi",&fMuPhi); |
244 |
< |
tree_->SetBranchAddress("typeBits",&fMuTypeBits); |
245 |
< |
tree_->SetBranchAddress("isAllArbitrated",&fIsAllArbitrated); |
246 |
< |
tree_->SetBranchAddress("TkNchi2",&fMuTkNchi2); |
247 |
< |
tree_->SetBranchAddress("GlobalNchi2",&fMuGlobalNchi2); |
248 |
< |
tree_->SetBranchAddress("NValidHits",&fMuNValidHits); |
249 |
< |
tree_->SetBranchAddress("NTrackerHits",&fMuNTrackerHits); |
250 |
< |
tree_->SetBranchAddress("NPixelHits",&fMuNPixelHits); |
251 |
< |
tree_->SetBranchAddress("NMatches",&fMuNMatches); |
252 |
< |
tree_->SetBranchAddress("D0",&fMuD0); |
253 |
< |
tree_->SetBranchAddress("IP3d",&fMuIP3d); |
254 |
< |
tree_->SetBranchAddress("IP3dSig",&fMuIP3dSig); |
255 |
< |
tree_->SetBranchAddress("TrkKink",&fMuTrkKink); |
256 |
< |
tree_->SetBranchAddress("GlobalKink",&fMuGlobalKink); |
257 |
< |
tree_->SetBranchAddress("SegmentCompatibility",&fMuSegmentCompatibility); |
258 |
< |
tree_->SetBranchAddress("CaloCompatibility",&fMuCaloCompatibility); |
259 |
< |
tree_->SetBranchAddress("HadEnergy",&fMuHadEnergy); |
260 |
< |
tree_->SetBranchAddress("HoEnergy",&fMuHoEnergy); |
261 |
< |
tree_->SetBranchAddress("EmEnergy",&fMuEmEnergy); |
262 |
< |
tree_->SetBranchAddress("HadS9Energy",&fMuHadS9Energy); |
263 |
< |
tree_->SetBranchAddress("HoS9Energy",&fMuHoS9Energy); |
264 |
< |
tree_->SetBranchAddress("EmS9Energy",&fMuEmS9Energy); |
265 |
< |
tree_->SetBranchAddress("TrkIso03",&fMuTrkIso03); |
266 |
< |
tree_->SetBranchAddress("EMIso03",&fMuEMIso03); |
267 |
< |
tree_->SetBranchAddress("HadIso03",&fMuHadIso03); |
268 |
< |
tree_->SetBranchAddress("TrkIso05",&fMuTrkIso05); |
269 |
< |
tree_->SetBranchAddress("EMIso05",&fMuEMIso05); |
270 |
< |
tree_->SetBranchAddress("HadIso05",&fMuHadIso05); |
271 |
< |
tree_->SetBranchAddress("PFIso04",&fMuPFIso04); |
272 |
< |
tree_->SetBranchAddress("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1); |
273 |
< |
tree_->SetBranchAddress("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2); |
274 |
< |
tree_->SetBranchAddress("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3); |
275 |
< |
tree_->SetBranchAddress("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4); |
276 |
< |
tree_->SetBranchAddress("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5); |
277 |
< |
tree_->SetBranchAddress("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1); |
278 |
< |
tree_->SetBranchAddress("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2); |
279 |
< |
tree_->SetBranchAddress("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3); |
280 |
< |
tree_->SetBranchAddress("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4); |
281 |
< |
tree_->SetBranchAddress("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5); |
282 |
< |
tree_->SetBranchAddress("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1); |
283 |
< |
tree_->SetBranchAddress("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2); |
284 |
< |
tree_->SetBranchAddress("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3); |
285 |
< |
tree_->SetBranchAddress("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4); |
286 |
< |
tree_->SetBranchAddress("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5); |
287 |
< |
tree_->SetBranchAddress("PassTriggerDenominator",&fMuPassTriggerDenominator); |
286 |
< |
|
287 |
< |
gErrorIgnoreLevel = currentState; |
288 |
< |
} |
160 |
> |
/// create a MuonTree |
161 |
> |
void CreateTree(){ |
162 |
> |
tree_ = new TTree("Muons","Muons"); |
163 |
> |
f_ = 0; |
164 |
> |
|
165 |
> |
//book the branches |
166 |
> |
tree_->Branch("weight",&fWeight,"weight/F"); |
167 |
> |
tree_->Branch("run",&fRunNumber,"run/i"); |
168 |
> |
tree_->Branch("lumi",&fLumiSectionNumber,"lumi/i"); |
169 |
> |
tree_->Branch("event",&fEventNumber,"event/i"); |
170 |
> |
tree_->Branch("EventNumberParity",&fMuEventNumberParity,"EventNumberParity/O"); |
171 |
> |
tree_->Branch("Rho",&fRho,"Rho/F"); |
172 |
> |
tree_->Branch("NVertices",&fNVertices,"NVertices/F"); |
173 |
> |
tree_->Branch("pt",&fMuPt,"pt/F"); |
174 |
> |
tree_->Branch("eta",&fMuEta,"eta/F"); |
175 |
> |
tree_->Branch("phi",&fMuPhi,"phi/F"); |
176 |
> |
tree_->Branch("typeBits",&fMuTypeBits,"typeBits/i"); |
177 |
> |
tree_->Branch("isAllArbitrated",&fIsAllArbitrated,"isAllArbitrated/i"); |
178 |
> |
tree_->Branch("TkNchi2",&fMuTkNchi2,"TkNchi2/F"); |
179 |
> |
tree_->Branch("GlobalNchi2",&fMuGlobalNchi2,"GlobalNchi2/F"); |
180 |
> |
tree_->Branch("NValidHits",&fMuNValidHits,"NValidHits/F"); |
181 |
> |
tree_->Branch("NTrackerHits",&fMuNTrackerHits,"NTrackerHits/F"); |
182 |
> |
tree_->Branch("NPixelHits",&fMuNPixelHits,"NPixelHits/F"); |
183 |
> |
tree_->Branch("NMatches",&fMuNMatches,"NMatches/F"); |
184 |
> |
tree_->Branch("D0",&fMuD0,"D0/F"); |
185 |
> |
tree_->Branch("IP3d",&fMuIP3d,"IP3d/F"); |
186 |
> |
tree_->Branch("IP3dSig",&fMuIP3dSig,"IP3dSig/F"); |
187 |
> |
tree_->Branch("TrkKink",&fMuTrkKink,"TrkKink/F"); |
188 |
> |
tree_->Branch("GlobalKink",&fMuGlobalKink,"GlobalKink/F"); |
189 |
> |
tree_->Branch("SegmentCompatibility",&fMuSegmentCompatibility,"SegmentCompatibility/F"); |
190 |
> |
tree_->Branch("CaloCompatibility",&fMuCaloCompatibility,"CaloCompatibility/F"); |
191 |
> |
tree_->Branch("HadEnergy",&fMuHadEnergy,"HadEnergy/F"); |
192 |
> |
tree_->Branch("HoEnergy",&fMuHoEnergy,"HoEnergy/F"); |
193 |
> |
tree_->Branch("EmEnergy",&fMuEmEnergy,"EmEnergy/F"); |
194 |
> |
tree_->Branch("HadS9Energy",&fMuHadS9Energy,"HadS9Energy/F"); |
195 |
> |
tree_->Branch("HoS9Energy",&fMuHoS9Energy,"HoS9Energy/F"); |
196 |
> |
tree_->Branch("EmS9Energy",&fMuEmS9Energy,"EmS9Energy/F"); |
197 |
> |
tree_->Branch("TrkIso03",&fMuTrkIso03,"TrkIso03/F"); |
198 |
> |
tree_->Branch("EMIso03",&fMuEMIso03,"EMIso03/F"); |
199 |
> |
tree_->Branch("HadIso03",&fMuHadIso03,"HadIso03/F"); |
200 |
> |
tree_->Branch("TrkIso05",&fMuTrkIso05,"TrkIso05/F"); |
201 |
> |
tree_->Branch("EMIso05",&fMuEMIso05,"EMIso05/F"); |
202 |
> |
tree_->Branch("HadIso05",&fMuHadIso05,"HadIso05/F"); |
203 |
> |
tree_->Branch("PFIso04",&fMuPFIso04,"PFIso04/F"); |
204 |
> |
tree_->Branch("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1,"ChargedIso_DR0p0To0p1/F"); |
205 |
> |
tree_->Branch("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2,"ChargedIso_DR0p1To0p2/F"); |
206 |
> |
tree_->Branch("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3,"ChargedIso_DR0p2To0p3/F"); |
207 |
> |
tree_->Branch("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4,"ChargedIso_DR0p3To0p4/F"); |
208 |
> |
tree_->Branch("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5,"ChargedIso_DR0p4To0p5/F"); |
209 |
> |
tree_->Branch("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1,"GammaIso_DR0p0To0p1/F"); |
210 |
> |
tree_->Branch("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2,"GammaIso_DR0p1To0p2/F"); |
211 |
> |
tree_->Branch("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3,"GammaIso_DR0p2To0p3/F"); |
212 |
> |
tree_->Branch("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4,"GammaIso_DR0p3To0p4/F"); |
213 |
> |
tree_->Branch("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5,"GammaIso_DR0p4To0p5/F"); |
214 |
> |
tree_->Branch("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1,"NeutralHadronIso_DR0p0To0p1/F"); |
215 |
> |
tree_->Branch("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2,"NeutralHadronIso_DR0p1To0p2/F"); |
216 |
> |
tree_->Branch("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3,"NeutralHadronIso_DR0p2To0p3/F"); |
217 |
> |
tree_->Branch("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4,"NeutralHadronIso_DR0p3To0p4/F"); |
218 |
> |
tree_->Branch("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5,"NeutralHadronIso_DR0p4To0p5/F"); |
219 |
> |
tree_->Branch("PassTriggerDenominator",&fMuPassTriggerDenominator,"PassTriggerDenominator/O"); |
220 |
> |
|
221 |
> |
} |
222 |
> |
|
223 |
> |
// initialze a MuonTree |
224 |
> |
void InitTree(){ |
225 |
> |
assert(tree_); |
226 |
> |
// don't forget to set pointers to zero before you set address |
227 |
> |
// or you will fully appreciate that "ROOT sucks" :) |
228 |
> |
InitVariables(); |
229 |
> |
//Set branch address |
230 |
> |
Int_t currentState = gErrorIgnoreLevel; |
231 |
> |
// gErrorIgnoreLevel = kError; |
232 |
> |
gErrorIgnoreLevel = kBreak; |
233 |
> |
|
234 |
> |
tree_->SetBranchAddress("weight",&fWeight); |
235 |
> |
tree_->SetBranchAddress("run",&fRunNumber); |
236 |
> |
tree_->SetBranchAddress("lumi",&fLumiSectionNumber); |
237 |
> |
tree_->SetBranchAddress("event",&fEventNumber); |
238 |
> |
tree_->SetBranchAddress("EventNumberParity",&fMuEventNumberParity); |
239 |
> |
tree_->SetBranchAddress("Rho",&fRho); |
240 |
> |
tree_->SetBranchAddress("NVertices",&fNVertices); |
241 |
> |
tree_->SetBranchAddress("pt",&fMuPt); |
242 |
> |
tree_->SetBranchAddress("eta",&fMuEta); |
243 |
> |
tree_->SetBranchAddress("phi",&fMuPhi); |
244 |
> |
tree_->SetBranchAddress("typeBits",&fMuTypeBits); |
245 |
> |
tree_->SetBranchAddress("isAllArbitrated",&fIsAllArbitrated); |
246 |
> |
tree_->SetBranchAddress("TkNchi2",&fMuTkNchi2); |
247 |
> |
tree_->SetBranchAddress("GlobalNchi2",&fMuGlobalNchi2); |
248 |
> |
tree_->SetBranchAddress("NValidHits",&fMuNValidHits); |
249 |
> |
tree_->SetBranchAddress("NTrackerHits",&fMuNTrackerHits); |
250 |
> |
tree_->SetBranchAddress("NPixelHits",&fMuNPixelHits); |
251 |
> |
tree_->SetBranchAddress("NMatches",&fMuNMatches); |
252 |
> |
tree_->SetBranchAddress("D0",&fMuD0); |
253 |
> |
tree_->SetBranchAddress("IP3d",&fMuIP3d); |
254 |
> |
tree_->SetBranchAddress("IP3dSig",&fMuIP3dSig); |
255 |
> |
tree_->SetBranchAddress("TrkKink",&fMuTrkKink); |
256 |
> |
tree_->SetBranchAddress("GlobalKink",&fMuGlobalKink); |
257 |
> |
tree_->SetBranchAddress("SegmentCompatibility",&fMuSegmentCompatibility); |
258 |
> |
tree_->SetBranchAddress("CaloCompatibility",&fMuCaloCompatibility); |
259 |
> |
tree_->SetBranchAddress("HadEnergy",&fMuHadEnergy); |
260 |
> |
tree_->SetBranchAddress("HoEnergy",&fMuHoEnergy); |
261 |
> |
tree_->SetBranchAddress("EmEnergy",&fMuEmEnergy); |
262 |
> |
tree_->SetBranchAddress("HadS9Energy",&fMuHadS9Energy); |
263 |
> |
tree_->SetBranchAddress("HoS9Energy",&fMuHoS9Energy); |
264 |
> |
tree_->SetBranchAddress("EmS9Energy",&fMuEmS9Energy); |
265 |
> |
tree_->SetBranchAddress("TrkIso03",&fMuTrkIso03); |
266 |
> |
tree_->SetBranchAddress("EMIso03",&fMuEMIso03); |
267 |
> |
tree_->SetBranchAddress("HadIso03",&fMuHadIso03); |
268 |
> |
tree_->SetBranchAddress("TrkIso05",&fMuTrkIso05); |
269 |
> |
tree_->SetBranchAddress("EMIso05",&fMuEMIso05); |
270 |
> |
tree_->SetBranchAddress("HadIso05",&fMuHadIso05); |
271 |
> |
tree_->SetBranchAddress("PFIso04",&fMuPFIso04); |
272 |
> |
tree_->SetBranchAddress("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1); |
273 |
> |
tree_->SetBranchAddress("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2); |
274 |
> |
tree_->SetBranchAddress("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3); |
275 |
> |
tree_->SetBranchAddress("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4); |
276 |
> |
tree_->SetBranchAddress("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5); |
277 |
> |
tree_->SetBranchAddress("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1); |
278 |
> |
tree_->SetBranchAddress("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2); |
279 |
> |
tree_->SetBranchAddress("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3); |
280 |
> |
tree_->SetBranchAddress("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4); |
281 |
> |
tree_->SetBranchAddress("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5); |
282 |
> |
tree_->SetBranchAddress("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1); |
283 |
> |
tree_->SetBranchAddress("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2); |
284 |
> |
tree_->SetBranchAddress("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3); |
285 |
> |
tree_->SetBranchAddress("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4); |
286 |
> |
tree_->SetBranchAddress("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5); |
287 |
> |
tree_->SetBranchAddress("PassTriggerDenominator",&fMuPassTriggerDenominator); |
288 |
|
|
289 |
< |
}; |
289 |
> |
gErrorIgnoreLevel = currentState; |
290 |
> |
} |
291 |
|
|
292 |
+ |
}; |
293 |
|
|
294 |
+ |
} |
295 |
|
|
296 |
|
#endif |