diff --git a/reco/base/CbmStsTrackFinder.h b/reco/base/CbmStsTrackFinder.h
index 4872d01b9a2e0340b6fcb62ed723ed27c607731f..117fcb7e22b7b5cc046ffb20358f92ef5adbb58a 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 5b67b6863fd42c39831e845732fd9b1c631f35fc..0e4610fc65f78b44d3b82313ff3887061dd3bed4 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 94dcbce27ded604b92ad95e91da44589b78d6f7e..5faca5923adc423316cd51c6d7303491048cb41a 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