From 277e68e2a63f681ce66555a2edaded37e3b631c9 Mon Sep 17 00:00:00 2001
From: "se.gorbunov" <se.gorbunov@gsi.de>
Date: Sat, 24 Aug 2024 00:19:25 +0200
Subject: [PATCH] Ca: fixes after rebase

---
 algo/ca/core/data/CaBranch.h                  |  5 --
 algo/ca/core/data/CaGrid.h                    |  5 --
 algo/ca/core/data/CaGridArea.h                |  6 ---
 algo/ca/core/data/CaTrack.h                   |  7 ++-
 algo/ca/core/data/CaTriplet.h                 |  5 --
 algo/ca/core/pars/CaField.cxx                 |  3 +-
 algo/ca/core/pars/CaField.h                   |  4 +-
 algo/ca/core/pars/CaMaterialMonitor.h         |  5 --
 algo/ca/core/tracking/CaCloneMerger.cxx       |  4 +-
 algo/ca/core/tracking/CaCloneMerger.h         |  6 ---
 algo/ca/core/tracking/CaFramework.h           |  5 --
 algo/ca/core/tracking/CaTrackExtender.cxx     |  4 +-
 algo/ca/core/tracking/CaTrackExtender.h       | 10 ++--
 algo/ca/core/tracking/CaTrackFinder.h         |  5 --
 algo/ca/core/tracking/CaTrackFinderWindow.h   |  5 --
 algo/ca/core/tracking/CaTrackFit.cxx          | 50 +++++++++----------
 algo/ca/core/tracking/CaTrackFit.h            | 17 +++----
 algo/ca/core/tracking/CaTrackFitter.h         |  5 --
 .../ca/core/tracking/CaTripletConstructor.cxx |  8 +--
 algo/ca/core/tracking/CaTripletConstructor.h  |  8 ++-
 algo/trigger/V0Trigger.h                      |  2 +-
 reco/KF/ParticleFitter/CbmL1PFFitter.cxx      |  4 +-
 22 files changed, 54 insertions(+), 119 deletions(-)

diff --git a/algo/ca/core/data/CaBranch.h b/algo/ca/core/data/CaBranch.h
index e43a269ca2..3792e5eec8 100644
--- a/algo/ca/core/data/CaBranch.h
+++ b/algo/ca/core/data/CaBranch.h
@@ -13,11 +13,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }
-
   ///  The class describes a combinatorial branch of the CA tracker
   ///
   class Branch {
diff --git a/algo/ca/core/data/CaGrid.h b/algo/ca/core/data/CaGrid.h
index 8514335fc7..8bfc127154 100644
--- a/algo/ca/core/data/CaGrid.h
+++ b/algo/ca/core/data/CaGrid.h
@@ -18,11 +18,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }
-
   /// \class Grid
   /// \brief Class for storing 2d objects in a grid
 
diff --git a/algo/ca/core/data/CaGridArea.h b/algo/ca/core/data/CaGridArea.h
index 5fb1460fe7..6b268192e1 100644
--- a/algo/ca/core/data/CaGridArea.h
+++ b/algo/ca/core/data/CaGridArea.h
@@ -12,12 +12,6 @@
 
 namespace cbm::algo::ca
 {
-
-  namespace
-  {
-    using namespace cbm::algo;  // to keep 'ca::' prefices in the code
-  }
-
   /// \brief Class for accessing objects in the 2D area that are stored in ca::Grid
   ///
   class GridArea {
diff --git a/algo/ca/core/data/CaTrack.h b/algo/ca/core/data/CaTrack.h
index 3692849ee6..4ae774b8c3 100644
--- a/algo/ca/core/data/CaTrack.h
+++ b/algo/ca/core/data/CaTrack.h
@@ -18,7 +18,6 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamS;
 
   /// \class cbm::algo::ca::Track
   /// \brief Class representing an output track in the CA tracking algorithm
@@ -44,9 +43,9 @@ namespace cbm::algo::ca
    public:
     int fNofHits{kfdefs::Undef<int>};  ///< Number of hits in track
 
-    TrackParamS fParFirst;  ///< Track parameters on the first station
-    TrackParamS fParLast;   ///< Track parameters on the last station
-    TrackParamS fParPV;     ///< Track parameters in the primary vertex
+    cbm::algo::kf::TrackParamS fParFirst;  ///< Track parameters on the first station
+    cbm::algo::kf::TrackParamS fParLast;   ///< Track parameters on the last station
+    cbm::algo::kf::TrackParamS fParPV;     ///< Track parameters in the primary vertex
   };
 
 }  // namespace cbm::algo::ca
