diff --git a/PhysicsAnalysis/D3PDTools/AnaAlgorithm/CMakeLists.txt b/PhysicsAnalysis/D3PDTools/AnaAlgorithm/CMakeLists.txt
index eeaad6823138b8b4f512462e321b6ad80ba75c99..7b86dc71f2f6125da0e26ccada6f8034ad99983a 100644
--- a/PhysicsAnalysis/D3PDTools/AnaAlgorithm/CMakeLists.txt
+++ b/PhysicsAnalysis/D3PDTools/AnaAlgorithm/CMakeLists.txt
@@ -57,5 +57,5 @@ if( XAOD_STANDALONE )
       SCRIPT python -m unittest AnaAlgorithm.AlgSequence )
 else()
    atlas_install_python_modules( python/__init__.py python/DualUseConfig.py
-      python/AlgSequence.py python/AnaAlgSequence.py )
+      python/AlgSequence.py python/AnaAlgSequence.py python/Logging.py )
 endif()
diff --git a/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py b/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py
index 1fec77da09272e47a4211766ed6665a98bb81a90..4a04a06d35b8854813c35ed3530df295cd67033a 100644
--- a/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py
+++ b/PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py
@@ -9,7 +9,7 @@
 # the standalone logger
 
 try:
-    from AthenaCommon import logging
+    from AthenaCommon.Logging import logging as logging
 
 except:
 
