]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITStrackV2.cxx
(martin) pt vs eta correction matrix calculation macro using CorrectionMatrix2D class.
[u/mrichter/AliRoot.git] / ITS / AliITStrackV2.cxx
index 53ef4b6c61fc9fb019d13718416e32ec4931d355..60834d30969a9ff5fecc2df77163e79ee2bfa672 100644 (file)
@@ -57,7 +57,7 @@ AliITStrackV2::AliITStrackV2():AliKalmanTrack(),
   fC44(0),
   fESDtrack(0)
 {
-    for(Int_t i=0; i<kMaxLayer; i++) fIndex[i]=0;
+    for(Int_t i=0; i<2*kMaxLayer; i++) fIndex[i]=-1;
     for(Int_t i=0; i<4; i++) fdEdxSample[i]=0;
 }
 
@@ -133,11 +133,10 @@ AliITStrackV2::AliITStrackV2(const AliITStrackV2& t) : AliKalmanTrack(t) {
   fC30=t.fC30;  fC31=t.fC31;  fC32=t.fC32;  fC33=t.fC33;
   fC40=t.fC40;  fC41=t.fC41;  fC42=t.fC42;  fC43=t.fC43;  fC44=t.fC44;
 
-  Int_t n=GetNumberOfClusters();
-  for (Int_t i=0; i<n; i++) {
-    fIndex[i]=t.fIndex[i];
-    if (i<4) fdEdxSample[i]=t.fdEdxSample[i];
-  }
+  Int_t i;
+  for (i=0; i<2*kMaxLayer; i++) fIndex[i]=t.fIndex[i];
+  for (i=0; i<4; i++) fdEdxSample[i]=t.fdEdxSample[i];
+
   fESDtrack=t.fESDtrack;
 }
 
@@ -761,3 +760,13 @@ PropagateToDCA(AliKalmanTrack *p, Double_t d, Double_t x0) {
 
   return dca;
 } 
+
+Double_t AliITStrackV2::Get1Pt() const {
+  //--------------------------------------------------------------
+  // 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,fP4) + fP4)*GetLocalConvConst();
+}