43 |
|
// to propagated track |
44 |
|
// NSegments : Number of segments in muon using Segment+Track Arbitration |
45 |
|
// NChambers : Number of muon chambers traversed in propagated track |
46 |
+ |
// NMatches : Number of muon chambers with matches |
47 |
|
// LastHit : Returns farest (from center) station with a recorded segment |
48 |
|
// LastStation : Returns farest station using Segment+Track Arbitration |
49 |
|
// |
82 |
|
const Track *StandaloneTrk() const { return fStaTrkRef.Obj(); } |
83 |
|
const Track *TrackerTrk() const { return fTrkTrkRef.Obj(); } |
84 |
|
const Track *Trk() const { return BestTrk(); } |
85 |
+ |
Double_t D0PV() const { return fD0PV; } |
86 |
+ |
Double_t D0PVErr() const { return fD0PVErr; } |
87 |
+ |
Double_t D0PVSignificance() const { return fD0PV/fD0PVErr; } |
88 |
+ |
Double_t Ip3dPV() const { return fIp3dPV; } |
89 |
+ |
Double_t Ip3dPVErr() const { return fIp3dPVErr; } |
90 |
+ |
Double_t Ip3dPVSignificance() const { return fIp3dPV/fIp3dPVErr; } |
91 |
+ |
Double_t D0PVBS() const { return fD0PVBS; } |
92 |
+ |
Double_t D0PVBSErr() const { return fD0PVBSErr; } |
93 |
+ |
Double_t D0PVBSSignificance() const { return fD0PVBS/fD0PVBSErr; } |
94 |
+ |
Double_t Ip3dPVBS() const { return fIp3dPVBS; } |
95 |
+ |
Double_t Ip3dPVBSErr() const { return fIp3dPVBSErr; } |
96 |
+ |
Double_t Ip3dPVBSSignificance() const { return fIp3dPVBS/fIp3dPVBSErr; } |
97 |
+ |
Double_t D0PVUB() const { return fD0PVUB; } |
98 |
+ |
Double_t D0PVUBErr() const { return fD0PVUBErr; } |
99 |
+ |
Double_t D0PVUBSignificance() const { return fD0PVUB/fD0PVUBErr; } |
100 |
+ |
Double_t Ip3dPVUB() const { return fIp3dPVUB; } |
101 |
+ |
Double_t Ip3dPVUBErr() const { return fIp3dPVUBErr; } |
102 |
+ |
Double_t Ip3dPVUBSignificance() const { return fIp3dPVUB/fIp3dPVUBErr; } |
103 |
+ |
Double_t D0PVUBBS() const { return fD0PVUBBS; } |
104 |
+ |
Double_t D0PVUBBSErr() const { return fD0PVUBBSErr; } |
105 |
+ |
Double_t D0PVUBBSSignificance() const { return fD0PVUBBS/fD0PVUBBSErr; } |
106 |
+ |
Double_t Ip3dPVUBBS() const { return fIp3dPVUBBS; } |
107 |
+ |
Double_t Ip3dPVUBBSErr() const { return fIp3dPVUBBSErr; } |
108 |
+ |
Double_t Ip3dPVUBBSSignificance() const { return fIp3dPVUBBS/fIp3dPVUBBSErr;} |
109 |
+ |
Double_t PVCompatibility() const { return fPVCompatibility; } |
110 |
+ |
Double_t PVBSCompatibility() const { return fPVBSCompatibility; } |
111 |
+ |
Double_t TrkKink() const { return fTrkKink; } |
112 |
+ |
Double_t GlbKink() const { return fGlbKink; } |
113 |
|
Double_t EmEnergy() const { return fEmEnergy; } |
114 |
|
Double_t EmS9Energy() const { return fEmS9Energy; } |
115 |
|
Double_t GetDX(Int_t iStation) const; |
145 |
|
Double_t IsoR05HoEt() const { return fIsoR05HoEt; } |
146 |
|
UShort_t IsoR05NTracks() const { return fIsoR05NTracks; } |
147 |
|
UShort_t IsoR05NJets() const { return fIsoR05NJets; } |
148 |
+ |
UInt_t NValidHits() const { return fNValidHits; } |
149 |
|
UInt_t NChambers() const { return fNTraversedChambers; } |
150 |
|
UInt_t NSegments() const { return fStationMask.NBitsSet(); } |
151 |
+ |
UInt_t NMatches() const { return fNMatches; } |
152 |
|
Int_t LastHit() const; |
153 |
|
Int_t LastStation(Double_t iMaxD, Double_t iMaxP) const; |
154 |
|
Int_t LastStation(Int_t iMax=8) const; |
172 |
|
{ fTrkTrkRef = t; ClearMom(); ClearCharge(); } |
173 |
|
void SetDX(Int_t iStation, Double_t iDX); |
174 |
|
void SetDY(Int_t iStation, Double_t iDY); |
175 |
< |
void SetEmEnergy(Double_t EmEnergy) { fEmEnergy = EmEnergy; } |
176 |
< |
void SetEmS9Energy(Double_t EmS9Energy) { fEmS9Energy = EmS9Energy; } |
177 |
< |
void SetHadEnergy(Double_t HadEnergy) { fHadEnergy = HadEnergy; } |
178 |
< |
void SetHadS9Energy(Double_t HadS9Energy) { fHadS9Energy = HadS9Energy; } |
179 |
< |
void SetHoEnergy(Double_t HoEnergy) { fHoEnergy = HoEnergy; } |
180 |
< |
void SetHoS9Energy(Double_t HoS9Energy) { fHoS9Energy = HoS9Energy; } |
175 |
> |
void SetD0PV(Double_t x) { fD0PV = x; } |
176 |
> |
void SetD0PVErr(Double_t x) { fD0PVErr = x; } |
177 |
> |
void SetIp3dPV(Double_t x) { fIp3dPV = x; } |
178 |
> |
void SetIp3dPVErr(Double_t x) { fIp3dPVErr = x; } |
179 |
> |
void SetD0PVBS(Double_t x) { fD0PVBS = x; } |
180 |
> |
void SetD0PVBSErr(Double_t x) { fD0PVBSErr = x; } |
181 |
> |
void SetIp3dPVBS(Double_t x) { fIp3dPVBS = x; } |
182 |
> |
void SetIp3dPVBSErr(Double_t x) { fIp3dPVBSErr = x; } |
183 |
> |
void SetD0PVUB(Double_t x) { fD0PVUB = x; } |
184 |
> |
void SetD0PVUBErr(Double_t x) { fD0PVUBErr = x; } |
185 |
> |
void SetIp3dPVUB(Double_t x) { fIp3dPVUB = x; } |
186 |
> |
void SetIp3dPVUBErr(Double_t x) { fIp3dPVUBErr = x; } |
187 |
> |
void SetD0PVUBBS(Double_t x) { fD0PVUBBS = x; } |
188 |
> |
void SetD0PVUBBSErr(Double_t x) { fD0PVUBBSErr = x; } |
189 |
> |
void SetIp3dPVUBBS(Double_t x) { fIp3dPVUBBS = x; } |
190 |
> |
void SetIp3dPVUBBSErr(Double_t x) { fIp3dPVUBBSErr = x; } |
191 |
> |
void SetPVCompatibility(Double_t x) { fPVCompatibility = x; } |
192 |
> |
void SetPVBSCompatibility(Double_t x) { fPVBSCompatibility = x; } |
193 |
> |
void SetTrkKink(Double_t x) { fTrkKink = x; } |
194 |
> |
void SetGlbKink(Double_t x) { fGlbKink = x; } |
195 |
> |
void SetEmEnergy(Double_t emEnergy) { fEmEnergy = emEnergy; } |
196 |
> |
void SetEmS9Energy(Double_t emS9Energy) { fEmS9Energy = emS9Energy; } |
197 |
> |
void SetHadEnergy(Double_t hadEnergy) { fHadEnergy = hadEnergy; } |
198 |
> |
void SetHadS9Energy(Double_t hadS9Energy) { fHadS9Energy = hadS9Energy; } |
199 |
> |
void SetHoEnergy(Double_t hoEnergy) { fHoEnergy = hoEnergy; } |
200 |
> |
void SetHoS9Energy(Double_t hoS9Energy) { fHoS9Energy = hoS9Energy; } |
201 |
|
void SetIsGlobalMuon(Bool_t b) { fIsGlobalMuon = b; } |
202 |
|
void SetIsTrackerMuon(Bool_t b) { fIsTrackerMuon = b; } |
203 |
|
void SetIsStandaloneMuon(Bool_t b) { fIsStandaloneMuon = b; } |
214 |
|
void SetIsoR05HoEt(Double_t isoR05HoEt) { fIsoR05HoEt = isoR05HoEt; } |
215 |
|
void SetIsoR05NTracks(UShort_t isoR05NTrk) { fIsoR05NTracks = isoR05NTrk; } |
216 |
|
void SetIsoR05NJets(UShort_t isoR05NJets) { fIsoR05NJets = isoR05NJets; } |
217 |
+ |
void SetNValidHits(UShort_t iNValidHits) { fNValidHits = iNValidHits; } |
218 |
|
void SetNChambers(UShort_t iNTraCh) { fNTraversedChambers = iNTraCh; } |
219 |
< |
void SetNSegments(Int_t iStation, Int_t NSegments); |
219 |
> |
void SetNSegments(Int_t iStation, Int_t nSegments); |
220 |
> |
void SetNMatches(UShort_t iNMatCh) { fNMatches = iNMatCh; } |
221 |
|
void SetPtEtaPhi(Double_t pt, Double_t eta, Double_t phi); |
222 |
|
void SetPullX(Int_t iStation, Double_t iPullX); |
223 |
|
void SetPullY(Int_t iStation, Double_t iPullY); |
253 |
|
Double32_t fEmS9Energy; //[0,0,14]energy deposit in 3x3 ecal |
254 |
|
Double32_t fHadS9Energy; //[0,0,14]energy deposit in 3x3 hcal |
255 |
|
Double32_t fHoS9Energy; //[0,0,14]energy deposit in 3x3 outer hcal |
256 |
+ |
Double32_t fD0PV; //[0,0,14]transverse impact parameter to signal PV |
257 |
+ |
Double32_t fD0PVErr; //[0,0,14]transverse impact parameter uncertainty to signal PV |
258 |
+ |
Double32_t fIp3dPV; //[0,0,14]3d impact parameter to signal PV |
259 |
+ |
Double32_t fIp3dPVErr; //[0,0,14]3d impact parameter uncertainty to signal PV |
260 |
+ |
Double32_t fD0PVBS; //[0,0,14]transverse impact parameter to signal PV w/ bs constraint |
261 |
+ |
Double32_t fD0PVBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PV w/ bs constraint |
262 |
+ |
Double32_t fIp3dPVBS; //[0,0,14]3d impact parameter to signal PV w/ bs constraint |
263 |
+ |
Double32_t fIp3dPVBSErr; //[0,0,14]3d impact parameter uncertainty to signal PV w/ bs constraint |
264 |
+ |
Double32_t fPVCompatibility; //[0,0,14]chi^2 compatibility with signal PV (ndof=2) |
265 |
+ |
Double32_t fPVBSCompatibility; //[0,0,14]chi^2 compatibility with signal PV w/ bs constraint (ndof=2) |
266 |
+ |
Double32_t fD0PVUB; //[0,0,14]transverse impact parameter to signal PVUB (unbiased primary vertex - refit removing lepton track) |
267 |
+ |
Double32_t fD0PVUBErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB |
268 |
+ |
Double32_t fIp3dPVUB; //[0,0,14]3d impact parameter to signal PVUB |
269 |
+ |
Double32_t fIp3dPVUBErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB |
270 |
+ |
Double32_t fD0PVUBBS; //[0,0,14]transverse impact parameter to signal PVUB w/ bs constraint |
271 |
+ |
Double32_t fD0PVUBBSErr; //[0,0,14]transverse impact parameter uncertainty to signal PVUB w/ bs constraint |
272 |
+ |
Double32_t fIp3dPVUBBS; //[0,0,14]3d impact parameter to signal PVUB w/ bs constraint |
273 |
+ |
Double32_t fIp3dPVUBBSErr; //[0,0,14]3d impact parameter uncertainty to signal PVUB w/ bs constraint |
274 |
+ |
Double32_t fTrkKink; //[0,0,14]kink algorithm output (tracker track) |
275 |
+ |
Double32_t fGlbKink; //[0,0,14]kink algorithm output (global track) |
276 |
+ |
UShort_t fNValidHits; //number of Valid hits in global fit |
277 |
|
UShort_t fNTraversedChambers; //number of traversed chambers |
278 |
+ |
UShort_t fNMatches; //number of muon chambers with matches |
279 |
|
MuonQuality fQuality; //muon quality |
280 |
|
BitMask8 fStationMask; //bitmap of station with tracks, 0-3 DT, 4-7 CSCs |
281 |
|
Double32_t fDX[8]; //[0,0,14]uncertainty in x in given muon chamber |
290 |
|
Bool_t fIsStandaloneMuon; //StandaloneMuon algo flag |
291 |
|
Bool_t fIsCaloMuon; //CaloMuon algo flag |
292 |
|
|
293 |
< |
ClassDef(Muon, 3) // Muon class |
293 |
> |
ClassDef(Muon, 8) // Muon class |
294 |
|
}; |
295 |
|
} |
296 |
|
|
299 |
|
{ |
300 |
|
// Return "best" track. |
301 |
|
|
302 |
< |
if (HasGlobalTrk()) |
228 |
< |
return GlobalTrk(); |
229 |
< |
else if (HasTrackerTrk()) |
302 |
> |
if (HasTrackerTrk()) |
303 |
|
return TrackerTrk(); |
304 |
+ |
else if (HasGlobalTrk()) |
305 |
+ |
return GlobalTrk(); |
306 |
|
else if (HasStandaloneTrk()) |
307 |
|
return StandaloneTrk(); |
308 |
|
|
653 |
|
} |
654 |
|
|
655 |
|
//-------------------------------------------------------------------------------------------------- |
656 |
< |
inline void mithep::Muon::SetNSegments(Int_t iStation, Int_t NSegments) |
656 |
> |
inline void mithep::Muon::SetNSegments(Int_t iStation, Int_t nSegments) |
657 |
|
{ |
658 |
|
// Set number of segments in chamber. |
659 |
|
|
660 |
|
assert(iStation >= 0 && iStation < 8); |
661 |
< |
fNSegments[iStation] = NSegments; |
661 |
> |
fNSegments[iStation] = nSegments; |
662 |
|
} |
663 |
|
|
664 |
|
//------------------------------------------------------------------------------------------------- |