diff --git a/Trigger/TrigTools/TrigInDetToolInterfaces/TrigInDetToolInterfaces/ITrigDkfTrackMakerTool.h b/Trigger/TrigTools/TrigInDetToolInterfaces/TrigInDetToolInterfaces/ITrigDkfTrackMakerTool.h
index 230bbba74ef01a977f3c8b5f1e1e24f7b208a329..008c52425630d6a093013a31122baafe81fdab59 100644
--- a/Trigger/TrigTools/TrigInDetToolInterfaces/TrigInDetToolInterfaces/ITrigDkfTrackMakerTool.h
+++ b/Trigger/TrigTools/TrigInDetToolInterfaces/TrigInDetToolInterfaces/ITrigDkfTrackMakerTool.h
@@ -15,8 +15,6 @@ namespace Trk {
 		class Track;
 }
 
-class TrigSiSpacePoint;
-
 static const InterfaceID IID_ITrigDkfTrackMakerTool("ITrigDkfTrackMakerTool",1,0);
 
 
@@ -37,7 +35,6 @@ static const InterfaceID IID_ITrigDkfTrackMakerTool("ITrigDkfTrackMakerTool",1,0
     static const InterfaceID& interfaceID ()   //!< the Tool's interface
       {  return IID_ITrigDkfTrackMakerTool; }  	
 
-    virtual bool createDkfTrack(std::vector<const TrigSiSpacePoint*>&, std::vector<Trk::TrkBaseNode*>&, double) const = 0;
     virtual bool createDkfTrack(const Trk::Track&, std::vector<Trk::TrkBaseNode*>&, double) const = 0;
   };
 
