diff --git a/Database/AthenaRoot/AthenaRootComps/python/Configurables.py b/Database/AthenaRoot/AthenaRootComps/python/Configurables.py
index 6b7928659700070807f3bf37c36870a23f3a07a5..ebc25426311490db92f2d83a345ed8a76af6aecd 100644
--- a/Database/AthenaRoot/AthenaRootComps/python/Configurables.py
+++ b/Database/AthenaRoot/AthenaRootComps/python/Configurables.py
@@ -4,40 +4,6 @@
 # @purpose: customized Configurable classes for AthenaRootComps
 # @author: Sebastien Binet <binet@cern.ch>
 
-## import the automatically generated Configurables
-from AthenaRootCompsConf import TTreeEventSelector as _TTreeEventSelector
-
-class TTreeEventSelector(_TTreeEventSelector):
-    __slots__ = { '_svc_helper' : None }
-
-    def __init__(self, name="TTreeEventSelector", **kw):
-        # init base class
-        kw['name'] = name
-        super(TTreeEventSelector, self).__init__(**kw)
-        return
-
-    def setDefaults(cls, handle):
-
-        ## continue, only if it is our Configurable
-        if not isinstance(handle, TTreeEventSelector):
-            return
-
-        ## configure our helper service whose sole purpose is to be
-        ## initialized early to populate the THistSvc w/ TTrees/TChains
-        if 1:
-            from AthenaCommon.Configurable import Configurable
-            svc = Configurable.allConfigurables['TTreeEventSelectorHelperSvc']
-            svc.InputCollections = handle.InputCollections[:]
-            svc.TupleName        = handle.TupleName
-            svc.ActiveBranches   = handle.ActiveBranches[:]
-    
-        ##
-        return
-    pass # class TTreeEventSelector
-
-### ---------------------------------------------------------------------------
-
-
 ### ---------------------------------------------------------------------------
 from OutputStreamAthenaRoot import createNtupleOutputStream
 
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventContext.cxx b/Database/AthenaRoot/AthenaRootComps/src/TTreeEventContext.cxx
deleted file mode 100644
index 83a498a5d07011d9c14b9d3aca2a715cd2272bd5..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventContext.cxx
+++ /dev/null
@@ -1,59 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TTreeEventContext.cxx 
-// Implementation file for class TTreeEventContext
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-
-
-// STL includes
-
-// Package includes
-#include "TTreeEventContext.h"
-
-/////////////////////////////////////////////////////////////////// 
-// Public methods: 
-/////////////////////////////////////////////////////////////////// 
-
-// Constructors
-////////////////
-TTreeEventContext::TTreeEventContext( const IEvtSelector* selector ):
-  IEvtSelector::Context(),
-  m_selector( selector )
-{}
-
-TTreeEventContext::TTreeEventContext( const TTreeEventContext& ctxt ) :
-  IEvtSelector::Context(),
-  m_selector( ctxt.m_selector )
-{}
-
-TTreeEventContext& 
-TTreeEventContext::operator=(const TTreeEventContext& rhs)
-{
-  if (this == &rhs) {
-    return *this;
-  }
-  m_selector = rhs.m_selector;
-  return *this;
-}
-
-// Destructor
-///////////////
-TTreeEventContext::~TTreeEventContext()
-{}
-
-/////////////////////////////////////////////////////////////////// 
-// Const methods: 
-///////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////// 
-// Non-const methods: 
-/////////////////////////////////////////////////////////////////// 
-
-/////////////////////////////////////////////////////////////////// 
-// Protected methods: 
-/////////////////////////////////////////////////////////////////// 
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventContext.h b/Database/AthenaRoot/AthenaRootComps/src/TTreeEventContext.h
deleted file mode 100644
index 3f20e1ae232d5cd3dd75797dc23d14d19acb6828..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventContext.h
+++ /dev/null
@@ -1,64 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TTreeEventContext.h 
-// Header file for class TTreeEventContext
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-#ifndef ATHENAROOTCOMPS_TTREEEVENTCONTEXT_H 
-#define ATHENAROOTCOMPS_TTREEEVENTCONTEXT_H 
-
-// STL includes
-#include <string>
-
-// Gaudi includes
-#include "GaudiKernel/IEvtSelector.h"
-
-// Forward declaration
-class IOpaqueAddress;
-
-class TTreeEventContext : public IEvtSelector::Context
-{ 
-
-  /////////////////////////////////////////////////////////////////// 
-  // Public methods: 
-  /////////////////////////////////////////////////////////////////// 
- public: 
-
-  /// Constructor with parameters: 
-  TTreeEventContext( const IEvtSelector* selector );
-
-  /// copy constructor
-  TTreeEventContext( const TTreeEventContext& ctxt );
-
-  /// assignment operator
-  TTreeEventContext& operator=(const TTreeEventContext& rhs);
-
-  /// Destructor: 
-  virtual ~TTreeEventContext(); 
-
-  /////////////////////////////////////////////////////////////////// 
-  // Const methods: 
-  ///////////////////////////////////////////////////////////////////
-
-  virtual void* identifier() const;
-
-  /////////////////////////////////////////////////////////////////// 
-  // Private data: 
-  /////////////////////////////////////////////////////////////////// 
- private: 
-
-  const IEvtSelector* m_selector;
-}; 
-
-/////////////////////////////////////////////////////////////////// 
-// Inline methods: 
-/////////////////////////////////////////////////////////////////// 
-
-inline void* TTreeEventContext::identifier() const
-{ return (void*)m_selector; }
-
-#endif //> ATHENAROOTCOMPS_TTREEEVENTCONTEXT_H
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelector.cxx b/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelector.cxx
deleted file mode 100644
index 20d7c43ee1c4097f0a10d06a9e68925e57aefbc7..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelector.cxx
+++ /dev/null
@@ -1,628 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TTreeEventSelector.cxx 
-// Implementation file for class TTreeEventSelector
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-
-// STL includes
-#include <sstream>
-#include <unordered_map>
-
-// ROOT includes
-#include "TChain.h"
-#include "TClass.h"
-#include "TClassEdit.h"
-#include "RootUtils/TBranchElementClang.h"
-#include "TLeaf.h"
-#include "TFile.h"
-
-// Framework includes
-#include "GaudiKernel/ISvcLocator.h"
-//#include "GaudiKernel/GenericAddress.h"
-#include "GaudiKernel/StatusCode.h"
-#include "GaudiKernel/MsgStream.h"
-#include "GaudiKernel/ITHistSvc.h"
-#include "GaudiKernel/System.h"
-#include "AthenaKernel/IClassIDSvc.h"
-#include "AthenaKernel/IDictLoaderSvc.h"
-
-// StoreGate includes
-#include "StoreGate/StoreGate.h" 
-#include "SGTools/TransientAddress.h"
-#include "SGTools/BuiltinsClids.h"   // to make sure we have their clids
-#include "SGTools/StlVectorClids.h"  // to make sure we have their clids
-#include "SGTools/StlMapClids.h"     // to make sure we have their clids
-
-#include "SGTools/CLASS_DEF.h"
-
-#include "TObject.h"
-CLASS_DEF( TObject,    74939790 , 1 )
-
-// EventInfo includes
-#include "EventInfo/EventInfo.h"
-#include "EventInfo/EventType.h"
-#include "EventInfo/EventID.h"
-
-// Package includes
-#include "TTreeEventSelector.h"
-#include "TTreeEventContext.h"
-#include "TTreeEventSelectorHelperSvc.h"
-#include "RootBranchAddress.h"
-
-namespace {
-  std::string
-  root_typename(const std::string& root_type_name)
-  {
-    static std::unordered_map<std::string,std::string> s;
-    static bool first = true;
-    if (first) {
-      first = false;
-
-      s["Int_t"] = System::typeinfoName(typeid(Int_t));
-      s["UInt_t"] = System::typeinfoName(typeid(UInt_t));
-
-      s["Long_t"] = System::typeinfoName(typeid(Long_t));
-      s["ULong_t"] = System::typeinfoName(typeid(ULong_t));
-
-      s["Long64_t"] = System::typeinfoName(typeid(Long64_t));
-      s["ULong64_t"] = System::typeinfoName(typeid(ULong64_t));
-
-      s["Float_t"] = System::typeinfoName(typeid(Float_t));
-      s["Float16_t"] = System::typeinfoName(typeid(Float16_t));
-      s["Double_t"] = System::typeinfoName(typeid(Double_t));
-      s["Double32_t"] = System::typeinfoName(typeid(Double32_t));
-      
-      s["Bool_t"] = System::typeinfoName(typeid(Bool_t));
-      s["Char_t"] = System::typeinfoName(typeid(Char_t));
-      s["UChar_t"] = System::typeinfoName(typeid(UChar_t));
-      
-      s["Short_t"] = System::typeinfoName(typeid(Short_t));
-      s["UShort_t"] = System::typeinfoName(typeid(UShort_t));
-
-    }
-    return s[root_type_name];
-  }
-}
-/////////////////////////////////////////////////////////////////// 
-// Public methods: 
-/////////////////////////////////////////////////////////////////// 
-
-// Constructors
-////////////////
-
-TTreeEventSelector::TTreeEventSelector( const std::string& name,
-                                        ISvcLocator* svcLoc ) :
-  AthService ( name,    svcLoc ),
-  m_storeGate( "StoreGateSvc", name ),
-  m_clidsvc  ( "ClassIDSvc",   name ),
-  m_dictsvc  ( "AthDictLoaderSvc", name ),
-  m_tupleSvc ( "THistSvc",     name ),
-  m_nbrEvts     ( 0 ),
-  m_totalNbrEvts( 0 ),
-  m_tuple       ( 0 ),
-  m_rootAddresses ()
-{
-  declareProperty( "InputCollections", 
-                   m_inputCollectionsName,
-                   "List of input (ROOT) file names" );
-  m_inputCollectionsName.declareUpdateHandler
-    ( &TTreeEventSelector::setupInputCollection, this );
-
-  declareProperty( "TupleName",
-                   m_tupleName = "",
-                   "Name of the TTree to load/read from input file(s)" );
-
-  declareProperty( "SkipEvents",           
-                   m_skipEvts = 0,
-                   "Number of events to skip at the beginning" );
-
-  declareProperty( "ActiveBranches",
-                   m_activeBranchNames,
-                   "List of branch names to activate" );
-}
-
-// Destructor
-///////////////
-TTreeEventSelector::~TTreeEventSelector()
-{
-  delete m_tuple; m_tuple = 0;
-}
-
-StatusCode TTreeEventSelector::initialize()
-{
-  ATH_MSG_INFO ("Enter TTreeEventSelector initialization...");
-
-  // retrieve clidsvc
-  if ( !m_clidsvc.retrieve().isSuccess() ) {
-    ATH_MSG_ERROR
-      ("Could not retrieve [" << m_clidsvc.typeAndName() << "]");
-    return StatusCode::FAILURE;
-  }
-
-  // retrieve dictsvc
-  if ( !m_dictsvc.retrieve().isSuccess() ) {
-    ATH_MSG_ERROR
-      ("Could not retrieve [" << m_dictsvc.typeAndName() << "]");
-    return StatusCode::FAILURE;
-  }
-
-  // retrieve ITHistSvc
-  if ( !m_tupleSvc.retrieve().isSuccess() ) {
-    ATH_MSG_ERROR
-      ("Could not retrieve [" << m_tupleSvc.typeAndName() << "] !!");
-    return StatusCode::FAILURE;
-  }
-
-  if ( m_tupleName.value().empty() ) {
-    ATH_MSG_ERROR
-      ("You have to give a TTree name to read from the ROOT files !");
-    return StatusCode::FAILURE;
-  }
-
-  setupInputCollection( m_inputCollectionsName );
-  const std::size_t nbrInputFiles = m_inputCollectionsName.value().size();
-  if ( nbrInputFiles < 1 ) {
-    ATH_MSG_ERROR
-      ("You need to give at least 1 input file !!" << endmsg
-       << "(Got [" << nbrInputFiles << "] file instead !)");
-    return StatusCode::FAILURE;
-  } else {
-    ATH_MSG_INFO
-      ("Selector configured to read [" << nbrInputFiles << "] file(s)..."
-       << endmsg
-       << "                      tuple [" << m_tupleName.value() << "]");
-  }
-
-  // retrieve the TTreeEventSelectorHelperSvc to make sure the TTree
-  // has been registered with the ITHistSvc
-  {
-    typedef ServiceHandle<TTreeEventSelectorHelperSvc> HelperSvc_t;
-    HelperSvc_t svc("TTreeEventSelectorHelperSvc", name());
-    if ( !svc.retrieve().isSuccess() ) {
-      ATH_MSG_ERROR ("Could not retrieve [" << svc.typeAndName() << "] !!");
-      return StatusCode::FAILURE;
-    }
-  }
-  
-  // load tree/chain
-  delete m_tuple; m_tuple = 0;
-
-  {
-    std::ostringstream tupleName;
-    tupleName << "/temp/TTreeStream/" << m_tupleName.value();
-  
-    const ITHistSvc* svc = &*m_tupleSvc;
-    TTree* tuple = 0;
-    if ( !svc->getTree(tupleName.str(), tuple).isSuccess() ||
-         0 == tuple ) {
-      ATH_MSG_ERROR
-        ("Could not re-access tuple at [" << tupleName.str() << "] !!");
-      return StatusCode::FAILURE;
-    }
-    if ( 0 == (m_tuple = dynamic_cast<TChain*>(tuple)) ) {
-      delete tuple; tuple = 0;
-      ATH_MSG_ERROR ("Could not dyn-cast tuple to a TChain !");
-      return StatusCode::FAILURE;
-    }
-  }
-
-  // retrieve event store
-  // this needs to happen *after* having registered the n-tuple with the
-  // ITHistSvc service as our branches (which need a valid m_ntuple pointer)
-  // may be asked to be registered as we are a ProxyProvider.
-  // retrieving the event store will poke the ProxyProviderSvc...
-  if ( !m_storeGate.retrieve().isSuccess() ) {
-    ATH_MSG_ERROR
-      ("Could not retrieve [" << m_storeGate.typeAndName() << "] !!");
-    return StatusCode::FAILURE;
-  }
-
-  // get total number of events:
-  m_totalNbrEvts = m_tuple->GetEntries();
-  ATH_MSG_INFO ("Total events: " << m_totalNbrEvts);
-
-  if ( m_skipEvts >= m_totalNbrEvts ) {
-    ATH_MSG_ERROR 
-      ("Number of events to skip (" << m_skipEvts << ") is greater than "
-       << "the total number of events in the input collections ("
-       << m_totalNbrEvts << ") !"
-       << endmsg
-       << "Please correct your jobOptions file");
-    return StatusCode::FAILURE;
-  }
-
-  // reset the list of branches
-  m_rootAddresses.clear();
-
-  // skip events we are asked to skip
-  m_nbrEvts += m_skipEvts;
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TTreeEventSelector::finalize()
-{
-  ATH_MSG_INFO ("Finalize...");
-
-  if (msgLvl(MSG::DEBUG)) {
-    TObjArray *leaves = m_tuple->GetListOfLeaves();
-    if (leaves) {
-      // loop over leaves
-      for (Int_t i = 0; i < leaves->GetEntries(); ++i) {
-        TLeaf *leaf = (TLeaf *)leaves->At(i);
-        TBranch *branch = leaf->GetBranch();
-        if (branch) {
-          const char *brname = branch->GetName();
-          if (m_tuple->GetBranchStatus(brname)) {
-            ATH_MSG_DEBUG("branch [" << brname << "] was active.");
-          } else {
-            ATH_MSG_DEBUG("branch [" << brname << "] was NOT active.");
-          }
-        }
-      }
-    }
-  }
-
-  // Cleaning-up: make the tuple disappear from the tuple service's registery
-  if ( !m_tupleSvc->deReg( m_tuple ).isSuccess() ) {
-    ATH_MSG_WARNING 
-      ("Could not unregister our (chain of) tuple(s) !" << endmsg
-       << "Tuple service may barf.");
-  }
-
-  // FIXME: this should be tweaked/updated if/when a selection function
-  //        or filtering predicate is applied (one day?)
-  ATH_MSG_INFO ("Total events read: " << (m_nbrEvts - m_skipEvts));
-  return StatusCode::SUCCESS;
-}
-
-// Query the interfaces.
-//   Input: riid, Requested interface ID
-//          ppvInterface, Pointer to requested interface
-//   Return: StatusCode indicating SUCCESS or FAILURE.
-// N.B. Don't forget to release the interface after use!!!
-StatusCode 
-TTreeEventSelector::queryInterface( const InterfaceID& riid, 
-                                    void** ppvInterface )
-{
-  if ( IEvtSelector::interfaceID().versionMatch(riid) ) {
-    *ppvInterface = dynamic_cast<IEvtSelector*>(this);
-  } else if ( IEventSeek::interfaceID().versionMatch(riid) ) {
-    *ppvInterface = dynamic_cast<IEventSeek*>(this);
-  } else {
-    // Interface is not directly available : try out a base class
-    return AthService::queryInterface(riid, ppvInterface);
-  }
-  addRef();
-  return StatusCode::SUCCESS;
-}
-
-/////////////////////////////////////////////////////////////////// 
-// Const methods: 
-///////////////////////////////////////////////////////////////////
-
-StatusCode TTreeEventSelector::next( IEvtSelector::Context& ctx ) const
-{
-  return this->next(ctx, 0);
-}
-
-StatusCode TTreeEventSelector::next( Context& ctx, int jump ) const
-{
-  ATH_MSG_DEBUG ("next(" << jump << ") : iEvt " << m_nbrEvts);
-
-  // get evt context
-  TTreeEventContext* ct = dynamic_cast<TTreeEventContext*>(&ctx);
-  if ( 0 == ct ) {
-    ATH_MSG_ERROR ("Could not dyn-cast to TTreeEventContext !!");
-    return StatusCode::FAILURE;
-  }
-
-  // jump to right position
-  if ( ( (m_nbrEvts + jump) >= 0 ) &&
-       ( (m_nbrEvts + jump) <  m_totalNbrEvts ) ) {
-    // adjust pointer
-    m_nbrEvts += jump;
-    
-    // load data from tuple
-    if ( m_tuple->LoadTree (m_nbrEvts) < 0 ) {
-      ATH_MSG_ERROR
-        ("Problem loading tree for event [" << m_nbrEvts << "] !!");
-      return StatusCode::FAILURE;
-    } else {
-      ATH_MSG_DEBUG("==> loaded-tree(" << m_nbrEvts << ")");
-    }
-
-    if ( m_tuple->GetEntry( m_nbrEvts ) < 0 ) {
-      ATH_MSG_ERROR
-        ("Problem retrieving data from tree for entry [" << m_nbrEvts 
-         << "] !!");
-      return StatusCode::FAILURE;
-    } else {
-      ATH_MSG_DEBUG("==> got-tree(" << m_nbrEvts << ")");
-    }
-    ++m_nbrEvts;
-
-    // FIXME: we should try to get the RunNumber/EventNumber from
-    //        the ntuple if these branches exist...
-
-    // event info
-    EventType* evtType = new EventType;
-    const std::size_t runNbr = 0;
-    EventInfo* evtInfo = new EventInfo( new EventID( runNbr, m_nbrEvts-1, 0 ),
-                                        evtType );
-    if ( !m_storeGate->record( evtInfo, "TTreeEventInfo" ).isSuccess() ) {
-      ATH_MSG_ERROR ("Could not record TTreeEventInfo !");
-      delete evtInfo; evtInfo = 0;
-      return StatusCode::FAILURE;
-    }
-    return StatusCode::SUCCESS;
-  }
-
-  // still here ? So this is it. EOF.
-  return StatusCode::FAILURE;
-}
-
-StatusCode
-TTreeEventSelector::previous( IEvtSelector::Context& ctx ) const 
-{
-  return next( ctx, -1 );
-}
-
-StatusCode 
-TTreeEventSelector::previous( Context& ctx, int jump ) const 
-{
-  return next( ctx, -jump );
-}
-
-StatusCode
-TTreeEventSelector::last( Context& /*ctxt*/ ) const
-{
-  ATH_MSG_ERROR ("............. Last Event Not Implemented .............");
-  return StatusCode::FAILURE;
-}
-
-
-StatusCode 
-TTreeEventSelector::rewind( Context& /*ctxt*/ ) const 
-{
-  ATH_MSG_ERROR 
-    ("............. ::rewind(Context) Not Implemented .............");
-  return StatusCode::FAILURE;
-}
-
-StatusCode
-TTreeEventSelector::createContext( Context*& refCtx ) const
-{
-  refCtx = new TTreeEventContext(this);
-  return StatusCode::SUCCESS;
-}
-
-StatusCode
-TTreeEventSelector::createAddress( const Context& /*refCtx*/, 
-                                   IOpaqueAddress*& /*addr*/ ) const 
-{
-  //std::cerr << "::TTES::createAddress()...\n";
-  return StatusCode::SUCCESS;
-}
-
-StatusCode
-TTreeEventSelector::releaseContext( Context*& refCtxt ) const
-{
-  TTreeEventContext *ctx  = dynamic_cast<TTreeEventContext*>(refCtxt);
-  if ( ctx )   {
-    delete ctx; ctx = 0;
-    return StatusCode::SUCCESS;
-  }
-  
-  return StatusCode::FAILURE;
-}
-
-StatusCode
-TTreeEventSelector::resetCriteria( const std::string&, Context& ) const 
-{
-  ATH_MSG_ERROR ("............. resetCriteria Not Implemented .............");
-  return StatusCode::FAILURE;
-}
-
-/////////////////////////////////////////////////////////////////// 
-// Non-const methods: 
-/////////////////////////////////////////////////////////////////// 
-
-/**
- * @brief Seek to a given event number.
- * @param evtnum  The event number to which to seek.
- */
-StatusCode
-TTreeEventSelector::seek (int evtnum)
-{
-  
-  // jump to right position
-  if ( ( evtnum >= 0 ) &&
-       ( evtnum <  m_totalNbrEvts ) ) {
-    // adjust pointer
-    m_nbrEvts = evtnum;
-    
-    // load data from tuple
-    if ( m_tuple->LoadTree (m_nbrEvts) < 0 ) {
-      ATH_MSG_ERROR
-        ("Problem loading tree for event [" << m_nbrEvts << "] !!");
-      return StatusCode::FAILURE;
-    }
-
-    if ( m_tuple->GetEntry( m_nbrEvts ) < 0 ) {
-      ATH_MSG_ERROR
-        ("Problem retrieving data from tree for entry [" << m_nbrEvts 
-         << "] !!");
-      return StatusCode::FAILURE;
-    }
-  } else {
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-/**
- * @brief return the current event number.
- * @return The current event number.
- */
-int 
-TTreeEventSelector::curEvent() const
-{
-  return m_nbrEvts;
-}
-
-///@{
-/// @c IAddressProvider interface
-///get all addresses from Provider : Called before Begin Event
-StatusCode 
-TTreeEventSelector::preLoadAddresses(StoreID::type storeID, tadList& tads)
-{
-  // std::cerr << "TTES::preLoadAddresses(" << int(storeID)
-  // 	    << "," << tads.size()
-  // 	    << ")...\n";
-
-  return createRootBranchAddresses(storeID, tads);
-}
- 
-/// get all new addresses from Provider for this Event.
-StatusCode 
-TTreeEventSelector::loadAddresses(StoreID::type /*storeID*/, tadList& /*tads*/)
-{
-  // do nothing. already done by preLoadAddresses.
-  return StatusCode::SUCCESS;
-}
- 
-/// update a transient Address
-StatusCode 
-TTreeEventSelector::updateAddress(StoreID::type /*storeID*/, SG::TransientAddress* tad,
-                                  const EventContext& /*ctx*/)
-{
-  // FIXME: check if we couldn't just use TTree::GetListOfBranches...
-  // check memory usage/cpu consumption tradeoff
-
-  // check if this tad is known to us.
-  if (tad) {
-    if ( m_rootAddresses.find(tad) != m_rootAddresses.end() ) {
-      return StatusCode::SUCCESS;
-    }
-    ATH_MSG_DEBUG("updateAddress: address [" << tad->clID() << "#"
-		  << tad->name() << ") NOT known to us.");
-    return StatusCode::FAILURE;
-  }
-
-  // do nothing. 
-  return StatusCode::SUCCESS;
-}
-///@}
-
-/////////////////////////////////////////////////////////////////// 
-// Protected methods: 
-/////////////////////////////////////////////////////////////////// 
-
-/// callback to synchronize the list of input files
-void 
-TTreeEventSelector::setupInputCollection( Property& /*inputCollectionsName*/ )
-{
-  // nothing ?
-  return;
-}
-
-StatusCode 
-TTreeEventSelector::createRootBranchAddresses(StoreID::type storeID,
-                                              tadList &tads)
-{
-  if (storeID != StoreID::EVENT_STORE) {
-    ATH_MSG_INFO("-- not the event-store --");
-    return(StatusCode::SUCCESS);
-  }
-
-  if (0 == m_tuple) {
-    ATH_MSG_ERROR("null pointer to n-tuple !");
-    return StatusCode::FAILURE;
-  }
-
-  TObjArray *leaves = m_tuple->GetListOfLeaves();
-  if (!leaves) {
-    ATH_MSG_INFO("no leaves!!");
-    return StatusCode::SUCCESS;
-  }
-
-  // loop over leaves
-  for (Int_t i = 0; i < leaves->GetEntries(); ++i) {
-    TLeaf *leaf = (TLeaf *)leaves->At(i);
-    TBranch *branch = leaf->GetBranch();
-    if (branch) {
-      
-      CLID id = 0;
-      const void* value_ptr = m_tuple;
-      const std::string type_name = leaf->GetTypeName();
-      const std::string br_name = branch->GetName();
-      const std::string sg_key = br_name;//m_tupleName.value()+"/"+br_name;
-      TClass *cls = TClass::GetClass(type_name.c_str());
-      const std::type_info *ti = 0;
-
-      if (cls) {
-        ti = cls->GetTypeInfo();
-        // first, try to load a dict for that class...
-        if (ti) {
-          m_dictsvc->load_type(*ti);
-        }
-        if (!ti) {
-          ATH_MSG_WARNING("could not find a type-info for [" << 
-                          type_name << "]");
-          continue;
-        }
-        std::string ti_typename = System::typeinfoName(*ti);
-        if (!m_clidsvc->getIDOfTypeInfoName(ti_typename, id)
-            .isSuccess()) {
-          // try another one...
-          ti_typename = TClassEdit::ShortType(ti_typename.c_str(),
-                                              TClassEdit::kDropAllDefault);
-          if (!m_clidsvc->getIDOfTypeInfoName(ti_typename, id)
-              .isSuccess()) {
-            ATH_MSG_INFO("** could not find a CLID from type-info ["
-                         << System::typeinfoName(*ti) << "]");
-            ATH_MSG_INFO("** could not find a CLID from type-info-alias ["
-                         << ti_typename << "]");
-            continue;
-          }
-        }
-      } else {
-        // probably a built-in type...
-        if (!m_clidsvc->getIDOfTypeName(::root_typename(type_name), id)
-            .isSuccess()) {
-          ATH_MSG_INFO("** could not find a CLID for type-name [" 
-                       << type_name << "]");
-          continue;
-        }
-      }
-      if (id == 0) {
-        ATH_MSG_INFO("** could not find a CLID for type-name ["
-                     << type_name << "]");
-        continue;
-      }
-      Athena::RootBranchAddress* addr = new Athena::RootBranchAddress
-        (ROOT_StorageType, id, 
-         m_tupleName.value(), 
-         br_name, 
-         (unsigned long)(value_ptr),
-         (unsigned long)(m_nbrEvts-1));
-      SG::TransientAddress* taddr = new SG::TransientAddress
-        (id, sg_key, addr);
-      taddr->setProvider(this, storeID);
-      taddr->clearAddress(false);
-      tads.push_back(taddr);
-      // note: we can store this taddr *b/c* we don't clearAddress it
-      // ie: b/c we just called clearAddress(false) so it will be recycled
-      // over the events.
-      m_rootAddresses.insert(taddr);
-    }
-  }
-  return StatusCode::SUCCESS;
-}
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelector.h b/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelector.h
deleted file mode 100644
index 4ffbf356442aaef2655e52298db98a15c846dd79..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelector.h
+++ /dev/null
@@ -1,184 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TTreeEventSelector.h 
-// Header file for class TTreeEventSelector
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-#ifndef ATHENAROOTCOMPS_TTREEEVENTSELECTOR_H 
-#define ATHENAROOTCOMPS_TTREEEVENTSELECTOR_H 
-
-// framework includes
-#include "AthenaBaseComps/AthService.h"
-#include "GaudiKernel/IEvtSelector.h"
-#include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/Property.h"
-#include "GaudiKernel/MsgStream.h"
-#include "AthenaKernel/IEventSeek.h"
-#include "AthenaKernel/IAddressProvider.h"
-
-#include <unordered_set>
-
-// Forward declaration
-class ISvcLocator;
-class StoreGateSvc;
-class ITHistSvc;
-class TChain;
-class IClassIDSvc;
-class IDictLoaderSvc;
-
-/** @brief Class implementing the GAUDI @c IEvtSelector interface using 
- *         ROOT @c TTree as a backend
- */
-class TTreeEventSelector : 
-  virtual public IEvtSelector,
-  virtual public IEventSeek,
-  virtual public IAddressProvider,
-  virtual public AthService
-{ 
-
-  /////////////////////////////////////////////////////////////////// 
-  // Public methods: 
-  /////////////////////////////////////////////////////////////////// 
- public: 
-
-  /// Constructor with parameters: 
-  TTreeEventSelector( const std::string& name, ISvcLocator* svcLoc );
-
-  /// Destructor: 
-  virtual ~TTreeEventSelector(); 
-
-  // Athena hooks
-  virtual StatusCode initialize();
-  virtual StatusCode finalize();
-  virtual StatusCode queryInterface( const InterfaceID& riid, 
-                                     void** ppvInterface );
-  
-  ///@{
-  /// @c IEvtSelector interface
-  virtual StatusCode createContext( Context*& refpCtxt ) const;
-
-  virtual StatusCode last( Context& refContext ) const;
-  virtual StatusCode next( Context& refCtxt ) const;
-  virtual StatusCode next( Context& refCtxt, int jump ) const;
-  virtual StatusCode previous( Context& refCtxt ) const;
-  virtual StatusCode previous( Context& refCtxt, int jump ) const;
-  virtual StatusCode rewind( Context& refCtxt ) const;
-
-  virtual StatusCode createAddress( const Context& refCtxt, 
-                                    IOpaqueAddress*& ) const;
-  virtual StatusCode releaseContext( Context*& refCtxt ) const;
-  virtual StatusCode resetCriteria( const std::string& cr, 
-                                    Context& ctx )const;
-  ///@}
-
-  ///@{
-  /// @c IEventSeek interface
-  /**
-   * @brief Seek to a given event number.
-   * @param evtnum  The event number to which to seek.
-   */
-  virtual StatusCode seek (int evtnum);
-
-  /**
-   * @brief return the current event number.
-   * @return The current event number.
-   */
-  virtual int curEvent () const;
-  ///@}
-  
-  ///@{
-  /// @c IAddressProvider interface
-  ///get all addresses from Provider : Called before Begin Event
-  virtual 
-  StatusCode preLoadAddresses(StoreID::type storeID, tadList& list);
- 
-   /// get all new addresses from Provider for this Event.
-  virtual 
-  StatusCode loadAddresses(StoreID::type storeID, tadList& list);
- 
-  /// update a transient Address
-  virtual 
-  StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress* tad,
-                           const EventContext& ctx);
-  ///@}
-
-  /////////////////////////////////////////////////////////////////// 
-  // Const methods: 
-  ///////////////////////////////////////////////////////////////////
-
-  /////////////////////////////////////////////////////////////////// 
-  // Non-const methods: 
-  /////////////////////////////////////////////////////////////////// 
-
-  /////////////////////////////////////////////////////////////////// 
-  // Private methods: 
-  /////////////////////////////////////////////////////////////////// 
- private: 
-
-  /// callback to synchronize the list of input files
-  void setupInputCollection( Property& inputCollectionsName );
-
-  /// helper method to create proxies
-  StatusCode createRootBranchAddresses(StoreID::type storeID,
-                                       tadList &tads);
-
-  /////////////////////////////////////////////////////////////////// 
-  // Private data: 
-  /////////////////////////////////////////////////////////////////// 
- private: 
-
-  typedef ServiceHandle<StoreGateSvc> StoreGateSvc_t;
-  /// Pointer to the @c StoreGateSvc event store
-  StoreGateSvc_t m_storeGate;
-
-  typedef ServiceHandle<IClassIDSvc> ICLIDSvc_t;
-  /// Pointer to the @c IClassIDSvc
-  ICLIDSvc_t m_clidsvc;
-
-  typedef ServiceHandle<IDictLoaderSvc> IDictSvc_t;
-  /// Pointer to the @c IDictLoaderSvc
-  IDictSvc_t m_dictsvc;
-
-  typedef ServiceHandle<ITHistSvc> ITHistSvc_t;
-  // /// Pointer to the @c ITHistSvc containing the @c TTree 
-  ITHistSvc_t m_tupleSvc;
-
-  /// List of input files containing @c TTree 
-  StringArrayProperty m_inputCollectionsName;
-
-  /// Name of @c TTree to load from collection of input files
-  StringProperty m_tupleName;
-
-  /// List of branches to activate in the @c TTree 
-  StringArrayProperty m_activeBranchNames;
-
-  /// Number of events to skip at the beginning 
-  long m_skipEvts;
-
-  /// Number of Events read so far.
-  mutable long m_nbrEvts;
-
-  /// Total number of events
-  long m_totalNbrEvts;
-
-  /// The @c TTree we are reading from file(s)
-  TChain* m_tuple;
-
-  /** The (python) selection function to apply on the @c TChain we are reading
-   */
-  //PyObject* m_pySelectionFct;
-
-  // the list of transient addresses we "manage" or know about
-  // these addresses are the actual TTree's branch names
-  std::unordered_set<SG::TransientAddress*> m_rootAddresses;
-}; 
-
-/////////////////////////////////////////////////////////////////// 
-// Inline methods: 
-/////////////////////////////////////////////////////////////////// 
-
-#endif //> ATHENAROOTCOMPS_TTREEEVENTSELECTOR_H
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelectorHelperSvc.cxx b/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelectorHelperSvc.cxx
deleted file mode 100644
index 45e7dc4774f530f32ed036b8648e416f692fe5e5..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelectorHelperSvc.cxx
+++ /dev/null
@@ -1,193 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TTreeEventSelectorHelperSvc.cxx 
-// Implementation file for class TTreeEventSelectorHelperSvc
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-
-// AthenaRootComps includes
-#include "TTreeEventSelectorHelperSvc.h"
-
-// STL includes
-#include <sstream>
-
-// FrameWork includes
-#include "GaudiKernel/Property.h"
-#include "GaudiKernel/ServiceHandle.h"
-#include "GaudiKernel/ITHistSvc.h"
-
-// ROOT includes
-#include <TChain.h>
-
-/////////////////////////////////////////////////////////////////// 
-// Public methods: 
-/////////////////////////////////////////////////////////////////// 
-
-// Constructors
-////////////////
-TTreeEventSelectorHelperSvc::TTreeEventSelectorHelperSvc
-( const std::string& name, ISvcLocator* pSvcLocator ) : 
-  ::AthService( name, pSvcLocator )
-{
-  //
-  // Property declaration
-  // 
-  //declareProperty( "Property", m_nProperty );
-
-  declareProperty( "InputCollections", 
-                   m_inputCollectionsName,
-                   "List of input (ROOT) file names" );
-  m_inputCollectionsName.declareUpdateHandler
-    ( &TTreeEventSelectorHelperSvc::setupInputCollection, this );
-
-  declareProperty( "TupleName",
-                   m_tupleName = "",
-                   "Name of the TTree to load/read from input file(s)" );
-
-  declareProperty( "ActiveBranches",
-                   m_activeBranchNames,
-                   "List of branch names to activate" );
-
-}
-
-// Destructor
-///////////////
-TTreeEventSelectorHelperSvc::~TTreeEventSelectorHelperSvc()
-{}
-
-// Athena Service's Hooks
-////////////////////////////
-StatusCode TTreeEventSelectorHelperSvc::initialize()
-{
-  ATH_MSG_INFO ("Initializing " << name() << "..." 
-		<< endmsg
-		<< "loading chain of trees into ITHistSvc...");
-
-  if ( !configureTupleSvc().isSuccess() ) {
-    ATH_MSG_ERROR ("Could not load TChain into ITHistSvc !");
-    return StatusCode::FAILURE;
-  }
-
-  return StatusCode::SUCCESS;
-}
-
-StatusCode TTreeEventSelectorHelperSvc::finalize()
-{
-  ATH_MSG_INFO ("Finalizing " << name() << "...");
-  return StatusCode::SUCCESS;
-}
-
-// Query the interfaces.
-//   Input: riid, Requested interface ID
-//          ppvInterface, Pointer to requested interface
-//   Return: StatusCode indicating SUCCESS or FAILURE.
-// N.B. Don't forget to release the interface after use!!!
-StatusCode 
-TTreeEventSelectorHelperSvc::queryInterface(const InterfaceID& riid, void** ppvInterface) 
-{
-  if ( TTreeEventSelectorHelperSvc::interfaceID().versionMatch(riid) ) {
-    *ppvInterface = dynamic_cast<TTreeEventSelectorHelperSvc*>(this);
-  } else {
-    // Interface is not directly available : try out a base class
-    return ::AthService::queryInterface(riid, ppvInterface);
-  }
-  addRef();
-  return StatusCode::SUCCESS;
-}
-
-/////////////////////////////////////////////////////////////////// 
-// Const methods: 
-///////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////// 
-// Non-const methods: 
-/////////////////////////////////////////////////////////////////// 
-
-/// callback to synchronize the list of input files
-void 
-TTreeEventSelectorHelperSvc::setupInputCollection( Property& /*inputCollectionsName*/ )
-{
-  // nothing ?
-  return;
-}
-
-StatusCode
-TTreeEventSelectorHelperSvc::configureTupleSvc()
-{
-  // retrieve ITHistSvc
-  ServiceHandle<ITHistSvc> svc( "THistSvc/THistSvc", this->name() );
-  if ( !svc.retrieve().isSuccess() ) {
-    ATH_MSG_ERROR ("Could not retrieve [" << svc.typeAndName() << "] !");
-    return StatusCode::FAILURE;
-  }
-
-  if ( m_tupleName.empty() ) {
-    ATH_MSG_ERROR
-      ("You have to give a TTree name to read from the ROOT files !");
-    return StatusCode::FAILURE;
-  }
-
-  setupInputCollection( m_inputCollectionsName );
-  const std::size_t nbrInputFiles = m_inputCollectionsName.value().size();
-  if ( nbrInputFiles < 1 ) {
-    ATH_MSG_ERROR
-      ("You need to give at least 1 input file !!" << endmsg
-       << "(Got [" << nbrInputFiles << "] file instead !)");
-    return StatusCode::FAILURE;
-  }
-
-  TChain* tuple = new TChain( m_tupleName.c_str() );
-  for ( std::size_t iFile = 0; iFile != nbrInputFiles; ++iFile ) {
-    const std::string& fileName = m_inputCollectionsName.value()[iFile];
-    ATH_MSG_DEBUG ("adding [" << fileName << "]");
-    tuple->Add( fileName.c_str() );
-  }
-  // fixup TChain index
-  tuple->SetTreeIndex( 0 );
-  
-  // by default, disable all branches: 
-  // clients will have to explicitly tell which ones they want to read
-  tuple->SetBranchStatus("*",0);
-
-  // and activate the one we have been told to
-  for ( std::size_t i = 0, iMax = m_activeBranchNames.size();
-	i != iMax;
-	++i ) {
-    tuple->SetBranchStatus( m_activeBranchNames[i].c_str(), 1 );
-  }
-
-  // register our tuple under stream 'temp' (in-memory special stream)
-  // ! don't forget to unregister it ! 
-  // (should be done in TTreeEventSelector::finalize())
-  std::ostringstream tupleName;
-  tupleName << "/temp/TTreeStream/" << tuple->GetName();
-  if ( !svc->regTree( tupleName.str(), tuple ).isSuccess() ) {
-    ATH_MSG_ERROR ("Couldn't register (chain of) tuple(s)");
-    delete tuple; tuple =0;
-    return StatusCode::FAILURE;
-  }
-
-  // we leak the TChain here.
-  // ownership is relinquinshed to TTreeEventSelector.
-  tuple = 0;
-
-  return StatusCode::SUCCESS;
-}
-
-/////////////////////////////////////////////////////////////////// 
-// Protected methods: 
-/////////////////////////////////////////////////////////////////// 
-
-/////////////////////////////////////////////////////////////////// 
-// Const methods: 
-///////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////// 
-// Non-const methods: 
-/////////////////////////////////////////////////////////////////// 
-
-
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelectorHelperSvc.h b/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelectorHelperSvc.h
deleted file mode 100644
index 167072d4bfb75e9a2b4b3390beca479e9d2dce59..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TTreeEventSelectorHelperSvc.h
+++ /dev/null
@@ -1,120 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TTreeEventSelectorHelperSvc.h 
-// Header file for class TTreeEventSelectorHelperSvc
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-#ifndef ATHENAROOTCOMPS_TTREEEVENTSELECTORHELPERSVC_H
-#define ATHENAROOTCOMPS_TTREEEVENTSELECTORHELPERSVC_H 1
-
-// STL includes
-#include <string>
-#include <vector>
-
-// FrameWork includes
-#include "AthenaBaseComps/AthService.h"
-
-// GaudiKernel
-#include "GaudiKernel/IInterface.h"
-
-// Forward declaration
-class ISvcLocator;
-template <class TYPE> class SvcFactory;
-class TTreeEventSelector;
-
-
-class TTreeEventSelectorHelperSvc
-  : public ::AthService
-{ 
-  friend class SvcFactory<TTreeEventSelectorHelperSvc>;
-  friend class TTreeEventSelector;
-
-  /////////////////////////////////////////////////////////////////// 
-  // Public methods: 
-  /////////////////////////////////////////////////////////////////// 
- public: 
-
-  // Copy constructor: 
-
-  /// Constructor with parameters: 
-  TTreeEventSelectorHelperSvc( const std::string& name, ISvcLocator* pSvcLocator );
-
-  /// Destructor: 
-  virtual ~TTreeEventSelectorHelperSvc(); 
-
-  // Assignment operator: 
-  //TTreeEventSelectorHelperSvc &operator=(const TTreeEventSelectorHelperSvc &alg); 
-
-  /// Gaudi Service Implementation
-  //@{
-  virtual StatusCode initialize();
-  virtual StatusCode finalize();
-  virtual StatusCode queryInterface( const InterfaceID& riid, 
-                                     void** ppvInterface );
-  //@}
-
-  /////////////////////////////////////////////////////////////////// 
-  // Const methods: 
-  ///////////////////////////////////////////////////////////////////
-
-  /////////////////////////////////////////////////////////////////// 
-  // Non-const methods: 
-  /////////////////////////////////////////////////////////////////// 
-
-  static const InterfaceID& interfaceID();
-
-  /////////////////////////////////////////////////////////////////// 
-  // Protected methods: 
-  /////////////////////////////////////////////////////////////////// 
- protected: 
-
-  /// callback to synchronize the list of input files
-  void setupInputCollection( Property& inputCollectionsName );
-
-  /// configure the tuple service to deliver our tree to clients (if any)
-  StatusCode configureTupleSvc();
-
-  /////////////////////////////////////////////////////////////////// 
-  // Private data: 
-  /////////////////////////////////////////////////////////////////// 
- private: 
-
-  /// Default constructor: 
-  TTreeEventSelectorHelperSvc();
-
-  // Containers
-  
-  /// List of input files containing @c TTree 
-  StringArrayProperty m_inputCollectionsName;
-
-  /// name of the @c TChain in the chain of ROOT files to read in
-  std::string m_tupleName;
-
-  /// list of branches to activate in the @c TChain
-  /// The default is to have no active branch and let the user activate
-  /// the ones she needs (for 'obvious' performance reasons)
-  std::vector<std::string> m_activeBranchNames;
-
-}; 
-
-// I/O operators
-//////////////////////
-
-/////////////////////////////////////////////////////////////////// 
-// Inline methods: 
-/////////////////////////////////////////////////////////////////// 
-
-inline const InterfaceID& TTreeEventSelectorHelperSvc::interfaceID() 
-{ 
-  static const InterfaceID IID_TTreeEventSelectorHelperSvc
-    ("TTreeEventSelectorHelperSvc", 1, 0);
-  return IID_TTreeEventSelectorHelperSvc; 
-}
-
-
-
-#endif //> !ATHENAROOTCOMPS_TTREEEVENTSELECTORHELPERSVC_H
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TreeNotifier.cxx b/Database/AthenaRoot/AthenaRootComps/src/TreeNotifier.cxx
deleted file mode 100644
index ebb04f79a5bda41e2817c86768d561f81ee40f1b..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TreeNotifier.cxx
+++ /dev/null
@@ -1,72 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TreeNotifier.cxx 
-// Implementation file for class TreeNotifier
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-
-// AthenaRootComps includes
-#include "TreeNotifier.h"
-
-// STL includes
-#include <iostream>
-
-// ROOT includes
-#include "TTree.h"
-
-namespace Athena {
-
-/////////////////////////////////////////////////////////////////// 
-// Public methods: 
-/////////////////////////////////////////////////////////////////// 
-
-/// Default constructor: 
-TreeNotifier::TreeNotifier() :
-  TObject(),
-  m_notify_chain(NULL)
-{}
-
-
-/// Constructor with parameters: 
-TreeNotifier::TreeNotifier(TTree *ntuple) :
-  TObject(),
-  m_notify_chain( ntuple != NULL ? ntuple->GetNotify() : NULL)
-{}
-
-  /// Destructor: 
-TreeNotifier::~TreeNotifier()
-{
-  //if (m_notify_chain)
-}
-
-/////////////////////////////////////////////////////////////////// 
-// Const methods: 
-///////////////////////////////////////////////////////////////////
-
-/////////////////////////////////////////////////////////////////// 
-// Non-const methods: 
-/////////////////////////////////////////////////////////////////// 
-
-/**
- * @brief Standard Root notify routine.
- *
- * Called by ROOT when the chain switched trees or when a new file kicked in.
- * ie: called whenever the (branch) addresses need to be updated.
- *
- */
-Bool_t 
-TreeNotifier::Notify()
-{
-  std::cerr << "::TN:: --Notify--\n";
-  // propagate the notification
-  if (m_notify_chain) {
-    return m_notify_chain->Notify();
-  }
-  return true;
-}
-
-} //> end namespace Athena
diff --git a/Database/AthenaRoot/AthenaRootComps/src/TreeNotifier.h b/Database/AthenaRoot/AthenaRootComps/src/TreeNotifier.h
deleted file mode 100644
index 80da478ffb8e422bc475f03c5d6f83ad765213aa..0000000000000000000000000000000000000000
--- a/Database/AthenaRoot/AthenaRootComps/src/TreeNotifier.h
+++ /dev/null
@@ -1,87 +0,0 @@
-///////////////////////// -*- C++ -*- /////////////////////////////
-
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// TreeNotifier.h 
-// Header file for class TreeNotifier
-// Author: S.Binet<binet@cern.ch>
-/////////////////////////////////////////////////////////////////// 
-#ifndef ATHENAROOTCOMPS_ATHENA_TREENOTIFIER_H
-#define ATHENAROOTCOMPS_ATHENA_TREENOTIFIER_H 1
-
-// STL includes
-#include <iosfwd>
-
-// Gaudi includes
-
-// ROOT includes
-#include "TObject.h"
-
-// Forward declaration
-class TTree;
-
-namespace Athena {
-
-class TreeNotifier : public ::TObject
-{ 
-
-  /////////////////////////////////////////////////////////////////// 
-  // Public methods: 
-  /////////////////////////////////////////////////////////////////// 
- public: 
-
-  /// Default constructor: 
-  TreeNotifier();
-
-  /// Constructor with parameters: 
-  TreeNotifier(TTree *ntuple);
-
-  /// Destructor: 
-  virtual ~TreeNotifier(); 
-
-  /////////////////////////////////////////////////////////////////// 
-  // Const methods: 
-  ///////////////////////////////////////////////////////////////////
-
-  /////////////////////////////////////////////////////////////////// 
-  // Non-const methods: 
-  /////////////////////////////////////////////////////////////////// 
-
-  /**
-   * @brief Standard Root notify routine.
-   *
-   */
-  Bool_t Notify();
-
-  /////////////////////////////////////////////////////////////////// 
-  // Private methods: 
-  /////////////////////////////////////////////////////////////////// 
- private: 
-
-  // disallow copy
-
-  /// Copy constructor: 
-  TreeNotifier( const TreeNotifier& rhs ); // not implemented
-
-  /// Assignment operator: 
-  TreeNotifier& operator=( const TreeNotifier& rhs ); //not implemented
-
-  /////////////////////////////////////////////////////////////////// 
-  // Private data: 
-  /////////////////////////////////////////////////////////////////// 
- private: 
-
-  /// For propagating notification requests.
-  TObject *m_notify_chain;
-}; 
-
-/////////////////////////////////////////////////////////////////// 
-// Inline methods: 
-/////////////////////////////////////////////////////////////////// 
-//std::ostream& operator<<( std::ostream& out, const TreeNotifier& o );
-
-} //> end namespace Athena
-
-#endif //> !ATHENAROOTCOMPS_ATHENA_TREENOTIFIER_H
diff --git a/Database/AthenaRoot/AthenaRootComps/src/components/AthenaRootComps_entries.cxx b/Database/AthenaRoot/AthenaRootComps/src/components/AthenaRootComps_entries.cxx
index 883ae20e28b5d88bc0348e365a1faa0b9ae444b5..088d2609450c30919cd856ccd91be230105227bf 100644
--- a/Database/AthenaRoot/AthenaRootComps/src/components/AthenaRootComps_entries.cxx
+++ b/Database/AthenaRoot/AthenaRootComps/src/components/AthenaRootComps_entries.cxx
@@ -1,6 +1,4 @@
 #include "GaudiKernel/DeclareFactoryEntries.h"
-#include "../TTreeEventSelector.h"
-#include "../TTreeEventSelectorHelperSvc.h"
 #include "../NtupleCnvSvc.h"
 //#include "../LeafCnv.h"
 #include "../RootOutputStreamTool.h"
@@ -23,8 +21,6 @@
 #include "../xAODCnv.h"
 #include "../xAODEventSelector.h"
 
-DECLARE_SERVICE_FACTORY( TTreeEventSelector )
-DECLARE_SERVICE_FACTORY( TTreeEventSelectorHelperSvc )
 DECLARE_NAMESPACE_SERVICE_FACTORY(Athena, NtupleCnvSvc)
 //DECLARE_NAMESPACE_CONVERTER_FACTORY (Athena, LeafCnv)
 
@@ -47,8 +43,6 @@ DECLARE_NAMESPACE_ALGORITHM_FACTORY( Athena, RootAsciiDumperAlgHandle )
 DECLARE_SERVICE_FACTORY( IoSvc )
 
 DECLARE_FACTORY_ENTRIES( AthenaRootComps ) {
-  DECLARE_SERVICE( TTreeEventSelector )
-  DECLARE_SERVICE( TTreeEventSelectorHelperSvc )
   DECLARE_NAMESPACE_SERVICE(Athena, NtupleCnvSvc)
   DECLARE_NAMESPACE_CONVERTER(Athena, LeafCnv)
   DECLARE_NAMESPACE_CONVERTER(Athena, xAODCnv)