diff --git a/Reconstruction/EventShapes/EventShapeTools/CMakeLists.txt b/Reconstruction/EventShapes/EventShapeTools/CMakeLists.txt
index 42e514d2f28f43b9f85e0c7a0f6f2d6ee8ede60c..4ae66002a7aaee3ec07221c65ffbd53eed684040 100644
--- a/Reconstruction/EventShapes/EventShapeTools/CMakeLists.txt
+++ b/Reconstruction/EventShapes/EventShapeTools/CMakeLists.txt
@@ -22,24 +22,24 @@ find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
 # Component(s) in the package:
 atlas_add_library( EventShapeToolsLib
                    Root/*.cxx
-                   src/*.cxx
                    PUBLIC_HEADERS EventShapeTools
                    INCLUDE_DIRS ${FASTJET_INCLUDE_DIRS}
                    PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${FASTJET_LIBRARIES} AsgTools GaudiKernel EventShapeInterface JetInterface
-                   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps xAODEventShape )
+                   LINK_LIBRARIES ${FASTJET_LIBRARIES} AsgTools EventShapeInterface JetInterface
+                   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} xAODEventShape )
 
-atlas_add_component( EventShapeTools
-                     src/components/*.cxx
-                     INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${ROOT_LIBRARIES} ${FASTJET_LIBRARIES} AsgTools GaudiKernel EventShapeInterface JetInterface AthenaBaseComps xAODEventShape EventShapeToolsLib )
+if( NOT XAOD_STANDALONE )
+  atlas_add_component( EventShapeTools
+                       src/*.cxx src/components/*.cxx
+                       INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS}
+                       LINK_LIBRARIES ${ROOT_LIBRARIES} ${FASTJET_LIBRARIES} AsgTools GaudiKernel EventShapeInterface JetInterface AthenaBaseComps xAODEventShape EventShapeToolsLib )
+endif()
 
 atlas_add_dictionary( EventShapeToolsDict
                       EventShapeTools/EventShapeToolsDict.h
                       EventShapeTools/selection.xml
                       INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS}
-                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${FASTJET_LIBRARIES} AsgTools GaudiKernel EventShapeInterface JetInterface AthenaBaseComps xAODEventShape EventShapeToolsLib )
+                      LINK_LIBRARIES ${ROOT_LIBRARIES} ${FASTJET_LIBRARIES} AsgTools EventShapeInterface JetInterface xAODEventShape EventShapeToolsLib )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
-
diff --git a/Reconstruction/Jet/JetMomentTools/CMakeLists.txt b/Reconstruction/Jet/JetMomentTools/CMakeLists.txt
index c61eb3566e23285fdad42e5b58e29e81ff5f42bb..7dff3b0cec7de5fd4ce95efd7345b07459590060 100644
--- a/Reconstruction/Jet/JetMomentTools/CMakeLists.txt
+++ b/Reconstruction/Jet/JetMomentTools/CMakeLists.txt
@@ -83,17 +83,10 @@ if( NOT XAOD_STANDALONE )
       ${extra_libs} )
 endif()
 
-if( XAOD_STANDALONE )
-   atlas_add_dictionary( JetMomentToolsDict
-	JetMomentTools/JetMomentToolsDict.h
-	JetMomentTools/selection_standalone.xml
-	LINK_LIBRARIES JetMomentToolsLib )
-else()
-    atlas_add_dictionary( JetMomentToolsDict
+atlas_add_dictionary( JetMomentToolsDict
 	JetMomentTools/JetMomentToolsDict.h
 	JetMomentTools/selection.xml
 	LINK_LIBRARIES JetMomentToolsLib )
-endif()
 
 if( XAOD_ANALYSIS )
     atlas_add_executable( JetJvtTools_Example
@@ -109,4 +102,3 @@ endif()
 atlas_install_python_modules( python/*.py )
 atlas_install_runtime( share/*.root )
 atlas_install_data( share/*.root )
-
diff --git a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloEnergies.h b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloEnergies.h
index 3c3236f756fbf2c86fdf66b7203a189e56eafca9..0a787b1e5251ff122b499ab909995d5c05730467 100644
--- a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloEnergies.h
+++ b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloEnergies.h
@@ -11,9 +11,9 @@
 #include <vector>
 
 class JetCaloEnergies : public JetModifierBase {
-  ASG_TOOL_CLASS0(JetCaloEnergies)
+  ASG_TOOL_CLASS(JetCaloEnergies,IJetModifier)
 public:
-  
+
   JetCaloEnergies(const std::string & t);
 
 
@@ -23,10 +23,9 @@ protected:
   void fillEperSamplingCluster(xAOD::Jet &jet, std::vector<float> & ePerSampling ) const ;
   void fillEperSamplingPFO(xAOD::Jet &jet, std::vector<float> & ePerSampling ) const ;
 
-      
+
 };
 
 
 #undef ASG_DERIVED_TOOL_CLASS
 #endif
-
diff --git a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloQualityTool.h b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloQualityTool.h
index 94ddbc0543c9dd052a58bfc2ef8372f33c0bccbb..4a5283b60f95e82a9f1633c808edf9bba5dda7aa 100644
--- a/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloQualityTool.h
+++ b/Reconstruction/Jet/JetMomentTools/JetMomentTools/JetCaloQualityTool.h
@@ -4,11 +4,11 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-/**  
+/**
      @class JetCaloQualityTool
-     Calculates calorimeter based variables for jet quality 
+     Calculates calorimeter based variables for jet quality
      @author Nikola Makovec
-     @author P-A Delsart 
+     @author P-A Delsart
      @date (first implementation) October , 2009
      @date (run 2 implementation) February , 2014
 
@@ -18,9 +18,9 @@
 
      List of known calculations (see also the implementation of initialize()) :
          LArQuality, Timing, NegativeE, Centroid, N90Constituents, BchCorrCell, FracSamplingMax
-     
+
      This class performs cluster-based calculation. For similar cell-based calculation, see JetCaloCellQualityUtils.h
-     
+
 */
 #ifndef JETREC_JETCALOQUALITYTOOL_H
 #define JETREC_JETCALOQUALITYTOOL_H
@@ -34,30 +34,29 @@
 
 
 class JetCaloQualityTool: public JetModifierBase {
-  ASG_TOOL_CLASS0(JetCaloQualityTool)
-  
+  ASG_TOOL_CLASS(JetCaloQualityTool,IJetModifier)
+
 public:
   JetCaloQualityTool(const std::string & name);
 
   virtual int modifyJet(xAOD::Jet& ) const ;
-  
+
   virtual StatusCode initialize();
 
  protected:
   /// Names of calo quantities to compute and to add as attributes
-  std::vector<std::string> m_calculationNames;  
+  std::vector<std::string> m_calculationNames;
 
   /// Time cuts for Out-of-time calo quantities.
   std::vector <double> m_timingTimeCuts;
 
-  /// This objects holds a list of cluster-based calculators  
+  /// This objects holds a list of cluster-based calculators
   jet::JetCaloCalculations m_jetCalculations;
 
   // internal pointer to m_jetCalculations (this pointer is also used in the cell-based derived tool)
   jet::JetCaloCalculations * m_calcProcessor;
 
-  
-  bool m_doFracSamplingMax; // internal			     
-};
-#endif 
 
+  bool m_doFracSamplingMax; // internal
+};
+#endif
diff --git a/Reconstruction/Jet/JetMomentTools/JetMomentTools/selection.xml b/Reconstruction/Jet/JetMomentTools/JetMomentTools/selection.xml
index f17597d990b29325baeeba2c52136175e215d5c8..cfb8071abb47bfcc03dcae749069ef47d56d3231 100644
--- a/Reconstruction/Jet/JetMomentTools/JetMomentTools/selection.xml
+++ b/Reconstruction/Jet/JetMomentTools/JetMomentTools/selection.xml
@@ -1,22 +1,18 @@
 <lcgdict>
