fXAtVertex(0),
fYAtVertex(0),
fRAtAbsorberEnd(0),
+ fCovariances(0),
fChi2OverNdf(0),
fChi2MatchTrigger(0),
fLabel(-1),
// Default constructor
+ fProdVertexXYZ[0]=0;
+ fProdVertexXYZ[1]=0;
+ fProdVertexXYZ[2]=0;
+
}
//====================================================================================================================================================
fXAtVertex(0),
fYAtVertex(0),
fRAtAbsorberEnd(0),
+ fCovariances(0),
fChi2OverNdf(0),
fChi2MatchTrigger(0),
fLabel(-1),
SetPxPyPz(px, py, pz);
+ fProdVertexXYZ[0]=0;
+ fProdVertexXYZ[1]=0;
+ fProdVertexXYZ[2]=0;
+
}
//====================================================================================================================================================
fXAtVertex(muonTrack.fXAtVertex),
fYAtVertex(muonTrack.fYAtVertex),
fRAtAbsorberEnd(muonTrack.fRAtAbsorberEnd),
+ fCovariances(0),
fChi2OverNdf(muonTrack.fChi2OverNdf),
fChi2MatchTrigger(muonTrack.fChi2MatchTrigger),
fLabel(muonTrack.fLabel),
// Copy constructor
+ fProdVertexXYZ[0]=muonTrack.fProdVertexXYZ[0];
+ fProdVertexXYZ[1]=muonTrack.fProdVertexXYZ[1];
+ fProdVertexXYZ[2]=muonTrack.fProdVertexXYZ[2];
+
+ if (muonTrack.fCovariances) fCovariances = new TMatrixD(*(muonTrack.fCovariances));
+
}
//====================================================================================================================================================
fIsConnected = muonTrack.fIsConnected;
fESDEvent = muonTrack.fESDEvent;
+ fProdVertexXYZ[0]=muonTrack.fProdVertexXYZ[0];
+ fProdVertexXYZ[1]=muonTrack.fProdVertexXYZ[1];
+ fProdVertexXYZ[2]=muonTrack.fProdVertexXYZ[2];
+
+ if (muonTrack.fCovariances) {
+ if (fCovariances) *fCovariances = *(muonTrack.fCovariances);
+ else fCovariances = new TMatrixD(*(muonTrack.fCovariances));
+ }
+ else {
+ delete fCovariances;
+ fCovariances = 0x0;
+ }
+
return *this;
}
}
//====================================================================================================================================================
+
+const TMatrixD& AliESDMuonGlobalTrack::GetCovariances() const {
+
+ // Return the covariance matrix (create it before if needed)
+
+ if (!fCovariances) {
+ fCovariances = new TMatrixD(5,5);
+ fCovariances->Zero();
+ }
+ return *fCovariances;
+
+}
+
+//====================================================================================================================================================
+
+void AliESDMuonGlobalTrack::SetCovariances(const TMatrixD& covariances) {
+
+ // Set the covariance matrix
+
+ if (fCovariances) *fCovariances = covariances;
+ else fCovariances = new TMatrixD(covariances);
+
+}
+
+//====================================================================================================================================================