From dff7dd58a207314fdaac68a6056cc3990f4634eb Mon Sep 17 00:00:00 2001
From: Sebastien Ponce <sebastien.ponce@cern.ch>
Date: Wed, 4 Nov 2020 16:51:44 +0100
Subject: [PATCH 1/3] modernization of AlignAlgorithm (very partial)

---
 Alignment/TAlignment/src/AlignAlgorithm.cpp | 28 +++++----------------
 1 file changed, 6 insertions(+), 22 deletions(-)

diff --git a/Alignment/TAlignment/src/AlignAlgorithm.cpp b/Alignment/TAlignment/src/AlignAlgorithm.cpp
index 64bcf029c..36eedac6f 100755
--- a/Alignment/TAlignment/src/AlignAlgorithm.cpp
+++ b/Alignment/TAlignment/src/AlignAlgorithm.cpp
@@ -68,20 +68,17 @@ 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 +101,13 @@ 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 +134,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;
 }
-- 
GitLab


From b549df209d055de4d221f5e3524255814d6165b3 Mon Sep 17 00:00:00 2001
From: Sebastien Ponce <sebastien.ponce@cern.ch>
Date: Wed, 4 Nov 2020 16:55:19 +0100
Subject: [PATCH 2/3] Modernization of WriteAlignmentConditions

---
 .../src/WriteAlignmentConditions.cpp          | 44 +++----------------
 1 file changed, 5 insertions(+), 39 deletions(-)

diff --git a/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp b/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
index eb32aad1c..806a84458 100755
--- a/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
+++ b/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
@@ -24,52 +24,18 @@
 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();
+  });
 }
-- 
GitLab


From f645eda8d7db85b628b59425a87eda0543b7ae2f Mon Sep 17 00:00:00 2001
From: Sebastien Ponce <sebastien.ponce@cern.ch>
Date: Thu, 5 Nov 2020 11:46:37 +0100
Subject: [PATCH 3/3] Made library rather than module for TAlignment so that
 cppyy can access objects

---
 .../src/WriteAlignmentConditions.cpp          |  4 +---
 Alignment/TAlignment/CMakeLists.txt           | 24 ++++++++++++++++---
 .../{src => TAlignment}/AlDofMask.h           |  0
 .../{src => TAlignment}/AlElementHistos.h     |  0
 .../{src => TAlignment}/AlParameters.h        |  2 +-
 .../{src => TAlignment}/AlResiduals.h         |  0
 .../{src => TAlignment}/AlignAlgorithm.h      |  0
 .../{src => TAlignment}/AlignmentElement.h    |  0
 .../IAlignChisqConstraintTool.h               |  0
 .../IAlignConstraintTool.h                    |  0
 .../IGetElementsToBeAligned.h                 |  0
 .../{src => TAlignment}/ITrackResidualTool.h  |  0
 .../{src => TAlignment}/IVertexResidualTool.h |  0
 Alignment/TAlignment/src/AlElementHistos.cpp  |  4 ++--
 Alignment/TAlignment/src/AlParameters.cpp     |  2 +-
 Alignment/TAlignment/src/AlResiduals.cpp      |  4 ++--
 Alignment/TAlignment/src/AlignAlgorithm.cpp   | 10 +++-----
 .../src/AlignAlgorithmComponent.cpp           | 19 +++++++++++++++
 .../src/AlignChisqConstraintTool.cpp          |  4 ++--
 .../TAlignment/src/AlignConstraintTool.cpp    |  4 ++--
 Alignment/TAlignment/src/AlignUpdateTool.cpp  |  6 ++---
 Alignment/TAlignment/src/AlignmentElement.cpp |  2 +-
 .../TAlignment/src/GetElementsToBeAligned.h   |  2 +-
 Alignment/TAlignment/src/TrackFilterAlg.h     |  4 ++--
 .../TAlignment/src/TrackResidualTool.cpp      |  4 ++--
 .../TAlignment/src/VertexResidualTool.cpp     |  7 +++---
 26 files changed, 66 insertions(+), 36 deletions(-)
 rename Alignment/TAlignment/{src => TAlignment}/AlDofMask.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/AlElementHistos.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/AlParameters.h (99%)
 rename Alignment/TAlignment/{src => TAlignment}/AlResiduals.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/AlignAlgorithm.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/AlignmentElement.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/IAlignChisqConstraintTool.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/IAlignConstraintTool.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/IGetElementsToBeAligned.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/ITrackResidualTool.h (100%)
 rename Alignment/TAlignment/{src => TAlignment}/IVertexResidualTool.h (100%)
 create mode 100644 Alignment/TAlignment/src/AlignAlgorithmComponent.cpp

diff --git a/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp b/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
index 806a84458..36dc81a1c 100755
--- a/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
+++ b/Alignment/AlignTrTools/src/WriteAlignmentConditions.cpp
@@ -35,7 +35,5 @@ private:
 DECLARE_COMPONENT( WriteAlignmentConditions )
 
 StatusCode WriteAlignmentConditions::finalize() {
-  return m_tool->write().andThen( [&] {
-    return GaudiAlgorithm::finalize();
-  });
+  return m_tool->write().andThen( [&] { return GaudiAlgorithm::finalize(); } );
 }
diff --git a/Alignment/TAlignment/CMakeLists.txt b/Alignment/TAlignment/CMakeLists.txt
index d5822c766..23a50d183 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 384120dc7..cd50b9a63 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 54d93cce8..7b473cc27 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 316af10b7..2ac213871 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 2a5f0a2f1..93cb7f748 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 36eedac6f..49bb5f10d 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,9 +61,6 @@ 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
@@ -101,8 +98,7 @@ StatusCode AlignAlgorithm::initialize() {
   /// @todo: this should go into a monitoring tool
   if ( m_fillHistos ) {
     info() << "booking histograms assuming " << m_nIterations << " iterations " << endmsg;
-    for ( auto& element : elements )
-      m_elemHistos.emplace_back( *this, *element, m_nIterations );
+    for ( auto& element : elements ) m_elemHistos.emplace_back( *this, *element, m_nIterations );
     m_resetHistos = false;
   }
 
diff --git a/Alignment/TAlignment/src/AlignAlgorithmComponent.cpp b/Alignment/TAlignment/src/AlignAlgorithmComponent.cpp
new file mode 100644
index 000000000..8b3ee4870
--- /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 d8eb66394..5eb76e4c5 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 6deedb76a..dfb725e81 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 dbc09ae9e..d7f23fba5 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 63d482a1f..3e071242d 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 d04170655..9f442f17d 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 83cbb0cb7..0a1703c65 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 819396394..7121e6d91 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 1e62237b5..cc8d91e05 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>
-- 
GitLab