diff --git a/algo/ca/TrackingChain.cxx b/algo/ca/TrackingChain.cxx
index 6481750481106e7402a14ed78abdf580219b7865..8429b2d913028177eb0c76cf707285168df07b33 100644
--- a/algo/ca/TrackingChain.cxx
+++ b/algo/ca/TrackingChain.cxx
@@ -9,7 +9,7 @@
 
 #include "TrackingChain.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaHit.h"
 #include "CaInitManager.h"
 #include "CaParameters.h"
diff --git a/algo/ca/core/CMakeLists.txt b/algo/ca/core/CMakeLists.txt
index 48e07a2e8eb2adeb040deb2a718aa34f8d48eb37..3397776972b25b20914390fecf6095155a16e263 100644
--- a/algo/ca/core/CMakeLists.txt
+++ b/algo/ca/core/CMakeLists.txt
@@ -95,7 +95,7 @@ install(
     data/CaBranch.h
     data/CaWindowData.h
     data/CaTimesliceHeader.h
-    pars/CaConstants.h
+    pars/CaDefs.h
     pars/CaField.h
     pars/CaInitManager.h
     pars/CaIteration.h
diff --git a/algo/ca/core/data/CaDataManager.h b/algo/ca/core/data/CaDataManager.h
index c0f814820bb71f5c8991c29049172c5533bcbc58..d210e52b93035516022b1b8411d1a1761b44dc5e 100644
--- a/algo/ca/core/data/CaDataManager.h
+++ b/algo/ca/core/data/CaDataManager.h
@@ -9,7 +9,7 @@
 
 #pragma once  // include this header only once per compilation unit
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaInputData.h"
 
 namespace cbm::algo::ca
diff --git a/algo/ca/core/data/CaGridEntry.h b/algo/ca/core/data/CaGridEntry.h
index 32d74840978357075c9444fe8dd4b013e924ec33..5d4207b7a5bbb5920aaf4843073d53180079c260 100644
--- a/algo/ca/core/data/CaGridEntry.h
+++ b/algo/ca/core/data/CaGridEntry.h
@@ -4,7 +4,7 @@
 
 #pragma once  // include this header only once per compilation unit
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaHit.h"
 #include "CaSimd.h"
 
diff --git a/algo/ca/core/data/CaInputData.h b/algo/ca/core/data/CaInputData.h
index 9ba08c1c0c00e9cfca8f8515ad0364f8f561bfa5..68cf91ef49d40ade96bf5e3a1a4c0a3b51872e31 100644
--- a/algo/ca/core/data/CaInputData.h
+++ b/algo/ca/core/data/CaInputData.h
@@ -9,7 +9,7 @@
 
 #pragma once  // include this header only once per compilation unit
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaHit.h"
 #include "CaVector.h"
 
diff --git a/algo/ca/core/data/CaMeasurementTime.h b/algo/ca/core/data/CaMeasurementTime.h
index 7998a72c5bebf3597b7e50c96636b4310621954b..dee2c3780a76ca6fd0c2bc861d100e469b444dd2 100644
--- a/algo/ca/core/data/CaMeasurementTime.h
+++ b/algo/ca/core/data/CaMeasurementTime.h
@@ -8,7 +8,7 @@
 #pragma once  // include this header only once per compilation unit
 
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaSimd.h"
 
 #include <boost/serialization/access.hpp>
diff --git a/algo/ca/core/data/CaMeasurementU.h b/algo/ca/core/data/CaMeasurementU.h
index d6abc158292c18f6921790c1a70d062e0656449f..f24ea6d1b1301de60323a5c4e814b101583f4a34 100644
--- a/algo/ca/core/data/CaMeasurementU.h
+++ b/algo/ca/core/data/CaMeasurementU.h
@@ -8,7 +8,7 @@
 #pragma once  // include this header only once per compilation unit
 
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaSimd.h"
 #include "KfDefs.h"
 
diff --git a/algo/ca/core/data/CaMeasurementXy.h b/algo/ca/core/data/CaMeasurementXy.h
index f194bfa8961fb72b8a48329877f98c1942bfe30e..11bc05905a465a004d184eb7ec5e0d0a40ba8d65 100644
--- a/algo/ca/core/data/CaMeasurementXy.h
+++ b/algo/ca/core/data/CaMeasurementXy.h
@@ -8,7 +8,7 @@
 #pragma once  // include this header only once per compilation unit
 
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaSimd.h"
 
 #include <boost/serialization/access.hpp>
diff --git a/algo/ca/core/data/CaTrack.h b/algo/ca/core/data/CaTrack.h
index 4ae774b8c3e543724d6ea0ba6b287b982635dafb..29b7f3859db3513eaa525e474e5d2b3aa6f61d06 100644
--- a/algo/ca/core/data/CaTrack.h
+++ b/algo/ca/core/data/CaTrack.h
@@ -10,7 +10,7 @@
 #ifndef CA_CORE_CaTrack_h
 #define CA_CORE_CaTrack_h 1
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaSimd.h"
 #include "KfTrackParam.h"
 
diff --git a/algo/ca/core/data/CaWindowData.h b/algo/ca/core/data/CaWindowData.h
index b599ae6a03da1658eed297236b0208e01f3c5712..44982ffe5e8dd93104a82b7935a6b7ba11902621 100644
--- a/algo/ca/core/data/CaWindowData.h
+++ b/algo/ca/core/data/CaWindowData.h
@@ -9,7 +9,7 @@
 
 #pragma once
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaField.h"
 #include "CaGrid.h"
 #include "CaHit.h"
diff --git a/algo/ca/core/pars/CaConfigReader.cxx b/algo/ca/core/pars/CaConfigReader.cxx
index 46e27234693ce426b4bfe365fe8d92b454e5c8ec..4e76d2b48ea5c3d99b3db96c79afff0d1b7ae2ac 100644
--- a/algo/ca/core/pars/CaConfigReader.cxx
+++ b/algo/ca/core/pars/CaConfigReader.cxx
@@ -9,7 +9,7 @@
 
 #include "CaConfigReader.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaInitManager.h"
 
 #include <boost/algorithm/string.hpp>
diff --git a/algo/ca/core/pars/CaConstants.h b/algo/ca/core/pars/CaDefs.h
similarity index 98%
rename from algo/ca/core/pars/CaConstants.h
rename to algo/ca/core/pars/CaDefs.h
index dba34ef9e1406a5a72487cb49c022217b0b03eb3..89b8d79a9fbbac7decdd8b899178968c13fbde2a 100644
--- a/algo/ca/core/pars/CaConstants.h
+++ b/algo/ca/core/pars/CaDefs.h
@@ -2,7 +2,7 @@
    SPDX-License-Identifier: GPL-3.0-only
    Authors: Sergey Gorbunov, Sergei Zharko [committer] */
 
-/// \file   CaConstants.h
+/// \file   CaDefs.h
 /// \brief  Compile-time constants definition for the CA tracking algorithm
 /// \since  02.06.2022
 /// \author S.Zharko <s.zharko@gsi.de>
@@ -11,6 +11,7 @@
 
 #include "CaSimd.h"
 #include "KfFramework.h"
+#include "KfTrackParam.h"
 
 #include <limits>
 
@@ -19,6 +20,10 @@ namespace cbm::algo::ca
   using KfFramework_t  = cbm::algo::kf::Framework<float>;
   using KfParameters_t = cbm::algo::kf::Parameters<float>;
   using KfSetup_t      = cbm::algo::kf::Setup<float>;
+
+  using cbm::algo::kf::TrackParamBase;
+  using cbm::algo::kf::TrackParamV;
+
 }  // namespace cbm::algo::ca
 
 /// Namespace contains compile-time constants definition for the CA tracking algorithm
