Return the most probable momentum if the magnetic field is too weak and the momentum...
[u/mrichter/AliRoot.git] / TRD / AliTRDtrack.cxx
index bae91573ddac120eb8a1544291def8f36bc63286..488ec45ec54d0ad3624f3b65b17ebd48376a2259 100644 (file)
@@ -420,40 +420,6 @@ AliTRDtrack &AliTRDtrack::operator=(const AliTRDtrack &t)
 
 }
 
-// //____________________________________________________________________________
-// AliTRDtrack * AliTRDtrack::MakeTrack(const AliTrackReference *ref, Double_t mass)
-// {
-//   //
-//   // Make dummy track from the track reference 
-//   // negative mass means opposite charge 
-//   //
-//   Double_t xx[5];
-//   Double_t cc[15];
-//   for (Int_t i=0;i<15;i++) cc[i]=0;
-//   Double_t x = ref->X(), y = ref->Y(), z = ref->Z();
-//   Double_t alpha = TMath::ATan2(y,x);
-//   Double_t xr = TMath::Sqrt(x*x+y*y);
-//   xx[0] = 0;
-//   xx[1] = z;
-//   xx[3] = ref->Pz()/ref->Pt();
-//   Float_t b[3];
-//   Float_t xyz[3]={x,y,z};
-//   Float_t convConst = 0;
-//   (AliKalmanTrack::GetFieldMap())->Field(xyz,b);
-//   convConst=1000/0.299792458/(1e-13 - b[2]);
-//   xx[4] = 1./(convConst*ref->Pt());
-//   if (mass<0) xx[4]*=-1.;  // negative mass - negative direction
-//   Double_t lcos = (x*ref->Px()+y*ref->Py())/(xr*ref->Pt());
-//   Double_t lsin = TMath::Sin(TMath::ACos(lcos));
-//   if (mass<0) lsin*=-1.;
-//   xx[2]   = xr*xx[4]-lsin;
-//   AliTRDcluster cl;
-//   AliTRDtrack * track = new  AliTRDtrack(&cl,100,xx,cc,xr,alpha);
-//   track->SetMass(TMath::Abs(mass));
-//   track->StartTimeIntegral();  
-//   return track;
-// }
-
 //____________________________________________________________________________
 Float_t AliTRDtrack::StatusForTOF()
 {
@@ -477,22 +443,6 @@ Float_t AliTRDtrack::StatusForTOF()
 
 }
             
-//____________________________________________________________________________
-void AliTRDtrack::GetExternalParameters(Double_t& xr, Double_t x[5]) const 
-{
-  //
-  // This function returns external TRD track representation
-  //
-
-  xr   = fX;
-  x[0] = GetY();
-  x[1] = GetZ();
-  x[2] = GetSnp();
-  x[3] = GetTgl();
-  x[4] = Get1Pt();
-
-}           
-
 //_____________________________________________________________________________
 void AliTRDtrack::GetExternalCovariance(Double_t cc[15]) const 
 {
@@ -1442,12 +1392,13 @@ Int_t AliTRDtrack::GetSector() const
 //_____________________________________________________________________________
 Double_t  AliTRDtrack::Get1Pt() const                       
 { 
-  //
-  // Returns 1 / pt
-  //
-
-  return (TMath::Sign(1e-9,fC) + fC)*GetLocalConvConst(); 
-
+  //--------------------------------------------------------------
+  // Returns the inverse Pt (1/GeV/c)
+  // (or 1/"most probable pt", if the field is too weak)
+  //--------------------------------------------------------------
+  if (TMath::Abs(GetLocalConvConst()) > kVeryBigConvConst)
+      return 1./kMostProbableMomentum/TMath::Sqrt(1.+ GetTgl()*GetTgl());
+  return (TMath::Sign(1e-9,fC) + fC)*GetLocalConvConst();
 }
 
 //_____________________________________________________________________________