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) : |
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) : |
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) : |
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) : |
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) : |
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) : |
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() {;} |
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"; } |
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 |
554 |
|
|
555 |
|
Float_t ip3DSignificance_; // Significance of the impact parameter wrt to the selected primary vertex |
556 |
|
|
557 |
< |
ClassDef (TRootMuon,4); |
557 |
> |
TLorentzVector innerTrack_; // Tracker only |
558 |
> |
TLorentzVector outerTrack_; // Muon detector only |
559 |
> |
TLorentzVector globalTrack_; // Tracker + Muon detector |
560 |
> |
|
561 |
> |
ClassDef (TRootMuon,5); |
562 |
|
}; |
563 |
|
|
564 |
|
#endif |