From ded25cc62e3806e2ee764830be7467f630d0e1ae Mon Sep 17 00:00:00 2001 From: hristov Date: Fri, 15 May 2009 12:07:19 +0000 Subject: [PATCH] Additional shapshots of the track parameters (ITSout, TPCout, TRDin) stored in the ESD friends for debug purposes (Marian) --- STEER/AliESDfriendTrack.cxx | 41 +++++++++++++++++++++++++++++++++++-- STEER/AliESDfriendTrack.h | 19 +++++++++++++++-- STEER/AliESDtrack.cxx | 5 ++++- 3 files changed, 60 insertions(+), 5 deletions(-) diff --git a/STEER/AliESDfriendTrack.cxx b/STEER/AliESDfriendTrack.cxx index f3ac19856d0..2373b868566 100644 --- a/STEER/AliESDfriendTrack.cxx +++ b/STEER/AliESDfriendTrack.cxx @@ -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 ¶m) { + // + // backup TPC out track + // + delete fTPCOut; + fTPCOut=new AliExternalTrackParam(param); +} +void AliESDfriendTrack::SetITSOut(const AliExternalTrackParam ¶m) { + // + // backup ITS out track + // + delete fITSOut; + fITSOut=new AliExternalTrackParam(param); +} +void AliESDfriendTrack::SetTRDIn(const AliExternalTrackParam ¶m) { + // + // backup TRD in track + // + delete fTRDIn; + fTRDIn=new AliExternalTrackParam(param); +} + diff --git a/STEER/AliESDfriendTrack.h b/STEER/AliESDfriendTrack.h index 8eb87636f44..e8ad549949a 100644 --- a/STEER/AliESDfriendTrack.h +++ b/STEER/AliESDfriendTrack.h @@ -8,6 +8,7 @@ //------------------------------------------------------------------------- #include +#include 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 ¶m); + void SetITSOut(const AliExternalTrackParam ¶m); + void SetTRDIn(const AliExternalTrackParam ¶m); + // + 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 diff --git a/STEER/AliESDtrack.cxx b/STEER/AliESDtrack.cxx index 5503629e9a0..4596fbc39df 100644 --- a/STEER/AliESDtrack.cxx +++ b/STEER/AliESDtrack.cxx @@ -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: -- 2.39.3