-<!-- <class name="JetBadChanCorrTool.h"/> -->
-<!-- <class name="JetCaloQualityTool.h"/> -->
-<!-- <class name="JetIsolationTool.h"/> -->
-<!-- <class name="JetVoronoiDiagramHelpers.h"/> -->
-<!-- <class name="JetVoronoiMomentsTool.h"/> -->
-<class name="JetCaloEnergies.h"/>
-<class name="JetClusterMomentsTool.h"/>
-<class name="JetConstitFourMomTool.h"/>
-<class name="JetECPSFractionTool.h"/>
-<class name="JetForwardJvtTool.h"/>
-<class name="JetLArHVTool.h"/>
-<class name="JetMuonSegmentMomentsTool.h"/>
-<class name="JetOriginCorrectionTool.h"/>
-<class name="JetPtAssociationTool.h"/>
-<class name="JetTrackMomentsTool.h"/>
-<class name="JetTrackSumMomentsTool.h"/>
-<class name="JetVertexFractionTool.h"/>
-<class name="JetVertexTaggerTool.h"/>
-<class name="JetWidthTool.h"/>
-
+<class name="JetCaloEnergies"/>
+<class name="JetCaloQualityTool"/>
+<class name="JetClusterMomentsTool"/>
+<class name="JetConstitFourMomTool"/>
+<class name="JetECPSFractionTool"/>
+<class name="JetForwardJvtTool"/>
+<class name="JetIsolationTool"/>
+<class name="JetLArHVTool"/>
+<class name="JetMuonSegmentMomentsTool"/>
+<class name="JetOriginCorrectionTool"/>
+<class name="JetPtAssociationTool"/>
+<class name="JetTrackMomentsTool"/>
+<class name="JetTrackSumMomentsTool"/>
+<class name="JetVertexFractionTool"/>
+<class name="JetVertexTaggerTool"/>
+<class name="JetWidthTool"/>
 </lcgdict>
diff --git a/Reconstruction/Jet/JetMomentTools/JetMomentTools/selection_standalone.xml b/Reconstruction/Jet/JetMomentTools/JetMomentTools/selection_standalone.xml
deleted file mode 100644
index f2be0c3e7a37e5685c08b8f7ef19b6168e75e3b9..0000000000000000000000000000000000000000
--- a/Reconstruction/Jet/JetMomentTools/JetMomentTools/selection_standalone.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<lcgdict>
-<class name="JetCaloQualityTool"/>
-<class name="JetClusterMomentsTool"/>
-<class name="JetConstitFourMomTool"/>
-<class name="JetECPSFractionTool"/>
-<class name="JetForwardJvtTool"/>
-<class name="JetLArHVTool"/>
-<class name="JetMuonSegmentMomentsTool"/>
-<class name="JetOriginCorrectionTool"/>
-<class name="JetPtAssociationTool"/>
-<class name="JetTrackMomentsTool"/>
-<class name="JetTrackSumMomentsTool"/>
-<class name="JetVertexFractionTool"/>
-<class name="JetVertexTaggerTool"/>
-<class name="JetWidthTool"/>
-</lcgdict>
diff --git a/Reconstruction/Jet/JetMomentTools/Root/JetLArHVTool.cxx b/Reconstruction/Jet/JetMomentTools/Root/JetLArHVTool.cxx
index 59707dfe6c1128ec5580ddfe58e452c9c06fdf93..296b2c1b7ebc0e44c0ed132b9f62c125f8af0788 100644
--- a/Reconstruction/Jet/JetMomentTools/Root/JetLArHVTool.cxx
+++ b/Reconstruction/Jet/JetMomentTools/Root/JetLArHVTool.cxx
@@ -19,7 +19,7 @@ StatusCode JetLArHVTool::initialize()
 }
 
 
