Storing impact parameters in the ESD track (Yu.Belikov)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Oct 2004 13:14:02 +0000 (13:14 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Oct 2004 13:14:02 +0000 (13:14 +0000)
ITS/AliITStrackerMI.cxx
ITS/AliITStrackerV2.cxx
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h

index 47af8e6863bcb842bfc626a3758f2b79f5d47067..e7f69d5b0b1d01cc2dcd2045ebb1d88d52fc2898 100644 (file)
@@ -462,6 +462,9 @@ Int_t AliITStrackerMI::RefitInward(AliESD *event) {
 
         if (fTrackToFollow.Propagate(fv+a,xv)) {
             fTrackToFollow.UpdateESDtrack(AliESDtrack::kITSrefit);
+            Float_t d=fTrackToFollow.GetD(GetX(),GetY());
+            Float_t z=fTrackToFollow.GetZ()-GetZ();
+            fTrackToFollow.GetESDtrack()->SetImpactParameters(d,z);
             //UseClusters(&fTrackToFollow);
             {
             AliITSclusterV2 c; c.SetY(yv); c.SetZ(GetZ());
index e57517be4ce8c5d961aa9751e5f0c454bf8fc9ac..bb19687bc316237877ec43048e1ad6a71cd7f4e6 100644 (file)
@@ -376,6 +376,9 @@ Int_t AliITStrackerV2::RefitInward(AliESD *event) {
 
         if (fTrackToFollow.Propagate(fv+a,xv)) {
             fTrackToFollow.UpdateESDtrack(AliESDtrack::kITSrefit);
+            Float_t d=fTrackToFollow.GetD(GetX(),GetY());
+            Float_t z=fTrackToFollow.GetZ()-GetZ();
+            fTrackToFollow.GetESDtrack()->SetImpactParameters(d,z);
             UseClusters(&fTrackToFollow);
             {
             AliITSclusterV2 c; c.SetY(yv); c.SetZ(GetZ());
index eb33fc742bca78a35368d2d2450c885041218d6a..8fd19354fcb165a07d3ee090c300f573b291aca4 100644 (file)
@@ -33,6 +33,8 @@ AliESDtrack::AliESDtrack() :
 fFlags(0),
 fLabel(0),
 fTrackLength(0),
+fD(0),
+fZ(0),
 fStopVertex(0),
 fRalpha(0),
 fRx(0),
@@ -116,6 +118,7 @@ AliESDtrack::AliESDtrack(const AliESDtrack& track):TObject(track){
   fFlags = track.fFlags;
   fLabel =track.fLabel;
   fTrackLength =track.fTrackLength;
+  fD=track.fD; fZ=track.fZ;
   for (Int_t i=0;i<kSPECIES;i++) fTrackTime[i] =track.fTrackTime[i];
   for (Int_t i=0;i<kSPECIES;i++)  fR[i] =track.fR[i];
   fStopVertex =track.fStopVertex;
index 55322e2ceeae6a44f67e71b3245436ad44bf5792..81f21c3bb507c6a74bbf0ce84c3466c68010cadf 100644 (file)
@@ -38,6 +38,7 @@ public:
   void SetStatus(ULong_t flags) {fFlags|=flags;}
   void ResetStatus(ULong_t flags) {fFlags&=~flags;}
   Bool_t UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags);
+  void SetImpactParameters(Float_t xy,Float_t z) {fD=xy; fZ=z;}
   void SetIntegratedLength(Double_t l) {fTrackLength=l;}
   void SetIntegratedTimes(const Double_t *times);
   void SetESDpid(const Double_t *p);
@@ -53,6 +54,7 @@ public:
   Bool_t GetPxPyPzAt(Double_t x, Double_t p[3]) const;
   Bool_t GetXYZAt(Double_t x, Double_t r[3]) const;
 
+  void GetImpactParameters(Float_t &xy,Float_t &z) const {xy=fD; z=fZ;}
   Double_t GetIntegratedLength() const {return fTrackLength;}
   void GetIntegratedTimes(Double_t *times) const;
   Double_t GetMass() const;
@@ -186,7 +188,9 @@ protected:
   ULong_t   fFlags;        // Reconstruction status flags 
   Int_t     fLabel;        // Track label
   Int_t     fID;           // Unique ID of the track
-  Float_t   fTrackLength;         // Track length
+  Float_t   fTrackLength;  // Track length
+  Float_t   fD;            // Impact parameter in XY-plane
+  Float_t   fZ;            // Impact parameter in Z 
   Float_t   fTrackTime[kSPECIES]; // TOFs estimated by the tracking
   Float_t   fR[kSPECIES];         // combined "detector response probability"
 
@@ -274,7 +278,7 @@ protected:
   Float_t fRICHsignal;     // detector's PID signal (beta for RICH)
   Float_t fRICHr[kSPECIES];// "detector response probabilities" (for the PID)
        
-  ClassDef(AliESDtrack,10)  //ESDtrack 
+  ClassDef(AliESDtrack,11)  //ESDtrack 
 };
 
 #endif