diff --git a/core/data/CbmTrack.cxx b/core/data/CbmTrack.cxx index 2f3385eeb52f9de48d6eddad68ed8327c695de16..e05534bd8de16a1bb373c942b4d31d3204338c3a 100644 --- a/core/data/CbmTrack.cxx +++ b/core/data/CbmTrack.cxx @@ -27,8 +27,12 @@ CbmTrack::CbmTrack() , fPidHypo(0) , fParamFirst() , fParamLast() - , fTime(0.) - , fTimeError(0.) + , fStartTime(0.) + , fStartTimeError(0.) + , fFirstHitTime(0.) + , fFirstHitTimeError(0.) + , fLastHitTime(0.) + , fLastHitTimeError(0.) , fFlag(0) , fChiSq(0.) , fNDF(0) @@ -45,8 +49,12 @@ CbmTrack::CbmTrack(const CbmTrack& rhs) , fPidHypo(rhs.fPidHypo) , fParamFirst(rhs.fParamFirst) , fParamLast(rhs.fParamLast) - , fTime(rhs.fTime) - , fTimeError(rhs.fTimeError) + , fStartTime(rhs.fStartTime) + , fStartTimeError(rhs.fStartTimeError) + , fFirstHitTime(rhs.fFirstHitTime) + , fFirstHitTimeError(rhs.fFirstHitTimeError) + , fLastHitTime(rhs.fLastHitTime) + , fLastHitTimeError(rhs.fLastHitTimeError) , fFlag(rhs.fFlag) , fChiSq(rhs.fChiSq) , fNDF(rhs.fNDF) @@ -60,19 +68,23 @@ CbmTrack& CbmTrack::operator=(const CbmTrack& rhs) { if (this != &rhs) { - TObject::operator=(rhs); - fHitIndex = rhs.fHitIndex; - fHitType = rhs.fHitType; - fPidHypo = rhs.fPidHypo; - fParamFirst = rhs.fParamFirst; - fParamLast = rhs.fParamLast; - fTime = rhs.fTime; - fTimeError = rhs.fTimeError; - fFlag = rhs.fFlag; - fChiSq = rhs.fChiSq; - fNDF = rhs.fNDF; - fPreviousTrackId = rhs.fPreviousTrackId; - fMatch = nullptr; + TObject::operator =(rhs); + fHitIndex = rhs.fHitIndex; + fHitType = rhs.fHitType; + fPidHypo = rhs.fPidHypo; + fParamFirst = rhs.fParamFirst; + fParamLast = rhs.fParamLast; + fStartTime = rhs.fStartTime; + fStartTimeError = rhs.fStartTimeError; + fFirstHitTime = rhs.fFirstHitTime; + fFirstHitTimeError = rhs.fFirstHitTimeError; + fLastHitTime = rhs.fLastHitTime; + fLastHitTimeError = rhs.fLastHitTimeError; + fFlag = rhs.fFlag; + fChiSq = rhs.fChiSq; + fNDF = rhs.fNDF; + fPreviousTrackId = rhs.fPreviousTrackId; + fMatch = nullptr; } return *this; } diff --git a/core/data/CbmTrack.h b/core/data/CbmTrack.h index 5419d752c708fa27f31f8b080381eb07cc469c10..a6355625588b8f9573d63083426f9eafa2d75063 100644 --- a/core/data/CbmTrack.h +++ b/core/data/CbmTrack.h @@ -66,8 +66,12 @@ public: const FairTrackParam* GetParamFirst() const { return &fParamFirst; } const FairTrackParam* GetParamLast() const { return &fParamLast; } CbmMatch* GetMatch() const { return fMatch; } - double GetTime() const { return fTime; } - double GetTimeError() const { return fTimeError; } + double GetStartTime() const { return fStartTime; } + double GetStartTimeError() const { return fStartTimeError; } + double GetFirstHitTime() const { return fFirstHitTime; } + double GetFirstHitTimeError() const { return fFirstHitTimeError; } + double GetLastHitTime() const { return fLastHitTime; } + double GetLastHitTimeError() const { return fLastHitTimeError; } /** Modifiers **/ void SetPidHypo(int32_t pid) { fPidHypo = pid; } @@ -78,8 +82,12 @@ public: void SetParamFirst(const FairTrackParam* par) { fParamFirst = *par; } void SetParamLast(const FairTrackParam* par) { fParamLast = *par; } void SetMatch(CbmMatch* match); - void SetTime(double time) { fTime = time; } - void SetTimeError(double error) { fTimeError = error; } + void SetStartTime(double time) { fStartTime = time; } + void SetStartTimeError(double error) { fStartTimeError = error; } + void SetFirstHitTime(double time) { fFirstHitTime = time; } + void SetFirstHitTimeError(double error) { fFirstHitTimeError = error; } + void SetLastHitTime(double time) { fLastHitTime = time; } + void SetLastHitTimeError(double error) { fLastHitTimeError = error; } virtual std::string ToString() const; @@ -98,8 +106,16 @@ protected: FairTrackParam fParamLast; /** Track start time **/ - double fTime; - double fTimeError; + double fStartTime; + double fStartTimeError; + + /** Track time at the first hit **/ + double fFirstHitTime; + double fFirstHitTimeError; + + /** Track time at the last hit **/ + double fLastHitTime; + double fLastHitTimeError; /** Quality flag **/ int32_t fFlag; @@ -114,7 +130,7 @@ protected: /** Monte-Carlo information **/ CbmMatch* fMatch; - ClassDef(CbmTrack, 4); + ClassDef(CbmTrack, 5); }; #endif diff --git a/core/data/sts/CbmStsTrack.cxx b/core/data/sts/CbmStsTrack.cxx index 228e40a4d40b09dae1953129e0ad0f14d652831e..a1033a00a2462a1e2dc8098c13e5858d07172c8f 100644 --- a/core/data/sts/CbmStsTrack.cxx +++ b/core/data/sts/CbmStsTrack.cxx @@ -31,8 +31,8 @@ CbmStsTrack::~CbmStsTrack() {} std::string CbmStsTrack::ToString() const { stringstream ss; - ss << "CbmStsTrack: time " << fTime << " ns | hits STS " << GetNofStsHits() << " MVD " << GetNofMvdHits() << " | q/p " - << GetParamFirst()->GetQp() << " | chisq " << GetChiSq() << " | NDF " << GetNDF() << " | STS hits "; + ss << "CbmStsTrack: start time " << fStartTime << " ns | hits STS " << GetNofStsHits() << " MVD " << GetNofMvdHits() + << " | q/p " << GetParamFirst()->GetQp() << " | chisq " << GetChiSq() << " | NDF " << GetNDF() << " | STS hits "; for (int32_t iHit = 0; iHit < GetNofStsHits(); iHit++) { ss << GetStsHitIndex(iHit) << " "; } diff --git a/core/data/tof/CbmTofTrack.cxx b/core/data/tof/CbmTofTrack.cxx index bf7d3b601c4d93824f9d9069b7b6203febb60d7c..3e515abe0afb774ed390a8cd98a573793151ecef 100644 --- a/core/data/tof/CbmTofTrack.cxx +++ b/core/data/tof/CbmTofTrack.cxx @@ -32,8 +32,8 @@ CbmTofTrack::~CbmTofTrack() {} std::string CbmTofTrack::ToString() const { stringstream ss; - ss << "CbmTofTrack: time " << fTime << " ns | hits STS " << GetNofTofHits() << " | q/p " << GetParamFirst()->GetQp() - << " | chisq " << GetChiSq() << " | NDF " << GetNDF() << " | STS hits "; + ss << "CbmTofTrack: start time " << fStartTime << " ns | hits STS " << GetNofTofHits() << " | q/p " + << GetParamFirst()->GetQp() << " | chisq " << GetChiSq() << " | NDF " << GetNDF() << " | STS hits "; for (int32_t iHit = 0; iHit < GetNofTofHits(); iHit++) { ss << GetTofHitIndex(iHit) << " "; } diff --git a/reco/L1/L1Algo/L1TrackFitter.cxx b/reco/L1/L1Algo/L1TrackFitter.cxx index a876ab4fc062ab0faaf4fa4efe7ddb0c41b61934..e1b4f6bbed530469eef6944626dbe6359c633553 100644 --- a/reco/L1/L1Algo/L1TrackFitter.cxx +++ b/reco/L1/L1Algo/L1TrackFitter.cxx @@ -508,7 +508,7 @@ void L1Algo::L1KFTrackFitter() int ista = nStations - 1; time_last = iif(w_time[ista] > fvec::Zero(), time_last, fvec::Zero()); - dt2_last = iif(w_time[ista] > fvec::Zero(), dt2_last, fvec(100.)); + dt2_last = iif(w_time[ista] > fvec::Zero(), dt2_last, fvec(1.e6)); FilterFirst(fit, x_last, y_last, time_last, dt2_last, d_xx_lst, d_yy_lst, d_xy_lst); @@ -751,7 +751,7 @@ void L1Algo::L1KFTrackFitter() } } void L1Algo::GuessVecNoField(L1TrackParFit& t, fvec& x_last, fvec& x_2last, fvec& y_last, fvec& y_2last, fvec& z_end, - fvec& z_2last, fvec& time_last, fvec* w_time, fvec& dt2_last) + fvec& z_2last, fvec& time_last, fvec* /*w_time*/, fvec& dt2_last) { fvec dzi = fvec(1.) / (z_end - z_2last); diff --git a/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx b/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx index 83b66c29f6f3d4de0f872e4398847fc2a0120f21..cf98e78395ff4f8671a1f64ff6405f36bafe8d04 100644 --- a/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx +++ b/reco/L1/OffLineInterface/CbmL1GlobalTrackFinder.cxx @@ -209,8 +209,12 @@ void CbmL1GlobalTrackFinder::CbmL1TrackToCbmStsTrack(CbmL1Track l1track, CbmStsT track->SetChiSq(T->chi2); track->SetNDF(T->NDF); track->SetPidHypo(T->T[4] >= 0 ? 211 : -211); - track->SetTime(T->Tpv[6]); - track->SetTimeError(T->Cpv[20]); + track->SetStartTime(T->Tpv[6]); + track->SetStartTimeError(T->Cpv[20]); + track->SetFirstHitTime(T->T[6]); + track->SetFirstHitTimeError(T->C[20]); + track->SetLastHitTime(T->TLast[6]); + track->SetLastHitTimeError(T->CLast[20]); FairTrackParam fpar(*track->GetParamFirst()), lpar(*track->GetParamLast()); CbmKFMath::CopyTC2TrackParam(&fpar, T->T, T->C); diff --git a/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx b/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx index 4854d17432b798db03edd44de780e579e9959869..cce5fe7aec9d325778e25a85f4bfe66a77f89a85 100644 --- a/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx +++ b/reco/L1/OffLineInterface/CbmL1StsTrackFinder.cxx @@ -84,8 +84,12 @@ Int_t CbmL1StsTrackFinder::CopyL1Tracks(CbmEvent* event) t->SetChiSq(T.chi2); t->SetNDF(T.NDF); t->SetPidHypo(T.T[4] >= 0 ? 211 : -211); - t->SetTime(T.Tpv[6]); - t->SetTimeError(T.Cpv[20]); + t->SetStartTime(T.Tpv[6]); + t->SetStartTimeError(T.Cpv[20]); + t->SetFirstHitTime(T.T[6]); + t->SetFirstHitTimeError(T.C[20]); + t->SetLastHitTime(T.TLast[6]); + t->SetLastHitTimeError(T.CLast[20]); for (vector<int>::iterator ih = it->Hits.begin(); ih != it->Hits.end(); ++ih) { CbmL1HitStore& h = L1->fvHitStore[*ih]; diff --git a/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.cxx b/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.cxx index af07d374936f190ea8725c878550b8a4efbc27fc..c7d8ff69d38c6fd9c565f4412cbf9b7edafbd380 100644 --- a/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.cxx +++ b/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.cxx @@ -92,8 +92,8 @@ void CbmBuildEventsFromTracksReal::Exec(Option_t*) for (unsigned int iTrack = 0; iTrack < nTracks; iTrack++) { CbmStsTrack* track = (CbmStsTrack*) fStsTracks->At(iTrack); - Double_t time = track->GetTime(); - Double_t timeEr = track->GetTimeError(); + Double_t time = track->GetStartTime(); + Double_t timeEr = track->GetStartTimeError(); SortTracks structure; @@ -129,14 +129,14 @@ void CbmBuildEventsFromTracksReal::Exec(Option_t*) for (unsigned int iTrack = 0; iTrack < Tracks.size(); iTrack++) { if (Tracks[iTrack].used) continue; - float time1 = Tracks[iTrack].Track.GetTime(); - float timeC1 = Tracks[iTrack].Track.GetTimeError(); + float time1 = Tracks[iTrack].Track.GetStartTime(); + float timeC1 = Tracks[iTrack].Track.GetStartTimeError(); for (unsigned int iClusterTrack = 0; iClusterTrack < cluster.size(); iClusterTrack++) { CbmStsTrack* stsTrack = (CbmStsTrack*) fStsTracks->At(cluster[iClusterTrack]); - float time2 = stsTrack->GetTime(); - float timeC2 = stsTrack->GetTimeError(); + float time2 = stsTrack->GetStartTime(); + float timeC2 = stsTrack->GetStartTimeError(); float dt = fabs(time1 - time2); float error = sqrt(timeC1 + timeC2); ///&&???????????????? @@ -157,9 +157,9 @@ void CbmBuildEventsFromTracksReal::Exec(Option_t*) for (unsigned int iClusterTrack = 0; iClusterTrack < cluster.size(); iClusterTrack++) { CbmStsTrack* stsTrack = (CbmStsTrack*) fStsTracks->At(cluster[iClusterTrack]); - if (time_min > stsTrack->GetTime()) time_min = stsTrack->GetTime(); + if (time_min > stsTrack->GetStartTime()) time_min = stsTrack->GetStartTime(); - if (time_max < stsTrack->GetTime()) time_max = stsTrack->GetTime(); + if (time_max < stsTrack->GetStartTime()) time_max = stsTrack->GetStartTime(); } if (cluster.size() > 1) clusters.push_back(cluster); diff --git a/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.h b/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.h index 4792863af18c90e061678bbfb0ed25923913eee8..60e4be911d7691e4c073c3d72f09fd8a0282103b 100644 --- a/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.h +++ b/reco/eventbuilder/tracks/CbmBuildEventsFromTracksReal.h @@ -40,7 +40,7 @@ private: static bool CompareTrackTime(const SortTracks& a, const SortTracks& b) { - return (a.Track.GetTime() < b.Track.GetTime()); + return (a.Track.GetStartTime() < b.Track.GetStartTime()); } TClonesArray* fStsTracks; ///< Input array (class CbmStsDigi) diff --git a/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx b/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx index a5af7b979df06bcdc38ac0c1c477369e863bd4b3..4c54d22be79bbefcda62b742d8953078b7c2b09f 100644 --- a/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx +++ b/reco/eventbuilder/tracks/CbmEventBuilderQa.cxx @@ -323,7 +323,7 @@ void CbmEventBuilderQa::Exec(Option_t* /*opt*/) CbmStsTrack* track = (CbmStsTrack*) fStsTracks->At(iTrack); - fTimeHisto[0]->Fill(track->GetTime()); + fTimeHisto[0]->Fill(track->GetStartTime()); UInt_t NHits = track->GetNofStsHits(); @@ -381,8 +381,8 @@ void CbmEventBuilderQa::Exec(Option_t* /*opt*/) CbmMCTrack* mcTrack = (CbmMCTrack*) fMCTracks->Get(0, mcEvent, mcTrackId); double mcTime = mcTrack->GetStartT() + fEventList->GetEventTime(mcEvent + 1, link.GetFile()); - double residual = track->GetTime() - mcTime; - double pull = residual / track->GetTimeError(); + double residual = track->GetStartTime() - mcTime; + double pull = residual / track->GetStartTimeError(); fTimeHisto[1]->Fill(residual); fTimeHisto[2]->Fill(pull); } @@ -504,12 +504,12 @@ void CbmEventBuilderQa::Exec(Option_t* /*opt*/) CbmStsTrack* track = (CbmStsTrack*) fStsTracks->At(stsTrackIndex); - if ((track->GetTime()) > tLastTrack) tLastTrack = (track->GetTime()); - if ((track->GetTime()) < tFirstTrack) tFirstTrack = (track->GetTime()); + if ((track->GetStartTime()) > tLastTrack) tLastTrack = (track->GetStartTime()); + if ((track->GetStartTime()) < tFirstTrack) tFirstTrack = (track->GetStartTime()); double mcTime = mcTrack->GetStartT() + fEventList->GetEventTime(mcEvent + 1, link.GetFile()); - fTimeHisto[24]->Fill(fabs(track->GetTime() - mcTime) / track->GetTimeError()); + fTimeHisto[24]->Fill(fabs(track->GetStartTime() - mcTime) / track->GetStartTimeError()); if (fMCEvents[mcEvent].IsReconstructable()) EventMatch.AddTrack(mcEvent); @@ -518,8 +518,8 @@ void CbmEventBuilderQa::Exec(Option_t* /*opt*/) const int stsTrackIndex1 = event->GetStsTrackIndex(iTr1); CbmStsTrack* track1 = (CbmStsTrack*) fStsTracks->At(stsTrackIndex1); - fTimeHisto[25]->Fill(fabs(track->GetTime() - track1->GetTime()) - / sqrt(track->GetTimeError() + track1->GetTimeError())); + fTimeHisto[25]->Fill(fabs(track->GetStartTime() - track1->GetStartTime()) + / sqrt(track->GetStartTimeError() + track1->GetStartTimeError())); } for (int iEvent1 = 0; iEvent1 < fEvents->GetEntriesFast(); iEvent1++) { @@ -532,10 +532,10 @@ void CbmEventBuilderQa::Exec(Option_t* /*opt*/) const int stsTrackIndex1 = event1->GetStsTrackIndex(iTr1); CbmStsTrack* track1 = (CbmStsTrack*) fStsTracks->At(stsTrackIndex1); - if (fabs(track->GetTime() - track1->GetTime()) > 8.5) continue; + if (fabs(track->GetStartTime() - track1->GetStartTime()) > 8.5) continue; - fTimeHisto[26]->Fill(fabs(track->GetTime() - track1->GetTime()) - / sqrt(track->GetTimeError() + track1->GetTimeError())); + fTimeHisto[26]->Fill(fabs(track->GetStartTime() - track1->GetStartTime()) + / sqrt(track->GetStartTimeError() + track1->GetStartTimeError())); } } } @@ -589,10 +589,10 @@ void CbmEventBuilderQa::Exec(Option_t* /*opt*/) const int stsTrackIndex = event->GetStsTrackIndex(i); CbmStsTrack* track = (CbmStsTrack*) fStsTracks->At(stsTrackIndex); - fTimeHisto[6]->Fill(track->GetTime()); + fTimeHisto[6]->Fill(track->GetStartTime()); - fTimeHisto[11 + iCol]->Fill(track->GetTime()); + fTimeHisto[11 + iCol]->Fill(track->GetStartTime()); UInt_t NHits = track->GetNofStsHits(); diff --git a/reco/eventbuilder/tracks/CbmEventBuilderQa.h b/reco/eventbuilder/tracks/CbmEventBuilderQa.h index 1c344a41c650c4d51cd2a32d0f88b1230f881c09..0d6a63b919c2e7a8bc342075acdbec360fa92e66 100644 --- a/reco/eventbuilder/tracks/CbmEventBuilderQa.h +++ b/reco/eventbuilder/tracks/CbmEventBuilderQa.h @@ -67,7 +67,7 @@ private: static bool CompareTrackTime(const SortEvents& a, const SortEvents& b) { - return (a.track.GetTime() < b.track.GetTime()); + return (a.track.GetStartTime() < b.track.GetStartTime()); } bool CalculateIsReconstructable(const int iMCFile, const int iMCEvent, diff --git a/reco/littrack/cbm/reco/CbmLitFitTracks.cxx b/reco/littrack/cbm/reco/CbmLitFitTracks.cxx index fb3508b10b03c2348a2f04706ebe52ae49597dbb..d01135b26f4303522601cabeec6a3305e3b52a63 100644 --- a/reco/littrack/cbm/reco/CbmLitFitTracks.cxx +++ b/reco/littrack/cbm/reco/CbmLitFitTracks.cxx @@ -107,7 +107,7 @@ void CbmLitFitTracks::DoFit() Int_t stsTrackId = track->GetPreviousTrackId(); CbmStsTrack* stsTrack = static_cast<CbmStsTrack*>(fStsTracks->At(stsTrackId)); CbmTrackParam cbmLPar; - cbmLPar.Set(*stsTrack->GetParamLast(), stsTrack->GetTime(), stsTrack->GetTimeError()); + cbmLPar.Set(*stsTrack->GetParamLast(), stsTrack->GetLastHitTime(), stsTrack->GetLastHitTimeError()); CbmLitTrackParam lpar; CbmLitConverterFairTrackParam::FairTrackParamToCbmLitTrackParam(&cbmLPar, &lpar); track->SetParamFirst(&lpar); diff --git a/reco/littrack/cbm/utils/CbmLitConverter.h b/reco/littrack/cbm/utils/CbmLitConverter.h index 93d9374bf6056cf267df4da59ff138db9acf1bf9..46757b3c5f0f7d1ad9fce7af9c2f147d5c339e2c 100644 --- a/reco/littrack/cbm/utils/CbmLitConverter.h +++ b/reco/littrack/cbm/utils/CbmLitConverter.h @@ -104,10 +104,10 @@ public: CbmLitTrackParam paramFirst, paramLast; //TODO remove this const typecasting CbmTrackParam cbmParamFirst; - cbmParamFirst.Set(*stsTrack->GetParamFirst(), stsTrack->GetTime(), stsTrack->GetTimeError()); + cbmParamFirst.Set(*stsTrack->GetParamFirst(), stsTrack->GetFirstHitTime(), stsTrack->GetFirstHitTimeError()); CbmLitConverterFairTrackParam::FairTrackParamToCbmLitTrackParam(&cbmParamFirst, ¶mFirst); CbmTrackParam cbmParamLast; - cbmParamLast.Set(*stsTrack->GetParamLast(), stsTrack->GetTime(), stsTrack->GetTimeError()); + cbmParamLast.Set(*stsTrack->GetParamLast(), stsTrack->GetLastHitTime(), stsTrack->GetLastHitTimeError()); CbmLitConverterFairTrackParam::FairTrackParamToCbmLitTrackParam(&cbmParamLast, ¶mLast); Double_t firstTime; Double_t lastTime; @@ -137,10 +137,10 @@ public: ltrack->SetPDG(track->GetPidHypo()); CbmLitTrackParam paramFirst, paramLast; CbmTrackParam cbmParamFirst; - cbmParamFirst.Set(*track->GetParamFirst(), track->GetTime(), track->GetTimeError()); + cbmParamFirst.Set(*track->GetParamFirst(), track->GetFirstHitTime(), track->GetFirstHitTimeError()); CbmLitConverterFairTrackParam::FairTrackParamToCbmLitTrackParam(&cbmParamFirst, ¶mFirst); CbmTrackParam cbmParamLast; - cbmParamLast.Set(*track->GetParamLast(), track->GetTime(), track->GetTimeError()); + cbmParamLast.Set(*track->GetParamLast(), track->GetLastHitTime(), track->GetLastHitTimeError()); CbmLitConverterFairTrackParam::FairTrackParamToCbmLitTrackParam(&cbmParamLast, ¶mLast); ltrack->SetParamFirst(¶mFirst); ltrack->SetParamLast(¶mLast); @@ -330,6 +330,10 @@ public: static void GetStsTrackTimes(const CbmStsTrack* track, Double_t& firstTime, Double_t& lastTime) { + firstTime = track->GetFirstHitTime(); + lastTime = track->GetLastHitTime(); + return; + static FairRootManager* ioman = 0; static CbmVertex* primVertex = 0; static TClonesArray* stsHits = 0; @@ -359,10 +363,10 @@ public: CbmLitTrackParam paramFirst; CbmLitTrackParam paramLast; CbmTrackParam cbmParamFirst; - cbmParamFirst.Set(*track->GetParamFirst(), track->GetTime(), track->GetTimeError()); + cbmParamFirst.Set(*track->GetParamFirst(), track->GetFirstHitTime(), track->GetFirstHitTimeError()); CbmLitConverterFairTrackParam::FairTrackParamToCbmLitTrackParam(&cbmParamFirst, ¶mFirst); CbmTrackParam cbmParamLast; - cbmParamLast.Set(*track->GetParamLast(), track->GetTime(), track->GetTimeError()); + cbmParamLast.Set(*track->GetParamLast(), track->GetLastHitTime(), track->GetLastHitTimeError()); CbmLitConverterFairTrackParam::FairTrackParamToCbmLitTrackParam(&cbmParamLast, ¶mLast); Double_t x = paramFirst.GetX(); diff --git a/reco/tracking/global/CbmGlobalTrackingTask.cxx b/reco/tracking/global/CbmGlobalTrackingTask.cxx index 76e03e19e59f02e509f2c1bac9d667c75a0bc6b6..7a99c5d044e43b5783809c70c50fa46fb3eaf15b 100644 --- a/reco/tracking/global/CbmGlobalTrackingTask.cxx +++ b/reco/tracking/global/CbmGlobalTrackingTask.cxx @@ -143,7 +143,7 @@ void CbmGlobalTrackingTask::Exec(Option_t* /*opt*/) #endif //CBM_GLOBALTB_PRINT_PERF //fTofGeometry.Find(param->GetX(), param->GetCovariance(0, 0), param->GetY(), param->GetCovariance(1, 1), param->GetZ(), //track->GetTime(), track->GetTimeError(), param->GetTx(), TMath::Sqrt(param->GetCovariance(2, 2)), param->GetTy(), TMath::Sqrt(param->GetCovariance(3, 3)), tofHitInd); - fTofGeometry.Find(param, track->GetTime(), track->GetTimeError(), tofHitInd, trackLength); + fTofGeometry.Find(param, track->GetLastHitTime(), track->GetLastHitTimeError(), tofHitInd, trackLength); globalTrack->SetTofHitIndex(tofHitInd); globalTrack->SetLength(stsTrackLength + trackLength); globalTrack->SetParamFirst(track->GetParamFirst());