diff --git a/algo/ca/core/data/CaTriplet.h b/algo/ca/core/data/CaTriplet.h
index 4e9e66f3ed..4a9848ea1a 100644
--- a/algo/ca/core/data/CaTriplet.h
+++ b/algo/ca/core/data/CaTriplet.h
@@ -17,11 +17,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;  // needed to keep 'ca::' prefix in the code
-  }
-
   /// \brief Triplet class represents a short 3-hits track segment called a "triplet".
   ///
   class Triplet {
diff --git a/algo/ca/core/pars/CaField.cxx b/algo/ca/core/pars/CaField.cxx
index abd749d612..5572c2ae1a 100644
--- a/algo/ca/core/pars/CaField.cxx
+++ b/algo/ca/core/pars/CaField.cxx
@@ -11,6 +11,7 @@
 #include <sstream>
 
 using namespace cbm::algo::ca;
+using cbm::algo::kf::TrackParamBase;
 
 //
 // FieldValue methods
@@ -223,7 +224,7 @@ FieldValue<DataT> FieldRegion<DataT>::Get(const DataT& x, const DataT& y, const
     // TODO: ? Why the simd words are set indvidually?
     for (size_t i = 0; i < kfutils::simd::Size<DataT>(); i++) {
       auto [bx, by, bz] =
-        fgOdiginalField(kfutils::simd::Cast<DataT, double>(x, i), kfutils::simd::Cast<DataT, double>(y, i),
+        fgOriginalField(kfutils::simd::Cast<DataT, double>(x, i), kfutils::simd::Cast<DataT, double>(y, i),
                         kfutils::simd::Cast<DataT, double>(z, i));
       B.SetSimdEntry(bx, by, bz, i);
     }
diff --git a/algo/ca/core/pars/CaField.h b/algo/ca/core/pars/CaField.h
index e518aa0cdd..1c1df41340 100644
--- a/algo/ca/core/pars/CaField.h
+++ b/algo/ca/core/pars/CaField.h
@@ -16,8 +16,6 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamBase;
-
   template<typename DataT>
   class FieldValue {
 
@@ -155,7 +153,7 @@ namespace cbm::algo::ca
     /// Gets field value for the intersection with a straight track
     /// \param t  straight track
     /// \return B  the FieldValue output
-    FieldValue<DataT> GetFieldValueForLine(const TrackParamBase<DataT>& t) const;
+    FieldValue<DataT> GetFieldValueForLine(const kf::TrackParamBase<DataT>& t) const;
 
     /// String representation of class contents
     /// \param indentLevel      number of indent characters in the output
diff --git a/algo/ca/core/pars/CaMaterialMonitor.h b/algo/ca/core/pars/CaMaterialMonitor.h
index 271696868f..d70f523682 100644
--- a/algo/ca/core/pars/CaMaterialMonitor.h
+++ b/algo/ca/core/pars/CaMaterialMonitor.h
@@ -18,11 +18,6 @@
 namespace cbm::algo::ca
 {
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }
-
   /// Class to collect statistics for ca::MaterialMap
   ///
   class MaterialMonitor {
diff --git a/algo/ca/core/tracking/CaCloneMerger.cxx b/algo/ca/core/tracking/CaCloneMerger.cxx
index 9332f72dc5..955636d674 100644
--- a/algo/ca/core/tracking/CaCloneMerger.cxx
+++ b/algo/ca/core/tracking/CaCloneMerger.cxx
@@ -263,8 +263,8 @@ void CloneMerger::InvertCholesky(fvec a[15])
     fvec smallval(1.e-12);
     uud = iif(uud >= smallval, uud, smallval);
 
-    d[i]    = uud / utils::fabs(uud);
-    u[i][i] = sqrt(utils::fabs(uud));
+    d[i]    = uud / kf::utils::fabs(uud);
+    u[i][i] = sqrt(kf::utils::fabs(uud));
 
     for (int j = i + 1; j < 5; j++) {
       uud = 0.f;
diff --git a/algo/ca/core/tracking/CaCloneMerger.h b/algo/ca/core/tracking/CaCloneMerger.h
index 9bfce4145a..e42848e1f1 100644
--- a/algo/ca/core/tracking/CaCloneMerger.h
+++ b/algo/ca/core/tracking/CaCloneMerger.h
@@ -22,12 +22,6 @@ namespace cbm::algo::ca
   class Track;
   class Framework;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class CloneMerger {
diff --git a/algo/ca/core/tracking/CaFramework.h b/algo/ca/core/tracking/CaFramework.h
index df31f66ea9..031aded3bc 100644
--- a/algo/ca/core/tracking/CaFramework.h
+++ b/algo/ca/core/tracking/CaFramework.h
@@ -37,11 +37,6 @@ namespace cbm::algo::ca
   class TripletConstructor;
   class Track;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   //namespace
   //{
   //  using cbm::algo::ca::Track;      // TMP
diff --git a/algo/ca/core/tracking/CaTrackExtender.cxx b/algo/ca/core/tracking/CaTrackExtender.cxx
index 40cb9e3ed0..2688c8a6e3 100644
--- a/algo/ca/core/tracking/CaTrackExtender.cxx
+++ b/algo/ca/core/tracking/CaTrackExtender.cxx
@@ -215,8 +215,8 @@ void TrackExtender::FindMoreHits(ca::Branch& t, TrackParamV& Tout, const FitDire
 
     const auto& grid = frWData->Grid(ista);
     ca::GridArea area(grid, tr.X()[0], tr.Y()[0],
-                      (sqrt(pickGather * tr.C00()) + grid.GetMaxRangeX() + maxDZ * utils::fabs(tr.Tx()))[0],
-                      (sqrt(pickGather * tr.C11()) + grid.GetMaxRangeY() + maxDZ * utils::fabs(tr.Ty()))[0]);
+                      (sqrt(pickGather * tr.C00()) + grid.GetMaxRangeX() + maxDZ * kf::utils::fabs(tr.Tx()))[0],
+                      (sqrt(pickGather * tr.C11()) + grid.GetMaxRangeY() + maxDZ * kf::utils::fabs(tr.Ty()))[0]);
 
     if (fParameters.DevIsIgnoreHitSearchAreas()) {
       area.DoLoopOverEntireGrid();
diff --git a/algo/ca/core/tracking/CaTrackExtender.h b/algo/ca/core/tracking/CaTrackExtender.h
index 2c9ae46e99..a9f434aa96 100644
--- a/algo/ca/core/tracking/CaTrackExtender.h
+++ b/algo/ca/core/tracking/CaTrackExtender.h
@@ -20,21 +20,17 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamV;
 
   class Track;
   class Framework;
   class InputData;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class TrackExtender {
+
+    using TrackParamV = cbm::algo::kf::TrackParamV;
+
    public:
     /// Default constructor
     TrackExtender(const ca::Parameters<fvec>& pars, const fscal mass);
diff --git a/algo/ca/core/tracking/CaTrackFinder.h b/algo/ca/core/tracking/CaTrackFinder.h
index ab707c25bb..21f4d56551 100644
--- a/algo/ca/core/tracking/CaTrackFinder.h
+++ b/algo/ca/core/tracking/CaTrackFinder.h
@@ -23,11 +23,6 @@ namespace cbm::algo::ca
   class Triplet;
   class Framework;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class TrackFinder {
diff --git a/algo/ca/core/tracking/CaTrackFinderWindow.h b/algo/ca/core/tracking/CaTrackFinderWindow.h
index fcd2e4d2bd..8983a527fe 100644
--- a/algo/ca/core/tracking/CaTrackFinderWindow.h
+++ b/algo/ca/core/tracking/CaTrackFinderWindow.h
@@ -27,11 +27,6 @@ namespace cbm::algo::ca
   class Triplet;
   class Framework;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   /// Class implements a clones merger algorithm for the CA track finder
   ///
   class TrackFinderWindow {
diff --git a/algo/ca/core/tracking/CaTrackFit.cxx b/algo/ca/core/tracking/CaTrackFit.cxx
index 62a03a96b9..f39a7d9849 100644
--- a/algo/ca/core/tracking/CaTrackFit.cxx
+++ b/algo/ca/core/tracking/CaTrackFit.cxx
@@ -41,9 +41,9 @@ namespace cbm::algo::ca
     // with respect to HCH that it disappears due to the roundoff error
     //
     DataT wi     = doProtect ? (fMaskF / (m.Du2() + DataT(1.0000001) * HCH)) : (fMaskF / (m.Du2() + HCH));
-    DataT zetawi = fMaskF * zeta / (utils::iif(maskDoFilter, m.Du2(), DataT(0.)) + HCH);
+    DataT zetawi = fMaskF * zeta / (kf::utils::iif(maskDoFilter, m.Du2(), DataT(0.)) + HCH);
 
-    wi = utils::iif(m.Du2() > DataT(0.), wi, DataT(0.));
+    wi = kf::utils::iif(m.Du2() > DataT(0.), wi, DataT(0.));
 
     fTr.ChiSq() += m.Ndf() * zeta * zeta * wi;
     fTr.Ndf() += m.Ndf() * fMaskF;
@@ -115,7 +115,7 @@ namespace cbm::algo::ca
 
     DataT HCH = fTr.C55();
 
-    DataT w = utils::iif(timeInfo, fMaskF, DataT(0.));
+    DataT w = kf::utils::iif(timeInfo, fMaskF, DataT(0.));
 
     // when dt0 is much smaller than current time error,
     // set track time exactly to the measurement value without filtering
@@ -126,9 +126,9 @@ namespace cbm::algo::ca
 
     DataT wi     = w / (dt2 + DataT(1.0000001) * HCH);
     DataT zeta   = fTr.Time() - t;
-    DataT zetawi = w * zeta / (utils::iif(maskDoFilter, dt2, DataT(0.)) + HCH);
+    DataT zetawi = w * zeta / (kf::utils::iif(maskDoFilter, dt2, DataT(0.)) + HCH);
 
-    fTr.ChiSqTime() += utils::iif(maskDoFilter, zeta * zeta * wi, DataT(0.));
+    fTr.ChiSqTime() += kf::utils::iif(maskDoFilter, zeta * zeta * wi, DataT(0.));
     fTr.NdfTime() += w;
 
     DataT K1 = F1 * wi;
@@ -620,10 +620,10 @@ namespace cbm::algo::ca
       ExtrapolateLineNoField(z_out);
     }
     else {
-      DataT sgn = utils::iif(fTr.GetZ() < z_out, DataT(1.), DataT(-1.));
-      while (!utils::isFull(fMaskF * utils::fabs(z_out - fTr.GetZ()) <= DataT(1.e-6))) {
+      DataT sgn = kf::utils::iif(fTr.GetZ() < z_out, DataT(1.), DataT(-1.));
+      while (!kf::utils::isFull(fMaskF * kf::utils::fabs(z_out - fTr.GetZ()) <= DataT(1.e-6))) {
         DataT zNew = fTr.GetZ() + sgn * fMaxExtraplationStep;  // max. 50 cm step
-        zNew       = utils::iif(sgn * (z_out - zNew) <= DataT(0.), z_out, zNew);
+        zNew       = kf::utils::iif(sgn * (z_out - zNew) <= DataT(0.), z_out, zNew);
         ExtrapolateStep(zNew, F);
       }
     }
@@ -674,7 +674,7 @@ namespace cbm::algo::ca
 
     //----------------------------------------------------------------
 
-    cnst zMasked = utils::iif(fMask, zOut, fTr.GetZ());
+    cnst zMasked = kf::utils::iif(fMask, zOut, fTr.GetZ());
 
     cnst h = (zMasked - fTr.GetZ());
 
@@ -871,7 +871,7 @@ namespace cbm::algo::ca
 
     auto& t = fTr;  // use reference to shorten the text
 
-    cnst zMasked = utils::iif(fMask, zOut, t.GetZ());
+    cnst zMasked = kf::utils::iif(fMask, zOut, t.GetZ());
 
     cnst dz = (zMasked - t.GetZ());
 
@@ -1057,7 +1057,7 @@ namespace cbm::algo::ca
   void TrackFit<DataT>::EnergyLossCorrection(DataT radThick, FitDirection direction)
   {
     cnst qp2cut(1. / (10. * 10.));  // 10 GeV cut
-    cnst qp02 = utils::max(fQp0 * fQp0, qp2cut);
+    cnst qp02 = kf::utils::max(fQp0 * fQp0, qp2cut);
     cnst p2   = DataT(1.) / qp02;
     cnst E2   = fMass2 + p2;
 
@@ -1074,7 +1074,7 @@ namespace cbm::algo::ca
 
     DataT corr   = sqrt(p2 / (E2Corrected - fMass2));
     DataTmask ok = (corr == corr) && fMask;
-    corr         = utils::iif(ok, corr, DataT(1.));
+    corr         = kf::utils::iif(ok, corr, DataT(1.));
 
     fQp0 *= corr;
     fTr.Qp() *= corr;
@@ -1092,7 +1092,7 @@ namespace cbm::algo::ca
                                              DataT radThick, FitDirection direction)
   {
     cnst qp2cut(1. / (10. * 10.));  // 10 GeV cut
-    cnst qp02 = utils::max(fQp0 * fQp0, qp2cut);
+    cnst qp02 = kf::utils::max(fQp0 * fQp0, qp2cut);
     cnst p2   = DataT(1.) / qp02;
     cnst E2   = fMass2 + p2;
 
@@ -1113,9 +1113,9 @@ namespace cbm::algo::ca
     cnst ECorrected  = (sqrt(E2) + dE);
     cnst E2Corrected = ECorrected * ECorrected;
 
-    DataT corr       = sqrt(p2 / (E2Corrected - fMass2));
-    DataTmask ok     = (corr == corr) && fMask;
-    corr             = utils::iif(ok, corr, DataT(1.));
+    DataT corr   = sqrt(p2 / (E2Corrected - fMass2));
+    DataTmask ok = (corr == corr) && fMask;
+    corr         = kf::utils::iif(ok, corr, DataT(1.));
 
     fQp0 *= corr;
     fTr.Qp() *= corr;
@@ -1153,7 +1153,7 @@ namespace cbm::algo::ca
     //   T.fTr.C42() *= corr;
     //   T.fTr.C43() *= corr;
     // T.fTr.C44() *= corr*corr;
-    fTr.C44() += utils::fabs(SDEDX);
+    fTr.C44() += kf::utils::fabs(SDEDX);
   }
 
 
@@ -1262,10 +1262,10 @@ namespace cbm::algo::ca
     cnst lhwI = log(28.816f * 1e-9f * sqrt(rho * mZA) / mI);
 
     DataTmask init = x > x1;
-    d2             = utils::iif(init, lhwI + x - 0.5f, DataT(0.));
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f, DataT(0.));
     cnst r         = (x1 - x) / (x1 - x0);
     init           = (x > x0) & (x1 > x);
-    d2             = utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
 
     return mK * mZA * (DataT(1.f) + bg2) / bg2
            * (0.5f * log(_2me * bg2 * maxT / (mI * mI)) - bg2 / (DataT(1.f) + bg2) - d2);
@@ -1309,10 +1309,10 @@ namespace cbm::algo::ca
     cnst lhwI = log(28.816f * 1e-9f * sqrt(rho * mZA) / mI);
 
     DataTmask init = x > x1;
-    d2             = utils::iif(init, lhwI + x - 0.5f, DataT(0.));
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f, DataT(0.));
     cnst r         = (x1 - x) / (x1 - x0);
     init           = (x > x0) & (x1 > x);
-    d2             = utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
+    d2             = kf::utils::iif(init, lhwI + x - 0.5f + (0.5f - lhwI - x0) * r * r * r, d2);
 
     return mK * mZA * (DataT(1.f) + bg2) / bg2
            * (0.5f * log(_2me * bg2 * maxT / (mI * mI)) - bg2 / (DataT(1.f) + bg2) - d2);
@@ -1392,10 +1392,10 @@ namespace cbm::algo::ca
 
     for (int i = 0; i < NHits; i++) {
 
-      DataT w = utils::iif(hitW[i], DataT(1.), DataT(0.));
+      DataT w = kf::utils::iif(hitW[i], DataT(1.), DataT(0.));
 
       DataTmask setTime = (!isTimeSet) && hitWtime[i] && hitW[i];
-      time              = utils::iif(setTime, hitT[i], time);
+      time              = kf::utils::iif(setTime, hitT[i], time);
       isTimeSet         = isTimeSet || setTime;
 
       DataT x = hitX[i];
@@ -1406,7 +1406,7 @@ namespace cbm::algo::ca
         DataT dZ = z - prevZ;
         Sy += w * dZ * sy + DataT(0.5) * dZ * dZ * By[i];
         sy += w * dZ * By[i];
-        prevZ = utils::iif(hitW[i], z, prevZ);
+        prevZ = kf::utils::iif(hitW[i], z, prevZ);
       }
 
       DataT S = Sy;
@@ -1462,7 +1462,7 @@ namespace cbm::algo::ca
 
     DataT L = 0.;
     {  // diagonalization row 2
-      L = utils::iif((utils::fabs(m22) > DataT(1.e-4)), a2 / m22, DataT(0.));
+      L = kf::utils::iif((kf::utils::fabs(m22) > DataT(1.e-4)), a2 / m22, DataT(0.));
       a1 -= L * m12;
       a0 -= L * m02;
     }
diff --git a/algo/ca/core/tracking/CaTrackFit.h b/algo/ca/core/tracking/CaTrackFit.h
index 9b06b7d44e..d128227366 100644
--- a/algo/ca/core/tracking/CaTrackFit.h
+++ b/algo/ca/core/tracking/CaTrackFit.h
@@ -16,7 +16,7 @@
 #include "CaMeasurementXy.h"
 #include "CaSimd.h"
 #include "KfTrackParam.h"
-#include "CaUtils.h"
+#include "KfUtils.h"
 
 #include <type_traits>
 
@@ -25,11 +25,6 @@ namespace cbm::algo::ca
   using cbm::algo::kf::TrackParamBase;
   using cbm::algo::kf::TrackParamV;
 
-  namespace
-  {
-    using namespace cbm::algo;
-  }  // namespace
-
   class Hit;
 
   enum FitDirection
@@ -46,8 +41,8 @@ namespace cbm::algo::ca
   class TrackFit {
 
    public:
-    using DataTscal = utils::scaltype<DataT>;
-    using DataTmask = utils::masktype<DataT>;
+    using DataTscal = kf::utils::scaltype<DataT>;
+    using DataTmask = kf::utils::masktype<DataT>;
 
     TrackFit() = default;
 
@@ -178,7 +173,7 @@ namespace cbm::algo::ca
     /// special utilities needed by the combinatorial track finder
 
     /// extrapolate track as a line, return the extrapolated X, Y and the Jacobians
-    void GetExtrapolatedXYline(DataT z, const kf::FieldRegion<DataT>& F, DataT& extrX, DataT& extrY,
+    void GetExtrapolatedXYline(DataT z, const ca::FieldRegion<DataT>& F, DataT& extrX, DataT& extrY,
                                std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jx,
                                std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jy) const;
 
@@ -188,7 +183,7 @@ namespace cbm::algo::ca
     /// \param extrY - extrapolated Y of the track
     /// \param Jx - Jacobian of the extrapolated X
     /// \param Jy - Jacobian of the extrapolated Y
-    void FilterExtrapolatedXY(const kf::MeasurementXy<DataT>& m, DataT extrX, DataT extrY,
+    void FilterExtrapolatedXY(const ca::MeasurementXy<DataT>& m, DataT extrX, DataT extrY,
                               const std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jx,
                               const std::array<DataT, kf::TrackParamBase<DataT>::kNtrackParam>& Jy);
 
@@ -285,7 +280,7 @@ namespace cbm::algo::ca
   inline void TrackFit<DataT>::SetOneEntry(const int i0, const TrackFit& T1, const int i1)
   {
     fTr.SetOneEntry(i0, T1.fTr, i1);
-    utils::VecCopy<DataT, DataT, false, false>::CopyEntries(fQp0, i0, T1.fQp0, i1);
+    kf::utils::VecCopy<DataT, DataT, false, false>::CopyEntries(fQp0, i0, T1.fQp0, i1);
   }
 
   template<typename DataT>
diff --git a/algo/ca/core/tracking/CaTrackFitter.h b/algo/ca/core/tracking/CaTrackFitter.h
index ea42265db4..75d79c10ca 100644
--- a/algo/ca/core/tracking/CaTrackFitter.h
+++ b/algo/ca/core/tracking/CaTrackFitter.h
@@ -22,11 +22,6 @@ namespace cbm::algo::ca
 {
   class Track;
 
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
-
   /// Class implements a track fit the CA track finder
   ///
   class TrackFitter {
diff --git a/algo/ca/core/tracking/CaTripletConstructor.cxx b/algo/ca/core/tracking/CaTripletConstructor.cxx
index d1b70880c4..27bc3e44df 100644
--- a/algo/ca/core/tracking/CaTripletConstructor.cxx
+++ b/algo/ca/core/tracking/CaTripletConstructor.cxx
@@ -679,12 +679,12 @@ void TripletConstructor::CollectHits(const TrackParamV& Tr, const int iSta, cons
   const auto& grid = frWData.Grid(iSta);
   const fvec maxDZ = frWData.CurrentIteration()->GetMaxDZ();
   ca::GridArea area(grid, T.X()[0], T.Y()[0],
-                    (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * utils::fabs(T.Tx()))[0],
-                    (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * utils::fabs(T.Ty()))[0]);
+                    (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * kf::utils::fabs(T.Tx()))[0],
+                    (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * kf::utils::fabs(T.Ty()))[0]);
   if constexpr (fDebugCollectHits) {
     LOG(info) << "search area: " << T.X()[0] << " " << T.Y()[0] << " "
-              << (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * utils::fabs(T.Tx()))[0] << " "
-              << (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * utils::fabs(T.Ty()))[0];
+              << (sqrt(Pick_m22 * T.C00()) + grid.GetMaxRangeX() + maxDZ * kf::utils::fabs(T.Tx()))[0] << " "
+              << (sqrt(Pick_m22 * T.C11()) + grid.GetMaxRangeY() + maxDZ * kf::utils::fabs(T.Ty()))[0];
   }
   if (fParameters.DevIsIgnoreHitSearchAreas()) {
     area.DoLoopOverEntireGrid();
diff --git a/algo/ca/core/tracking/CaTripletConstructor.h b/algo/ca/core/tracking/CaTripletConstructor.h
index ba7e26cbd6..d1e3648c2c 100644
--- a/algo/ca/core/tracking/CaTripletConstructor.h
+++ b/algo/ca/core/tracking/CaTripletConstructor.h
@@ -20,15 +20,13 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamV;
-  namespace
-  {
-    using namespace cbm::algo;  // to keep ca:: prefices in the code
-  }
 
   /// Construction of triplets for the CA tracker
   ///
   class TripletConstructor {
+
+    using TrackParamV = cbm::algo::kf::TrackParamV;
+
    public:
     ///                             ------  Constructors and destructor ------
 
diff --git a/algo/trigger/V0Trigger.h b/algo/trigger/V0Trigger.h
index fb553b8452..6bed8ce5d2 100644
--- a/algo/trigger/V0Trigger.h
+++ b/algo/trigger/V0Trigger.h
@@ -45,7 +45,7 @@ namespace cbm::algo::evbuild
     typedef std::pair<std::vector<double>, V0TriggerMoniData> Result;
     typedef cbm::algo::ca::Track Track;
     typedef cbm::algo::ca::Vector<cbm::algo::ca::Track> TrackVector;
-    typedef cbm::algo::ca::TrackParamS TrackParam;
+    typedef cbm::algo::kf::TrackParamS TrackParam;
 
     /** @brief Constructor **/
     V0Trigger() = default;
diff --git a/reco/KF/ParticleFitter/CbmL1PFFitter.cxx b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
index 1c6f3c6c42..c1206dcfb8 100644
--- a/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
+++ b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
@@ -626,8 +626,8 @@ void CbmL1PFFitter::GetChiToVertex(vector<CbmStsTrack>& Tracks, vector<PFFieldRe
     c[1] += fvec(Cv[1]);
     c[2] += fvec(Cv[2]);
     fvec d   = c[0] * c[2] - c[1] * c[1];
-    fvec chi = sqrt(utils::fabs(fvec(0.5) * (dx * dx * c[0] - fvec(2.) * dx * dy * c[1] + dy * dy * c[2]) / d));
-    chi.setZero(utils::fabs(d) < fvec(1.e-20));
+    fvec chi = sqrt(kf::utils::fabs(fvec(0.5) * (dx * dx * c[0] - fvec(2.) * dx * dy * c[1] + dy * dy * c[2]) / d));
+    chi.setZero(kf::utils::fabs(d) < fvec(1.e-20));
 
     for (int iVec = 0; iVec < nTracks_SIMD; iVec++) {
       chiToVtx.push_back(chi[iVec]);
-- 
GitLab