AliMuonForwardTrack updated (bug fixed)
authorauras <auras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Feb 2013 22:58:26 +0000 (22:58 +0000)
committerauras <auras@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Feb 2013 22:58:26 +0000 (22:58 +0000)
MFT/AliMuonForwardTrack.cxx

index 11d2e90..4e14221 100644 (file)
@@ -437,10 +437,11 @@ Double_t AliMuonForwardTrack::GetDCA(Double_t x, Double_t y, Double_t z) {
   // Distance of Closest Approach, according to the standard MUON terminology. Actually, the offset of the track w.r.t. the primary vertex,
   // where the extrapolation of the track DOES NOT include the MFT information
 
-  AliMUONTrackParam *param = GetTrackParamAtMUONCluster(0);
-  AliMUONTrackExtrap::ExtrapToVertexWithoutBranson(param, z);
-  Double_t dX = param->GetNonBendingCoor() - x;
-  Double_t dY = param->GetBendingCoor()    - y;
+  AliMUONTrackParam param = (*((AliMUONTrackParam*)(GetTrackParamAtMUONCluster(0))));
+
+  AliMUONTrackExtrap::ExtrapToVertexWithoutBranson(&param, z);
+  Double_t dX = param.GetNonBendingCoor() - x;
+  Double_t dY = param.GetBendingCoor()    - y;
   return TMath::Sqrt(dX*dX + dY*dY);
 
 }
@@ -451,9 +452,10 @@ Double_t AliMuonForwardTrack::GetMomentumSpectrometer(Double_t z) {
 
   // Momentum of the track at the primary vertex plane, where the extrapolation of the track DOES NOT include the MFT information
 
-  AliMUONTrackParam *param = GetTrackParamAtMUONCluster(0);
-  AliMUONTrackExtrap::ExtrapToVertexWithoutBranson(param, z);
-  return param->P();
+  AliMUONTrackParam param = (*((AliMUONTrackParam*)(GetTrackParamAtMUONCluster(0))));
+
+  AliMUONTrackExtrap::ExtrapToVertexWithoutBranson(&param, z);
+  return param.P();
 
 }
 
@@ -464,10 +466,12 @@ Double_t AliMuonForwardTrack::GetThetaAbs() {
   // it is the angle defined by the imaginary line goingo from the vertex to the exit point of the track at the end of the hadron absorber
   
   Double_t z = AliMUONConstants::AbsZEnd();
-  AliMUONTrackParam *param = GetTrackParamAtMFTCluster(0);
-  AliMUONTrackExtrap::ExtrapToZ(param, z);
-  Double_t x = param->GetNonBendingCoor();
-  Double_t y = param->GetBendingCoor();
+
+  AliMUONTrackParam param = (*((AliMUONTrackParam*)(GetTrackParamAtMUONCluster(0))));
+
+  AliMUONTrackExtrap::ExtrapToZ(&param, z);
+  Double_t x = param.GetNonBendingCoor();
+  Double_t y = param.GetBendingCoor();
 
   return 180. +TMath::ATan(TMath::Sqrt(x*x + y*y)/z)*TMath::RadToDeg();