//_____________________________________________________________________________
AliESDMuonTrack::AliESDMuonTrack ():
AliVParticle(),
- fInverseBendingMomentum(0),
+ fInverseBendingMomentum(FLT_MAX),
fThetaX(0),
fThetaY(0),
fZ(0),
fBendingCoor(0),
fNonBendingCoor(0),
- fInverseBendingMomentumAtDCA(0),
+ fInverseBendingMomentumAtDCA(FLT_MAX),
fThetaXAtDCA(0),
fThetaYAtDCA(0),
fBendingCoorAtDCA(0),
fNonBendingCoorAtDCA(0),
- fInverseBendingMomentumUncorrected(0),
+ fInverseBendingMomentumUncorrected(FLT_MAX),
fThetaXUncorrected(0),
fThetaYUncorrected(0),
fZUncorrected(0),
fChi2(0),
fChi2MatchTrigger(0),
fLocalTrigger(0),
+ fX1Pattern(0),
+ fY1Pattern(0),
+ fX2Pattern(0),
+ fY2Pattern(0),
+ fX3Pattern(0),
+ fY3Pattern(0),
+ fX4Pattern(0),
+ fY4Pattern(0),
fMuonClusterMap(0),
fHitsPatternInTrigCh(0),
fNHit(0),
fChi2(muonTrack.fChi2),
fChi2MatchTrigger(muonTrack.fChi2MatchTrigger),
fLocalTrigger(muonTrack.fLocalTrigger),
+ fX1Pattern(muonTrack.fX1Pattern),
+ fY1Pattern(muonTrack.fY1Pattern),
+ fX2Pattern(muonTrack.fX2Pattern),
+ fY2Pattern(muonTrack.fY2Pattern),
+ fX3Pattern(muonTrack.fX3Pattern),
+ fY3Pattern(muonTrack.fY3Pattern),
+ fX4Pattern(muonTrack.fX4Pattern),
+ fY4Pattern(muonTrack.fY4Pattern),
fMuonClusterMap(muonTrack.fMuonClusterMap),
fHitsPatternInTrigCh(muonTrack.fHitsPatternInTrigCh),
fNHit(muonTrack.fNHit),
fNHit = muonTrack.fNHit;
fLocalTrigger = muonTrack.fLocalTrigger;
+ fX1Pattern = muonTrack.fX1Pattern;
+ fY1Pattern = muonTrack.fY1Pattern;
+ fX2Pattern = muonTrack.fX2Pattern;
+ fY2Pattern = muonTrack.fY2Pattern;
+ fX3Pattern = muonTrack.fX3Pattern;
+ fY3Pattern = muonTrack.fY3Pattern;
+ fX4Pattern = muonTrack.fX4Pattern;
+ fY4Pattern = muonTrack.fY4Pattern;
fChi2MatchTrigger = muonTrack.fChi2MatchTrigger;
fHitsPatternInTrigCh = muonTrack.fHitsPatternInTrigCh;
return *this;
}
+void AliESDMuonTrack::Copy(TObject &obj) const {
+
+ // this overwrites the virtual TOBject::Copy()
+ // to allow run time copying without casting
+ // in AliESDEvent
+
+ if(this==&obj)return;
+ AliESDMuonTrack *robj = dynamic_cast<AliESDMuonTrack*>(&obj);
+ if(!robj)return; // not an AliESDMuonTrack
+ *robj = *this;
+
+}
+
+
//__________________________________________________________________________
AliESDMuonTrack::~AliESDMuonTrack()
{
if (fClusters) fClusters->Clear(opt);
}
+//__________________________________________________________________________
+void AliESDMuonTrack::Reset()
+{
+ /// Reset to default values
+ SetUniqueID(0);
+ fInverseBendingMomentum = FLT_MAX;
+ fThetaX = 0.;
+ fThetaY = 0.;
+ fZ = 0.;
+ fBendingCoor = 0.;
+ fNonBendingCoor = 0.;
+ fInverseBendingMomentumAtDCA = FLT_MAX;
+ fThetaXAtDCA = 0.;
+ fThetaYAtDCA = 0.;
+ fBendingCoorAtDCA = 0.;
+ fNonBendingCoorAtDCA = 0.;
+ fInverseBendingMomentumUncorrected = FLT_MAX;
+ fThetaXUncorrected = 0.;
+ fThetaYUncorrected = 0.;
+ fZUncorrected = 0.;
+ fBendingCoorUncorrected = 0.;
+ fNonBendingCoorUncorrected = 0.;
+ fChi2 = 0.;
+ fChi2MatchTrigger = 0.;
+ fLocalTrigger = 0;
+ fX1Pattern = 0;
+ fY1Pattern = 0;
+ fX2Pattern = 0;
+ fY2Pattern = 0;
+ fX3Pattern = 0;
+ fY3Pattern = 0;
+ fX4Pattern = 0;
+ fY4Pattern = 0;
+ fMuonClusterMap = 0;
+ fHitsPatternInTrigCh = 0;
+ fNHit = 0;
+ delete fClusters; fClusters = 0x0;
+ for (Int_t i = 0; i < 15; i++) fCovariances[i] = 0.;
+}
+
//_____________________________________________________________________________
void AliESDMuonTrack::GetCovariances(TMatrixD& cov) const
{
}
-//_____________________________________________________________________________
-void AliESDMuonTrack::AddInMuonClusterMap(Int_t chamber)
-{
- // Update the muon cluster map by adding this chamber(0..)
-
- static const UInt_t kMask[10] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200};
-
- fMuonClusterMap |= kMask[chamber];
-
-}
-
-//_____________________________________________________________________________
-Bool_t AliESDMuonTrack::IsInMuonClusterMap(Int_t chamber) const
-{
- // return kTRUE if this chamber(0..) is in the muon cluster map
-
- static const UInt_t kMask[10] = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200};
-
- return ((fMuonClusterMap | kMask[chamber]) == fMuonClusterMap) ? kTRUE : kFALSE;
-
-}
-
//_____________________________________________________________________________
Int_t AliESDMuonTrack::GetNClusters() const
{