diff --git a/macro/L1/configs/ca_params_global.yaml b/macro/L1/configs/ca_params_global.yaml
index 21ccb193a7e5a7df3deea7b8007ea62d507277a3..da809e59a76b58361bfba29a7269d358f43029e3 100644
--- a/macro/L1/configs/ca_params_global.yaml
+++ b/macro/L1/configs/ca_params_global.yaml
@@ -20,12 +20,12 @@ ca:
       # interface classes). If there is no index provided, the whole detector subsystem is skept.
       # Examples:  
       # 1) Turn the first and the second STS in the geometry and the full TRD detector off
-      #     inactive_stations: [STS:0', 'STS:1', 'TRD']
+      #     inactive_stations: ['STS:0', 'STS:1', 'TRD']
       # 2) Turn first TOF station in the geometry off
-      #     inactive_stations: [TOF:0]
+      #     inactive_stations: ['TOF:0']
       # 3) Turn the full TOF off
-      #     inactive_stations: [TOF]
-      inactive_stations: []
+      #     inactive_stations: ['TOF']
+      inactive_stations: ['MVD', 'STS', 'MUCH', 'TOF']
 
       # Random seed
       random_seed: 1
diff --git a/macro/L1/configs/ca_params_mcbm.yaml b/macro/L1/configs/ca_params_mcbm.yaml
index d2ed450988e006c8dc866f3817a099999342ae91..32e9d082c929a0d4997ac121252f2117f91d6f2c 100644
--- a/macro/L1/configs/ca_params_mcbm.yaml
+++ b/macro/L1/configs/ca_params_mcbm.yaml
@@ -26,7 +26,7 @@ ca:
       # 3) Turn the full TOF off
       #     inactive_stations: [TOF]
       #inactive_stations: ['MUCH']
-      inactive_stations: ['MUCH']
+      inactive_stations: ['MVD', 'MUCH']
 
       # Misalignment tolerances x[cm], y[cm], t[ns]
       misalignment_tolerance: 
diff --git a/macro/L1/configs/ca_params_sts.yaml b/macro/L1/configs/ca_params_sts.yaml
index a07925ea189790a1f21cf731ced1f3f917aaa28d..401dcf2adbee259dfd4d519571fd696817cd5c2b 100644
--- a/macro/L1/configs/ca_params_sts.yaml
+++ b/macro/L1/configs/ca_params_sts.yaml
@@ -25,7 +25,7 @@ ca:
       #     inactive_stations: [TOF:0]
       # 3) Turn the full TOF off
       #     inactive_stations: [TOF]
-      inactive_stations: []
+      inactive_stations: ['MUCH', 'TRD', 'TOF']
 
       # Random seed
       random_seed: 1
diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt
index 8d8b26c1ae462cf45a9dbc16a4691ab66e0a59eb..4a28187d77cbae4a4d4cd6fbfe91c3f6bd82cd9f 100644
--- a/reco/L1/CMakeLists.txt
+++ b/reco/L1/CMakeLists.txt
@@ -26,6 +26,7 @@ set(SRCS
 ###########################################################################
   CbmCaMCModule.cxx
   CbmCaTimeSliceReader.cxx
+  CbmCaTrackingSetupBuilder.cxx
 
   CbmL1.cxx
   OffLineInterface/CbmL1StsTrackFinder.cxx
@@ -77,6 +78,7 @@ set(HEADERS
   CbmL1Track.h
   CbmL1Vtx.h
   CbmCaTimeSliceReader.h
+  CbmCaTrackingSetupBuilder.h
   L1Algo/utils/CaUvConverter.h
   catools/CaToolsWindowFinder.h
   catools/CaToolsLinkKey.h
diff --git a/reco/kfnew/CbmKfTrackingSetupBuilder.cxx b/reco/L1/CbmCaTrackingSetupBuilder.cxx
similarity index 76%
rename from reco/kfnew/CbmKfTrackingSetupBuilder.cxx
rename to reco/L1/CbmCaTrackingSetupBuilder.cxx
index 25a491084b544541f103d36f82c616f960da36a1..c0c29668b7475f9a5a41a7fb87e409ffea4051c0 100644
--- a/reco/kfnew/CbmKfTrackingSetupBuilder.cxx
+++ b/reco/L1/CbmCaTrackingSetupBuilder.cxx
@@ -7,10 +7,11 @@
 /// \since  28.08.2024
 /// \author Sergei Zharko <s.zharko@gsi.de>
 
-#include "CbmKfTrackingSetupBuilder.h"
+#include "CbmCaTrackingSetupBuilder.h"
 
 #include "CbmKfOriginalField.h"
 #include "CbmKfTarget.h"
+#include "CbmL1DetectorID.h"
 #include "CbmMuchTrackingInterface.h"
 #include "CbmMvdTrackingInterface.h"
 #include "CbmSetup.h"
@@ -25,7 +26,7 @@
 
 #include <functional>
 
-using cbm::kf::TrackingSetupBuilder;
+using cbm::ca::TrackingSetupBuilder;
 using kf::tools::MaterialMapFactory;
 
 // ---------------------------------------------------------------------------------------------------------------------
@@ -54,40 +55,40 @@ try {
       && fabs(pField->GetBx(0., 0., 0.)) < MinField<
            double> && fabs(pField->GetBy(0., 0., 0.)) < MinField<double> && fabs(pField->GetBz(0., 0., 0.)) < MinField<double>) {
       LOG(info) << "!!!!!!!!!!!!!!!!!!! A";
-      fBuilder.SetFieldFunction(ZeroField(), EFieldType::Null);
+      fBuilder.SetFieldFunction(cbm::kf::ZeroField(), EFieldType::Null);
     }
     else {
       LOG(info) << "!!!!!!!!!!!!!!!!!!! B";
-      fBuilder.SetFieldFunction(OriginalField(), EFieldType::Normal);
+      fBuilder.SetFieldFunction(cbm::kf::OriginalField(), EFieldType::Normal);
     }
   }
   else {
     LOG(info) << "!!!!!!!!!!!!!!!!!!! C";
-    fBuilder.SetFieldFunction(ZeroField(), EFieldType::Null);
+    fBuilder.SetFieldFunction(cbm::kf::ZeroField(), EFieldType::Null);
   }
 
   // Tracking station property initialization
-  auto CollectStations = [&](const auto* pIfs, ETrackingDetID detID) -> void {
+  auto CollectStations = [&](const auto* pIfs, ca::EDetectorID detID) -> void {
     if (!pIfs) {
       return;
     }
     for (int iSt = 0; iSt < pIfs->GetNtrackingStations(); ++iSt) {
       fBuilder.AddLayer(
-        GeoLayer<ETrackingDetID>{detID,  // ca::Tracking detector id scheme
-                                 iSt,    // ca::Tracking station indexing
-                                 pIfs->GetZref(iSt), pIfs->GetZmin(iSt), pIfs->GetZmax(iSt),
-                                 std::max(std::fabs(pIfs->GetXmin(iSt)), std::fabs(pIfs->GetXmax(iSt))),
-                                 std::max(std::fabs(pIfs->GetYmin(iSt)), std::fabs(pIfs->GetYmax(iSt)))});
+        GeoLayer<ca::EDetectorID>{detID,  // ca::Tracking detector id scheme
+                                  iSt,    // ca::Tracking station indexing
+                                  pIfs->GetZref(iSt), pIfs->GetZmin(iSt), pIfs->GetZmax(iSt),
+                                  std::max(std::fabs(pIfs->GetXmin(iSt)), std::fabs(pIfs->GetXmax(iSt))),
+                                  std::max(std::fabs(pIfs->GetYmin(iSt)), std::fabs(pIfs->GetYmax(iSt)))});
     }
   };
-  CollectStations(fbUseMvd ? CbmMvdTrackingInterface::Instance() : nullptr, ETrackingDetID::Mvd);
-  CollectStations(fbUseSts ? CbmStsTrackingInterface::Instance() : nullptr, ETrackingDetID::Sts);
-  CollectStations(fbUseMuch ? CbmMuchTrackingInterface::Instance() : nullptr, ETrackingDetID::Much);
-  CollectStations(fbUseTrd ? CbmTrdTrackingInterface::Instance() : nullptr, ETrackingDetID::Trd);
-  CollectStations(fbUseTof ? CbmTofTrackingInterface::Instance() : nullptr, ETrackingDetID::Tof);
+  CollectStations(fbUseMvd ? CbmMvdTrackingInterface::Instance() : nullptr, ca::EDetectorID::kMvd);
+  CollectStations(fbUseSts ? CbmStsTrackingInterface::Instance() : nullptr, ca::EDetectorID::kSts);
+  CollectStations(fbUseMuch ? CbmMuchTrackingInterface::Instance() : nullptr, ca::EDetectorID::kMuch);
+  CollectStations(fbUseTrd ? CbmTrdTrackingInterface::Instance() : nullptr, ca::EDetectorID::kTrd);
+  CollectStations(fbUseTof ? CbmTofTrackingInterface::Instance() : nullptr, ca::EDetectorID::kTof);
 
   // Retrieve target properties
-  const auto* pTarget = Target::Instance();
+  const auto* pTarget = cbm::kf::Target::Instance();
   fBuilder.SetTargetProperty(pTarget->GetX(), pTarget->GetY(), pTarget->GetZ(), pTarget->GetDz(), pTarget->GetRmax());
 
   // Init material map creator
@@ -100,11 +101,11 @@ try {
   // Set the initialization flags back
   fbInitialized = true;
 
-  LOG(info) << "kf::TrackingSetupBuilder: Tracking setup was initialized successfully";
+  LOG(info) << "ca::TrackingSetupBuilder: Tracking setup was initialized successfully";
   return true;
 }
 catch (const std::exception& err) {
-  LOG(error) << "kf::TrackingSetupBuilder: Tracking setup was not initialized. Reason: " << err.what();
+  LOG(error) << "ca::TrackingSetupBuilder: Tracking setup was not initialized. Reason: " << err.what();
   return false;
 }
 
diff --git a/reco/kfnew/CbmKfTrackingSetupBuilder.h b/reco/L1/CbmCaTrackingSetupBuilder.h
similarity index 85%
rename from reco/kfnew/CbmKfTrackingSetupBuilder.h
rename to reco/L1/CbmCaTrackingSetupBuilder.h
index b9ee379660e20c8615bc24ee4d8fd8a9d206fa75..4cfd16113ce20e0451395cb42740a496601927e2 100644
--- a/reco/kfnew/CbmKfTrackingSetupBuilder.h
+++ b/reco/L1/CbmCaTrackingSetupBuilder.h
@@ -2,7 +2,7 @@
    SPDX-License-Identifier: GPL-3.0-only
    Authors: Sergei Zharko [committer] */
 
-/// \file   CbmKfTrackingSetupBuilder.h
+/// \file   CbmCaTrackingSetupBuilder.h
 /// \brief  Tracking setup initializer in CBM (source)
 /// \since  28.08.2024
 /// \author Sergei Zharko <s.zharko@gsi.de>
@@ -14,24 +14,8 @@
 #include <mutex>
 #include <tuple>
 
-namespace cbm::kf
+namespace cbm::ca
 {
-  /// \enum  ETrackingDetID
-  /// \brief Enumeration for tracking detector subsystems
-  ///
-  // TODO: SZh 12.09.2024:  For me it's unclear, if we should move this entire file to CbmL1, or move the tracking
-  //                        detector IDs declaration here. For now this enum should fully follow the definition
-  //                        of cbm::algo::ca::EDetectorID.
-  enum class ETrackingDetID
-  {
-    Mvd = 0,
-    Sts,
-    Much,
-    Trd,
-    Tof,
-    END
-  };
-
   /// \class TrackingSetupBuilder
   /// \brief Encapsulation of the kf::Setup initialization routines for CBM
   class TrackingSetupBuilder {
@@ -103,4 +87,4 @@ namespace cbm::kf
   };
 
 
-}  // namespace cbm::kf
+}  // namespace cbm::ca
diff --git a/reco/L1/CbmL1.cxx b/reco/L1/CbmL1.cxx
index 4bc801f48148ea6db3445ebac759e03d5d99d677..4bc93774b0893c6642b76f07b934a7bf6d1f0bb1 100644
--- a/reco/L1/CbmL1.cxx
+++ b/reco/L1/CbmL1.cxx
@@ -37,8 +37,8 @@
 #include "CaHit.h"
 #include "CaToolsDebugger.h"
 #include "CaToolsField.h"
