]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Additional shapshots of the track parameters (ITSout, TPCout, TRDin) stored in the...
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 15 May 2009 12:07:19 +0000 (12:07 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 15 May 2009 12:07:19 +0000 (12:07 +0000)
STEER/AliESDfriendTrack.cxx
STEER/AliESDfriendTrack.h
STEER/AliESDtrack.cxx

index f3ac19856d07f6d2450f5fddc1b05c31faa96fdb..2373b868566b6378ffca75b6c0504d36da7a5aff 100644 (file)
@@ -31,7 +31,10 @@ f1P(0),
 fPoints(0),
 fCalibContainer(0),
 fITStrack(0),
-fTRDtrack(0)
+fTRDtrack(0),
+fTPCOut(0),
+fITSOut(0),
+fTRDIn(0)
 {
   //
   // Default constructor
@@ -48,7 +51,10 @@ f1P(t.f1P),
 fPoints(0),
 fCalibContainer(0),
 fITStrack(0),
-fTRDtrack(0)
+fTRDtrack(0),
+fTPCOut(0),
+fITSOut(0),
+fTRDIn(0)
 {
   //
   // Copy constructor
@@ -66,6 +72,10 @@ fTRDtrack(0)
        fCalibContainer->AddLast(o->Clone());
      }  
   }
+
+  if (t.fTPCOut) fTPCOut = new AliExternalTrackParam(*(t.fTPCOut));
+  if (t.fITSOut) fITSOut = new AliExternalTrackParam(*(t.fITSOut));
+  if (t.fTRDIn)  fTRDIn = new AliExternalTrackParam(*(t.fTRDIn));
 }
 
 AliESDfriendTrack::~AliESDfriendTrack() {
@@ -77,6 +87,9 @@ AliESDfriendTrack::~AliESDfriendTrack() {
    delete fCalibContainer;
    delete fITStrack;
    delete fTRDtrack;
+   delete fTPCOut;
+   delete fITSOut;
+   delete fTRDIn;
 }
 
 
@@ -97,3 +110,27 @@ TObject * AliESDfriendTrack::GetCalibObject(Int_t index){
   if (index>=fCalibContainer->GetEntriesFast()) return 0;
   return fCalibContainer->At(index);
 }
+
+
+void AliESDfriendTrack::SetTPCOut(const AliExternalTrackParam &param) {
+  // 
+  // backup TPC out track
+  //
+  delete fTPCOut;
+  fTPCOut=new AliExternalTrackParam(param);
+} 
+void AliESDfriendTrack::SetITSOut(const AliExternalTrackParam &param) {
+  //
+  // backup ITS out track
+  //
+  delete fITSOut;
+  fITSOut=new AliExternalTrackParam(param);
+} 
+void AliESDfriendTrack::SetTRDIn(const AliExternalTrackParam  &param)  {
+  //
+  // backup TRD in track
+  //
+  delete fTRDIn;
+  fTRDIn=new AliExternalTrackParam(param);
+} 
+
index 8eb87636f449a5f12bacef3da4a91f3dd86fa426..e8ad549949a4b37e372941adde5e1164754fbfe5 100644 (file)
@@ -8,6 +8,7 @@
 //-------------------------------------------------------------------------
 
 #include <TObject.h>
+#include <AliExternalTrackParam.h>
 
 class AliTrackPointArray;
 class AliKalmanTrack;
@@ -40,6 +41,15 @@ public:
   AliKalmanTrack *GetITStrack() {return fITStrack;}
   void AddCalibObject(TObject * calibObject); 
   TObject * GetCalibObject(Int_t index);
+  //
+  // parameters backup
+  void SetTPCOut(const AliExternalTrackParam &param);
+  void SetITSOut(const AliExternalTrackParam &param);
+  void SetTRDIn(const AliExternalTrackParam  &param);
+  //
+  const AliExternalTrackParam * GetTPCOut(){return  fTPCOut;} 
+  const AliExternalTrackParam * GetITSOut() { return fITSOut;} 
+  const AliExternalTrackParam * GetTRDIn() { return fTRDIn;} 
 
 protected:
   Float_t f1P;                     // 1/P (1/(GeV/c))
@@ -50,11 +60,16 @@ protected:
   TObjArray      *fCalibContainer; //Array of objects for calibration    
   AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes) 
   AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes) 
-  
+  //
+  //
+  AliExternalTrackParam * fTPCOut; // tpc outer parameters
+  AliExternalTrackParam * fITSOut; // its outer parameters
+  AliExternalTrackParam * fTRDIn;  // trd inner parameters
+
 private:
   AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;}
 
-  ClassDef(AliESDfriendTrack,2) //ESD friend track
+  ClassDef(AliESDfriendTrack,3) //ESD friend track
 };
 
 #endif
index 5503629e9a04027fa47ec5be4a6528f3e04ec0fb..4596fbc39df6f50136341129fb3092055c560596 100644 (file)
@@ -1106,6 +1106,9 @@ Bool_t AliESDtrack::UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags){
   }
 
   Set(t->GetX(),t->GetAlpha(),t->GetParameter(),t->GetCovariance());
+  if (flags==kITSout) fFriendTrack->SetITSOut(*t);
+  if (flags==kTPCout) fFriendTrack->SetTPCOut(*t);
+  if (flags==kTRDin || flags==kTRDrefit) fFriendTrack->SetTRDIn(*t);
   
   switch (flags) {
     
@@ -1128,7 +1131,7 @@ Bool_t AliESDtrack::UpdateTrackParams(const AliKalmanTrack *t, ULong_t flags){
       if (!fOp) fOp=new AliExternalTrackParam(*t);
       else 
         fOp->Set(t->GetX(),t->GetAlpha(),t->GetParameter(),t->GetCovariance());
-    }      
+    }   
     break;
     
   case kTPCin: case kTPCrefit: