Possibility to store the track parameters reconstructed with TPC only (Marian)
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 3 Aug 2007 16:10:08 +0000 (16:10 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 3 Aug 2007 16:10:08 +0000 (16:10 +0000)
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h

index 433bd67..13ef79e 100644 (file)
@@ -71,6 +71,7 @@ AliESDtrack::AliESDtrack() :
   fCp(0),
   fCchi2(1e10),
   fIp(0),
+  fTPCInner(0),
   fOp(0),
   fITSchi2(0),
   fITSncls(0),
@@ -153,6 +154,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
   fCp(0),
   fCchi2(track.fCchi2),
   fIp(0),
+  fTPCInner(0),
   fOp(0),
   fITSchi2(track.fITSchi2),
   fITSncls(track.fITSncls),
@@ -222,6 +224,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):
 
   if (track.fCp) fCp=new AliExternalTrackParam(*track.fCp);
   if (track.fIp) fIp=new AliExternalTrackParam(*track.fIp);
+  if (track.fTPCInner) fTPCInner=new AliExternalTrackParam(*track.fTPCInner);
   if (track.fOp) fOp=new AliExternalTrackParam(*track.fOp);
 
   if (track.fFriendTrack) fFriendTrack=new AliESDfriendTrack(*(track.fFriendTrack));
@@ -240,6 +243,7 @@ AliESDtrack::AliESDtrack(TParticle * part) :
   fCp(0),
   fCchi2(1e10),
   fIp(0),
+  fTPCInner(0),
   fOp(0),
   fITSchi2(0),
   fITSncls(0),
@@ -406,6 +410,7 @@ AliESDtrack::~AliESDtrack(){
   //
   //printf("Delete track\n");
   delete fIp; 
+  delete fTPCInner; 
   delete fOp;
   delete fCp; 
   delete fFriendTrack;
@@ -449,7 +454,7 @@ void AliESDtrack::MakeMiniESDtrack(){
 
   // Reset track parameters at the inner wall of TPC
   fIp = 0;
-
+  fTPCInner=0;
   // Reset track parameters at the inner wall of the TRD
   fOp = 0;
 
@@ -582,6 +587,7 @@ Bool_t AliESDtrack::UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags){
     
   case kTPCin: case kTPCrefit:
     fTPCLabel = t->GetLabel();
+    if (flags==kTPCin)  fTPCInner=new AliExternalTrackParam(*t);
     if (!fIp) fIp=new AliExternalTrackParam(*t);
     else 
       fIp->Set(t->GetX(),t->GetAlpha(),t->GetParameter(),t->GetCovariance());
index 848eb47..2f0077a 100644 (file)
@@ -82,6 +82,8 @@ public:
               (Double_t &alpha, Double_t &x, Double_t p[5]) const;
   Bool_t GetConstrainedExternalCovariance(Double_t cov[15]) const;
   Double_t GetConstrainedChi2() const {return fCchi2;}
+  //
+    
 
 
   Bool_t GetInnerPxPyPz(Double_t *p) const {
@@ -89,6 +91,7 @@ public:
     return fIp->GetPxPyPz(p);
   }
   const AliExternalTrackParam * GetInnerParam() const { return fIp;}
+  const AliExternalTrackParam * GetTPCInnerParam() const {return fTPCInner;}
   Bool_t GetInnerXYZ(Double_t *r) const {
     if (!fIp) return kFALSE;
     return fIp->GetXYZ(r);
@@ -297,6 +300,7 @@ protected:
 
 
   AliExternalTrackParam *fIp; // Track parameters at the first measured point (TPC)
+  AliExternalTrackParam *fTPCInner; // Track parameters at the first measured point (TPC) - first itteration
 
 
   AliExternalTrackParam *fOp; // Track parameters at the last measured point (TPC or TRD) 
@@ -373,7 +377,7 @@ protected:
 
   AliESDtrack & operator=(const AliESDtrack & ) {return *this;}
 
-  ClassDef(AliESDtrack,38)  //ESDtrack 
+  ClassDef(AliESDtrack,39)  //ESDtrack 
 };
 
 #endif