diff --git a/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp b/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
index eb32aad1cb9036de09c3e268dd256a8d789e84f9..36dc81a1ca1aabd2acca9241bac4c594716351ca 100755
--- a/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
+++ b/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
@@ -24,52 +24,16 @@
 class WriteAlignmentConditions : public GaudiAlgorithm {
 
 public:
-  /// constructer
-  WriteAlignmentConditions( const std::string& name, ISvcLocator* svcloc );
-
-  /// destructer
-  ~WriteAlignmentConditions();
-
-  /// initialize
-  StatusCode initialize() override;
-
-  // finalize
+  using GaudiAlgorithm::GaudiAlgorithm;
   StatusCode finalize() override;
-
-  /// empty execute
   StatusCode execute() override { return StatusCode::SUCCESS; }
 
 private:
-  ToolHandle<IWriteAlignmentConditionsTool> m_tool;
+  ToolHandle<IWriteAlignmentConditionsTool> m_tool{this, "Tool", "WriteAlignmentConditionsTool"};
 };
 
 DECLARE_COMPONENT( WriteAlignmentConditions )
 
-//--------------------------------------------------------------------
-//
-//  WriteAlignmentConditions : Prints out the full geometry tree
-//
-//--------------------------------------------------------------------
-
-WriteAlignmentConditions::WriteAlignmentConditions( const std::string& name, ISvcLocator* pSvcLocator )
-    : GaudiAlgorithm( name, pSvcLocator ), m_tool( "WriteAlignmentConditionsTool", this ) {
-  // constructer
-  declareProperty( "Tool", m_tool );
-}
-
-WriteAlignmentConditions::~WriteAlignmentConditions() {
-  // destructer
-}
-
-StatusCode WriteAlignmentConditions::initialize() {
-  StatusCode sc = GaudiAlgorithm::initialize();
-  sc            = m_tool.retrieve();
-  return sc;
-}
-
 StatusCode WriteAlignmentConditions::finalize() {
-  StatusCode sc = m_tool->write();
-  m_tool.release().ignore();
-  if ( sc.isSuccess() ) sc = GaudiAlgorithm::finalize();
-  return sc;
+  return m_tool->write().andThen( [&] { return GaudiAlgorithm::finalize(); } );
 }
diff --git a/Alignment/TAlignment/CMakeLists.txt b/Alignment/TAlignment/CMakeLists.txt
index d5822c766c4db6948416d5ea2157fa726c738552..23a50d183735457c48f25d261cad1fea86fd0404 100644
--- a/Alignment/TAlignment/CMakeLists.txt
+++ b/Alignment/TAlignment/CMakeLists.txt
@@ -54,10 +54,28 @@ else()
   set(clhep_link CLHEP::CLHEP)
 endif()
 