diff --git a/algo/ca/core/pars/CaField.cxx b/algo/ca/core/pars/CaField.cxx
index 5572c2ae1a46f23b0259ea5729c21c0cd1892c40..fe9b2d71cf7daeef5933870abdc40a89a0d6233d 100644
--- a/algo/ca/core/pars/CaField.cxx
+++ b/algo/ca/core/pars/CaField.cxx
@@ -11,7 +11,6 @@
 #include <sstream>
 
 using namespace cbm::algo::ca;
-using cbm::algo::kf::TrackParamBase;
 
 //
 // FieldValue methods
diff --git a/algo/ca/core/pars/CaField.h b/algo/ca/core/pars/CaField.h
index 1c1df4134063290f2259e4b34e5df40f041423ce..3921f298b8162f4f8c7c3b017265111c647e1d72 100644
--- a/algo/ca/core/pars/CaField.h
+++ b/algo/ca/core/pars/CaField.h
@@ -5,7 +5,7 @@
 #pragma once  // include this header only once per compilation unit
 
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaSimd.h"
 #include "KfTrackParam.h"
 
@@ -153,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 kf::TrackParamBase<DataT>& t) const;
+    FieldValue<DataT> GetFieldValueForLine(const 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/CaInitManager.h b/algo/ca/core/pars/CaInitManager.h
index 5a9407db6781abfff919b69a8fd83b9df2f90645..202ded2fbc59d884e95acfb4063391c1f4354530 100644
--- a/algo/ca/core/pars/CaInitManager.h
+++ b/algo/ca/core/pars/CaInitManager.h
@@ -9,7 +9,7 @@
 
 #pragma once  // include this header only once per compilation unit
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaField.h"
 #include "CaIteration.h"
 #include "CaObjectInitController.h"
diff --git a/algo/ca/core/pars/CaIteration.cxx b/algo/ca/core/pars/CaIteration.cxx
index 0709ddef0e7f3510391e77389b599e559772c947..b09a03897b7166f4a60b0cd9f5ce4ddd59f7a68e 100644
--- a/algo/ca/core/pars/CaIteration.cxx
+++ b/algo/ca/core/pars/CaIteration.cxx
@@ -9,7 +9,7 @@
 
 #include "CaIteration.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 
 #include <limits>
 #include <sstream>
diff --git a/algo/ca/core/pars/CaMaterialMonitor.h b/algo/ca/core/pars/CaMaterialMonitor.h
index d70f5236828ba67d5e3b9b2193deab357519bbe6..82557f3286bf167920332a443bb96b955b9251ab 100644
--- a/algo/ca/core/pars/CaMaterialMonitor.h
+++ b/algo/ca/core/pars/CaMaterialMonitor.h
@@ -9,7 +9,7 @@
 #pragma once  // include this header only once per compilation unit
 
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaMaterialMap.h"
 
 #include <string>
diff --git a/algo/ca/core/pars/CaParameters.h b/algo/ca/core/pars/CaParameters.h
index e1be64e76404fd7e7cdb4258b958c1137f45634e..3512f2a49d230025cb964d67e5d46697487bc899 100644
--- a/algo/ca/core/pars/CaParameters.h
+++ b/algo/ca/core/pars/CaParameters.h
@@ -9,7 +9,7 @@
 
 #pragma once  // include this header only once per compilation unit
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaField.h"
 #include "CaIteration.h"
 #include "CaMaterialMap.h"
diff --git a/algo/ca/core/pars/CaStation.h b/algo/ca/core/pars/CaStation.h
index ed3274250adec77d8b87b7f575f85f08e73b55ef..d9c59309571c093edc2abedfd73692fbf3579277 100644
--- a/algo/ca/core/pars/CaStation.h
+++ b/algo/ca/core/pars/CaStation.h
@@ -4,7 +4,7 @@
 
 #pragma once  // include this header only once per compilation unit
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaField.h"
 #include "CaSimd.h"
 
diff --git a/algo/ca/core/pars/CaStationInitializer.cxx b/algo/ca/core/pars/CaStationInitializer.cxx
index ff18c0652a4c47f5aec78900c26003b37cb47594..54ae533c1c0e0fc9e8ae3be87be2fc0fdc1e8056 100644
--- a/algo/ca/core/pars/CaStationInitializer.cxx
+++ b/algo/ca/core/pars/CaStationInitializer.cxx
@@ -11,7 +11,7 @@
 #include "CaStationInitializer.h"
 
 #include "AlgoFairloggerCompat.h"
-#include "CaConstants.h"
+#include "CaDefs.h"
 
 #include <iomanip>
 #include <sstream>
diff --git a/algo/ca/core/tracking/CaFramework.h b/algo/ca/core/tracking/CaFramework.h
index 031aded3bc9606f47f25b4e54beb303d878f4bcf..677f0a74692fd71c4255f236b463c22328b4d96d 100644
--- a/algo/ca/core/tracking/CaFramework.h
+++ b/algo/ca/core/tracking/CaFramework.h
@@ -6,7 +6,7 @@
 
 #include "CaBranch.h"
 #include "CaCloneMerger.h"
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaField.h"
 #include "CaGrid.h"
 #include "CaGridEntry.h"
diff --git a/algo/ca/core/tracking/CaTrackExtender.cxx b/algo/ca/core/tracking/CaTrackExtender.cxx
index 2688c8a6e35a434cd1b12889d899da253493dd6f..7af7d187ecb36098eec904f015d1c69e734c6077 100644
--- a/algo/ca/core/tracking/CaTrackExtender.cxx
+++ b/algo/ca/core/tracking/CaTrackExtender.cxx
@@ -18,7 +18,6 @@
 #include <iostream>
 
 using cbm::algo::ca::Vector;  // TMP!!
-using cbm::algo::kf::TrackParamV;
 
 using namespace cbm::algo::ca;
 
@@ -52,9 +51,9 @@ void TrackExtender::FitBranchFast(const ca::Branch& t, TrackParamV& Tout, const
   const Vector<ca::HitIndex_t>& hits = t.Hits();  // array of indeses of hits of current track
   const int nHits                    = t.NofHits();
 
-  const signed short int step = (direction == kUpstream ? -1 : 1);  // increment for station index
-  const int iFirstHit         = (direction == kUpstream) ? nHits - 1 : 0;
-  const int iLastHit          = (direction == kUpstream) ? 0 : nHits - 1;
+  const signed short int step = (direction == FitDirection::kUpstream ? -1 : 1);  // increment for station index
+  const int iFirstHit         = (direction == FitDirection::kUpstream) ? nHits - 1 : 0;
+  const int iLastHit          = (direction == FitDirection::kUpstream) ? 0 : nHits - 1;
 
   const ca::Hit& hit0 = fInputData->GetHit(hits[iFirstHit]);
   const ca::Hit& hit1 = fInputData->GetHit(hits[iFirstHit + step]);
@@ -159,8 +158,8 @@ void TrackExtender::FindMoreHits(ca::Branch& t, TrackParamV& Tout, const FitDire
   fit.SetTrack(Tout);
   fit.SetQp0(qp0);
 
-  const signed short int step = (direction == kUpstream) ? -1 : 1;  // increment for station index
-  const int iFirstHit         = (direction == kUpstream) ? 2 : t.NofHits() - 3;
+  const signed short int step = (direction == FitDirection::kUpstream) ? -1 : 1;  // increment for station index
+  const int iFirstHit         = (direction == FitDirection::kUpstream) ? 2 : t.NofHits() - 3;
   //  int ista = fInputData->GetHit(t.Hits[iFirstHit]).iSt + 2 * step; // current station. set to the end of track
 
   const ca::Hit& hit0 = fInputData->GetHit(t.Hits()[iFirstHit]);  // optimize
@@ -290,7 +289,7 @@ void TrackExtender::FindMoreHits(ca::Branch& t, TrackParamV& Tout, const FitDire
   const unsigned int NNewHits = newHits.size();
   t.RefHits().enlarge(NNewHits + NOldHits);
 
-  if (direction == kUpstream) {
+  if (direction == FitDirection::kUpstream) {
     for (int i = NOldHits - 1; i >= 0; i--) {
       t.RefHits()[NNewHits + i] = t.RefHits()[i];
     }
@@ -319,13 +318,13 @@ fscal TrackExtender::ExtendBranch(ca::Branch& t, const InputData& input, WindowD
 
   // downstream
 
-  FitBranch(t, T, kDownstream, 0.0);
-  FindMoreHits(t, T, kDownstream, T.Qp());
+  FitBranch(t, T, FitDirection::kDownstream, 0.0);
+  FindMoreHits(t, T, FitDirection::kDownstream, T.Qp());
 
   // upstream
 
-  FitBranchFast(t, T, kUpstream, T.Qp(), false);
-  FindMoreHits(t, T, kUpstream, T.Qp());
+  FitBranchFast(t, T, FitDirection::kUpstream, T.Qp(), false);
+  FindMoreHits(t, T, FitDirection::kUpstream, T.Qp());
 
   return T.GetChiSq()[0];
 }
diff --git a/algo/ca/core/tracking/CaTrackExtender.h b/algo/ca/core/tracking/CaTrackExtender.h
index a9f434aa96dd85df38c66e3d0f049d5de14bd1e8..be2dfea9c050f8ef792db655c85acc7893d12fe3 100644
--- a/algo/ca/core/tracking/CaTrackExtender.h
+++ b/algo/ca/core/tracking/CaTrackExtender.h
@@ -29,8 +29,6 @@ namespace cbm::algo::ca
   ///
   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/CaTrackFit.cxx b/algo/ca/core/tracking/CaTrackFit.cxx
index f39a7d9849158840ab1364233f656aca4776bc20..0dd1d646a6d0a50eda32a7b8a45f781aa11303b4 100644
--- a/algo/ca/core/tracking/CaTrackFit.cxx
+++ b/algo/ca/core/tracking/CaTrackFit.cxx
@@ -341,8 +341,8 @@ namespace cbm::algo::ca
 
   template<typename DataT>
   void TrackFit<DataT>::FilterExtrapolatedXY(const ca::MeasurementXy<DataT>& m, DataT extrX, DataT extrY,
-                                             const std::array<DataT, ca::TrackParamBase<DataT>::kNtrackParam>& Jx,
-                                             const std::array<DataT, ca::TrackParamBase<DataT>::kNtrackParam>& Jy)
+                                             const std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jx,
+                                             const std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jy)
   {
     // add a 2-D measurenent (x,y) at some z, that differs from fTr.GetZ()
     // extrX, extrY are extrapolated track parameters at z, Jx, Jy are derivatives of the extrapolation
@@ -1067,7 +1067,7 @@ namespace cbm::algo::ca
 
     DataT dE = bethe * radThick * tr * 2.33f * 9.34961f;
 
-    if (direction == kDownstream) dE = -dE;
+    if (direction == FitDirection::kDownstream) dE = -dE;
 
     cnst ECorrected  = sqrt(E2) + dE;
     cnst E2Corrected = ECorrected * ECorrected;
@@ -1108,7 +1108,7 @@ namespace cbm::algo::ca
 
     DataT dE = bethe * radThick * tr * radLen * rho;
 
-    if (direction == kDownstream) dE = -dE;
+    if (direction == FitDirection::kDownstream) dE = -dE;
 
     cnst ECorrected  = (sqrt(E2) + dE);
     cnst E2Corrected = ECorrected * ECorrected;
@@ -1159,8 +1159,8 @@ namespace cbm::algo::ca
 
   template<typename DataT>
   void TrackFit<DataT>::GetExtrapolatedXYline(DataT z, const ca::FieldRegion<DataT>& F, DataT& extrX, DataT& extrY,
-                                              std::array<DataT, ca::TrackParamBase<DataT>::kNtrackParam>& Jx,
-                                              std::array<DataT, ca::TrackParamBase<DataT>::kNtrackParam>& Jy) const
+                                              std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jx,
+                                              std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jy) const
   {
     // extrapolate track assuming it is straight (qp==0)
     // return the extrapolated X, Y and the derivatives of the extrapolated X and Y
@@ -1219,7 +1219,7 @@ namespace cbm::algo::ca
     // Add the target constraint to a straight line track
 
     DataT eX, eY;
-    std::array<DataT, ca::TrackParamV::kNtrackParam> Jx, Jy;
+    std::array<DataT, TrackParamV::kNtrackParam> Jx, Jy;
     GetExtrapolatedXYline(targZ, F, eX, eY, Jx, Jy);
     FilterExtrapolatedXY(targXY, eX, eY, Jx, Jy);
   }
diff --git a/algo/ca/core/tracking/CaTrackFit.h b/algo/ca/core/tracking/CaTrackFit.h
index d1282273661b5ec031a21e15799a2102e832f517..0fcc50cc35bbc1b5208dfc861454164828ac6b27 100644
--- a/algo/ca/core/tracking/CaTrackFit.h
+++ b/algo/ca/core/tracking/CaTrackFit.h
@@ -22,18 +22,18 @@
 
 namespace cbm::algo::ca
 {
-  using cbm::algo::kf::TrackParamBase;
-  using cbm::algo::kf::TrackParamV;
-
   class Hit;
 
-  enum FitDirection
+  enum class FitDirection
   {
     kUpstream,
     kDownstream
   };
 
-  inline FitDirection operator!(FitDirection d) { return d == kUpstream ? kDownstream : kUpstream; }
+  inline FitDirection operator!(FitDirection d)
+  {
+    return d == FitDirection::kUpstream ? FitDirection::kDownstream : FitDirection::kUpstream;
+  }
 
   /// Track fit utilities for the CA tracking based on the Kalman Filter
   ///
@@ -174,8 +174,8 @@ namespace cbm::algo::ca
 
     /// extrapolate track as a line, return the extrapolated X, Y and the Jacobians
     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;
+                               std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jx,
+                               std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jy) const;
 
     /// filter the track with the XY measurement placed at different Z
     /// \param m - measurement
@@ -184,8 +184,8 @@ namespace cbm::algo::ca
     /// \param Jx - Jacobian of the extrapolated X
     /// \param Jy - Jacobian of the extrapolated Y
     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);
+                              const std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jx,
+                              const std::array<DataT, TrackParamBase<DataT>::kNtrackParam>& Jy);
 
     /// extrapolate the track to the given Z using linearization at the straight line,
     /// \param z_out - Z coordinate to extrapolate to
diff --git a/algo/ca/core/tracking/CaTrackFitter.cxx b/algo/ca/core/tracking/CaTrackFitter.cxx
index e9d5d47a35d9dec09b619d6f421fe6877ddb7358..b2cedb42f1bd50119d9eccc9acec912030dbffdb 100644
--- a/algo/ca/core/tracking/CaTrackFitter.cxx
+++ b/algo/ca/core/tracking/CaTrackFitter.cxx
@@ -13,7 +13,6 @@
 
 using std::vector;
 using Track = cbm::algo::ca::Track;
-using cbm::algo::kf::TrackParamV;
 
 using namespace cbm::algo::ca;
 using namespace cbm::algo;
@@ -265,7 +264,7 @@ void TrackFitter::FitCaTracks(const ca::InputData& input, WindowData& wData)
         fit.SetMask(initialised);
         fit.Extrapolate(z[ista], fld1);
         fit.MultipleScattering(fParameters.GetMaterialThickness(ista, tr.X(), tr.Y()));
-        fit.EnergyLossCorrection(fParameters.GetMaterialThickness(ista, tr.X(), tr.Y()), kUpstream);
+        fit.EnergyLossCorrection(fParameters.GetMaterialThickness(ista, tr.X(), tr.Y()), FitDirection::kUpstream);
 
         fit.SetMask(initialised && w[ista]);
         fit.FilterXY(mxy[ista]);
@@ -369,7 +368,7 @@ void TrackFitter::FitCaTracks(const ca::InputData& input, WindowData& wData)
         fit.SetMask(initialised);
         fit.Extrapolate(z[ista], fld);
         fit.MultipleScattering(fParameters.GetMaterialThickness(ista, tr.X(), tr.Y()));
-        fit.EnergyLossCorrection(fParameters.GetMaterialThickness(ista, tr.X(), tr.Y()), kDownstream);
+        fit.EnergyLossCorrection(fParameters.GetMaterialThickness(ista, tr.X(), tr.Y()), FitDirection::kDownstream);
         fit.SetMask(initialised && w[ista]);
         fit.FilterXY(mxy[ista]);
         fit.FilterTime(time[ista], dt2[ista], fmask(sta[ista].timeInfo));
diff --git a/algo/ca/core/tracking/CaTripletConstructor.cxx b/algo/ca/core/tracking/CaTripletConstructor.cxx
index 27bc3e44dff681bceb611d7300d0fd0e92dab0e7..6d64be572446e097042888602cbef5a5d200986e 100644
--- a/algo/ca/core/tracking/CaTripletConstructor.cxx
+++ b/algo/ca/core/tracking/CaTripletConstructor.cxx
@@ -18,7 +18,6 @@
 // using cbm::ca::tools::Debugger;
 
 using namespace cbm::algo::ca;
-using cbm::algo::kf::TrackParamV;
 
 TripletConstructor::TripletConstructor(const ca::Parameters<fvec>& pars, const ca::InputData& input, WindowData& wData,
                                        const fscal mass, const ca::TrackingMode& mode)
@@ -560,12 +559,12 @@ void TripletConstructor::FitTriplets()
       };
 
       // Fit downstream
-      fitTrack(0, NHits, 1, kDownstream);
+      fitTrack(0, NHits, 1, FitDirection::kDownstream);
 
       if (iiter == nIterations - 1) break;
 
       // Fit upstream
-      fitTrack(NHits - 1, -1, -1, kUpstream);
+      fitTrack(NHits - 1, -1, -1, FitDirection::kUpstream);
     }  // for iiter
 
     fTracks_3[i3] = T;
diff --git a/algo/ca/core/tracking/CaTripletConstructor.h b/algo/ca/core/tracking/CaTripletConstructor.h
index d1e3648c2c9e251a83fa29e58498a3f1e9684230..af9bed635c144b58073a61ee1204f2eb0cd8237f 100644
--- a/algo/ca/core/tracking/CaTripletConstructor.h
+++ b/algo/ca/core/tracking/CaTripletConstructor.h
@@ -25,8 +25,6 @@ namespace cbm::algo::ca
   ///
   class TripletConstructor {
 
-    using TrackParamV = cbm::algo::kf::TrackParamV;
-
    public:
     ///                             ------  Constructors and destructor ------
 
diff --git a/algo/ca/qa/CaQa.cxx b/algo/ca/qa/CaQa.cxx
index 1dda9fbb17e8f0f7898fd7332d48c06ff505e039..2184256e92c7195368c07a6ea3d5572f5525534e 100644
--- a/algo/ca/qa/CaQa.cxx
+++ b/algo/ca/qa/CaQa.cxx
@@ -9,7 +9,7 @@
 
 #include "CaQa.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaInputData.h"
 #include "CaParameters.h"
 #include "CaTrack.h"
diff --git a/reco/KF/CbmKfTrackFitter.cxx b/reco/KF/CbmKfTrackFitter.cxx
index 38e50ada956b45e856af13481653cd4c4e495db0..1a5afc8f9385d1bd443c71823065f456a4ea0724 100644
--- a/reco/KF/CbmKfTrackFitter.cxx
+++ b/reco/KF/CbmKfTrackFitter.cxx
@@ -4,7 +4,7 @@
 
 #include "CbmKfTrackFitter.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaFramework.h"
 #include "CaSimd.h"
 #include "CaStation.h"
@@ -582,7 +582,7 @@ bool CbmKfTrackFitter::FitTrack(CbmKfTrackFitter::Track& t)
         fFit.SetQp0(n.fTrack.GetQp());
       }
 
-      AddMaterialEffects(n, kDownstream);
+      AddMaterialEffects(n, FitDirection::kDownstream);
 
       if (n.fIsXySet) {
         fFit.FilterXY(n.fMxy, fSkipUnmeasuredCoordinates);
@@ -626,7 +626,7 @@ bool CbmKfTrackFitter::FitTrack(CbmKfTrackFitter::Track& t)
 
       fFit.Extrapolate(n.fZ, field);
 
-      AddMaterialEffects(n, kUpstream);
+      AddMaterialEffects(n, FitDirection::kUpstream);
 
       if (n.fIsXySet) {
         fFit.FilterXY(n.fMxy, fSkipUnmeasuredCoordinates);
@@ -658,7 +658,7 @@ bool CbmKfTrackFitter::FitTrack(CbmKfTrackFitter::Track& t)
       if (n.fIsFitted) {
         fFit.SetQp0(n.fTrack.GetQp());
       }
-      AddMaterialEffects(n, kUpstream);
+      AddMaterialEffects(n, FitDirection::kUpstream);
     }
   }
 
diff --git a/reco/KF/CbmKfTrackFitter.h b/reco/KF/CbmKfTrackFitter.h
index 61add5eff475ecdb19b8a7e9e5b6da4ba30a90b3..10f562aac2c701bb7a876c75ff76b1b59bdd3731 100644
--- a/reco/KF/CbmKfTrackFitter.h
+++ b/reco/KF/CbmKfTrackFitter.h
@@ -5,7 +5,7 @@
 #pragma once  // include this header only once per compilation unit
 
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaMeasurementTime.h"
 #include "CaMeasurementXy.h"
 #include "CaSimd.h"
diff --git a/reco/KF/ParticleFitter/CbmL1PFFitter.cxx b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
index c1206dcfb85b6b2cb2b5f2122922a3adb776032c..e7945c93bfb341a0c6418d3674321d4c57a53f62 100644
--- a/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
+++ b/reco/KF/ParticleFitter/CbmL1PFFitter.cxx
@@ -374,7 +374,7 @@ void CbmL1PFFitter::Fit(std::vector<CbmStsTrack>& Tracks, const std::vector<CbmM
       fit.Extrapolate(z[i], fld);
       auto radThick = CbmL1::Instance()->fpAlgo->GetParameters().GetMaterialThickness(i, fit.Tr().X(), fit.Tr().Y());
       fit.MultipleScattering(radThick);
-      fit.EnergyLossCorrection(radThick, kDownstream);
+      fit.EnergyLossCorrection(radThick, FitDirection::kDownstream);
 
       fit.SetMask(initialised && w[i]);
       fit.FilterXY(mxy[i]);
@@ -435,7 +435,7 @@ void CbmL1PFFitter::Fit(std::vector<CbmStsTrack>& Tracks, const std::vector<CbmM
       fit.Extrapolate(z[i], fld);
       auto radThick = CbmL1::Instance()->fpAlgo->GetParameters().GetMaterialThickness(i, fit.Tr().X(), fit.Tr().Y());
       fit.MultipleScattering(radThick);
-      fit.EnergyLossCorrection(radThick, kUpstream);
+      fit.EnergyLossCorrection(radThick, FitDirection::kUpstream);
 
       fit.SetMask(initialised && w[i]);
       fit.FilterXY(mxy[i]);
@@ -606,7 +606,7 @@ void CbmL1PFFitter::GetChiToVertex(vector<CbmStsTrack>& Tracks, vector<PFFieldRe
       fit.Extrapolate(zSta[iSt], fld);
       auto radThick = CbmL1::Instance()->fpAlgo->GetParameters().GetMaterialThickness(iSt, fit.Tr().X(), fit.Tr().Y());
       fit.MultipleScattering(radThick);
-      fit.EnergyLossCorrection(radThick, kUpstream);
+      fit.EnergyLossCorrection(radThick, FitDirection::kUpstream);
     }
     fit.SetMask(fmask::One());
     fit.Extrapolate(primVtx.GetRefZ(), fld);
@@ -615,7 +615,7 @@ void CbmL1PFFitter::GetChiToVertex(vector<CbmStsTrack>& Tracks, vector<PFFieldRe
     constexpr float targetRadThick = 3.73e-2f * 2;  // 250 mum Gold
 
     fit.MultipleScattering(targetRadThick);
-    fit.EnergyLossCorrection(targetRadThick, kUpstream);
+    fit.EnergyLossCorrection(targetRadThick, FitDirection::kUpstream);
 
     Double_t Cv[3] = {primVtx.GetCovMatrix()[0], primVtx.GetCovMatrix()[1], primVtx.GetCovMatrix()[2]};
 
diff --git a/reco/L1/CbmCaTimeSliceReader.cxx b/reco/L1/CbmCaTimeSliceReader.cxx
index 8a4d7d87fd3ca362bbd128c2691097348ab93c7b..5d6edb602cea78cd303aedbdccaecf43abcfc4df 100644
--- a/reco/L1/CbmCaTimeSliceReader.cxx
+++ b/reco/L1/CbmCaTimeSliceReader.cxx
@@ -9,7 +9,7 @@
 
 #include "CbmCaTimeSliceReader.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaInputData.h"
 #include "CaParameters.h"
 #include "CbmGlobalTrack.h"
diff --git a/reco/L1/CbmCaTimeSliceReader.h b/reco/L1/CbmCaTimeSliceReader.h
index e1dd817b399c8c03c275357a5f65a44420c55a1b..908b28f01140b12dc1e0ff6996bd891e674af60b 100644
--- a/reco/L1/CbmCaTimeSliceReader.h
+++ b/reco/L1/CbmCaTimeSliceReader.h
@@ -9,8 +9,8 @@
 
 #pragma once
 
-#include "CaConstants.h"
 #include "CaDataManager.h"
+#include "CaDefs.h"
 #include "CaToolsHitRecord.h"
 #include "CaVector.h"
 #include "CbmCaMCModule.h"
diff --git a/reco/L1/CbmL1DetectorID.h b/reco/L1/CbmL1DetectorID.h
index 2fc2733ac73c9afa6164ae7ea4335d786549ada9..3a55f207c778905fd7d017bc297dc9e733effb6a 100644
--- a/reco/L1/CbmL1DetectorID.h
+++ b/reco/L1/CbmL1DetectorID.h
@@ -9,7 +9,7 @@
 
 #pragma once
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaEnumArray.h"
 #include "CbmDefs.h"
 
diff --git a/reco/L1/CbmL1MCTrack.cxx b/reco/L1/CbmL1MCTrack.cxx
index 06c559042c930030df49558d51a8603e3db4afd8..d077be5c7b23d6f2404ff29a8a0e9b641ce7e1ad 100644
--- a/reco/L1/CbmL1MCTrack.cxx
+++ b/reco/L1/CbmL1MCTrack.cxx
@@ -20,7 +20,7 @@
 
 #include "CbmL1MCTrack.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaHit.h"
 #include "CbmL1.h"
 #include "CbmL1Constants.h"
diff --git a/reco/L1/CbmL1Performance.cxx b/reco/L1/CbmL1Performance.cxx
index 7ad879550b20e1e2ae5762b8fef7838443fd10e9..a0b4f0b491124eea536720a554ed41c1e8a9548e 100644
--- a/reco/L1/CbmL1Performance.cxx
+++ b/reco/L1/CbmL1Performance.cxx
@@ -1310,7 +1310,7 @@ void CbmL1::TrackFitPerformance()
             //           LOG(info) << iSta << " " << dir;
             auto radThick = fpAlgo->GetParameters().GetMaterialThickness(iSta, fit.Tr().GetX(), fit.Tr().GetY());
             fit.MultipleScattering(radThick);
-            fit.EnergyLossCorrection(radThick, kUpstream);
+            fit.EnergyLossCorrection(radThick, FitDirection::kUpstream);
           }
         }
         if (mc.GetStartZ() != tr.GetZ()[0]) continue;
@@ -1380,7 +1380,7 @@ void CbmL1::TrackFitPerformance()
             fit.Extrapolate(fpAlgo->GetParameters().GetStation(iSta).fZ, fld);
             auto radThick = fpAlgo->GetParameters().GetMaterialThickness(iSta, fit.Tr().GetX(), fit.Tr().GetY());
             fit.MultipleScattering(radThick);
-            fit.EnergyLossCorrection(radThick, kUpstream);
+            fit.EnergyLossCorrection(radThick, FitDirection::kUpstream);
           }
           fit.Extrapolate(mc.GetStartZ(), fld);
         }
