From 881b0f415858884e49016545b3121fa9a3409f09 Mon Sep 17 00:00:00 2001
From: "s.zharko@gsi.de" <s.zharko@gsi.de>
Date: Wed, 25 Oct 2023 12:42:55 +0200
Subject: [PATCH] fixes

---
 algo/ca/TrackingChain.cxx              | 17 ++++++-----------
 algo/ca/core/utils/CaMonitor.h         |  4 ++--
 algo/ca/core/utils/CaTrackingMonitor.h |  8 ++++----
 algo/global/Reco.cxx                   |  2 +-
 4 files changed, 13 insertions(+), 18 deletions(-)

diff --git a/algo/ca/TrackingChain.cxx b/algo/ca/TrackingChain.cxx
index 4b5a7ee06d..f34bc1c550 100644
--- a/algo/ca/TrackingChain.cxx
+++ b/algo/ca/TrackingChain.cxx
@@ -56,39 +56,34 @@ void TrackingChain::Init()
 //
 TrackingChain::Return_t TrackingChain::Run(Input_t recoResults)
 {
-  //xpu::scoped_timer t_("CA");  // TODO: pass timings to monitoring for throughput?
+  xpu::scoped_timer t_("CA");  // TODO: pass timings to monitoring for throughput?
   fCaMonitorData.Reset();
-  fCaMonitorData.StartTimer(ca::ETimer::Tracking);
 
   // ----- Init input data ---------------------------------------------------------------------------------------------
-  fCaMonitorData.StartTimer(ca::ETimer::PrepareInput);
   this->PrepareInput(recoResults);
-  fCaMonitorData.StopTimer(ca::ETimer::PrepareInput);
 
   // ----- Run reconstruction ------------------------------------------------------------------------------------------
   fCaFramework.SetMonitorData(fCaMonitorData);
-  fCaFramework.fTrackFinder.FindTracks();
   fCaMonitorData = fCaFramework.GetMonitorData();
-  L_(info) << "Timeslice contains " << fCaMonitorData.GetCounterValue(ca::ECounter::RecoTrack) << " tracks";
+  fCaFramework.fTrackFinder.FindTracks();
+  L_(info) << "TrackingChain: Timeslice contains " << fCaMonitorData.GetCounterValue(ca::ECounter::RecoTrack)
+           << " tracks, the FindTracks routine ran " << fCaMonitorData.GetTimer(ca::ETimer::FindTracks).GetTotal()
+           << " s";
 
   // ----- Init output data --------------------------------------------------------------------------------------------
   // FIXME: SZh 22.10.2023: Provide a class for the tracking output data (tracks, hit indices and monitor)
   fCaMonitor.AddMonitorData(fCaMonitorData);
-  fCaMonitorData.StopTimer(ca::ETimer::Tracking);
   return std::make_pair(std::move(fCaFramework.fRecoTracks), fCaMonitorData);
 }
 
 // ---------------------------------------------------------------------------------------------------------------------
 //