+#include "CbmCaTrackingSetupBuilder.h"
 #include "CbmEvent.h"
-#include "CbmKfTrackingSetupBuilder.h"
 #include "CbmMCDataObject.h"
 #include "CbmStsFindTracks.h"
 #include "CbmStsHit.h"
@@ -74,7 +74,6 @@ using cbm::algo::ca::Parameters;
 using cbm::ca::MCModule;
 using cbm::ca::TimeSliceReader;
 using cbm::ca::tools::MaterialHelper;
-using cbm::kf::TrackingSetupBuilder;
 
 ClassImp(CbmL1);
 
@@ -497,7 +496,7 @@ try {
     // ** Initialize KF-setup **
     // *************************
     {
-      auto* pSetupBuilder = TrackingSetupBuilder::Instance();
+      auto* pSetupBuilder = cbm::ca::TrackingSetupBuilder::Instance();
       pSetupBuilder->Use(fUseMVD, fUseSTS, fUseMUCH, fUseTRD, fUseTOF);
       auto trackerSetup  = pSetupBuilder->MakeSetup<float>(cbm::algo::kf::EFieldMode::Intrpl);
       TString outputFile = fSTAPDataDir + "/" + fSTAPDataPrefix + "." + TString(kSTAPSetupSuffix.data());
diff --git a/reco/L1/qa/CbmCaInputQaSetup.cxx b/reco/L1/qa/CbmCaInputQaSetup.cxx
index f90eac7f93a5058de9fd256c815e08de6368e1fa..ed1d3d2d69a543bc11830fc72388a5f4e94f7ee3 100644
--- a/reco/L1/qa/CbmCaInputQaSetup.cxx
+++ b/reco/L1/qa/CbmCaInputQaSetup.cxx
@@ -10,7 +10,7 @@
 #include "CbmCaInputQaSetup.h"
 
 #include "CaInitManager.h"
-#include "CbmKfTrackingSetupBuilder.h"
+#include "CbmCaTrackingSetupBuilder.h"
 #include "CbmMCDataManager.h"
 #include "FairRootManager.h"
 #include "TAxis.h"
@@ -262,7 +262,7 @@ try {
     bool bMuch{manager.IsPresent(ca::EDetectorID::kMuch)};
     bool bTrd{manager.IsPresent(ca::EDetectorID::kTrd)};
     bool bTof{manager.IsPresent(ca::EDetectorID::kTof)};
-    auto* pSetupBuilder = cbm::kf::TrackingSetupBuilder::Instance();
+    auto* pSetupBuilder = cbm::ca::TrackingSetupBuilder::Instance();
     pSetupBuilder->Use(bMvd, bSts, bMuch, bTrd, bTof);
     manager.SetGeometrySetup(pSetupBuilder->MakeSetup<ca::fvec>(cbm::algo::kf::EFieldMode::Intrpl));
     fpParameters = std::make_unique<ca::Parameters<ca::fvec>>(manager.TakeParameters());
diff --git a/reco/L1/qa/CbmCaOutputQa.cxx b/reco/L1/qa/CbmCaOutputQa.cxx
index fa624626167aa71f2c17099dbccb0f86b5ac6131..59ed3c4d64ef12494ca9031d57518ce96b3a930e 100644
--- a/reco/L1/qa/CbmCaOutputQa.cxx
+++ b/reco/L1/qa/CbmCaOutputQa.cxx
@@ -11,7 +11,7 @@
 
 #include "CaInitManager.h"
 #include "CbmCaMCModule.h"
-#include "CbmKfTrackingSetupBuilder.h"
+#include "CbmCaTrackingSetupBuilder.h"
 #include "CbmQaCanvas.h"
 #include "FairRootManager.h"
 #include "Logger.h"
@@ -804,7 +804,7 @@ try {
     bool bMuch{manager.IsPresent(ca::EDetectorID::kMuch)};
     bool bTrd{manager.IsPresent(ca::EDetectorID::kTrd)};
     bool bTof{manager.IsPresent(ca::EDetectorID::kTof)};
-    auto* pSetupBuilder = cbm::kf::TrackingSetupBuilder::Instance();
+    auto* pSetupBuilder = cbm::ca::TrackingSetupBuilder::Instance();
     pSetupBuilder->Use(bMvd, bSts, bMuch, bTrd, bTof);
     manager.SetGeometrySetup(pSetupBuilder->MakeSetup<ca::fvec>(cbm::algo::kf::EFieldMode::Intrpl));
     fpParameters = std::make_shared<ca::Parameters<ca::fvec>>(manager.TakeParameters());
diff --git a/reco/kfnew/CMakeLists.txt b/reco/kfnew/CMakeLists.txt
index 98e15d274ba0589da563d42f72a04b0f1946ca0a..95833479bf322ef0926b3479872a43d2ef610029 100644
--- a/reco/kfnew/CMakeLists.txt
+++ b/reco/kfnew/CMakeLists.txt
@@ -6,7 +6,6 @@ set(INCLUDE_DIRECTORIES
 
 set(SRCS 
   ${CMAKE_CURRENT_SOURCE_DIR}/CbmKfTarget.cxx
-  ${CMAKE_CURRENT_SOURCE_DIR}/CbmKfTrackingSetupBuilder.cxx
 )
 
 SET_SOURCE_FILES_PROPERTIES(${SRCS} PROPERTIES COMPILE_FLAGS "-O3")
@@ -44,8 +43,8 @@ target_link_libraries(KfCbm
                       ROOT::Graf
                       ROOT::Physics
                       fmt::fmt
-              PRIVATE KfTools
-                      CbmRecoSts
+                      KfTools
+              PRIVATE CbmRecoSts
                       CbmSimSteer
                       CbmRecoBase
                       KFParticle
@@ -73,7 +72,6 @@ install(
   FILES
     CbmKfOriginalField.h
     CbmKfTarget.h
-    CbmKfTrackingSetupBuilder.h
   DESTINATION
     include/
 )