3 |
|
|
4 |
|
#include "../interface/TRootParticle.h" |
5 |
|
|
6 |
– |
|
6 |
|
using namespace std; |
7 |
|
|
8 |
|
class TRootMuon : public TRootParticle |
9 |
|
{ |
10 |
< |
|
11 |
< |
public: |
12 |
< |
|
13 |
< |
TRootMuon() : |
14 |
< |
TRootParticle() |
15 |
< |
,et_em_(0.) |
16 |
< |
,et_emS9_(0.) |
17 |
< |
,et_had_(0.) |
18 |
< |
,et_hadS9_(0.) |
19 |
< |
,et_ho_(0.) |
20 |
< |
,et_hoS9_(0.) |
21 |
< |
,caloCompatibility_(0.) |
22 |
< |
,isoR03_emEt_(0.) |
23 |
< |
,isoR03_hadEt_(0.) |
24 |
< |
,isoR03_hoEt_(0.) |
25 |
< |
,isoR03_sumPt_(0.) |
26 |
< |
,isoR03_nTracks_(0) |
27 |
< |
,isoR03_nJets_(0) |
28 |
< |
,isoR05_emEt_(0.) |
29 |
< |
,isoR05_hadEt_(0.) |
30 |
< |
,isoR05_hoEt_(0.) |
31 |
< |
,isoR05_sumPt_(0.) |
32 |
< |
,isoR05_nTracks_(0) |
33 |
< |
,isoR05_nJets_(0) |
34 |
< |
,energyValid_(false) |
35 |
< |
,matchesValid_(false) |
36 |
< |
,isolationValid_(false) |
37 |
< |
,direction_(0) |
38 |
< |
,algo_(0) |
39 |
< |
,id_(0) |
40 |
< |
{;} |
41 |
< |
|
42 |
< |
TRootMuon(const TRootMuon& muon) : |
43 |
< |
TRootParticle(muon) |
44 |
< |
,et_em_(muon.et_em_) |
45 |
< |
,et_emS9_(muon.et_emS9_) |
46 |
< |
,et_had_(muon.et_had_) |
47 |
< |
,et_hadS9_(muon.et_hadS9_) |
48 |
< |
,et_ho_(muon.et_ho_) |
49 |
< |
,et_hoS9_(muon.et_hoS9_) |
50 |
< |
,caloCompatibility_(muon.caloCompatibility_) |
51 |
< |
,isoR03_emEt_(muon.isoR03_emEt_) |
52 |
< |
,isoR03_hadEt_(muon.isoR03_hadEt_) |
53 |
< |
,isoR03_hoEt_(muon.isoR03_hoEt_) |
54 |
< |
,isoR03_sumPt_(muon.isoR03_sumPt_) |
55 |
< |
,isoR03_nTracks_(muon.isoR03_nTracks_) |
56 |
< |
,isoR03_nJets_(muon.isoR03_nJets_) |
57 |
< |
,isoR05_emEt_(muon.isoR05_emEt_) |
58 |
< |
,isoR05_hadEt_(muon.isoR05_hadEt_) |
59 |
< |
,isoR05_hoEt_(muon.isoR05_hoEt_) |
60 |
< |
,isoR05_sumPt_(muon.isoR05_sumPt_) |
61 |
< |
,isoR05_nTracks_(muon.isoR05_nTracks_) |
62 |
< |
,isoR05_nJets_(muon.isoR05_nJets_) |
63 |
< |
,energyValid_(muon.energyValid_) |
64 |
< |
,matchesValid_(muon.matchesValid_) |
65 |
< |
,isolationValid_(muon.isolationValid_) |
66 |
< |
,direction_(muon.direction_) |
67 |
< |
,algo_(muon.algo_) |
68 |
< |
,id_(muon.id_) |
69 |
< |
{;} |
70 |
< |
|
71 |
< |
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) : |
72 |
< |
TRootParticle(px,py,pz,e) |
73 |
< |
,et_em_(0.) |
74 |
< |
,et_emS9_(0.) |
75 |
< |
,et_had_(0.) |
76 |
< |
,et_hadS9_(0.) |
77 |
< |
,et_ho_(0.) |
78 |
< |
,et_hoS9_(0.) |
79 |
< |
,caloCompatibility_(0.) |
80 |
< |
,isoR03_emEt_(0.) |
81 |
< |
,isoR03_hadEt_(0.) |
82 |
< |
,isoR03_hoEt_(0.) |
83 |
< |
,isoR03_sumPt_(0.) |
84 |
< |
,isoR03_nTracks_(0) |
85 |
< |
,isoR03_nJets_(0) |
86 |
< |
,isoR05_emEt_(0.) |
87 |
< |
,isoR05_hadEt_(0.) |
88 |
< |
,isoR05_hoEt_(0.) |
89 |
< |
,isoR05_sumPt_(0.) |
90 |
< |
,isoR05_nTracks_(0) |
91 |
< |
,isoR05_nJets_(0) |
92 |
< |
,energyValid_(false) |
93 |
< |
,matchesValid_(false) |
94 |
< |
,isolationValid_(false) |
95 |
< |
,direction_(0) |
96 |
< |
,algo_(0) |
97 |
< |
,id_(0) |
98 |
< |
{;} |
99 |
< |
|
100 |
< |
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z) : |
101 |
< |
TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z) |
102 |
< |
,et_em_(0.) |
103 |
< |
,et_emS9_(0.) |
104 |
< |
,et_had_(0.) |
105 |
< |
,et_hadS9_(0.) |
106 |
< |
,et_ho_(0.) |
107 |
< |
,et_hoS9_(0.) |
108 |
< |
,caloCompatibility_(0.) |
109 |
< |
,isoR03_emEt_(0.) |
110 |
< |
,isoR03_hadEt_(0.) |
111 |
< |
,isoR03_hoEt_(0.) |
112 |
< |
,isoR03_sumPt_(0.) |
113 |
< |
,isoR03_nTracks_(0) |
114 |
< |
,isoR03_nJets_(0) |
115 |
< |
,isoR05_emEt_(0.) |
116 |
< |
,isoR05_hadEt_(0.) |
117 |
< |
,isoR05_hoEt_(0.) |
118 |
< |
,isoR05_sumPt_(0.) |
119 |
< |
,isoR05_nTracks_(0) |
120 |
< |
,isoR05_nJets_(0) |
121 |
< |
,energyValid_(false) |
122 |
< |
,matchesValid_(false) |
123 |
< |
,isolationValid_(false) |
124 |
< |
,direction_(0) |
125 |
< |
,algo_(0) |
126 |
< |
,id_(0) |
127 |
< |
{;} |
128 |
< |
|
129 |
< |
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z, Int_t type, Float_t charge) : |
130 |
< |
TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge) |
131 |
< |
,et_em_(0.) |
132 |
< |
,et_emS9_(0.) |
133 |
< |
,et_had_(0.) |
134 |
< |
,et_hadS9_(0.) |
135 |
< |
,et_ho_(0.) |
136 |
< |
,et_hoS9_(0.) |
137 |
< |
,caloCompatibility_(0.) |
138 |
< |
,isoR03_emEt_(0.) |
139 |
< |
,isoR03_hadEt_(0.) |
140 |
< |
,isoR03_hoEt_(0.) |
141 |
< |
,isoR03_sumPt_(0.) |
142 |
< |
,isoR03_nTracks_(0) |
143 |
< |
,isoR03_nJets_(0) |
144 |
< |
,isoR05_emEt_(0.) |
145 |
< |
,isoR05_hadEt_(0.) |
146 |
< |
,isoR05_hoEt_(0.) |
147 |
< |
,isoR05_sumPt_(0.) |
148 |
< |
,isoR05_nTracks_(0) |
149 |
< |
,isoR05_nJets_(0) |
150 |
< |
,energyValid_(false) |
151 |
< |
,matchesValid_(false) |
152 |
< |
,isolationValid_(false) |
153 |
< |
,direction_(0) |
154 |
< |
,algo_(0) |
155 |
< |
,id_(0) |
156 |
< |
{;} |
157 |
< |
|
158 |
< |
TRootMuon(const TLorentzVector &momentum) : |
159 |
< |
TRootParticle(momentum) |
160 |
< |
,et_em_(0.) |
161 |
< |
,et_emS9_(0.) |
162 |
< |
,et_had_(0.) |
163 |
< |
,et_hadS9_(0.) |
164 |
< |
,et_ho_(0.) |
165 |
< |
,et_hoS9_(0.) |
166 |
< |
,caloCompatibility_(0.) |
167 |
< |
,isoR03_emEt_(0.) |
168 |
< |
,isoR03_hadEt_(0.) |
169 |
< |
,isoR03_hoEt_(0.) |
170 |
< |
,isoR03_sumPt_(0.) |
171 |
< |
,isoR03_nTracks_(0) |
172 |
< |
,isoR03_nJets_(0) |
173 |
< |
,isoR05_emEt_(0.) |
174 |
< |
,isoR05_hadEt_(0.) |
175 |
< |
,isoR05_hoEt_(0.) |
176 |
< |
,isoR05_sumPt_(0.) |
177 |
< |
,isoR05_nTracks_(0) |
178 |
< |
,isoR05_nJets_(0) |
179 |
< |
,energyValid_(false) |
180 |
< |
,matchesValid_(false) |
181 |
< |
,isolationValid_(false) |
182 |
< |
,direction_(0) |
183 |
< |
,algo_(0) |
184 |
< |
,id_(0) |
185 |
< |
{;} |
186 |
< |
|
187 |
< |
TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) : |
188 |
< |
TRootParticle(momentum, vertex, type, charge) |
189 |
< |
,et_em_(0.) |
190 |
< |
,et_emS9_(0.) |
191 |
< |
,et_had_(0.) |
192 |
< |
,et_hadS9_(0.) |
193 |
< |
,et_ho_(0.) |
194 |
< |
,et_hoS9_(0.) |
195 |
< |
,caloCompatibility_(0.) |
196 |
< |
,isoR03_emEt_(0.) |
197 |
< |
,isoR03_hadEt_(0.) |
198 |
< |
,isoR03_hoEt_(0.) |
199 |
< |
,isoR03_sumPt_(0.) |
200 |
< |
,isoR03_nTracks_(0) |
201 |
< |
,isoR03_nJets_(0) |
202 |
< |
,isoR05_emEt_(0.) |
203 |
< |
,isoR05_hadEt_(0.) |
204 |
< |
,isoR05_hoEt_(0.) |
205 |
< |
,isoR05_sumPt_(0.) |
206 |
< |
,isoR05_nTracks_(0) |
207 |
< |
,isoR05_nJets_(0) |
208 |
< |
,energyValid_(false) |
209 |
< |
,matchesValid_(false) |
210 |
< |
,isolationValid_(false) |
211 |
< |
,direction_(0) |
212 |
< |
,algo_(0) |
213 |
< |
,id_(0) |
214 |
< |
{;} |
215 |
< |
|
216 |
< |
~TRootMuon() {;} |
217 |
< |
|
218 |
< |
|
219 |
< |
Float_t et_em() const { return et_em_;} |
220 |
< |
Float_t et_emS9() const { return et_emS9_;} |
221 |
< |
Float_t et_had() const { return et_had_;} |
222 |
< |
Float_t et_hadS9() const { return et_hadS9_;} |
223 |
< |
Float_t et_ho() const { return et_ho_;} |
224 |
< |
Float_t et_hoS9() const { return et_hoS9_;} |
225 |
< |
Float_t caloCompatibility() const { return caloCompatibility_;} |
226 |
< |
|
227 |
< |
Float_t isoR03_emEt() const { return isoR03_emEt_;} |
228 |
< |
Float_t isoR03_hadEt() const { return isoR03_hadEt_;} |
229 |
< |
Float_t isoR03_hoEt() const { return isoR03_hoEt_;} |
230 |
< |
Float_t isoR03_sumPt() const { return isoR03_sumPt_;} |
231 |
< |
Int_t isoR03_nTracks() const { return isoR03_nTracks_;} |
232 |
< |
Int_t isoR03_nJets() const { return isoR03_nJets_;} |
233 |
< |
|
234 |
< |
Float_t isoR05_emEt() const { return isoR05_emEt_;} |
235 |
< |
Float_t isoR05_hadEt() const { return isoR05_hadEt_;} |
236 |
< |
Float_t isoR05_hoEt() const { return isoR05_hoEt_;} |
237 |
< |
Float_t isoR05_sumPt() const { return isoR05_sumPt_;} |
238 |
< |
Int_t isoR05_nTracks() const { return isoR05_nTracks_;} |
239 |
< |
Int_t isoR05_nJets() const { return isoR05_nJets_;} |
240 |
< |
|
241 |
< |
Bool_t energyValid() const { return energyValid_;} |
242 |
< |
Bool_t matchesValid() const { return matchesValid_;} |
243 |
< |
Bool_t isolationValid() const { return isolationValid_;} |
244 |
< |
|
245 |
< |
Int_t direction() const { return direction_;} |
246 |
< |
Int_t algo() const { return algo_;} |
247 |
< |
|
248 |
< |
Bool_t isGlobalMuon() const { return algo_ & 2; } |
249 |
< |
Bool_t isTrackerMuon() const { return algo_ & 4; } |
250 |
< |
Bool_t isStandAloneMuon() const { return algo_ & 8; } |
251 |
< |
Bool_t isCaloMuon() const { return algo_ & 16; } |
252 |
< |
|
253 |
< |
Int_t id() const { return id_;} |
254 |
< |
Bool_t idTrackerMuonArbitrated() const { return id_ & 1; } |
255 |
< |
Bool_t idAllArbitrated() const { return id_ & 2; } |
256 |
< |
Bool_t idGlobalMuonPromptTight() const { return id_ & 4; } |
257 |
< |
Bool_t idTMLastStationLoose() const { return id_ & 8; } |
258 |
< |
Bool_t idTMLastStationTight() const { return id_ & 16; } |
259 |
< |
Bool_t idTM2DCompatibilityLoose() const { return id_ & 32; } |
260 |
< |
Bool_t idTM2DCompatibilityTight() const { return id_ & 64; } |
261 |
< |
|
262 |
< |
void setCaloEnergy(Float_t et_em, Float_t et_emS9, Float_t et_had, Float_t et_hadS9, Float_t et_ho, Float_t et_hoS9, Float_t caloCompatibility) |
263 |
< |
{ |
264 |
< |
et_em_ = et_em; |
265 |
< |
et_emS9_ = et_emS9; |
266 |
< |
et_had_ = et_had; |
267 |
< |
et_hadS9_ = et_hadS9; |
268 |
< |
et_ho_ = et_ho; |
269 |
< |
et_hoS9_ = et_hoS9; |
270 |
< |
caloCompatibility_ = caloCompatibility; |
271 |
< |
} |
272 |
< |
|
273 |
< |
void setIsoR03(Float_t isoR03_emEt, Float_t isoR03_hadEt, Float_t isoR03_hoEt, Float_t isoR03_sumPt, Int_t isoR03_nTracks, Int_t isoR03_nJets) |
274 |
< |
{ |
275 |
< |
isoR03_emEt_ = isoR03_emEt; |
276 |
< |
isoR03_hadEt_ = isoR03_hadEt; |
277 |
< |
isoR03_hoEt_ = isoR03_hoEt; |
278 |
< |
isoR03_sumPt_ = isoR03_sumPt; |
279 |
< |
isoR03_nTracks_ = isoR03_nTracks; |
280 |
< |
isoR03_nJets_ = isoR03_nJets; |
281 |
< |
} |
282 |
< |
|
283 |
< |
void setIsoR05(Float_t isoR05_emEt, Float_t isoR05_hadEt, Float_t isoR05_hoEt, Float_t isoR05_sumPt, Int_t isoR05_nTracks, Int_t isoR05_nJets) |
284 |
< |
{ |
285 |
< |
isoR05_emEt_ = isoR05_emEt; |
286 |
< |
isoR05_hadEt_ = isoR05_hadEt; |
287 |
< |
isoR05_hoEt_ = isoR05_hoEt; |
288 |
< |
isoR05_sumPt_ = isoR05_sumPt; |
289 |
< |
isoR05_nTracks_ = isoR05_nTracks; |
290 |
< |
isoR05_nJets_ = isoR05_nJets; |
291 |
< |
} |
292 |
< |
|
293 |
< |
void setValidity(Bool_t energyValid, Bool_t matchesValid, Bool_t isolationValid) |
294 |
< |
{ |
295 |
< |
energyValid_ = energyValid; |
296 |
< |
matchesValid_ = matchesValid; |
297 |
< |
isolationValid_ = isolationValid; |
298 |
< |
} |
299 |
< |
|
300 |
< |
void setDirection(Int_t direction) { direction_ = direction; } |
301 |
< |
void setAlgo(Int_t algo) { algo_ = algo; } |
302 |
< |
void setID(Int_t id) { id_ = id; } |
303 |
< |
void setID( |
304 |
< |
Int_t trackerMuonArbitrated |
305 |
< |
,Int_t allArbitrated |
306 |
< |
,Int_t globalMuonPromptTight |
307 |
< |
,Int_t tmLastStationLoose |
308 |
< |
,Int_t tmLastStationTight |
309 |
< |
,Int_t tm2DCompatibilityLoose |
310 |
< |
,Int_t tm2DCompatibilityTight |
311 |
< |
) |
312 |
< |
{ id_ = trackerMuonArbitrated*1 + allArbitrated*2 + globalMuonPromptTight*4 + tmLastStationLoose*8 + tmLastStationTight*16 + tm2DCompatibilityLoose*32 + tm2DCompatibilityTight*64; } |
313 |
< |
|
314 |
< |
|
315 |
< |
friend std::ostream& operator<< (std::ostream& stream, const TRootMuon& muon) { |
316 |
< |
stream << "TRootMuon - Charge=" << muon.charge() << " (Et,eta,phi)=("<< muon.Et() <<","<< muon.Eta() <<","<< muon.Phi() << ") vertex(x,y,z)=("<< muon.vx() <<","<< muon.vy() <<","<< muon.vz() << ")" << endl |
317 |
< |
<< " Type(G,T,S,C)=(" << muon.isGlobalMuon() << "," << muon.isTrackerMuon() << "," << muon.isStandAloneMuon() << "," << muon.isCaloMuon() << ") " |
318 |
< |
<< " ID=(" << muon.idTrackerMuonArbitrated() << "," << muon.idAllArbitrated() << "," << muon.idGlobalMuonPromptTight() << "," << muon.idTMLastStationLoose() |
319 |
< |
<< "," << muon.idTMLastStationTight() << "," << muon.idTM2DCompatibilityLoose() << "," << muon.idTM2DCompatibilityTight() << ")" << " Direction=" << muon.direction_ |
320 |
< |
<< " caloCompatibility="<< muon.caloCompatibility_ << " validity(energy,matches,isolation)=(" << muon.energyValid_ <<","<< muon.matchesValid_ <<","<< muon.isolationValid_ << ")" << endl |
321 |
< |
<< " Et_em=" << muon.et_em_ << " Et_emS9=" << muon.et_emS9_ << " Et_had=" << muon.et_had_ << " Et_hadS9=" << muon.et_hadS9_ << " Et_ho=" << muon.et_ho_ << " Et_hoS9=" << muon.et_hoS9_ << endl |
322 |
< |
<< " isolation cone 0.3: Et_em=" << muon.isoR03_emEt_ << " Et_had=" << muon.isoR03_hadEt_ <<" Et_ho=" << muon.isoR03_hoEt_ << " nTracks=" << muon.isoR03_nTracks_ <<" nJets=" << muon.isoR03_nJets_ << endl |
323 |
< |
<< " isolation cone 0.5: Et_em=" << muon.isoR05_emEt_ << " Et_had=" << muon.isoR05_hadEt_ <<" Et_ho=" << muon.isoR05_hoEt_ << " nTracks=" << muon.isoR05_nTracks_ <<" nJets=" << muon.isoR05_nJets_; |
324 |
< |
return stream; |
325 |
< |
}; |
326 |
< |
|
327 |
< |
|
328 |
< |
private: |
329 |
< |
|
330 |
< |
Float_t et_em_; |
331 |
< |
Float_t et_emS9_; |
332 |
< |
Float_t et_had_; |
333 |
< |
Float_t et_hadS9_; |
334 |
< |
Float_t et_ho_; |
335 |
< |
Float_t et_hoS9_; |
336 |
< |
Float_t caloCompatibility_; |
337 |
< |
|
338 |
< |
Float_t isoR03_emEt_; |
339 |
< |
Float_t isoR03_hadEt_; |
340 |
< |
Float_t isoR03_hoEt_; |
341 |
< |
Float_t isoR03_sumPt_; |
342 |
< |
Int_t isoR03_nTracks_; |
343 |
< |
Int_t isoR03_nJets_; |
344 |
< |
|
345 |
< |
Float_t isoR05_emEt_; |
346 |
< |
Float_t isoR05_hadEt_; |
347 |
< |
Float_t isoR05_hoEt_; |
348 |
< |
Float_t isoR05_sumPt_; |
349 |
< |
Int_t isoR05_nTracks_; |
350 |
< |
Int_t isoR05_nJets_; |
351 |
< |
|
352 |
< |
Bool_t energyValid_; |
353 |
< |
Bool_t matchesValid_; |
354 |
< |
Bool_t isolationValid_; |
355 |
< |
|
356 |
< |
Int_t direction_; // OutsideIn = -1, Undefined = 0, InsideOut = 1 |
357 |
< |
Int_t algo_; // binary => GlobalMuon=00010 , TrackerMuon=00100 , StandAloneMuon=01000 , CaloMuon=10000 |
358 |
< |
// MuonId coded in binary word id_ ==> TrackerMuonArbitrated=0000001 , AllArbitrated=0000010 , GlobalMuonPromptTight=0000100 , |
359 |
< |
// TMLastStationLoose=0001000 , TMLastStationTight=0010000 , TM2DCompatibilityLoose=0100000 , TM2DCompatibilityTight=1000000 |
360 |
< |
Int_t id_; |
361 |
< |
|
362 |
< |
ClassDef (TRootMuon,1); |
10 |
> |
|
11 |
> |
public: |
12 |
> |
|
13 |
> |
TRootMuon() : |
14 |
> |
TRootParticle() |
15 |
> |
,et_em_(-9999.) |
16 |
> |
,et_emS9_(-9999.) |
17 |
> |
,et_had_(-9999.) |
18 |
> |
,et_hadS9_(-9999.) |
19 |
> |
,et_ho_(-9999.) |
20 |
> |
,et_hoS9_(-9999.) |
21 |
> |
,caloCompatibility_(-9999.) |
22 |
> |
,isoR03_emEt_(-9999.) |
23 |
> |
,isoR03_hadEt_(-9999.) |
24 |
> |
,isoR03_hoEt_(-9999.) |
25 |
> |
,isoR03_sumPt_(-9999.) |
26 |
> |
,isoR03_nTracks_(-9999) |
27 |
> |
,isoR03_nJets_(-9999) |
28 |
> |
,isoR05_emEt_(-9999.) |
29 |
> |
,isoR05_hadEt_(-9999.) |
30 |
> |
,isoR05_hoEt_(-9999.) |
31 |
> |
,isoR05_sumPt_(-9999.) |
32 |
> |
,isoR05_nTracks_(-9999) |
33 |
> |
,isoR05_nJets_(-9999) |
34 |
> |
,energyValid_(false) |
35 |
> |
,matchesValid_(false) |
36 |
> |
,isolationValid_(false) |
37 |
> |
,direction_(-9999) |
38 |
> |
,algo_(-9999) |
39 |
> |
,id_(-9999) |
40 |
> |
,numberOfValidPixelHits_(-1) |
41 |
> |
,numberOfValidTrackerHits_(-1) |
42 |
> |
,pixelLayersWithMeasurement_(-1) |
43 |
> |
,stripLayersWithMeasurement_(-1) |
44 |
> |
,d0_(-9999.) |
45 |
> |
,d0Error_(-9999.) |
46 |
> |
,dsz_(-9999.) |
47 |
> |
,dszError_(-9999.) |
48 |
> |
,normalizedChi2_(-9999.) |
49 |
> |
,ptError_(-9999.) |
50 |
> |
,etaError_(-9999.) |
51 |
> |
,phiError_(-9999.) |
52 |
> |
,ip3DSignificance_(-9999.) |
53 |
> |
,innerTrack_(0.,0.,0.,0.) |
54 |
> |
,outerTrack_(0.,0.,0.,0.) |
55 |
> |
,globalTrack_(0.,0.,0.,0.) |
56 |
> |
{;} |
57 |
> |
|
58 |
> |
TRootMuon(const TRootMuon& muon) : |
59 |
> |
TRootParticle(muon) |
60 |
> |
,et_em_(muon.et_em_) |
61 |
> |
,et_emS9_(muon.et_emS9_) |
62 |
> |
,et_had_(muon.et_had_) |
63 |
> |
,et_hadS9_(muon.et_hadS9_) |
64 |
> |
,et_ho_(muon.et_ho_) |
65 |
> |
,et_hoS9_(muon.et_hoS9_) |
66 |
> |
,caloCompatibility_(muon.caloCompatibility_) |
67 |
> |
,isoR03_emEt_(muon.isoR03_emEt_) |
68 |
> |
,isoR03_hadEt_(muon.isoR03_hadEt_) |
69 |
> |
,isoR03_hoEt_(muon.isoR03_hoEt_) |
70 |
> |
,isoR03_sumPt_(muon.isoR03_sumPt_) |
71 |
> |
,isoR03_nTracks_(muon.isoR03_nTracks_) |
72 |
> |
,isoR03_nJets_(muon.isoR03_nJets_) |
73 |
> |
,isoR05_emEt_(muon.isoR05_emEt_) |
74 |
> |
,isoR05_hadEt_(muon.isoR05_hadEt_) |
75 |
> |
,isoR05_hoEt_(muon.isoR05_hoEt_) |
76 |
> |
,isoR05_sumPt_(muon.isoR05_sumPt_) |
77 |
> |
,isoR05_nTracks_(muon.isoR05_nTracks_) |
78 |
> |
,isoR05_nJets_(muon.isoR05_nJets_) |
79 |
> |
,energyValid_(muon.energyValid_) |
80 |
> |
,matchesValid_(muon.matchesValid_) |
81 |
> |
,isolationValid_(muon.isolationValid_) |
82 |
> |
,direction_(muon.direction_) |
83 |
> |
,algo_(muon.algo_) |
84 |
> |
,id_(muon.id_) |
85 |
> |
,numberOfValidPixelHits_(muon.numberOfValidPixelHits_) |
86 |
> |
,numberOfValidTrackerHits_(muon.numberOfValidTrackerHits_) |
87 |
> |
,pixelLayersWithMeasurement_(muon.pixelLayersWithMeasurement_) |
88 |
> |
,stripLayersWithMeasurement_(muon.stripLayersWithMeasurement_) |
89 |
> |
,d0_(muon.d0_) |
90 |
> |
,d0Error_(muon.d0Error_) |
91 |
> |
,dsz_(muon.dsz_) |
92 |
> |
,dszError_(muon.dszError_) |
93 |
> |
,normalizedChi2_(muon.normalizedChi2_) |
94 |
> |
,ptError_(muon.ptError_) |
95 |
> |
,etaError_(muon.etaError_) |
96 |
> |
,phiError_(muon.phiError_) |
97 |
> |
,ip3DSignificance_(muon.ip3DSignificance_) |
98 |
> |
,innerTrack_(muon.innerTrack_) |
99 |
> |
,outerTrack_(muon.outerTrack_) |
100 |
> |
,globalTrack_(muon.globalTrack_) |
101 |
> |
{;} |
102 |
> |
|
103 |
> |
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e) : |
104 |
> |
TRootParticle(px,py,pz,e) |
105 |
> |
,et_em_(-9999.) |
106 |
> |
,et_emS9_(-9999.) |
107 |
> |
,et_had_(-9999.) |
108 |
> |
,et_hadS9_(-9999.) |
109 |
> |
,et_ho_(-9999.) |
110 |
> |
,et_hoS9_(-9999.) |
111 |
> |
,caloCompatibility_(-9999.) |
112 |
> |
,isoR03_emEt_(-9999.) |
113 |
> |
,isoR03_hadEt_(-9999.) |
114 |
> |
,isoR03_hoEt_(-9999.) |
115 |
> |
,isoR03_sumPt_(-9999.) |
116 |
> |
,isoR03_nTracks_(-9999) |
117 |
> |
,isoR03_nJets_(-9999) |
118 |
> |
,isoR05_emEt_(-9999.) |
119 |
> |
,isoR05_hadEt_(-9999.) |
120 |
> |
,isoR05_hoEt_(-9999.) |
121 |
> |
,isoR05_sumPt_(-9999.) |
122 |
> |
,isoR05_nTracks_(-9999) |
123 |
> |
,isoR05_nJets_(-9999) |
124 |
> |
,energyValid_(false) |
125 |
> |
,matchesValid_(false) |
126 |
> |
,isolationValid_(false) |
127 |
> |
,direction_(-9999) |
128 |
> |
,algo_(-9999) |
129 |
> |
,id_(-9999) |
130 |
> |
,numberOfValidPixelHits_(-1) |
131 |
> |
,numberOfValidTrackerHits_(-1) |
132 |
> |
,pixelLayersWithMeasurement_(-1) |
133 |
> |
,stripLayersWithMeasurement_(-1) |
134 |
> |
,d0_(-9999.) |
135 |
> |
,d0Error_(-9999.) |
136 |
> |
,dsz_(-9999.) |
137 |
> |
,dszError_(-9999.) |
138 |
> |
,normalizedChi2_(-9999.) |
139 |
> |
,ptError_(-9999.) |
140 |
> |
,etaError_(-9999.) |
141 |
> |
,phiError_(-9999.) |
142 |
> |
,ip3DSignificance_(-9999.) |
143 |
> |
,innerTrack_(0.,0.,0.,0.) |
144 |
> |
,outerTrack_(0.,0.,0.,0.) |
145 |
> |
,globalTrack_(0.,0.,0.,0.) |
146 |
> |
{;} |
147 |
> |
|
148 |
> |
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z) : |
149 |
> |
TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z) |
150 |
> |
,et_em_(-9999.) |
151 |
> |
,et_emS9_(-9999.) |
152 |
> |
,et_had_(-9999.) |
153 |
> |
,et_hadS9_(-9999.) |
154 |
> |
,et_ho_(-9999.) |
155 |
> |
,et_hoS9_(-9999.) |
156 |
> |
,caloCompatibility_(-9999.) |
157 |
> |
,isoR03_emEt_(-9999.) |
158 |
> |
,isoR03_hadEt_(-9999.) |
159 |
> |
,isoR03_hoEt_(-9999.) |
160 |
> |
,isoR03_sumPt_(-9999.) |
161 |
> |
,isoR03_nTracks_(-9999) |
162 |
> |
,isoR03_nJets_(-9999) |
163 |
> |
,isoR05_emEt_(-9999.) |
164 |
> |
,isoR05_hadEt_(-9999.) |
165 |
> |
,isoR05_hoEt_(-9999.) |
166 |
> |
,isoR05_sumPt_(-9999.) |
167 |
> |
,isoR05_nTracks_(-9999) |
168 |
> |
,isoR05_nJets_(-9999) |
169 |
> |
,energyValid_(false) |
170 |
> |
,matchesValid_(false) |
171 |
> |
,isolationValid_(false) |
172 |
> |
,direction_(-9999) |
173 |
> |
,algo_(-9999) |
174 |
> |
,id_(-9999) |
175 |
> |
,numberOfValidPixelHits_(-1) |
176 |
> |
,numberOfValidTrackerHits_(-1) |
177 |
> |
,pixelLayersWithMeasurement_(-1) |
178 |
> |
,stripLayersWithMeasurement_(-1) |
179 |
> |
,d0_(-9999.) |
180 |
> |
,d0Error_(-9999.) |
181 |
> |
,dsz_(-9999.) |
182 |
> |
,dszError_(-9999.) |
183 |
> |
,normalizedChi2_(-9999.) |
184 |
> |
,ptError_(-9999.) |
185 |
> |
,etaError_(-9999.) |
186 |
> |
,phiError_(-9999.) |
187 |
> |
,ip3DSignificance_(-9999.) |
188 |
> |
,innerTrack_(0.,0.,0.,0.) |
189 |
> |
,outerTrack_(0.,0.,0.,0.) |
190 |
> |
,globalTrack_(0.,0.,0.,0.) |
191 |
> |
{;} |
192 |
> |
|
193 |
> |
TRootMuon(Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vtx_x, Double_t vtx_y, Double_t vtx_z, Int_t type, Float_t charge) : |
194 |
> |
TRootParticle(px,py,pz,e,vtx_x,vtx_y,vtx_z,type,charge) |
195 |
> |
,et_em_(-9999.) |
196 |
> |
,et_emS9_(-9999.) |
197 |
> |
,et_had_(-9999.) |
198 |
> |
,et_hadS9_(-9999.) |
199 |
> |
,et_ho_(-9999.) |
200 |
> |
,et_hoS9_(-9999.) |
201 |
> |
,caloCompatibility_(-9999.) |
202 |
> |
,isoR03_emEt_(-9999.) |
203 |
> |
,isoR03_hadEt_(-9999.) |
204 |
> |
,isoR03_hoEt_(-9999.) |
205 |
> |
,isoR03_sumPt_(-9999.) |
206 |
> |
,isoR03_nTracks_(-9999) |
207 |
> |
,isoR03_nJets_(-9999) |
208 |
> |
,isoR05_emEt_(-9999.) |
209 |
> |
,isoR05_hadEt_(-9999.) |
210 |
> |
,isoR05_hoEt_(-9999.) |
211 |
> |
,isoR05_sumPt_(-9999.) |
212 |
> |
,isoR05_nTracks_(-9999) |
213 |
> |
,isoR05_nJets_(-9999) |
214 |
> |
,energyValid_(false) |
215 |
> |
,matchesValid_(false) |
216 |
> |
,isolationValid_(false) |
217 |
> |
,direction_(-9999) |
218 |
> |
,algo_(-9999) |
219 |
> |
,id_(-9999) |
220 |
> |
,numberOfValidPixelHits_(-1) |
221 |
> |
,numberOfValidTrackerHits_(-1) |
222 |
> |
,pixelLayersWithMeasurement_(-1) |
223 |
> |
,stripLayersWithMeasurement_(-1) |
224 |
> |
,d0_(-9999.) |
225 |
> |
,d0Error_(-9999.) |
226 |
> |
,dsz_(-9999.) |
227 |
> |
,dszError_(-9999.) |
228 |
> |
,normalizedChi2_(-9999.) |
229 |
> |
,ptError_(-9999.) |
230 |
> |
,etaError_(-9999.) |
231 |
> |
,phiError_(-9999.) |
232 |
> |
,ip3DSignificance_(-9999.) |
233 |
> |
,innerTrack_(0.,0.,0.,0.) |
234 |
> |
,outerTrack_(0.,0.,0.,0.) |
235 |
> |
,globalTrack_(0.,0.,0.,0.) |
236 |
> |
{;} |
237 |
> |
|
238 |
> |
TRootMuon(const TLorentzVector &momentum) : |
239 |
> |
TRootParticle(momentum) |
240 |
> |
,et_em_(-9999.) |
241 |
> |
,et_emS9_(-9999.) |
242 |
> |
,et_had_(-9999.) |
243 |
> |
,et_hadS9_(-9999.) |
244 |
> |
,et_ho_(-9999.) |
245 |
> |
,et_hoS9_(-9999.) |
246 |
> |
,caloCompatibility_(-9999.) |
247 |
> |
,isoR03_emEt_(-9999.) |
248 |
> |
,isoR03_hadEt_(-9999.) |
249 |
> |
,isoR03_hoEt_(-9999.) |
250 |
> |
,isoR03_sumPt_(-9999.) |
251 |
> |
,isoR03_nTracks_(-9999) |
252 |
> |
,isoR03_nJets_(-9999) |
253 |
> |
,isoR05_emEt_(-9999.) |
254 |
> |
,isoR05_hadEt_(-9999.) |
255 |
> |
,isoR05_hoEt_(-9999.) |
256 |
> |
,isoR05_sumPt_(-9999.) |
257 |
> |
,isoR05_nTracks_(-9999) |
258 |
> |
,isoR05_nJets_(-9999) |
259 |
> |
,energyValid_(false) |
260 |
> |
,matchesValid_(false) |
261 |
> |
,isolationValid_(false) |
262 |
> |
,direction_(-9999) |
263 |
> |
,algo_(-9999) |
264 |
> |
,id_(-9999) |
265 |
> |
,numberOfValidPixelHits_(-1) |
266 |
> |
,numberOfValidTrackerHits_(-1) |
267 |
> |
,pixelLayersWithMeasurement_(-1) |
268 |
> |
,stripLayersWithMeasurement_(-1) |
269 |
> |
,d0_(-9999.) |
270 |
> |
,d0Error_(-9999.) |
271 |
> |
,dsz_(-9999.) |
272 |
> |
,dszError_(-9999.) |
273 |
> |
,normalizedChi2_(-9999.) |
274 |
> |
,ptError_(-9999.) |
275 |
> |
,etaError_(-9999.) |
276 |
> |
,phiError_(-9999.) |
277 |
> |
,ip3DSignificance_(-9999.) |
278 |
> |
,innerTrack_(0.,0.,0.,0.) |
279 |
> |
,outerTrack_(0.,0.,0.,0.) |
280 |
> |
,globalTrack_(0.,0.,0.,0.) |
281 |
> |
{;} |
282 |
> |
|
283 |
> |
TRootMuon(const TLorentzVector &momentum, const TVector3 &vertex, Int_t type, Float_t charge) : |
284 |
> |
TRootParticle(momentum, vertex, type, charge) |
285 |
> |
,et_em_(-9999.) |
286 |
> |
,et_emS9_(-9999.) |
287 |
> |
,et_had_(-9999.) |
288 |
> |
,et_hadS9_(-9999.) |
289 |
> |
,et_ho_(-9999.) |
290 |
> |
,et_hoS9_(-9999.) |
291 |
> |
,caloCompatibility_(-9999.) |
292 |
> |
,isoR03_emEt_(-9999.) |
293 |
> |
,isoR03_hadEt_(-9999.) |
294 |
> |
,isoR03_hoEt_(-9999.) |
295 |
> |
,isoR03_sumPt_(-9999.) |
296 |
> |
,isoR03_nTracks_(-9999) |
297 |
> |
,isoR03_nJets_(-9999) |
298 |
> |
,isoR05_emEt_(-9999.) |
299 |
> |
,isoR05_hadEt_(-9999.) |
300 |
> |
,isoR05_hoEt_(-9999.) |
301 |
> |
,isoR05_sumPt_(-9999.) |
302 |
> |
,isoR05_nTracks_(-9999) |
303 |
> |
,isoR05_nJets_(-9999) |
304 |
> |
,energyValid_(false) |
305 |
> |
,matchesValid_(false) |
306 |
> |
,isolationValid_(false) |
307 |
> |
,direction_(-9999) |
308 |
> |
,algo_(-9999) |
309 |
> |
,id_(-9999) |
310 |
> |
,numberOfValidPixelHits_(-1) |
311 |
> |
,numberOfValidTrackerHits_(-1) |
312 |
> |
,pixelLayersWithMeasurement_(-1) |
313 |
> |
,stripLayersWithMeasurement_(-1) |
314 |
> |
,d0_(-9999.) |
315 |
> |
,d0Error_(-9999.) |
316 |
> |
,dsz_(-9999.) |
317 |
> |
,dszError_(-9999.) |
318 |
> |
,normalizedChi2_(-9999.) |
319 |
> |
,ptError_(-9999.) |
320 |
> |
,etaError_(-9999.) |
321 |
> |
,phiError_(-9999.) |
322 |
> |
,ip3DSignificance_(-9999.) |
323 |
> |
,innerTrack_(0.,0.,0.,0.) |
324 |
> |
,outerTrack_(0.,0.,0.,0.) |
325 |
> |
,globalTrack_(0.,0.,0.,0.) |
326 |
> |
{;} |
327 |
> |
|
328 |
> |
~TRootMuon() {;} |
329 |
> |
|
330 |
> |
|
331 |
> |
Float_t et_em() const { return et_em_;} |
332 |
> |
Float_t et_emS9() const { return et_emS9_;} |
333 |
> |
Float_t et_had() const { return et_had_;} |
334 |
> |
Float_t et_hadS9() const { return et_hadS9_;} |
335 |
> |
Float_t et_ho() const { return et_ho_;} |
336 |
> |
Float_t et_hoS9() const { return et_hoS9_;} |
337 |
> |
Float_t caloCompatibility() const { return caloCompatibility_;} |
338 |
> |
|
339 |
> |
Float_t isoR03_emEt() const { return isoR03_emEt_;} |
340 |
> |
Float_t isoR03_hadEt() const { return isoR03_hadEt_;} |
341 |
> |
Float_t isoR03_hoEt() const { return isoR03_hoEt_;} |
342 |
> |
Float_t isoR03_sumPt() const { return isoR03_sumPt_;} |
343 |
> |
Int_t isoR03_nTracks() const { return isoR03_nTracks_;} |
344 |
> |
Int_t isoR03_nJets() const { return isoR03_nJets_;} |
345 |
> |
|
346 |
> |
Float_t isoR05_emEt() const { return isoR05_emEt_;} |
347 |
> |
Float_t isoR05_hadEt() const { return isoR05_hadEt_;} |
348 |
> |
Float_t isoR05_hoEt() const { return isoR05_hoEt_;} |
349 |
> |
Float_t isoR05_sumPt() const { return isoR05_sumPt_;} |
350 |
> |
Int_t isoR05_nTracks() const { return isoR05_nTracks_;} |
351 |
> |
Int_t isoR05_nJets() const { return isoR05_nJets_;} |
352 |
> |
|
353 |
> |
Bool_t energyValid() const { return energyValid_;} |
354 |
> |
Bool_t matchesValid() const { return matchesValid_;} |
355 |
> |
Bool_t isolationValid() const { return isolationValid_;} |
356 |
> |
|
357 |
> |
Int_t direction() const { return direction_;} |
358 |
> |
Int_t algo() const { return algo_;} |
359 |
> |
|
360 |
> |
Bool_t isGlobalMuon() const { return algo_ & 2; } |
361 |
> |
Bool_t isTrackerMuon() const { return algo_ & 4; } |
362 |
> |
Bool_t isStandAloneMuon() const { return algo_ & 8; } |
363 |
> |
Bool_t isCaloMuon() const { return algo_ & 16; } |
364 |
> |
|
365 |
> |
Int_t id() const { return id_;} |
366 |
> |
Bool_t idTrackerMuonArbitrated() const { return id_ & 1; } |
367 |
> |
Bool_t idAllArbitrated() const { return id_ & 2; } |
368 |
> |
Bool_t idGlobalMuonPromptTight() const { return id_ & 4; } |
369 |
> |
Bool_t idTMLastStationLoose() const { return id_ & 8; } |
370 |
> |
Bool_t idTMLastStationTight() const { return id_ & 16; } |
371 |
> |
Bool_t idTM2DCompatibilityLoose() const { return id_ & 32; } |
372 |
> |
Bool_t idTM2DCompatibilityTight() const { return id_ & 64; } |
373 |
> |
|
374 |
> |
Int_t numberOfValidPixelHits() const { return numberOfValidPixelHits_; } |
375 |
> |
Int_t numberOfValidTrackerHits() const { return numberOfValidTrackerHits_; } |
376 |
> |
Int_t pixelLayersWithMeasurement() const { return pixelLayersWithMeasurement_; } |
377 |
> |
Int_t stripLayersWithMeasurement() const { return stripLayersWithMeasurement_; } |
378 |
> |
Float_t d0() const { return d0_ ;} |
379 |
> |
Float_t d0Error() const { return d0Error_ ;} |
380 |
> |
Float_t dsz() const { return dsz_ ;} |
381 |
> |
Float_t dszError() const { return dszError_ ;} |
382 |
> |
Float_t normalizedChi2() const { return normalizedChi2_ ;} |
383 |
> |
Float_t ptError() const { return ptError_ ;} |
384 |
> |
Float_t etaError() const { return etaError_ ;} |
385 |
> |
Float_t phiError() const { return phiError_ ;} |
386 |
> |
Float_t ip3DSignificance() const { return ip3DSignificance_ ;} |
387 |
> |
|
388 |
> |
TLorentzVector innerTrack() const { return innerTrack_; } |
389 |
> |
TLorentzVector outerTrack() const { return outerTrack_; } |
390 |
> |
TLorentzVector globalTrack() const { return globalTrack_; } |
391 |
> |
|
392 |
> |
//TObject* genMuon() const { return genMuon_.GetObject() ;} |
393 |
> |
virtual TString typeName() const { return "TRootMuon"; } |
394 |
> |
|
395 |
> |
|
396 |
> |
void setCaloEnergy(Float_t et_em, Float_t et_emS9, Float_t et_had, Float_t et_hadS9, Float_t et_ho, Float_t et_hoS9, Float_t caloCompatibility) |
397 |
> |
{ |
398 |
> |
et_em_ = et_em; |
399 |
> |
et_emS9_ = et_emS9; |
400 |
> |
et_had_ = et_had; |
401 |
> |
et_hadS9_ = et_hadS9; |
402 |
> |
et_ho_ = et_ho; |
403 |
> |
et_hoS9_ = et_hoS9; |
404 |
> |
caloCompatibility_ = caloCompatibility; |
405 |
> |
} |
406 |
> |
|
407 |
> |
void setIsoR03(Float_t isoR03_emEt, Float_t isoR03_hadEt, Float_t isoR03_hoEt, Float_t isoR03_sumPt, Int_t isoR03_nTracks, Int_t isoR03_nJets) |
408 |
> |
{ |
409 |
> |
isoR03_emEt_ = isoR03_emEt; |
410 |
> |
isoR03_hadEt_ = isoR03_hadEt; |
411 |
> |
isoR03_hoEt_ = isoR03_hoEt; |
412 |
> |
isoR03_sumPt_ = isoR03_sumPt; |
413 |
> |
isoR03_nTracks_ = isoR03_nTracks; |
414 |
> |
isoR03_nJets_ = isoR03_nJets; |
415 |
> |
} |
416 |
> |
|
417 |
> |
void setIsoR05(Float_t isoR05_emEt, Float_t isoR05_hadEt, Float_t isoR05_hoEt, Float_t isoR05_sumPt, Int_t isoR05_nTracks, Int_t isoR05_nJets) |
418 |
> |
{ |
419 |
> |
isoR05_emEt_ = isoR05_emEt; |
420 |
> |
isoR05_hadEt_ = isoR05_hadEt; |
421 |
> |
isoR05_hoEt_ = isoR05_hoEt; |
422 |
> |
isoR05_sumPt_ = isoR05_sumPt; |
423 |
> |
isoR05_nTracks_ = isoR05_nTracks; |
424 |
> |
isoR05_nJets_ = isoR05_nJets; |
425 |
> |
} |
426 |
> |
|
427 |
> |
void setValidity(Bool_t energyValid, Bool_t matchesValid, Bool_t isolationValid) |
428 |
> |
{ |
429 |
> |
energyValid_ = energyValid; |
430 |
> |
matchesValid_ = matchesValid; |
431 |
> |
isolationValid_ = isolationValid; |
432 |
> |
} |
433 |
> |
|
434 |
> |
void setDirection(Int_t direction) { direction_ = direction; } |
435 |
> |
void setAlgo(Int_t algo) { algo_ = algo; } |
436 |
> |
void setID(Int_t id) { id_ = id; } |
437 |
> |
void setID( |
438 |
> |
Int_t trackerMuonArbitrated |
439 |
> |
,Int_t allArbitrated |
440 |
> |
,Int_t globalMuonPromptTight |
441 |
> |
,Int_t tmLastStationLoose |
442 |
> |
,Int_t tmLastStationTight |
443 |
> |
,Int_t tm2DCompatibilityLoose |
444 |
> |
,Int_t tm2DCompatibilityTight |
445 |
> |
) |
446 |
> |
{ id_ = trackerMuonArbitrated*1 + allArbitrated*2 + globalMuonPromptTight*4 + tmLastStationLoose*8 + tmLastStationTight*16 + tm2DCompatibilityLoose*32 + tm2DCompatibilityTight*64; } |
447 |
> |
|
448 |
> |
void setNumberOfValidPixelHits(Int_t numberOfValidPixelHits) { numberOfValidPixelHits_ = numberOfValidPixelHits; } |
449 |
> |
void setNumberOfValidTrackerHits(Int_t numberOfValidTrackerHits) { numberOfValidTrackerHits_ = numberOfValidTrackerHits; } |
450 |
> |
void setPixelLayersWithMeasurement(Int_t pixelLayersWithMeasurement) { pixelLayersWithMeasurement_ = pixelLayersWithMeasurement; } |
451 |
> |
void setStripLayersWithMeasurement(Int_t stripLayersWithMeasurement) { stripLayersWithMeasurement_ = stripLayersWithMeasurement; } |
452 |
> |
void setD0(Float_t d0) { d0_ = d0; } |
453 |
> |
void setD0Error(Float_t d0Error) { d0Error_ = d0Error; } |
454 |
> |
void setDsz(Float_t dsz) { dsz_ = dsz; } |
455 |
> |
void setDszError(Float_t dszError) { dszError_ = dszError; } |
456 |
> |
void setNormalizedChi2(Float_t normalizedChi2) { normalizedChi2_ = normalizedChi2; } |
457 |
> |
void setPtError(Float_t ptError) { ptError_ = ptError; } |
458 |
> |
void setEtaError(Float_t etaError) { etaError_ = etaError; } |
459 |
> |
void setPhiError(Float_t phiError) { phiError_ = phiError; } |
460 |
> |
void setIP3DSignificance(Float_t ip3DSignificance) { ip3DSignificance_ = ip3DSignificance; } |
461 |
> |
|
462 |
> |
void setXYZTInnerTrack(Double_t x, Double_t y, Double_t z, Double_t t) { innerTrack_.SetXYZT(x,y,z,t); } |
463 |
> |
void setXYZTOuterTrack(Double_t x, Double_t y, Double_t z, Double_t t) { outerTrack_.SetXYZT(x,y,z,t); } |
464 |
> |
void setXYZTGlobalTrack(Double_t x, Double_t y, Double_t z, Double_t t) { globalTrack_.SetXYZT(x,y,z,t); } |
465 |
> |
|
466 |
> |
friend std::ostream& operator<< (std::ostream& stream, const TRootMuon& muon) { |
467 |
> |
stream << "TRootMuon - Charge=" << muon.charge() << " (Et,eta,phi)=("<< muon.Et() <<","<< muon.Eta() <<","<< muon.Phi() << ") vertex(x,y,z)=("<< muon.vx() <<","<< muon.vy() <<","<< muon.vz() << ")" << endl |
468 |
> |
<< " Type(G,T,S,C)=(" << muon.isGlobalMuon() << "," << muon.isTrackerMuon() << "," << muon.isStandAloneMuon() << "," << muon.isCaloMuon() << ") " |
469 |
> |
<< " ID=(" << muon.idTrackerMuonArbitrated() << "," << muon.idAllArbitrated() << "," << muon.idGlobalMuonPromptTight() << "," << muon.idTMLastStationLoose() |
470 |
> |
<< "," << muon.idTMLastStationTight() << "," << muon.idTM2DCompatibilityLoose() << "," << muon.idTM2DCompatibilityTight() << ")" << " Direction=" << muon.direction_ |
471 |
> |
<< " caloCompatibility="<< muon.caloCompatibility_ << " validity(energy,matches,isolation)=(" << muon.energyValid_ <<","<< muon.matchesValid_ <<","<< muon.isolationValid_ << ")" << endl |
472 |
> |
<< " Et_em=" << muon.et_em_ << " Et_emS9=" << muon.et_emS9_ << " Et_had=" << muon.et_had_ << " Et_hadS9=" << muon.et_hadS9_ << " Et_ho=" << muon.et_ho_ << " Et_hoS9=" << muon.et_hoS9_ << endl |
473 |
> |
<< " isolation cone 0.3: Et_em=" << muon.isoR03_emEt_ << " Et_had=" << muon.isoR03_hadEt_ <<" Et_ho=" << muon.isoR03_hoEt_ << " nTracks=" << muon.isoR03_nTracks_ <<" nJets=" << muon.isoR03_nJets_ << endl |
474 |
> |
<< " isolation cone 0.5: Et_em=" << muon.isoR05_emEt_ << " Et_had=" << muon.isoR05_hadEt_ <<" Et_ho=" << muon.isoR05_hoEt_ << " nTracks=" << muon.isoR05_nTracks_ <<" nJets=" << muon.isoR05_nJets_ << endl |
475 |
> |
<< " d0=" << muon.d0_ << " +- " << muon.d0Error_ << " dsz=" << muon.dsz_ << " +- " << muon.dszError_ << " IP 3D Significance=" << muon.ip3DSignificance_; |
476 |
> |
return stream; |
477 |
> |
}; |
478 |
> |
|
479 |
> |
|
480 |
> |
private: |
481 |
> |
|
482 |
> |
// Variables from reco::Muon |
483 |
> |
Float_t et_em_; // energy deposited in crossed ECAL crystals |
484 |
> |
Float_t et_emS9_; // energy deposited in 3x3 ECAL crystal matrix around crossed crystal |
485 |
> |
Float_t et_had_; // energy deposited in crossed HCAL tower (RecHits) |
486 |
> |
Float_t et_hadS9_; // energy deposited in 3x3 HCAL tower matrix around crossed tower (RecHits) |
487 |
> |
Float_t et_ho_; // energy deposited in crossed HO tower (RecHits) |
488 |
> |
Float_t et_hoS9_; // energy deposited in 3x3 HO tower matrix around crossed tower (RecHits) |
489 |
> |
Float_t caloCompatibility_; // Relative likelihood based on ECAL, HCAL, HO energy defined as L_muon/(L_muon+L_not_muon) |
490 |
> |
|
491 |
> |
// Muon isolation encapsulated in reco::Muon |
492 |
> |
// http://cmslxr.fnal.gov/lxr/source/RecoMuon/MuonIsolationProducers/doc/MuonIsolationProducers.doc |
493 |
> |
// Cone DR=0.3 |
494 |
> |
Float_t isoR03_emEt_; |
495 |
> |
Float_t isoR03_hadEt_; |
496 |
> |
Float_t isoR03_hoEt_; |
497 |
> |
Float_t isoR03_sumPt_; |
498 |
> |
Int_t isoR03_nTracks_; |
499 |
> |
Int_t isoR03_nJets_; |
500 |
> |
|
501 |
> |
// Cone DR=0.5 |
502 |
> |
Float_t isoR05_emEt_; |
503 |
> |
Float_t isoR05_hadEt_; |
504 |
> |
Float_t isoR05_hoEt_; |
505 |
> |
Float_t isoR05_sumPt_; |
506 |
> |
Int_t isoR05_nTracks_; |
507 |
> |
Int_t isoR05_nJets_; |
508 |
> |
|
509 |
> |
Bool_t energyValid_; |
510 |
> |
Bool_t matchesValid_; |
511 |
> |
Bool_t isolationValid_; |
512 |
> |
|
513 |
> |
Int_t direction_; // OutsideIn = -1, Undefined = 0, InsideOut = 1 |
514 |
> |
Int_t algo_; // binary => GlobalMuon=00010 , TrackerMuon=00100 , StandAloneMuon=01000 , CaloMuon=10000 |
515 |
> |
Int_t id_; // MuonId coded in binary word id_ ==> TrackerMuonArbitrated=0000001 , AllArbitrated=0000010 , GlobalMuonPromptTight=0000100 , |
516 |
> |
// TMLastStationLoose=0001000 , TMLastStationTight=0010000 , TM2DCompatibilityLoose=0100000 , TM2DCompatibilityTight=1000000 |
517 |
> |
|
518 |
> |
|
519 |
> |
// Variables from reco::GsfTrack |
520 |
> |
|
521 |
> |
/* cf: http://cmslxr.fnal.gov/lxr/source/DataFormats/TrackReco/interface/TrackBase.h |
522 |
> |
For tracks reconstructed in the CMS Tracker, the reference position is the point of closest approach to the centre |
523 |
> |
of CMS. For muons, this is not necessarily true. Parameters associated to the 5D curvilinear covariance matrix: |
524 |
> |
qoverp = q / abs(p) = signed inverse of momentum [1/GeV] |
525 |
> |
lambda = pi/2 - polar angle at the given point |
526 |
> |
phi = azimuth angle at the given point |
527 |
> |
dxy = -vx*sin(phi) + vy*cos(phi) [cm] |
528 |
> |
dsz = vz*cos(lambda) - (vx*cos(phi)+vy*sin(phi))*sin(lambda) [cm] |
529 |
> |
|
530 |
> |
Geometrically, dxy is the signed distance in the XY plane between the straight line passing through (vx,vy) with |
531 |
> |
azimuthal angle phi and the point (0,0). The dsz parameter is the signed distance in the SZ plane between the straight |
532 |
> |
line passing through (vx,vy,vz) with angles (phi, lambda) and the point (s=0,z=0). The S axis is defined by the projection |
533 |
> |
of the straight line onto the XY plane. The convention is to assign the S coordinate for (vx,vy) as the value |
534 |
> |
vx*cos(phi)+vy*sin(phi). This value is zero when (vx,vy) is the point of minimum transverse distance to (0,0). |
535 |
> |
|
536 |
> |
Note that dxy and dsz provide sensible estimates of the distance from the true particle trajectory to (0,0,0) ONLY |
537 |
> |
in two cases: |
538 |
> |
- When (vx,vy,vz) already correspond to the point of minimum transverse distance to (0,0,0) or is close to it |
539 |
> |
(so that the differences between considering the exact trajectory or a straight line in this range are negligible). |
540 |
> |
This is usually true for Tracker tracks. |
541 |
> |
- When the track has infinite or extremely high momentum */ |
542 |
> |
|
543 |
> |
Int_t numberOfValidPixelHits_; // Number of valid pixel hits |
544 |
> |
Int_t numberOfValidTrackerHits_; // Number of valid tracker hits (pixel+strip) - More than 1 hit per layer (even mono) is possible due to modules overlap |
545 |
> |
Int_t pixelLayersWithMeasurement_; // Number of pixel layers with at least one valid hit |
546 |
> |
Int_t stripLayersWithMeasurement_; // Number of strip layers with at least one valid hit |
547 |
> |
|
548 |
> |
Float_t d0_; // d0=-dxy |
549 |
> |
Float_t d0Error_; // error on d0_ |
550 |
> |
Float_t dsz_; // dsz parameter |
551 |
> |
Float_t dszError_; // error on dsz_ |
552 |
> |
Float_t normalizedChi2_; // chi-squared divided by n.d.o.f. of track fit |
553 |
> |
|
554 |
> |
Float_t ptError_; // needed ? ptError() |
555 |
> |
Float_t etaError_; // needed ? etaError() |
556 |
> |
Float_t phiError_; // needed ? phiError() |
557 |
> |
|
558 |
> |
Float_t ip3DSignificance_; // Significance of the impact parameter wrt to the selected primary vertex |
559 |
> |
|
560 |
> |
TLorentzVector innerTrack_; // Tracker only |
561 |
> |
TLorentzVector outerTrack_; // Muon detector only |
562 |
> |
TLorentzVector globalTrack_; // Tracker + Muon detector |
563 |
> |
|
564 |
> |
ClassDef (TRootMuon,6); |
565 |
> |
|
566 |
|
}; |
567 |
|
|
568 |
|
#endif |
367 |
– |
|
368 |
– |
|