diff --git a/Trigger/TrigTools/TrigInDetTrackFitter/CMakeLists.txt b/Trigger/TrigTools/TrigInDetTrackFitter/CMakeLists.txt
index ca04cb85a622808250548865d61b7ea234b190dd..704285db16ad147533f8a0f31fa64ed2b98f13fc 100644
--- a/Trigger/TrigTools/TrigInDetTrackFitter/CMakeLists.txt
+++ b/Trigger/TrigTools/TrigInDetTrackFitter/CMakeLists.txt
@@ -10,13 +10,11 @@ atlas_depends_on_subdirs( PUBLIC
                           Control/AthenaBaseComps
                           GaudiKernel
                           InnerDetector/InDetDetDescr/InDetIdentifier
-                          InnerDetector/InDetDetDescr/InDetReadoutGeometry
                           MagneticField/MagFieldInterfaces
                           Tracking/TrkEvent/TrkTrack
                           Tracking/TrkExtrapolation/TrkExInterfaces
                           Tracking/TrkFitter/TrkDistributedKalmanFilter
                           Tracking/TrkFitter/TrkFitterInterfaces
-                          Tracking/TrkFitter/TrkFitterUtils
                           Tracking/TrkTools/TrkToolInterfaces
                           Trigger/TrigTools/TrigInDetToolInterfaces
                           PRIVATE
@@ -34,7 +32,7 @@ atlas_depends_on_subdirs( PUBLIC
 atlas_add_component( TrigInDetTrackFitter
                      src/*.cxx
                      src/components/*.cxx
-                     LINK_LIBRARIES AthenaBaseComps GaudiKernel InDetIdentifier InDetReadoutGeometry MagFieldInterfaces TrkTrack TrkExInterfaces TrkDistributedKalmanFilterLib TrkFitterInterfaces TrkFitterUtils TrkToolInterfaces AtlasDetDescr InDetPrepRawData InDetRIO_OnTrack TrkSurfaces TrkEventPrimitives TrkParameters TrkPrepRawData TrkRIO_OnTrack TrigTimeAlgsLib )
+                     LINK_LIBRARIES AthenaBaseComps GaudiKernel InDetIdentifier MagFieldInterfaces TrkTrack TrkExInterfaces TrkDistributedKalmanFilterLib TrkFitterInterfaces TrkToolInterfaces AtlasDetDescr InDetPrepRawData InDetRIO_OnTrack TrkSurfaces TrkEventPrimitives TrkParameters TrkPrepRawData TrkRIO_OnTrack TrigTimeAlgsLib )
 
 # Install files from the package:
 atlas_install_headers( TrigInDetTrackFitter )
diff --git a/Trigger/TrigTools/TrigInDetTrackFitter/TrigInDetTrackFitter/TrigDkfTrackMakerTool.h b/Trigger/TrigTools/TrigInDetTrackFitter/TrigInDetTrackFitter/TrigDkfTrackMakerTool.h
index 98f43a0354d42889f5a4d7a3ffc1963bb2096aed..c628d72c02f1d6dc99af8649a04010a7fa3b0909 100644
--- a/Trigger/TrigTools/TrigInDetTrackFitter/TrigInDetTrackFitter/TrigDkfTrackMakerTool.h
+++ b/Trigger/TrigTools/TrigInDetTrackFitter/TrigInDetTrackFitter/TrigDkfTrackMakerTool.h
@@ -8,7 +8,6 @@
 #include "AthenaBaseComps/AthAlgTool.h"
 #include "TrigInDetToolInterfaces/ITrigDkfTrackMakerTool.h"
 
-#include "InDetReadoutGeometry/SiDetectorElementCollection.h"
 #include "StoreGate/ReadCondHandleKey.h"
 #include "TrkDistributedKalmanFilter/TrkBaseNode.h"
 #include "TrkDistributedKalmanFilter/TrkPlanarSurface.h"
@@ -29,7 +28,6 @@ class TrigDkfTrackMakerTool : virtual public ITrigDkfTrackMakerTool, public AthA
   // standard Athena methods
   StatusCode initialize();
 
-  bool createDkfTrack(std::vector<const TrigSiSpacePoint*>&, std::vector<Trk::TrkBaseNode*>&, double) const;
 	bool createDkfTrack(const Trk::Track& track, std::vector<Trk::TrkBaseNode*>& vpTrkNodes, double DChi2) const;
 
     
@@ -38,10 +36,6 @@ class TrigDkfTrackMakerTool : virtual public ITrigDkfTrackMakerTool, public AthA
   const SCT_ID* m_sctId;
   const AtlasDetectorID* m_idHelper;
   
-  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey{this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
-  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
-  const InDetDD::SiDetectorElement* getPixelDetectorElement(const IdentifierHash& waferHash) const;
-  const InDetDD::SiDetectorElement* getSCTDetectorElement(const IdentifierHash& waferHash) const;
 };
 
 #endif 
diff --git a/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigDkfTrackMakerTool.cxx b/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigDkfTrackMakerTool.cxx
index 3d96c3bdba271efd48e670a3c0c576466b674632..3568612e0a86b56d63f7dcabfd44739a5a89e3f3 100644
--- a/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigDkfTrackMakerTool.cxx
+++ b/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigDkfTrackMakerTool.cxx
@@ -14,8 +14,6 @@
 //
 ////////////////////////////////////////////////////////////////////////////////
 
-#include "TrigInDetEvent/TrigSiSpacePoint.h"
-
 #include "AtlasDetDescr/AtlasDetectorID.h"
 #include "InDetIdentifier/PixelID.h"
 #include "InDetIdentifier/SCT_ID.h"
@@ -29,6 +27,7 @@
 #include "TrkSurfaces/Surface.h"
 #include "TrkSurfaces/TrapezoidBounds.h"
 #include "AthenaBaseComps/AthMsgStreamMacros.h"
+#include "AthenaBaseComps/AthCheckMacros.h"
 
 #include "StoreGate/ReadCondHandle.h"
 
@@ -48,207 +47,10 @@ TrigDkfTrackMakerTool::TrigDkfTrackMakerTool(const std::string& t,
 
 StatusCode TrigDkfTrackMakerTool::initialize()
 {
-  ATH_MSG_INFO("In initialize..."); 
-
-
- if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
-    ATH_MSG_FATAL("Could not get AtlasDetectorID helper AtlasID");
-    return StatusCode::FAILURE;
-  }  
-
- // Get SCT & pixel Identifier helpers
-
-  if (detStore()->retrieve(m_pixelId, "PixelID").isFailure()) { 
-     ATH_MSG_FATAL("Could not get Pixel ID helper");
-     return StatusCode::FAILURE;  
-  }
-  if (detStore()->retrieve(m_sctId, "SCT_ID").isFailure()) {  
-     ATH_MSG_FATAL("Could not get SCT ID helper");
-     return StatusCode::FAILURE;
-  }
-
-  ATH_CHECK(m_pixelDetEleCollKey.initialize());
-  ATH_CHECK(m_SCTDetEleCollKey.initialize());
-
-  ATH_MSG_INFO("TrigDkfTrackMakerTool constructed ");
+  ATH_CHECK(detStore()->retrieve(m_idHelper, "AtlasID"));
   return StatusCode::SUCCESS;
 }
 
-bool TrigDkfTrackMakerTool::createDkfTrack(std::vector<const TrigSiSpacePoint*>& siSpacePoints, 
-					   std::vector<Trk::TrkBaseNode*>& vpTrkNodes,
-					   double DChi2) const
-{
-  const double radLength=0.022;
-
-  std::vector<const TrigSiSpacePoint*>::iterator pSPIt,lastSPIt;
-
-  double C[3],N[3],M[3][3];int i;
-  Amg::Vector3D mx,my,mz;
-
-  vpTrkNodes.clear();
-
-  if(siSpacePoints.size()==0) 
-  {
-    ATH_MSG_WARNING("Cannot create a DKF track -- TrigInDetTrack has no hits");
-    return false;
-  }
-  pSPIt=siSpacePoints.begin();lastSPIt=siSpacePoints.end();
-  for(; pSPIt != lastSPIt; pSPIt++) 
-    {
-      const TrigSiSpacePoint* pSP=(*pSPIt);
-
-      // std::cout<<"SP layer="<<pSP->layer()<<" r="<<pSP->r()<<" phi="<<pSP->phi()<<" z="<<pSP->z()<<std::endl;
-
-      Identifier ID=pSP->identify();
-      if(m_idHelper->is_sct(ID))
-	{
-	  const InDet::SiCluster *pCL[2];
-	  pCL[0] = pSP->clusters().first;
-	  pCL[1] = pSP->clusters().second;
-	  if((pCL[0]==NULL)||(pCL[1]==NULL)) continue;
-
-	  IdentifierHash idHash[2];
-	  const InDetDD::SiDetectorElement* pEL[2];
-	  double RadVec[2];
-	  int index[2];
-	  for(i=0;i<2;i++)
-	    {
-	      idHash[i]=m_sctId->wafer_hash(m_sctId->wafer_id(pCL[i]->identify()));
-	      pEL[i]=getSCTDetectorElement(idHash[i]);
-	      const Trk::Surface& rSurf=pEL[i]->surface();
-
-	      // const Trk::Surface& rSurf=pCL[i]->detectorElement()->surface();
-	      RadVec[i]=rSurf.center().mag();
-	      index[i]=i;
-	    }
-	  if(RadVec[0]>RadVec[1])
-	    {
-	      index[0]=1;index[1]=0;
-	    }
-	  for (int iClusInSP=0; iClusInSP<2; iClusInSP++)
-	    {
-	      const Trk::Surface& rSurf=pEL[index[iClusInSP]]->surface();
-	      //const Trk::Surface& rSurf=pCL[i]->detectorElement()->surface();
-	      N[0]=rSurf.normal().x();
-	      N[1]=rSurf.normal().y();
-	      N[2]=rSurf.normal().z();
-	      C[0]=rSurf.center().x();
-	      C[1]=rSurf.center().y();
-	      C[2]=rSurf.center().z();
-
-	      mx=rSurf.transform().rotation().block(0,0,3,1);
-	      my=rSurf.transform().rotation().block(0,1,3,1);
-	      mz=rSurf.transform().rotation().block(0,2,3,1);
-	      for(i=0;i<3;i++) 
-		{
-		  M[i][0]=mx[i];M[i][1]=my[i];M[i][2]=mz[i];
-		}
-	      Trk::TrkPlanarSurface* pS = new Trk::TrkPlanarSurface(C,N,M,radLength,
-								    &(pEL[index[iClusInSP]]->surface()));
-	      //std::cout<<"created SCT surface"<<std::endl;pS->m_report();
-	      /*
-	      double locCov;
-	      try {
-		const Trk::ErrorMatrix& errMatRef=pCL[index[iClusInSP]]->localErrorMatrix();
-		locCov=errMatRef.covariance()[0][0];
-	      }
-	      catch(Trk::PrepRawDataUndefinedVariable) {
-		locCov=pEL[index[iClusInSP]]->phiPitch();
-		locCov=locCov*locCov/12.0;
-	      }
-	      // override
-	      
-	      locCov=pEL[index[iClusInSP]]->phiPitch();
-	      locCov=locCov*locCov/12.0;
-	      */
-
-	      if(pEL[index[iClusInSP]]->design().shape()!=InDetDD::Trapezoid)
-		{
-		  //vpTrkNodes.push_back(new Trk::TrkClusterNode(pS,DChi2,pCL[index[iClusInSP]]->localPosition()[0],locCov));
-		  vpTrkNodes.push_back(new Trk::TrkClusterNode(pS,DChi2,pCL[index[iClusInSP]]));
-		}
-	      else
-		{	  
-		  const Trk::SurfaceBounds& rBounds=rSurf.bounds();
-		  const Trk::TrapezoidBounds& ecBounds=
-		    dynamic_cast<const Trk::TrapezoidBounds&>(rBounds);
-		  double R=(ecBounds.maxHalflengthX()+ecBounds.minHalflengthX())*
-		    ecBounds.halflengthY()/
-		    (ecBounds.maxHalflengthX()-ecBounds.minHalflengthX());
-		  vpTrkNodes.push_back(new Trk::TrkEndCapClusterNode(pS,DChi2,pCL[index[iClusInSP]],R));
-
-		  //  vpTrkNodes.push_back(new Trk::TrkEndCapClusterNode(pS,DChi2,R,pCL[index[iClusInSP]]->localPosition()[0],locCov));
-		}
-	    }
-	}
-      else if(m_idHelper->is_pixel(ID))
-	{
-	  const InDet::SiCluster* pCL=pSP->clusters().first;
-	  
-	  if(pCL)
-	    {
-	      
-	      const IdentifierHash idHash=
-		m_pixelId->wafer_hash(m_pixelId->wafer_id(pCL->identify()));
-	      const InDetDD::SiDetectorElement* pEL=getPixelDetectorElement(idHash);
-	      const Trk::Surface& rSurf=pEL->surface();
-	      
-	      //const Trk::Surface& rSurf=pCL->detectorElement()->surface();
-
-	      N[0]=rSurf.normal().x();
-	      N[1]=rSurf.normal().y();
-	      N[2]=rSurf.normal().z();
-	      C[0]=rSurf.center().x();
-	      C[1]=rSurf.center().y();
-	      C[2]=rSurf.center().z();
-	      mx=rSurf.transform().rotation().block(0,0,3,1);
-	      my=rSurf.transform().rotation().block(0,1,3,1);
-	      mz=rSurf.transform().rotation().block(0,2,3,1);
-	      for(i=0;i<3;i++) 
-		{
-		  M[i][0]=mx[i];M[i][1]=my[i];M[i][2]=mz[i];
-		}
-	      Trk::TrkPlanarSurface* pS = new Trk::TrkPlanarSurface(C,N,M,radLength,&(pEL->surface()));
-	      /*
-	      std::cout<<"created PIX surface"<<std::endl;
-	      std::cout<<"local position: "<<pCL->localPosition()[0]<<" "<<pCL->localPosition()[1]<<std::endl;
-	      pS->m_report();
-	      */
-	      //	      double locPos[2];
-	      /*
-	      double locCov[4];
-	      try {
-		const Trk::ErrorMatrix& errMatRef=pCL->localErrorMatrix();
-		locCov[0]=errMatRef.covariance()[0][0];
-		locCov[1]=errMatRef.covariance()[0][1];
-		locCov[2]=errMatRef.covariance()[1][0];
-		locCov[3]=errMatRef.covariance()[1][1];
-	      }
-	      catch(Trk::PrepRawDataUndefinedVariable) {
-		//locCov[0]=pEL->phiPitch()*pEL->phiPitch()/12.0;
-		locCov[1]=0.0;locCov[2]=0.0;
-		//locCov[3]=pEL->etaPitch()*pEL->etaPitch()/12.0;
-		locCov[3]=0.3*0.3;locCov[0]=0.012*0.012;
-	      }
-	      */
-	      // override
-	      /*
-	      locCov[0]=pEL->phiPitch()*pEL->phiPitch()/12.0;
-	      locCov[1]=0.0;locCov[2]=0.0;
-	      locCov[3]=pEL->etaPitch()*pEL->etaPitch()/12.0;
-	      locPos[0]=pCL->localPosition()[0];
-	      locPos[1]=pCL->localPosition()[1];    
-	      */
-	      //vpTrkNodes.push_back(new Trk::TrkPixelNode(pS,DChi2,locPos,locCov));
-	      vpTrkNodes.push_back(new Trk::TrkPixelNode(pS,DChi2,pCL));
-	    }
-	}
-    }
-  ATH_MSG_DEBUG(vpTrkNodes.size());
-
-  return true;
-}
-
 bool TrigDkfTrackMakerTool::createDkfTrack(const Trk::Track& track, 
 		std::vector<Trk::TrkBaseNode*>& vpTrkNodes,
 		double DChi2) const {
@@ -328,14 +130,3 @@ bool TrigDkfTrackMakerTool::createDkfTrack(const Trk::Track& track,
 	return true;
 }
 
-const InDetDD::SiDetectorElement* TrigDkfTrackMakerTool::getPixelDetectorElement(const IdentifierHash& waferHash) const {
-  SG::ReadCondHandle<InDetDD::SiDetectorElementCollection> condData{m_pixelDetEleCollKey};
-  if (not condData.isValid()) return nullptr;
-  return condData->getDetectorElement(waferHash);
-}
-
-const InDetDD::SiDetectorElement* TrigDkfTrackMakerTool::getSCTDetectorElement(const IdentifierHash& waferHash) const {
-  SG::ReadCondHandle<InDetDD::SiDetectorElementCollection> condData{m_SCTDetEleCollKey};
-  if (not condData.isValid()) return nullptr;
-  return condData->getDetectorElement(waferHash);
-}
diff --git a/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigInDetTrackFitter.cxx b/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigInDetTrackFitter.cxx
index 86df80626a6b77e6f35f211ee899d841bf7df776..b866fe0d2ffa2f556836654310d01422c6df2015 100755
--- a/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigInDetTrackFitter.cxx
+++ b/Trigger/TrigTools/TrigInDetTrackFitter/src/TrigInDetTrackFitter.cxx
@@ -39,6 +39,7 @@
 #include "TrigInDetTrackFitter/TrigInDetTrackFitter.h"
 #include "TrkToolInterfaces/IRIO_OnTrackCreator.h"
 #include "AthenaBaseComps/AthMsgStreamMacros.h"
+#include "AthenaBaseComps/AthCheckMacros.h"
 
 
 #include "TrkRIO_OnTrack/RIO_OnTrack.h"
@@ -73,29 +74,12 @@ TrigInDetTrackFitter::TrigInDetTrackFitter(const std::string& t,
 
 StatusCode TrigInDetTrackFitter::initialize()
 {
-  StatusCode sc = AthAlgTool::initialize();
-  
-	ATH_MSG_INFO("Using Athena magnetic field service");
-	sc = m_MagFieldSvc.retrieve();
-	if(sc.isFailure()) 
-	{
-		ATH_MSG_ERROR("Unable to retrieve Athena MagFieldService");
-		return StatusCode::FAILURE;
-	}
-  sc=m_trackMaker.retrieve();
-  if(sc.isFailure())
-    {
-      ATH_MSG_ERROR("Could not retrieve "<<m_trackMaker);
-      return sc;
-    }
+	ATH_CHECK(m_MagFieldSvc.retrieve());
+  ATH_CHECK(m_trackMaker.retrieve());
   if (m_correctClusterPos) {
-    sc = m_ROTcreator.retrieve();
-    if (sc.isFailure()) {
-      ATH_MSG_ERROR("Could not get ROTcreator "<<m_ROTcreator);
-      return sc;
-    }
+    ATH_CHECK(m_ROTcreator.retrieve());
   }
-  return sc;
+  return StatusCode::SUCCESS;
 }
 
 StatusCode TrigInDetTrackFitter::finalize()