+gaudi_add_library(TAlignmentLib
+                  src/AlElementHistos.cpp
+                  src/AlignAlgorithm.cpp
+                  src/AlignmentElement.cpp
+                  src/AlParameters.cpp
+                  src/AlResiduals.cpp
+                  src/TrackFilterAlg.cpp
+                  PUBLIC_HEADERS TAlignment
+                  INCLUDE_DIRS Boost GSL AIDA Alignment/AlignmentInterfaces Tr/TrackInterfaces ${clhep_inc}
+                  LINK_LIBRARIES Boost GSL AlignEvent AlignKernel MuonDetLib STDetLib LinkerEvent PhysEvent RecEvent TrackEvent GaudiAlgLib GaudiKernel LHCbKernel LHCbMathLib LoKiCoreLib TrackFitEvent TrackKernel ${clhep_link})
+
 gaudi_add_module(TAlignment
-                 src/*.cpp
-                 INCLUDE_DIRS Boost GSL AIDA Alignment/AlignmentInterfaces Tr/TrackInterfaces ${clhep_inc}
-                 LINK_LIBRARIES Boost GSL AlignEvent AlignKernel MuonDetLib STDetLib LinkerEvent PhysEvent RecEvent TrackEvent GaudiAlgLib GaudiKernel LHCbKernel LHCbMathLib LoKiCoreLib TrackFitEvent TrackKernel ${clhep_link})
+                 src/AlignAlgorithmComponent.cpp
+                 src/AlignChisqConstraintTool.cpp
+                 src/AlignConstraintTool.cpp
+                 src/AlignUpdateTool.cpp
+                 src/CountingPrescaler.cpp
+                 src/GetElementsToBeAligned.cpp
+                 src/TrackResidualTool.cpp
+                 src/VertexResidualTool.cpp
+                 INCLUDE_DIRS Boost CLHEP GSL AIDA Alignment/AlignmentInterfaces Tr/TrackInterfaces ${clhep_inc}
+                 LINK_LIBRARIES Boost CLHEP GSL TAlignmentLib AlignEvent AlignKernel MuonDetLib STDetLib LinkerEvent PhysEvent RecEvent TrackEvent GaudiAlgLib GaudiKernel LHCbKernel LHCbMathLib LoKiCoreLib TrackFitEvent TrackKernel ${clhep_link})
 
 gaudi_add_dictionary(TAlignment
                      dict/TAlignmentDict.h
diff --git a/Alignment/TAlignment/src/AlDofMask.h b/Alignment/TAlignment/TAlignment/AlDofMask.h
similarity index 100%
rename from Alignment/TAlignment/src/AlDofMask.h
rename to Alignment/TAlignment/TAlignment/AlDofMask.h
diff --git a/Alignment/TAlignment/src/AlElementHistos.h b/Alignment/TAlignment/TAlignment/AlElementHistos.h
similarity index 100%
rename from Alignment/TAlignment/src/AlElementHistos.h
rename to Alignment/TAlignment/TAlignment/AlElementHistos.h
diff --git a/Alignment/TAlignment/src/AlParameters.h b/Alignment/TAlignment/TAlignment/AlParameters.h
similarity index 99%
rename from Alignment/TAlignment/src/AlParameters.h
rename to Alignment/TAlignment/TAlignment/AlParameters.h
index 384120dc7dc6d37316234522ec39915bbd098023..cd50b9a6319afb76fb4c298ce36c97dfa12e31ea 100755
--- a/Alignment/TAlignment/src/AlParameters.h
+++ b/Alignment/TAlignment/TAlignment/AlParameters.h
@@ -11,12 +11,12 @@
 #ifndef TALIGNMENT_ALPARAMETERS_H
 #define TALIGNMENT_ALPARAMETERS_H
 
-#include "AlDofMask.h"
 #include "AlignKernel/AlSymMat.h"
 #include "AlignKernel/AlVec.h"
 #include "GaudiKernel/SymmetricMatrixTypes.h"
 #include "Math/SMatrix.h"
 #include "Math/Transform3D.h"
+#include "TAlignment/AlDofMask.h"
 #include "boost/array.hpp"
 #include <iostream>
 #include <string>
diff --git a/Alignment/TAlignment/src/AlResiduals.h b/Alignment/TAlignment/TAlignment/AlResiduals.h
similarity index 100%
rename from Alignment/TAlignment/src/AlResiduals.h
rename to Alignment/TAlignment/TAlignment/AlResiduals.h
diff --git a/Alignment/TAlignment/src/AlignAlgorithm.h b/Alignment/TAlignment/TAlignment/AlignAlgorithm.h
similarity index 100%
rename from Alignment/TAlignment/src/AlignAlgorithm.h
rename to Alignment/TAlignment/TAlignment/AlignAlgorithm.h
diff --git a/Alignment/TAlignment/src/AlignmentElement.h b/Alignment/TAlignment/TAlignment/AlignmentElement.h
similarity index 100%
rename from Alignment/TAlignment/src/AlignmentElement.h
rename to Alignment/TAlignment/TAlignment/AlignmentElement.h
diff --git a/Alignment/TAlignment/src/IAlignChisqConstraintTool.h b/Alignment/TAlignment/TAlignment/IAlignChisqConstraintTool.h
similarity index 100%
rename from Alignment/TAlignment/src/IAlignChisqConstraintTool.h
rename to Alignment/TAlignment/TAlignment/IAlignChisqConstraintTool.h
diff --git a/Alignment/TAlignment/src/IAlignConstraintTool.h b/Alignment/TAlignment/TAlignment/IAlignConstraintTool.h
similarity index 100%
rename from Alignment/TAlignment/src/IAlignConstraintTool.h
rename to Alignment/TAlignment/TAlignment/IAlignConstraintTool.h
diff --git a/Alignment/TAlignment/src/IGetElementsToBeAligned.h b/Alignment/TAlignment/TAlignment/IGetElementsToBeAligned.h
similarity index 100%
rename from Alignment/TAlignment/src/IGetElementsToBeAligned.h
rename to Alignment/TAlignment/TAlignment/IGetElementsToBeAligned.h
diff --git a/Alignment/TAlignment/src/ITrackResidualTool.h b/Alignment/TAlignment/TAlignment/ITrackResidualTool.h
similarity index 100%
rename from Alignment/TAlignment/src/ITrackResidualTool.h
rename to Alignment/TAlignment/TAlignment/ITrackResidualTool.h
diff --git a/Alignment/TAlignment/src/IVertexResidualTool.h b/Alignment/TAlignment/TAlignment/IVertexResidualTool.h
similarity index 100%
rename from Alignment/TAlignment/src/IVertexResidualTool.h
rename to Alignment/TAlignment/TAlignment/IVertexResidualTool.h
diff --git a/Alignment/TAlignment/src/AlElementHistos.cpp b/Alignment/TAlignment/src/AlElementHistos.cpp
index 54d93cce8370c8a7e262439f1ce22b071f0c3867..7b473cc27265f39553ae881e4dec61bc0dd9af11 100755
--- a/Alignment/TAlignment/src/AlElementHistos.cpp
+++ b/Alignment/TAlignment/src/AlElementHistos.cpp
@@ -9,10 +9,10 @@
 * or submit itself to any jurisdiction.                                       *
 \*****************************************************************************/
 
-#include "AlElementHistos.h"
+#include "TAlignment/AlElementHistos.h"
 #include "AIDA/IHistogram1D.h"
-#include "AlignmentElement.h"
 #include "GaudiAlg/GaudiHistoAlg.h"
+#include "TAlignment/AlignmentElement.h"
 //#include "AIDA/IHistogram2D.h"
 #include "boost/lexical_cast.hpp"
 
diff --git a/Alignment/TAlignment/src/AlParameters.cpp b/Alignment/TAlignment/src/AlParameters.cpp
index 316af10b77b88f3654c802d80fdfa4d59ed3c3ef..2ac213871c1962bfff7c95dfc0d79d533f1cb6f6 100755
--- a/Alignment/TAlignment/src/AlParameters.cpp
+++ b/Alignment/TAlignment/src/AlParameters.cpp
@@ -8,7 +8,7 @@
 * granted to it by virtue of its status as an Intergovernmental Organization  *
 * or submit itself to any jurisdiction.                                       *
 \*****************************************************************************/
-#include "AlParameters.h"
+#include "TAlignment/AlParameters.h"
 #include <algorithm>
 #include <cmath>
 
diff --git a/Alignment/TAlignment/src/AlResiduals.cpp b/Alignment/TAlignment/src/AlResiduals.cpp
index 2a5f0a2f1fb428f00217387312a41264a4c558c7..93cb7f7485a70a3e2dfaf8554e6ea30e9aa8bc7a 100755
--- a/Alignment/TAlignment/src/AlResiduals.cpp
+++ b/Alignment/TAlignment/src/AlResiduals.cpp
@@ -8,9 +8,9 @@
 * granted to it by virtue of its status as an Intergovernmental Organization  *
 * or submit itself to any jurisdiction.                                       *
 \*****************************************************************************/
-#include "AlResiduals.h"
-#include "AlignmentElement.h"
+#include "TAlignment/AlResiduals.h"
 #include "Event/FitNode.h"
+#include "TAlignment/AlignmentElement.h"
 #include <set>
 #include <sstream>
 
diff --git a/Alignment/TAlignment/src/AlignAlgorithm.cpp b/Alignment/TAlignment/src/AlignAlgorithm.cpp
index 64bcf029c74372f72db69fc8fd7d297abeeb7a93..49bb5f10d741359764d5b64344760b656e338f6d 100755
--- a/Alignment/TAlignment/src/AlignAlgorithm.cpp
+++ b/Alignment/TAlignment/src/AlignAlgorithm.cpp
@@ -32,10 +32,10 @@
 #include "TrackKernel/TrackFunctors.h"
 
 // local
-#include "AlParameters.h"
-#include "AlignAlgorithm.h"
 #include "AlignKernel/AlEquations.h"
 #include "Event/AlignSummaryData.h"
+#include "TAlignment/AlParameters.h"
+#include "TAlignment/AlignAlgorithm.h"
 
 #include "GaudiKernel/IMonitorSvc.h"
 #include "GaudiKernel/IUpdateable.h"
@@ -61,27 +61,21 @@ namespace {
 using namespace LHCb;
 using namespace boost;
 
-// Declaration of the Algorithm Factory
-DECLARE_COMPONENT( AlignAlgorithm )
-
 StatusCode AlignAlgorithm::initialize() {
   StatusCode sc = GaudiHistoAlg::initialize(); // must be executed first
   if ( sc.isFailure() ) return sc;             // error printed already by GaudiAlgorithm
 
-  /// Set histogram path
-  // if ("" == histoTopDir()) setHistoTopDir("Alignment/");
-
   /// Get range  detector elements
   const Elements& elements = m_elementtool->elements();
 
   if ( printDebug() ) {
     debug() << "==> Got " << elements.size() << " elements to align!" << endmsg;
-    for ( Elements::const_iterator i = elements.begin(); i != elements.end(); ++i ) {
-      const AlParameters::DofMask& ownDoFMask = ( *i )->dofMask();
-      debug() << "        " << ( **i ) << endmsg;
+    for ( auto& element : elements ) {
+      const AlParameters::DofMask& ownDoFMask = element->dofMask();
+      debug() << "        " << ( *element ) << endmsg;
       const std::vector<std::string> dofs = {"Tx", "Ty", "Tz", "Rx", "Ry", "Rz"};
       debug() << "DOFs: ";
-      for ( AlParameters::DofMask::const_iterator j = ownDoFMask.begin(), jEnd = ownDoFMask.end(); j != jEnd; ++j ) {
+      for ( auto j = ownDoFMask.begin(), jEnd = ownDoFMask.end(); j != jEnd; ++j ) {
         if ( ( *j ) ) info() << dofs.at( std::distance( ownDoFMask.begin(), j ) );
       }
       debug() << endmsg;
@@ -104,16 +98,12 @@ StatusCode AlignAlgorithm::initialize() {
   /// @todo: this should go into a monitoring tool
   if ( m_fillHistos ) {
     info() << "booking histograms assuming " << m_nIterations << " iterations " << endmsg;
-    for ( Elements::const_iterator i = elements.begin(); i != elements.end(); ++i )
-      m_elemHistos.emplace_back( *this, **i, m_nIterations );
+    for ( auto& element : elements ) m_elemHistos.emplace_back( *this, *element, m_nIterations );
     m_resetHistos = false;
   }
 
   info() << "Use correlations = " << m_correlation << endmsg;
 
-  //  for( auto i : m_xmlWriterNames )
-  //    m_xmlWriters.push_back( tool<IWriteAlignmentConditionsTool>(i,this) ) ;
-
   if ( m_Online ) { m_HistoUpdater.setMonitorService( monitorSvc() ); }
   return StatusCode::SUCCESS;
 }
@@ -140,16 +130,6 @@ StatusCode AlignAlgorithm::start() {
   if ( m_Online ) {
     // reset contents of ASD
     reset();
-    //    std::vector<std::string> workers = toolSvc()->getInstances("IAlignWork");
-    //    if (workers.size()>0)
-    //    {
-    //      sc = toolSvc()->retrieveTool("IAlignWork",workers[0],m_IAlwork,0,false);
-    //      if (!sc)
-    //      {
-    //        Error("Cannot retrieve IAlignWork tool");
-    //        return sc;
-    //      }
-    //    }
   }
   return StatusCode::SUCCESS;
 }
diff --git a/Alignment/TAlignment/src/AlignAlgorithmComponent.cpp b/Alignment/TAlignment/src/AlignAlgorithmComponent.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..8b3ee48700a78a72a2a78e6308694074da7f1e4b
--- /dev/null
+++ b/Alignment/TAlignment/src/AlignAlgorithmComponent.cpp
@@ -0,0 +1,19 @@
+/*****************************************************************************\
+* (c) Copyright 2000-2018 CERN for the benefit of the LHCb Collaboration      *
+*                                                                             *
+* This software is distributed under the terms of the GNU General Public      *
+* Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING".   *
+*                                                                             *
+* In applying this licence, CERN does not waive the privileges and immunities *
+* granted to it by virtue of its status as an Intergovernmental Organization  *
+* or submit itself to any jurisdiction.                                       *
+\*****************************************************************************/
+
+#include "TAlignment/AlignAlgorithm.h"
+
+// Declaration of the Algorithm Factory in order to put it in a module
+// and have it imported from python
+// The implementation of the class leaves in AlignAlgorithm.cpp which
+// is compiled into the main library so that the algorithm can be used
+// with cppyy
+DECLARE_COMPONENT( AlignAlgorithm )
diff --git a/Alignment/TAlignment/src/AlignChisqConstraintTool.cpp b/Alignment/TAlignment/src/AlignChisqConstraintTool.cpp
index d8eb66394ac4c9c29b206cfeb0070c719657bb3e..5eb76e4c587ec6f3380c19795d4bd49f668d3350 100644
--- a/Alignment/TAlignment/src/AlignChisqConstraintTool.cpp
+++ b/Alignment/TAlignment/src/AlignChisqConstraintTool.cpp
@@ -14,8 +14,8 @@
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiKernel/SystemOfUnits.h"
 
-#include "IAlignChisqConstraintTool.h"
-#include "IGetElementsToBeAligned.h"
+#include "TAlignment/IAlignChisqConstraintTool.h"
+#include "TAlignment/IGetElementsToBeAligned.h"
 
 #include <boost/assign/list_of.hpp>
 #include <boost/lexical_cast.hpp>
diff --git a/Alignment/TAlignment/src/AlignConstraintTool.cpp b/Alignment/TAlignment/src/AlignConstraintTool.cpp
index 6deedb76aa479d84c3574e31f2a848bdbc96a94c..dfb725e81c7329313d67871ad6da60244b2c363c 100755
--- a/Alignment/TAlignment/src/AlignConstraintTool.cpp
+++ b/Alignment/TAlignment/src/AlignConstraintTool.cpp
@@ -11,9 +11,9 @@
 #include "AlignKernel/AlMat.h"
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiKernel/SystemOfUnits.h"
-#include "IAlignConstraintTool.h"
-#include "IGetElementsToBeAligned.h"
 #include "LHCbMath/LHCbMath.h"
+#include "TAlignment/IAlignConstraintTool.h"
+#include "TAlignment/IGetElementsToBeAligned.h"
 #include "boost/assign/list_of.hpp"
 #include "boost/tokenizer.hpp"
 
diff --git a/Alignment/TAlignment/src/AlignUpdateTool.cpp b/Alignment/TAlignment/src/AlignUpdateTool.cpp
index dbc09ae9ee11dd0f57a5fc6103db8127975280ce..d7f23fba5124c60eafe58405a183aca40d578f85 100755
--- a/Alignment/TAlignment/src/AlignUpdateTool.cpp
+++ b/Alignment/TAlignment/src/AlignUpdateTool.cpp
@@ -17,9 +17,9 @@
 #include "AlignmentInterfaces/IAlignSolvTool.h"
 #include "AlignmentInterfaces/IAlignUpdateTool.h"
 
-#include "IAlignChisqConstraintTool.h"
-#include "IAlignConstraintTool.h"
-#include "IGetElementsToBeAligned.h"
+#include "TAlignment/IAlignChisqConstraintTool.h"
+#include "TAlignment/IAlignConstraintTool.h"
+#include "TAlignment/IGetElementsToBeAligned.h"
 
 #include "TH1D.h"
 #include "TMath.h"
diff --git a/Alignment/TAlignment/src/AlignmentElement.cpp b/Alignment/TAlignment/src/AlignmentElement.cpp
index 63d482a1f20e1a61759ef0025fdfbc93e20c998e..3e071242d60216f2399834695c253c0fb9c5290e 100755
--- a/Alignment/TAlignment/src/AlignmentElement.cpp
+++ b/Alignment/TAlignment/src/AlignmentElement.cpp
@@ -31,7 +31,7 @@
 #include "boost/regex.hpp"
 
 // local
-#include "AlignmentElement.h"
+#include "TAlignment/AlignmentElement.h"
 
 namespace {
   void addToElementsInTree( const LHCb::Alignment::DetectorElement& element,
diff --git a/Alignment/TAlignment/src/GetElementsToBeAligned.h b/Alignment/TAlignment/src/GetElementsToBeAligned.h
index d04170655e5e8a16d578416eed9e954ab2f6cd36..9f442f17d6b1db6816ed72b1976bb521f52ce568 100755
--- a/Alignment/TAlignment/src/GetElementsToBeAligned.h
+++ b/Alignment/TAlignment/src/GetElementsToBeAligned.h
@@ -22,7 +22,7 @@
 #include "GaudiAlg/GaudiTool.h"
 
 // Interface
-#include "IGetElementsToBeAligned.h"
+#include "TAlignment/IGetElementsToBeAligned.h"
 
 // from BOOST
 #include "boost/regex.hpp"
diff --git a/Alignment/TAlignment/src/TrackFilterAlg.h b/Alignment/TAlignment/src/TrackFilterAlg.h
index 83cbb0cb7e4662f641397541b4cc62f016acd13c..0a1703c65b922847a3dd560dd858e8949b5db06e 100755
--- a/Alignment/TAlignment/src/TrackFilterAlg.h
+++ b/Alignment/TAlignment/src/TrackFilterAlg.h
@@ -29,8 +29,8 @@
 // from AlignmentInterfaces
 #include "TrackInterfaces/ITrackSelector.h"
 
-#include "AlignmentElement.h"
-#include "IGetElementsToBeAligned.h"
+#include "TAlignment/AlignmentElement.h"
+#include "TAlignment/IGetElementsToBeAligned.h"
 
 // from TrackInterfaces
 #include "TrackInterfaces/ITrackExtrapolator.h"
diff --git a/Alignment/TAlignment/src/TrackResidualTool.cpp b/Alignment/TAlignment/src/TrackResidualTool.cpp
index 81939639498f7193ed2c73dadc4b054a6576d2d9..7121e6d91f9c0a12dc0dca6401b6dd2aaa598c92 100755
--- a/Alignment/TAlignment/src/TrackResidualTool.cpp
+++ b/Alignment/TAlignment/src/TrackResidualTool.cpp
@@ -13,9 +13,9 @@
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiKernel/IIncidentListener.h"
 #include "GaudiKernel/ToolHandle.h"
-#include "IGetElementsToBeAligned.h"
-#include "ITrackResidualTool.h"
 #include "LHCbMath/MatrixInversion.h"
+#include "TAlignment/IGetElementsToBeAligned.h"
+#include "TAlignment/ITrackResidualTool.h"
 #include "TrackInterfaces/ITrackKalmanFilter.h"
 #include "TrackKernel/TrackFunctors.h"
 #include <map>
diff --git a/Alignment/TAlignment/src/VertexResidualTool.cpp b/Alignment/TAlignment/src/VertexResidualTool.cpp
index 1e62237b525398852bfbb83cf7d7fe4e8b2e0824..cc8d91e05ffbabc456df19df7bfc40bc2c0a95c7 100755
--- a/Alignment/TAlignment/src/VertexResidualTool.cpp
+++ b/Alignment/TAlignment/src/VertexResidualTool.cpp
@@ -12,13 +12,12 @@
 #include "GaudiAlg/GaudiTool.h"
 #include "GaudiKernel/ServiceHandle.h"
 #include "GaudiKernel/ToolHandle.h"
-#include "IVertexResidualTool.h"
 #include "Kernel/IParticlePropertySvc.h"
 #include "Kernel/ParticleProperty.h"
 #include "LHCbMath/MatrixInversion.h"
+#include "TAlignment/ITrackResidualTool.h"
+#include "TAlignment/IVertexResidualTool.h"
 #include "TrackInterfaces/ITrackExtrapolator.h"
-// TAlignment
-#include "ITrackResidualTool.h"
 
 struct ITrackExtrapolator;
 namespace LHCb {
@@ -76,8 +75,8 @@ namespace Al {
 #include "Event/Particle.h"
 #include "Event/TwoProngVertex.h"
 #include "GaudiKernel/ParticleProperty.h"
-#include "ITrackResidualTool.h"
 #include "Kernel/ParticleID.h"
+#include "TAlignment/ITrackResidualTool.h"
 #include "TrackInterfaces/ITrackExtrapolator.h"
 #include "TrackKernel/TrackStateVertex.h"
 #include <boost/assign/list_of.hpp>