diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/CMakeLists.txt b/PhysicsAnalysis/AnalysisCommon/PATCore/CMakeLists.txt
deleted file mode 100644
index 2ee14f38e757ec65f1c6e30fb9a4450a5d967690..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/CMakeLists.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-################################################################################
-# Package: PATCore
-################################################################################
-
-# Declare the package name:
-atlas_subdir( PATCore )
-
-# Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
-                          Control/AthContainers
-                          Control/AthToolSupport/AsgTools
-                          GaudiKernel )
-
-# External dependencies:
-find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread MathMore Minuit Minuit2 Matrix Physics HistPainter Rint )
-
-# tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
-
-# Component(s) in the package:
-atlas_add_library( PATCoreLib
-                   Root/*.cxx
-                   PUBLIC_HEADERS PATCore
-                   INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                   LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AsgTools GaudiKernel )
-
-atlas_add_dictionary( PATCoreDict
-                      PATCore/PATCoreDict.h
-                      PATCore/selection.xml
-                      INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
-                      LINK_LIBRARIES ${ROOT_LIBRARIES} AthContainers AsgTools GaudiKernel PATCoreLib )
-
-# Install files from the package:
-atlas_install_python_modules( python/*.py )
-
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h
index ca91ce4bbe69c95f83aba6fc177ebd194b06abd0..763c1687d66132201784eb95c07a57d054c978f0 100755
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/CombinatoricsOdometer.h
@@ -50,6 +50,12 @@ and "jet" container has 4 elements, "lepton" 2, and "bjet" 2, then
 
 ********************************************************************/
 
+#ifdef ROOTCORE
+#include <RootCore/Packages.h>
+#endif
+
+#if !defined(ROOTCORE) || defined(ROOTCORE_PACKAGE_AthContainers)
+
 #include <map>
 #include <set>
 #include <string>
@@ -140,3 +146,5 @@ private:
 };
 
 #endif
+
+#endif
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h
new file mode 100644
index 0000000000000000000000000000000000000000..deaa9a3e0d015be47fe9d3b65d4a196c75bade63
--- /dev/null
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/IAsgSelectionWithVertexTool.h
@@ -0,0 +1,61 @@
+///////////////////////// -*- C++ -*- /////////////////////////////
+
+/*
+  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+*/
+
+// IAsgSelectionWithVertexTool.h.h
+// Header file for class IAsgSelectionWithVertexTool.h
+// Author: Karsten Koeneke <karsten.koeneke@cern.ch>
+///////////////////////////////////////////////////////////////////
+#ifndef PATCORE_IASGSELECTIONWITHVERTEXTOOL_H
+#define PATCORE_IASGSELECTIONWITHVERTEXTOOL_H 1
+
+// STL includes
+
+
+// FrameWork includes
+#include "AsgTools/IAsgTool.h"
+
+// Include the return object
+#include "PATCore/TAccept.h"
+
+// Forward declaration
+namespace xAOD{
+  class IParticle;
+  class Vertex_v1;
+  typedef Vertex_v1 Vertex;
+}
+
+
+
+class IAsgSelectionWithVertexTool : virtual public asg::IAsgTool
+{
+  /// Declare the interface ID for this pure-virtual interface class to the Athena framework
+  ASG_TOOL_INTERFACE(IAsgSelectionWithVertexTool)
+
+
+  ///////////////////////////////////////////////////////////////////
+  // Public methods:
+  ///////////////////////////////////////////////////////////////////
+public:
+
+  ///////////////////////////////////////////////////////////////////
+  // Const methods:
+  ///////////////////////////////////////////////////////////////////
+
+  /** Method to get the plain TAccept.
+      This is needed so that one can already get the TAccept
+      and query what cuts are defined before the first object
+      is passed to the tool. */
+  virtual const Root::TAccept& getTAccept( ) const = 0;
+
+
+  /** The main accept method: the actual cuts are applied here */
+  virtual const Root::TAccept& accept( const xAOD::IParticle* /*part*/,
+                                       const xAOD::Vertex* /*vertex=0*/ ) const = 0;
+
+
+};
+
+#endif //> !PATCORE_IASGSELECTIONWITHVERTEXTOOL_H
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h
index d9b6b97822ff021bab1dff92103707b3b49c4e82..91643c61c55e7f642195d302b9987c2f137fd3de 100644
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/PATCoreDict.h
@@ -22,6 +22,7 @@
 #include "PATCore/IAthCalculatorTool.h"
 #include "PATCore/IUserDataCalcTool.h"
 #include "PATCore/IAthHistogramTool.h"
-
+#include "PATCore/IAsgSelectionTool.h"
+#include "PATCore/IAsgSelectionWithVertexTool.h"
 
 #endif
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml
index 290ea63df81fcc4e6312ccb01e2ae289582cb24d..a4d4a1b7ede609febd76d4137fab2ba628d95fcd 100644
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/PATCore/selection.xml
@@ -8,4 +8,6 @@
     <class name="IAthCalculatorTool" />
     <class name="IUserDataCalcTool" />
     <class name="IAthHistogramTool" />
+    <class name="IAsgSelectionTool" />
+    <class name="IAsgSelectionWithVertexTool" />
 </lcgdict>
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx b/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx
index b7fc513c196cb64788a1bc215cdc1b32e934942e..559e9cd02b43affcbcab457021c25d2f37696186 100755
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/Root/CombinatoricsOdometer.cxx
@@ -23,6 +23,8 @@
 
 #include "PATCore/CombinatoricsOdometer.h"
 
+#if !defined(ROOTCORE) || defined(ROOTCORE_PACKAGE_AthContainers)
+
 //////////////////////FlexDigit
 FlexDigit::FlexDigit( int digitMax, FlexDigit* nextDigit )
 {
@@ -375,3 +377,4 @@ bool PairMeter::increment()
     }
 }
 
+#endif
diff --git a/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore b/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore
index fc143fdc1df4fa9da7e7a194c223e8e09d3c2478..4a07d3f32f8d0b01cb7cd63a05d7743aed595aff 100644
--- a/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore
+++ b/PhysicsAnalysis/AnalysisCommon/PATCore/cmt/Makefile.RootCore
@@ -2,8 +2,8 @@
 # PATCore root stand-alone makefile
 
 PACKAGE          = PATCore
-PACKAGE_DEP      = AthContainers
-PACKAGE_TRYDEP   = D3PDReader
+PACKAGE_DEP      = 
+PACKAGE_TRYDEP   = D3PDReader AthContainers
 PACKAGE_CXXFLAGS = 
 PACKAGE_LDFLAGS  =
 PACKAGE_CLEAN    = PATCore/config.h