diff --git a/reco/L1/L1Algo/utils/CaUvConverter.h b/reco/L1/L1Algo/utils/CaUvConverter.h
index 76e9f11d0e1430af8b3a22cafa8c4daf6427e7e0..548895d8060bcf33c86d8b84bbdc7e4feb7d582b 100644
--- a/reco/L1/L1Algo/utils/CaUvConverter.h
+++ b/reco/L1/L1Algo/utils/CaUvConverter.h
@@ -6,7 +6,7 @@
 #define CaUvConverter_h 1
 
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 
 namespace cbm::ca
 {
diff --git a/reco/L1/OffLineInterface/CbmGenerateMaterialMaps.h b/reco/L1/OffLineInterface/CbmGenerateMaterialMaps.h
index e93497c9cfd93964e055f57ba20a6cc5c55a4ab0..830470bcc7425abbfb94e56e60fbad71ea504585 100644
--- a/reco/L1/OffLineInterface/CbmGenerateMaterialMaps.h
+++ b/reco/L1/OffLineInterface/CbmGenerateMaterialMaps.h
@@ -129,4 +129,6 @@ class CbmGenerateMaterialMaps : public FairTask {
   double fTargetX;
   double fTargetY;
   double fTargetZ;
+
+  ClassDef(CbmGenerateMaterialMaps, 0);
 };
diff --git a/reco/L1/catools/CaToolsDef.h b/reco/L1/catools/CaToolsDef.h
index f51ab8745ffaac2cadcc8141ed7b0b4510773173..18e8fd2d4b642b68920d79e61d52ea963db78bb0 100644
--- a/reco/L1/catools/CaToolsDef.h
+++ b/reco/L1/catools/CaToolsDef.h
@@ -10,7 +10,7 @@
 #ifndef CaToolsDef_h
 #define CaToolsDef_h 1
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 
 namespace cbm::ca::tools
 {
diff --git a/reco/L1/catools/CaToolsWindowFinder.cxx b/reco/L1/catools/CaToolsWindowFinder.cxx
index 41b0cd1ff09b7006a04705c783a7e232f95faf47..a06a0c4a9c81cfe433fb3ec189c263d3ccf677e5 100644
--- a/reco/L1/catools/CaToolsWindowFinder.cxx
+++ b/reco/L1/catools/CaToolsWindowFinder.cxx
@@ -10,7 +10,7 @@
 #include "CaToolsWindowFinder.h"
 
 #include "CaConfigReader.h"
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaSearchWindow.h"
 #include "CaToolsWFExpression.h"
 #include "Logger.h"
diff --git a/reco/L1/qa/CbmCaInputQaBase.cxx b/reco/L1/qa/CbmCaInputQaBase.cxx
index e06182e6c1c199cce331fa1a4dbb9159d254ada3..58bb68c8fd983b7b3025f9d3bb4b3368d806a473 100644
--- a/reco/L1/qa/CbmCaInputQaBase.cxx
+++ b/reco/L1/qa/CbmCaInputQaBase.cxx
@@ -9,7 +9,7 @@
 
 #include "CbmCaInputQaBase.h"
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CbmAddress.h"
 #include "CbmL1DetectorID.h"
 #include "CbmMCDataArray.h"
diff --git a/reco/L1/qa/CbmCaTrackFitQa.h b/reco/L1/qa/CbmCaTrackFitQa.h
index 4978b98d892fd8ade8ce0f4088a9074409d0f0de..78467f1dae598bb7da4ae91f349cbdf4ea51bcd7 100644
--- a/reco/L1/qa/CbmCaTrackFitQa.h
+++ b/reco/L1/qa/CbmCaTrackFitQa.h
@@ -10,7 +10,7 @@
 
 #pragma once
 
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaEnumArray.h"
 #include "CaField.h"
 #include "CbmL1DetectorID.h"
diff --git a/reco/L1/qa/CbmCaTrackTypeQa.cxx b/reco/L1/qa/CbmCaTrackTypeQa.cxx
index c552a74c6d5edf2e0ca66528f244a5fe3591c104..5bb106d8baaa82cd3ea48a884971e2af669efb2b 100644
--- a/reco/L1/qa/CbmCaTrackTypeQa.cxx
+++ b/reco/L1/qa/CbmCaTrackTypeQa.cxx
@@ -301,7 +301,8 @@ void TrackTypeQa::FillRecoTrack(int iTrkReco, double weight)
           fTrackFit.Extrapolate(fpParameters->GetStation(iSt).fZ, fFieldRegion);
           auto radLength = fpParameters->GetMaterialThickness(iSt, fTrackFit.Tr().GetX(), fTrackFit.Tr().GetY());
           fTrackFit.MultipleScattering(radLength);
-          fTrackFit.EnergyLossCorrection(radLength, (direction > 0) ? kDownstream : kUpstream);
+          fTrackFit.EnergyLossCorrection(radLength,
+                                         (direction > 0) ? FitDirection::kDownstream : FitDirection::kUpstream);
         }
         fTrackFit.Extrapolate(mcTrkVertex.GetZ(), fFieldRegion);
         const TrackParamV& trParExtr = fTrackFit.Tr();
diff --git a/reco/L1/utils/CbmCaIdealHitProducerDet.h b/reco/L1/utils/CbmCaIdealHitProducerDet.h
index 3ba917089f210ed2cbe93f74b73dddc3fa545c82..d1e74c3ab7292bb925e24f4a86f1f2cff84580c1 100644
--- a/reco/L1/utils/CbmCaIdealHitProducerDet.h
+++ b/reco/L1/utils/CbmCaIdealHitProducerDet.h
@@ -10,7 +10,7 @@
 #pragma once
 
 #include "CaAlgoRandom.h"
-#include "CaConstants.h"
+#include "CaDefs.h"
 #include "CaUvConverter.h"
 #include "CbmEvent.h"
 #include "CbmL1DetectorID.h"