-int JetLArHVTool::modifyJet( xAOD::Jet& jet ) const 
+int JetLArHVTool::modifyJet( xAOD::Jet& jet ) const
 {
   double energyHVaff=0;
   int numCellsHVaff=0;
@@ -29,7 +29,7 @@ int JetLArHVTool::modifyJet( xAOD::Jet& jet ) const
   for(size_t i=0;i<num;i++) {
     const xAOD::CaloCluster * cl = dynamic_cast<const xAOD::CaloCluster *>(jet.rawConstituent(i));
     if( !cl) continue;
-    
+
     double m;
     if(cl->retrieveMoment(xAOD::CaloCluster::ENG_BAD_HV_CELLS,m) ) energyHVaff  += m;
     if(cl->retrieveMoment(xAOD::CaloCluster::N_BAD_HV_CELLS, m) ) numCellsHVaff += m;
@@ -39,8 +39,6 @@ int JetLArHVTool::modifyJet( xAOD::Jet& jet ) const
   // set the attributes
   jet.setAttribute<float>("LArBadHVEnergyFrac", energyHVaff / emE);
   jet.setAttribute<int>("LArBadHVNCell", numCellsHVaff);
-    
+
   return 0;
 }
-
-
diff --git a/Reconstruction/Jet/JetRec/CMakeLists.txt b/Reconstruction/Jet/JetRec/CMakeLists.txt
index 50c707b4332c31736c4a483f7730c879ddd837d4..d3fe65eb0eaff624d46b184fad21cd6d3b600728 100644
--- a/Reconstruction/Jet/JetRec/CMakeLists.txt
+++ b/Reconstruction/Jet/JetRec/CMakeLists.txt
@@ -17,6 +17,7 @@ atlas_depends_on_subdirs(
   PUBLIC
   Control/AthLinks
   Control/AthToolSupport/AsgTools
+  PhysicsAnalysis/D3PDTools/AnaAlgorithm
   Event/xAOD/xAODCaloEvent
   Event/xAOD/xAODJet
   Event/xAOD/xAODMuon
@@ -44,7 +45,7 @@ atlas_add_library( JetRecLib
   PRIVATE_INCLUDE_DIRS ${FASTJETCONTRIB_INCLUDE_DIRS}
   LINK_LIBRARIES ${ROOT_LIBRARIES} ${FASTJET_LIBRARIES} AthLinks AsgTools
   xAODCaloEvent xAODJet xAODMuon EventShapeInterface JetEDM
-  JetInterface JetCalibToolsLib
+  JetInterface JetCalibToolsLib AnaAlgorithmLib
   PRIVATE_LINK_LIBRARIES ${FASTJETCONTRIB_LIBRARIES} xAODBase xAODCore
   xAODEventInfo xAODTracking )
 
diff --git a/Reconstruction/Jet/JetRec/src/JetAlgorithm.h b/Reconstruction/Jet/JetRec/JetRec/JetAlgorithm.h
similarity index 62%
rename from Reconstruction/Jet/JetRec/src/JetAlgorithm.h
rename to Reconstruction/Jet/JetRec/JetRec/JetAlgorithm.h
index 7b028e82bc3bfa914fa1ddf616a367ad52438cf4..c74dfe0602bcfdd7636718b31b755859fe63e562 100644
--- a/Reconstruction/Jet/JetRec/src/JetAlgorithm.h
+++ b/Reconstruction/Jet/JetRec/JetRec/JetAlgorithm.h
@@ -2,34 +2,34 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// JetAlgorithm.h 
+// JetAlgorithm.h
 
 #ifndef JetAlgorithm_H
 #define JetAlgorithm_H
 
-#include "AthenaBaseComps/AthAlgorithm.h"
-#include "GaudiKernel/ToolHandle.h"
+#include "AnaAlgorithm/AnaAlgorithm.h"
+#include "AsgTools/ToolHandle.h"
 
 class IJetExecuteTool;
 
-class JetAlgorithm : public AthAlgorithm { 
+class JetAlgorithm : public EL::AnaAlgorithm {
 
-public: 
+public:
 
-  /// Constructor with parameters: 
+  /// Constructor with parameters:
   JetAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
 
-  /// Destructor: 
-  ~JetAlgorithm(); 
+  /// Destructor:
+  ~JetAlgorithm();
 
   /// Athena algorithm's Hooks
   StatusCode  initialize();
   StatusCode  execute();
   StatusCode  finalize();
 
-private: 
+private:
 
-  /// Default constructor: 
+  /// Default constructor:
   JetAlgorithm();
 
 private:
@@ -37,6 +37,6 @@ private:
   /// Athena configured tools
   ToolHandleArray<IJetExecuteTool> m_exetools;
 
-}; 
+};
 
 #endif
diff --git a/Reconstruction/Jet/JetRec/JetRec/JetRecDict.h b/Reconstruction/Jet/JetRec/JetRec/JetRecDict.h
index 467662733be1ff82226e74a8619d78e476fb972a..299204db09002e92be992ef1011ed2f2622d9c6e 100644
--- a/Reconstruction/Jet/JetRec/JetRec/JetRecDict.h
+++ b/Reconstruction/Jet/JetRec/JetRec/JetRecDict.h
@@ -31,5 +31,6 @@
 #include "JetRec/PseudoJetGetter.h"
 #include "JetRec/PseudoJetGetterRegistry.h"
 
+#include "JetRec/JetAlgorithm.h"
 
 #endif
diff --git a/Reconstruction/Jet/JetRec/JetRec/selection.xml b/Reconstruction/Jet/JetRec/JetRec/selection.xml
index 8f84c34e4d8d25ce7272f9f142fe49c52cbff610..5a133390feecda11a18b6112f7993dce3b5a33d3 100644
--- a/Reconstruction/Jet/JetRec/JetRec/selection.xml
+++ b/Reconstruction/Jet/JetRec/JetRec/selection.xml
@@ -27,4 +27,6 @@
 <class name="PseudoJetGetter"/>
 <class name="PseudoJetGetterRegistry"/>
 
+<class name="JetAlgorithm"/>
+
 </lcgdict>
diff --git a/Reconstruction/Jet/JetRec/src/JetAlgorithm.cxx b/Reconstruction/Jet/JetRec/Root/JetAlgorithm.cxx
similarity index 92%
rename from Reconstruction/Jet/JetRec/src/JetAlgorithm.cxx
rename to Reconstruction/Jet/JetRec/Root/JetAlgorithm.cxx
index 4725f6bdd9d2ddb6696998381821c50b8754bbcd..48170d3db60c32463a462755b0eeb4723d793ded 100644
--- a/Reconstruction/Jet/JetRec/src/JetAlgorithm.cxx
+++ b/Reconstruction/Jet/JetRec/Root/JetAlgorithm.cxx
@@ -2,18 +2,18 @@
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
 
-// JetAlgorithm.cxx 
+// JetAlgorithm.cxx
 
-#include "JetAlgorithm.h"
+#include "JetRec/JetAlgorithm.h"
 #include "JetInterface/IJetExecuteTool.h"
 
 using std::string;
 
 //**********************************************************************
 
-JetAlgorithm::JetAlgorithm(const std::string& name, 
+JetAlgorithm::JetAlgorithm(const std::string& name,
                            ISvcLocator* pSvcLocator )
-: ::AthAlgorithm( name, pSvcLocator ) {
+: EL::AnaAlgorithm( name, pSvcLocator ) {
   declareProperty( "Tools", m_exetools);
 }
 
@@ -50,7 +50,7 @@ StatusCode JetAlgorithm::finalize() {
 
 //**********************************************************************
 
-StatusCode JetAlgorithm::execute() {  
+StatusCode JetAlgorithm::execute() {
   ATH_MSG_VERBOSE("Executing " << name() << "...");
   // Loop over tools.
   unsigned int ntools = m_exetools.size();
diff --git a/Reconstruction/Jet/JetRec/python/__init__.py b/Reconstruction/Jet/JetRec/python/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/Reconstruction/Jet/JetRec/src/components/JetRec_entries.cxx b/Reconstruction/Jet/JetRec/src/components/JetRec_entries.cxx
index 009fe5435ba67addc3fc5c07d1db34c1288d35e6..5967337181c4868fd31bd8d7f43483b2e6b7e9d7 100644
--- a/Reconstruction/Jet/JetRec/src/components/JetRec_entries.cxx
+++ b/Reconstruction/Jet/JetRec/src/components/JetRec_entries.cxx
@@ -1,6 +1,6 @@
 // JetRec_entries.cxx
 
-#include "../JetAlgorithm.h"
+#include "JetRec/JetAlgorithm.h"
 #include "JetRec/JetToolRunner.h"
 #include "JetRec/JetRecTool.h"
 #include "JetRec/JetDumper.h"