-void TrackingChain::Finalize()
-{ /*L_(info) << fCaMonitor.ToString();*/
-}
+void TrackingChain::Finalize() { L_(info) << fCaMonitor.ToString(); }
 
 // ---------------------------------------------------------------------------------------------------------------------
 //
 void TrackingChain::PrepareInput(Input_t recoResults)
 {
-  //L_(info) << "TOF TEST: " << tof::Config::GetTofTrackingStation(0x00008036);  <- access to the TOF tracking station
   fNofHitKeys  = 0;
   int nHitsTot = recoResults.stsHits.NElements() + recoResults.tofHits.NElements();
   L_(info) << "Tracking chain: input has " << nHitsTot << " hits";
diff --git a/algo/ca/core/utils/CaMonitor.h b/algo/ca/core/utils/CaMonitor.h
index 063615f98e..3410552d14 100644
--- a/algo/ca/core/utils/CaMonitor.h
+++ b/algo/ca/core/utils/CaMonitor.h
@@ -158,7 +158,7 @@ namespace cbm::algo::ca
       msg << "\n----- Timers:\n";
       msg << setw(widthKey) << left << "Key" << ' ';
       msg << setw(width) << left << "N Calls" << ' ';
-      msg << setw(width) << left << "Average [s]" << ' ';
+      //msg << setw(width) << left << "Average [s]" << ' ';
       msg << setw(width) << left << "Min [s]" << ' ';
       msg << setw(width) << left << "Max [s]" << ' ';
       msg << setw(width) << left << "Total [s]" << '\n';
@@ -167,7 +167,7 @@ namespace cbm::algo::ca
         const Timer& timer = fMonitorData.GetTimer(static_cast<ETimerKey>(iKey));
         msg << setw(widthKey) << faTimerNames[iKey] << ' ';
         msg << setw(width) << timer.GetNofCalls() << ' ';
-        msg << setw(width) << timer.GetAverage() << ' ';
+        //msg << setw(width) << timer.GetAverage() << ' ';
         msg << setw(width) << timer.GetMin() << ' ';
         msg << setw(width) << timer.GetMax() << ' ';
         msg << setw(width) << timer.GetTotal() << '\n';
diff --git a/algo/ca/core/utils/CaTrackingMonitor.h b/algo/ca/core/utils/CaTrackingMonitor.h
index 2d76b3ee1a..ceae694acc 100644
--- a/algo/ca/core/utils/CaTrackingMonitor.h
+++ b/algo/ca/core/utils/CaTrackingMonitor.h
@@ -36,8 +36,8 @@ namespace cbm::algo::ca
   /// \brief Timer keys for the CA algo monitor
   enum class ETimer
   {
-    Tracking,
-    PrepareInput,
+    //Tracking,
+    //PrepareInput,
     FindTracks,
     TrackFinder,
     TrackFitter,
@@ -66,8 +66,8 @@ namespace cbm::algo::ca
       SetCounterName(ECounter::UndefinedMuchHit, "undefined MuCh hits");
       SetCounterName(ECounter::UndefinedTrdHit, "undefined TRD hits");
       SetCounterName(ECounter::UndefinedTofHit, "undefined TOF hits");
-      SetTimerName(ETimer::Tracking, "full tracking");
-      SetTimerName(ETimer::PrepareInput, "input data initialization");
+      //SetTimerName(ETimer::Tracking, "full tracking");
+      //SetTimerName(ETimer::PrepareInput, "input data initialization");
       SetTimerName(ETimer::FindTracks, "find tracks procedure");
       SetTimerName(ETimer::TrackFinder, "track finder");
       SetTimerName(ETimer::TrackFitter, "track fitter");
diff --git a/algo/global/Reco.cxx b/algo/global/Reco.cxx
index e4ba22ece9..674372b5ba 100644
--- a/algo/global/Reco.cxx
+++ b/algo/global/Reco.cxx
@@ -341,7 +341,7 @@ void Reco::QueueTrackingMetrics(const ca::TrackingMonitorData& monitor)
   if (!HasMonitor()) { return; }
 
   GetMonitor().QueueMetric("cbmreco", {{"hostname", fles::system::current_hostname()}, {"child", Opts().ChildId()}},
-                           {{"caRecoTimeTotal", monitor.GetTimer(ca::ETimer::Tracking).GetTotal()},
+                           {{"caRecoTimeTotal", monitor.GetTimer(ca::ETimer::FindTracks).GetTotal()},
                             {"caTrackFinderTime", monitor.GetTimer(ca::ETimer::TrackFinder).GetTotal()},
                             {"caTrackFitterTime", monitor.GetTimer(ca::ETimer::TrackFitter).GetTotal()},
                             {"caNofRecoTracks", monitor.GetCounterValue(ca::ECounter::RecoTrack)},
-- 
GitLab