From 03b677ec80bed141612833e4a39446d5e3a5f353 Mon Sep 17 00:00:00 2001
From: Volker Friese <v.friese@gsi.de>
Date: Fri, 4 Feb 2022 11:55:40 +0100
Subject: [PATCH] Set dE/dx for StsTracks. Refs #2241.

---
 reco/base/CbmStsTrackFinder.h                 | 4 +++-
 reco/detectors/sts/CbmStsFindTracks.cxx       | 1 +
 reco/detectors/sts/CbmStsFindTracksEvents.cxx | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/reco/base/CbmStsTrackFinder.h b/reco/base/CbmStsTrackFinder.h
index 4872d01b9a..117fcb7e22 100644
--- a/reco/base/CbmStsTrackFinder.h
+++ b/reco/base/CbmStsTrackFinder.h
@@ -56,6 +56,9 @@ public:
    **/
   virtual Int_t DoFind() = 0;
 
+  /** @brief Calculate the median energy loss for the tracks and fill the respective data members **/
+  void FillEloss();
+
 
   /** Virtual method Finish. If needed, to be implemented in the concrete
    ** class. Executed at the end of the run.
@@ -95,7 +98,6 @@ protected:
    ** https://indico.gsi.de/event/4760/session/4/contribution/80/material/slides/0.pdf
    **/
   double CalculateEloss(CbmStsTrack* cbmStsTrack);
-  void FillEloss();
 
 private:
   constexpr static int MaxAdcVal() { return 31; }
diff --git a/reco/detectors/sts/CbmStsFindTracks.cxx b/reco/detectors/sts/CbmStsFindTracks.cxx
index 5b67b6863f..0e4610fc65 100644
--- a/reco/detectors/sts/CbmStsFindTracks.cxx
+++ b/reco/detectors/sts/CbmStsFindTracks.cxx
@@ -102,6 +102,7 @@ void CbmStsFindTracks::Exec(Option_t* /*opt*/)
 
   fTracks->Delete();
   Int_t nTracks = fFinder->DoFind();
+  fFinder->FillEloss();
   //  for (Int_t iTrack=0; iTrack<fTracks->GetEntriesFast(); iTrack++) {
   //    CbmStsTrack* track = (CbmStsTrack*) fTracks->At(iTrack);
   //    track->SortHits();
diff --git a/reco/detectors/sts/CbmStsFindTracksEvents.cxx b/reco/detectors/sts/CbmStsFindTracksEvents.cxx
index 94dcbce27d..5faca5923a 100644
--- a/reco/detectors/sts/CbmStsFindTracksEvents.cxx
+++ b/reco/detectors/sts/CbmStsFindTracksEvents.cxx
@@ -207,6 +207,7 @@ pair<UInt_t, UInt_t> CbmStsFindTracksEvents::ProcessEvent(CbmEvent* event)
   // --- Call track finder
   fTimer.Start();
   Int_t nTracks = fFinder->FindTracks(event);
+  fFinder->FillEloss();
   fTimer.Stop();
 
   // --- Event log
-- 
GitLab