diff --git a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx
index ab22b5f014b3d9f6676e90b198a71e084e5d6d14..ce3f7451ddc30fb222e5124d5c579a12fbd7c689 100644
--- a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx
+++ b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.cxx
@@ -240,12 +240,12 @@ StatusCode ParticleSelectionAlg::start()
     m_selToolIdxOffset.push_back( cutBKCont->size() );
     // Get some needed quantities
     const std::string toolName = tool->name();
-    const Root::TAccept& tAccept = tool->getTAccept();
-    const unsigned int nCuts = tAccept.getNCuts();
+    const asg::AcceptInfo& acceptInfo = tool->getAcceptInfo();
+    const unsigned int nCuts = acceptInfo.getNCuts();
     for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
       // Get the name and description of this cut
-      const std::string cutName  = (tAccept.getCutName(iCut)).Data();
-      const std::string cutDescr = (tAccept.getCutDescription(iCut)).Data();
+      const std::string cutName  = acceptInfo.getCutName(iCut);
+      const std::string cutDescr = acceptInfo.getCutDescription(iCut);
       // Create a new xAOD::CutBookkeeper and add it to the container
       xAOD::CutBookkeeper* cutBK = new xAOD::CutBookkeeper();
       cutBKCont->push_back(cutBK);
@@ -268,12 +268,12 @@ StatusCode ParticleSelectionAlg::start()
     m_selWPVToolIdxOffset.push_back( cutBKCont->size() );
     // Get some needed quantities
     const std::string toolName = tool->name();
-    const Root::TAccept& tAccept = tool->getTAccept();
-    const unsigned int nCuts = tAccept.getNCuts();
+    const asg::AcceptInfo& acceptInfo = tool->getAcceptInfo();
+    const unsigned int nCuts = acceptInfo.getNCuts();
     for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
       // Get the name and description of this cut
-      const std::string cutName  = (tAccept.getCutName(iCut)).Data();
-      const std::string cutDescr = (tAccept.getCutDescription(iCut)).Data();
+      const std::string cutName  = acceptInfo.getCutName(iCut);
+      const std::string cutDescr = acceptInfo.getCutDescription(iCut);
       // Create a new xAOD::CutBookkeeper and add it to the container
       xAOD::CutBookkeeper* cutBK = new xAOD::CutBookkeeper();
       cutBKCont->push_back(cutBK);
diff --git a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc
index 2952ca7e642589f623a8f044f13d032801e2630a..a602b105d9e688b1782c267ec49722623b8e622f 100644
--- a/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc
+++ b/PhysicsAnalysis/AnalysisCommon/EventUtils/src/ParticleSelectionAlg.icc
@@ -88,13 +88,13 @@ StatusCode ParticleSelectionAlg::selectParticles(const xAOD::IParticleContainer*
     for ( std::size_t toolIdx=0; toolIdx < m_selTools.size(); ++toolIdx ){
       if (passEverything){
         ATH_MSG_VERBOSE("Now going to try AsgSelectionTools number " << toolIdx );
-        const Root::TAccept& tAccept = m_selTools[toolIdx]->accept(part);
-        if (!m_doCutFlow){ passEverything &= static_cast<bool>(tAccept); }
+        const asg::AcceptData acceptData = m_selTools[toolIdx]->accept(part);
+        if (!m_doCutFlow){ passEverything &= static_cast<bool>(acceptData); }
         else {
           const std::size_t cbkStartIdx = m_selToolIdxOffset[toolIdx];
-          const unsigned int nCuts = tAccept.getNCuts();
+          const unsigned int nCuts = acceptData.getNCuts();
           for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
-            passEverything &= tAccept.getCutResult(iCut);
+            passEverything &= acceptData.getCutResult(iCut);
             if (passEverything){
               const std::size_t currentCBKIdx = cbkStartIdx + iCut;
               xAOD::CutBookkeeper* cutBK = cutBKCont->at(currentCBKIdx);
@@ -130,13 +130,13 @@ StatusCode ParticleSelectionAlg::selectParticles(const xAOD::IParticleContainer*
       for ( std::size_t toolIdx=0; toolIdx < m_selWVtxTools.size(); ++toolIdx ){
         if (passEverything){
           ATH_MSG_VERBOSE("Now going to try AsgSelectionWithVertexTools number " << toolIdx );
-          const Root::TAccept& tAccept = m_selWVtxTools[toolIdx]->accept(part,primVtx);
-          if (!m_doCutFlow){ passEverything &= static_cast<bool>(tAccept); }
+          const asg::AcceptData acceptData = m_selWVtxTools[toolIdx]->accept(part,primVtx);
+          if (!m_doCutFlow){ passEverything &= static_cast<bool>(acceptData); }
           else {
             const std::size_t cbkStartIdx = m_selWPVToolIdxOffset[toolIdx];
-            const unsigned int nCuts = tAccept.getNCuts();
+            const unsigned int nCuts = acceptData.getNCuts();
             for ( unsigned int iCut=0; iCut<nCuts; ++iCut ){
-              passEverything &= tAccept.getCutResult(iCut);
+              passEverything &= acceptData.getCutResult(iCut);
               if (passEverything){
                 const std::size_t currentCBKIdx = cbkStartIdx + iCut;
                 xAOD::CutBookkeeper* cutBK = cutBKCont->at(currentCBKIdx);