diff --git a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/CscDigitToCscRDO_topOptions.py b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/CscDigitToCscRDO_topOptions.py
index f0b8771765f23c6ba216f2f0039f9f6871af7daa..c65449f38462dfdb063532502d3e97980c379f9a 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/CscDigitToCscRDO_topOptions.py
+++ b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/CscDigitToCscRDO_topOptions.py
@@ -40,7 +40,8 @@ CscDigitToCscRDO.OutputLevel = DEBUG
 include("MuonRdoToPrepData/CscRdoToCscPrepData_jobOptions.py")
 from MuonRdoToPrepData.MuonRdoToPrepDataConf import CscRdoToCscPrepData
 CscRdoToCscPrepData.OutputLevel = INFO #DEBUG
-
+from RegionSelector.RegSelToolConfig import makeRegSelTool_CSC
+CscRdoToCscPrepData.RegSel_CSC = makeRegSelTool_CSC()
 
 # get a handle on the ServiceManager which holds all the services
 from AthenaCommon.AppMgr import ServiceMgr
diff --git a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/ReadCscByteStream_topOptions.py b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/ReadCscByteStream_topOptions.py
index 0fcc132c536220a3772f91db4c6f60081011f046..123c6c2cf5a82da85839f43199dff4a531ac9233 100644
--- a/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/ReadCscByteStream_topOptions.py
+++ b/MuonSpectrometer/MuonCnv/MuonByteStreamCnvTest/share/ReadCscByteStream_topOptions.py
@@ -92,6 +92,8 @@ include("MuonRdoToPrepData/CscRdoToCscPrepData_jobOptions.py")
 
 from MuonRdoToPrepData.MuonRdoToPrepDataConf import CscRdoToCscPrepData
 CscRdoToCscPrepData.OutputLevel = DEBUG
+from RegionSelector.RegSelToolConfig import makeRegSelTool_CSC
+CscRdoToCscPrepData.RegSel_CSC = makeRegSelTool_CSC()
 
 # Byte stream conversion service
 theApp.ExtSvc += [ "ByteStreamCnvSvc" ]
diff --git a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/share/test.py b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/share/test.py
index 53f82a25142a4117b00d974ac1d5cea48b6e1a53..aa6a584f8750b725aff2385379492a720081b651 100644
--- a/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/share/test.py
+++ b/MuonSpectrometer/MuonCnv/MuonCSC_CnvTools/share/test.py
@@ -84,5 +84,7 @@ from MuonRdoToPrepData.MuonRdoToPrepDataConf import CscRdoToCscPrepData
 CscRdoToCscPrepData = CscRdoToCscPrepData()
 #CscRdoToCscPrepData.DecodingTool = ToolSvc.CscPrepDataProviderTool
 CscRdoToCscPrepData.PrintPrepData = True
+from RegionSelector.RegSelToolConfig import makeRegSelTool_CSC
+CscRdoToCscPrepData.RegSel_CSC = makeRegSelTool_CSC()
 
 topSequence += CscRdoToCscPrepData
diff --git a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/CscRdoToCscPrepData.h b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/CscRdoToCscPrepData.h
index ebe5cf45633993aad1df8f6998e11a8cb2b302cf..872558f789ec9f80fe988a435b6d27ae90777868 100755
--- a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/CscRdoToCscPrepData.h
+++ b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/CscRdoToCscPrepData.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef CSCRDOTOCSCPREPDATA_H
@@ -10,7 +10,7 @@
 #include "MuonCnvToolInterfaces/IMuonRdoToPrepDataTool.h"
 
 #include "TrigSteeringEvent/TrigRoiDescriptor.h"
-#include "IRegionSelector/IRegSelSvc.h"
+#include "IRegionSelector/IRegSelTool.h"
 #include "MuonPrepRawData/CscStripPrepDataContainer.h"
 /** Algorithm to decode RDO into CscStripPrepData
  - get the RDO container from Storegate
@@ -38,7 +38,7 @@ private:
   bool                                    m_print_prepData; //!<< If true, will dump information about the resulting PRDs.  
   bool m_seededDecoding;
   SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey;
-  ServiceHandle<IRegSelSvc> m_regionSelector; //<! pointer to RegionSelectionSvc
+  ToolHandle<IRegSelTool> m_regsel_csc; //<! pointer to RegionSelectionTool
   SG::WriteHandleKey<Muon::CscStripPrepDataContainer> m_cscCollection;
 };
 
diff --git a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/RpcRdoToRpcPrepData.h b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/RpcRdoToRpcPrepData.h
index 85d31660753ee104f7beacd317eb012668b7208d..3d29ae457b322d1dd34804b64cfc0b39ffd98490 100755
--- a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/RpcRdoToRpcPrepData.h
+++ b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/RpcRdoToRpcPrepData.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef RPCRDOTORPCPREPDATA_H
@@ -13,7 +13,7 @@
 
 #include "TrigSteeringEvent/TrigRoiDescriptor.h"
 
-#include "IRegionSelector/IRegSelSvc.h"
+#include "IRegionSelector/IRegSelTool.h"
 #include "MuonPrepRawData/MuonPrepDataContainer.h"
 /** Algorithm to decode RDO into RpcPrepData, using the Muon::RpcRdoToRpcPrepDataTool 
  @author Ketevi A. Assamagan
@@ -41,7 +41,7 @@ private:
     bool                                    m_print_prepData; //!<< If true, will dump information about the resulting PRDs.
     bool m_seededDecoding;
     SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey;
-    ServiceHandle<IRegSelSvc> m_regionSelector; //<! pointer to RegionSelectionSvc
+    ToolHandle<IRegSelTool> m_regsel_rpc; //<! pointer to RegionSelectionTool
     SG::WriteHandleKey<Muon::RpcPrepDataContainer> m_rpcCollection;
 
 };
diff --git a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/TgcRdoToTgcPrepData.h b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/TgcRdoToTgcPrepData.h
index 4d934d24c763da6273882c7b755a6b871c1ad614..2358f2839c73c48cfa700cb082f7ffb22bb9da10 100755
--- a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/TgcRdoToTgcPrepData.h
+++ b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/MuonRdoToPrepData/TgcRdoToTgcPrepData.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TGCRDOTOTGCPREPDATA_H
@@ -13,7 +13,7 @@
 #include "MuonCnvToolInterfaces/IMuonRdoToPrepDataTool.h"
 
 #include "TrigSteeringEvent/TrigRoiDescriptor.h"
-#include "IRegionSelector/IRegSelSvc.h"
+#include "IRegionSelector/IRegSelTool.h"
 #include "MuonPrepRawData/MuonPrepDataContainer.h"
 
 /** Algorithm to decode RDO into TgcPrepData, using the Muon::TgcRdoToTgcPrepDataTool 
@@ -44,7 +44,7 @@ class TgcRdoToTgcPrepData : public AthAlgorithm {
 
   bool m_seededDecoding;
   SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey;
-  ServiceHandle<IRegSelSvc> m_regionSelector; //<! pointer to RegionSelectionSvc
+  ToolHandle<IRegSelTool> m_regsel_tgc; //<! pointer to RegionSelectionTool
   SG::WriteHandleKey<Muon::TgcPrepDataContainer> m_tgcCollection;
 };
 
diff --git a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/CscRdoToCscPrepData.cxx b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/CscRdoToCscPrepData.cxx
index f78501aec1791ff152fe8090155051207eab11f9..175e9a3f282ae21f9bd3280fb3ce229b842e5c03 100755
--- a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/CscRdoToCscPrepData.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/CscRdoToCscPrepData.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /// Author: Ketevi A. Assamagan
@@ -23,7 +23,7 @@ CscRdoToCscPrepData::CscRdoToCscPrepData(const std::string& name, ISvcLocator* p
     m_print_prepData(false),
     m_seededDecoding(false),
     m_roiCollectionKey("OutputRoIs"),
-    m_regionSelector("RegSelSvc",name),
+    m_regsel_csc("RegSelTool/RegSelTool_CSC",this),
     m_cscCollection("CSC_Measurements")
 {
     declareProperty("CscRdoToCscPrepDataTool",     m_muonRdoToPrepDataTool );
@@ -31,7 +31,7 @@ CscRdoToCscPrepData::CscRdoToCscPrepData(const std::string& name, ISvcLocator* p
     declareProperty("PrintPrepData",      m_print_prepData, "If true, will dump information about the resulting PRDs");
     declareProperty("DoSeededDecoding",   m_seededDecoding, "If true decode only in RoIs");
     declareProperty("RoIs",               m_roiCollectionKey, "RoIs to read in");
-    declareProperty("RegionSelectionSvc", m_regionSelector, "Region Selector");
+    declareProperty("RegSel_CSC", m_regsel_csc);
     declareProperty("OutputCollection", m_cscCollection);
 }
 
@@ -58,8 +58,8 @@ StatusCode CscRdoToCscPrepData::initialize(){
     if(m_seededDecoding){
       ATH_CHECK(m_roiCollectionKey.initialize());
       ATH_CHECK(m_cscCollection.initialize());
-      if (m_regionSelector.retrieve().isFailure()) {
-	ATH_MSG_FATAL("Unable to retrieve RegionSelector Svc");
+      if (m_regsel_csc.retrieve().isFailure()) {
+	ATH_MSG_FATAL("Unable to retrieve m_regsel_csc");
 	return StatusCode::FAILURE;
       }
     }
@@ -84,7 +84,7 @@ StatusCode CscRdoToCscPrepData::execute() {
       }
       else{
 	for(auto roi : *muonRoI){
-	  m_regionSelector->DetHashIDList(CSC,*roi,givenIDs);
+	  m_regsel_csc->HashIDList(*roi,givenIDs);
 	  if(givenIDs.size()!=0){
 	    status=m_muonRdoToPrepDataTool->decode(givenIDs, decodedIDs);
 	    givenIDs.clear();
diff --git a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/RpcRdoToRpcPrepData.cxx b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/RpcRdoToRpcPrepData.cxx
index 4dff8547c33523ada6ef79627ce4fdd31504b8ef..6a7e8f8beef4e0a0e9537ea745d7e36e936a1445 100755
--- a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/RpcRdoToRpcPrepData.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/RpcRdoToRpcPrepData.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /// Author: Stefania Spagnolo 
@@ -22,7 +22,7 @@ RpcRdoToRpcPrepData::RpcRdoToRpcPrepData(const std::string& name, ISvcLocator* p
     m_print_prepData(false),
     m_seededDecoding(false),
     m_roiCollectionKey("OutputRoIs"),
-    m_regionSelector("RegSelSvc",name),
+    m_regsel_rpc("RegSelTool/RegSelTool_RPC",this),
     m_rpcCollection("RPC_Measurements")
 {
     declareProperty("DecodingTool",       m_tool,       "rpc rdo to prep data conversion tool" );
@@ -30,7 +30,7 @@ RpcRdoToRpcPrepData::RpcRdoToRpcPrepData(const std::string& name, ISvcLocator* p
     declareProperty("PrintPrepData",      m_print_prepData, "If true, will dump information about the resulting PRDs");
     declareProperty("DoSeededDecoding",   m_seededDecoding, "If true decode only in RoIs");
     declareProperty("RoIs",               m_roiCollectionKey, "RoIs to read in");
-    declareProperty("RegionSelectionSvc", m_regionSelector, "Region Selector");
+    declareProperty("RegSel_RPC", m_regsel_rpc);
     declareProperty("OutputCollection", m_rpcCollection);
 }  
 
@@ -59,8 +59,8 @@ StatusCode RpcRdoToRpcPrepData::initialize(){
   if(m_seededDecoding){
     ATH_CHECK(m_roiCollectionKey.initialize());
     ATH_CHECK(m_rpcCollection.initialize());
-    if (m_regionSelector.retrieve().isFailure()) {
-      ATH_MSG_FATAL("Unable to retrieve RegionSelector Svc");
+    if (m_regsel_rpc.retrieve().isFailure()) {
+      ATH_MSG_FATAL("Unable to retrieve m_regsel_rpc");
       return StatusCode::FAILURE;
     }
   }
@@ -99,7 +99,7 @@ StatusCode RpcRdoToRpcPrepData::execute() {
       else{
 	std::vector<uint32_t> rpcrobs;
 	for(auto roi : *muonRoI){
-	  m_regionSelector->DetROBIDListUint(RPC,*roi,rpcrobs);
+	  m_regsel_rpc->ROBIDList(*roi,rpcrobs);
 	  if(rpcrobs.size()!=0){
 	    decoded=true;
 	    status=m_tool->decode(rpcrobs);
diff --git a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/TgcRdoToTgcPrepData.cxx b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/TgcRdoToTgcPrepData.cxx
index c3486fdff7e76c167c721d7556066c81c871492e..15fd22ddacde970446fe22da9e44611afb512708 100755
--- a/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/TgcRdoToTgcPrepData.cxx
+++ b/MuonSpectrometer/MuonCnv/MuonRdoToPrepData/src/TgcRdoToTgcPrepData.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 /// Author: Takashi Kubota
@@ -19,7 +19,7 @@ TgcRdoToTgcPrepData::TgcRdoToTgcPrepData(const std::string& name, ISvcLocator* p
   m_setting(0),
   m_seededDecoding(false),
   m_roiCollectionKey("OutputRoIs"),
-  m_regionSelector("RegSelSvc",name),
+  m_regsel_tgc("RegSelTool/RegSelTool_TGC",this),
   m_tgcCollection("TGC_Measurements")
 {
   declareProperty("DecodingTool",       m_tool,       "tgc rdo to prep data conversion tool" );
@@ -28,7 +28,7 @@ TgcRdoToTgcPrepData::TgcRdoToTgcPrepData(const std::string& name, ISvcLocator* p
   declareProperty("Setting",            m_setting,        "0 is default unseeded decoding"); 
   declareProperty("DoSeededDecoding",   m_seededDecoding, "If true decode only in RoIs");
   declareProperty("RoIs",               m_roiCollectionKey, "RoIs to read in");
-  declareProperty("RegionSelectorSvc",  m_regionSelector, "Region Selector");
+  declareProperty("RegSel_TGC", m_regsel_tgc);
   declareProperty("OutputCollection",   m_tgcCollection);
 
   // m_setting=314321 means 
@@ -89,8 +89,8 @@ StatusCode TgcRdoToTgcPrepData::initialize(){
   if(m_seededDecoding){
     ATH_CHECK(m_roiCollectionKey.initialize());
     ATH_CHECK(m_tgcCollection.initialize());
-    if (m_regionSelector.retrieve().isFailure()) {
-      ATH_MSG_FATAL("Unable to retrieve RegionSelector Svc");
+    if (m_regsel_tgc.retrieve().isFailure()) {
+      ATH_MSG_FATAL("Unable to retrieve m_regsel_tgc");
       return StatusCode::FAILURE;
     }
   }
@@ -116,7 +116,7 @@ StatusCode TgcRdoToTgcPrepData::execute() {
       std::vector<IdentifierHash> tgchashids;
       std::vector<IdentifierHash> hash_ids_withData;
       for(auto roi : *muonRoI){
-	m_regionSelector->DetHashIDList(TGC,*roi,tgchashids);
+	m_regsel_tgc->HashIDList(*roi,tgchashids);
 	if(tgchashids.size()!=0){
 	  ATH_CHECK(m_tool->decode(tgchashids, hash_ids_withData));
 	  tgchashids.clear();
diff --git a/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/share/test.py b/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/share/test.py
index 5f5da62547e4d563df7d4b25e2413e85f3964d6e..172f596bae24e8287b6ad9933f74239a8642962c 100644
--- a/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/share/test.py
+++ b/MuonSpectrometer/MuonCnv/MuonTGC_CnvTools/share/test.py
@@ -57,4 +57,6 @@ print TgcRdoToPrepDataTool
 from MuonRdoToPrepData.MuonRdoToPrepDataConf import TgcRdoToTgcPrepData
 TgcRdoToTgcPrepData = TgcRdoToTgcPrepData()
 TgcRdoToTgcPrepData.PrintPrepData = True
+from RegionSelector.RegSelToolConfig import makeRegSelTool_TGC
+TgcRdoToTgcPrepData.RegSel_TGC = makeRegSelTool_TGC()
 topSequence += TgcRdoToTgcPrepData
diff --git a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
index 1175a9040f0ef0b834b22ad86920a119d6000a4c..a482c0f9b7cf3c32b0e9502433df1fcf5b0297b0 100644
--- a/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
+++ b/MuonSpectrometer/MuonConfig/python/MuonRdoDecodeConfig.py
@@ -73,6 +73,9 @@ def RpcRDODecodeCfg(flags, forTrigger=False):
     RpcRdoToRpcPrepData = RpcRdoToRpcPrepData(name          = "RpcRdoToRpcPrepData",
                                               DecodingTool  = RpcRdoToRpcPrepDataTool,
                                               PrintPrepData = False )
+    # add RegSelTool
+    from RegionSelector.RegSelToolConfig import regSelTool_RPC_Cfg
+    RpcRdoToRpcPrepData.RegSel_RPC = acc.popToolsAndMerge( regSelTool_RPC_Cfg( flags ) )
 
     if forTrigger:
         # Set the algorithm to RoI mode
@@ -103,6 +106,9 @@ def TgcRDODecodeCfg(flags, forTrigger=False):
     TgcRdoToTgcPrepData = TgcRdoToTgcPrepData(name          = "TgcRdoToTgcPrepData",
                                               DecodingTool  = TgcRdoToTgcPrepDataTool,
                                               PrintPrepData = False )
+    # add RegSelTool
+    from RegionSelector.RegSelToolConfig import regSelTool_TGC_Cfg
+    TgcRdoToTgcPrepData.RegSel_TGC = acc.popToolsAndMerge( regSelTool_TGC_Cfg( flags ) )
 
     if forTrigger:
         # Set the algorithm to RoI mode
@@ -173,6 +179,9 @@ def CscRDODecodeCfg(flags, forTrigger=False):
     CscRdoToCscPrepData = CscRdoToCscPrepData(name                    = "CscRdoToCscPrepData",
                                               CscRdoToCscPrepDataTool = CscRdoToCscPrepDataTool,
                                               PrintPrepData           = False )
+    # add RegSelTool
+    from RegionSelector.RegSelToolConfig import regSelTool_CSC_Cfg
+    CscRdoToCscPrepData.RegSel_CSC = acc.popToolsAndMerge( regSelTool_CSC_Cfg( flags ) )
 
     if forTrigger:
         # Set the algorithm to RoI mode
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py
index f54c01917e3e5f30790f3fb6f5104cf949f41598..8085d278a475176d27b98cc4c31e2d9b43d75b8a 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecExample/share/MuonRDO_to_PRD_jobOptions.py
@@ -24,6 +24,8 @@ from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags
 if MuonGeometryFlags.hasCSC() and muonRecFlags.doCSCs() and DetFlags.makeRIO.CSC_on() and (DetFlags.haveRDO.CSC_on() or DetFlags.digitize.CSC_on()):
     topSequence += getAlgorithm("CscRdoToCscPrepData", tryDefaultConfigurable=True)
     topSequence.CscRdoToCscPrepData.CscRdoToCscPrepDataTool = CscPrepDataProviderTool()
+    from RegionSelector.RegSelToolConfig import makeRegSelTool_CSC
+    topSequence.CscRdoToCscPrepData.RegSel_CSC = makeRegSelTool_CSC()
 
 if muonRecFlags.doMDTs() and DetFlags.makeRIO.MDT_on() and (DetFlags.haveRDO.MDT_on() or DetFlags.digitize.MDT_on()):
     topSequence += getAlgorithm("MdtRdoToMdtPrepData", tryDefaultConfigurable=True)
@@ -34,10 +36,14 @@ if muonRecFlags.doMDTs() and DetFlags.makeRIO.MDT_on() and (DetFlags.haveRDO.MDT
 if muonRecFlags.doRPCs() and DetFlags.makeRIO.RPC_on() and (DetFlags.haveRDO.RPC_on() or DetFlags.digitize.RPC_on()):
     topSequence += getAlgorithm("RpcRdoToRpcPrepData", tryDefaultConfigurable=True )
     topSequence.RpcRdoToRpcPrepData.DecodingTool = RpcPrepDataProviderTool()
+    from RegionSelector.RegSelToolConfig import makeRegSelTool_RPC
+    topSequence.RpcRdoToRpcPrepData.RegSel_RPC = makeRegSelTool_RPC()
 
 if muonRecFlags.doTGCs() and DetFlags.makeRIO.TGC_on() and (DetFlags.haveRDO.TGC_on() or DetFlags.digitize.TGC_on()):
     topSequence += getAlgorithm("TgcRdoToTgcPrepData", tryDefaultConfigurable=True)
     topSequence.TgcRdoToTgcPrepData.DecodingTool = TgcPrepDataProviderTool()
+    from RegionSelector.RegSelToolConfig import makeRegSelTool_TGC
+    topSequence.TgcRdoToTgcPrepData.RegSel_TGC = makeRegSelTool_TGC()
 
 if not muonRecFlags.doFastDigitization():
     if (MuonGeometryFlags.hasSTGC() and MuonGeometryFlags.hasMM()):
diff --git a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragment.py b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragment.py
index b18925c39db643363a6f6e8be8589844dc815d6f..547642119f5a1c63dadfb064cf1a6b5d2e7ec9a3 100644
--- a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragment.py
+++ b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragment.py
@@ -24,6 +24,8 @@ ToolSvc += RpcRdoToPrepDataTool
 from MuonRdoToPrepData.MuonRdoToPrepDataConf import RpcRdoToRpcPrepData
 RpcRdoToRpcPrepData = RpcRdoToRpcPrepData()
 RpcRdoToRpcPrepData.PrintPrepData = False
+from RegionSelector.RegSelToolConfig import makeRegSelTool_RPC
+RpcRdoToRpcPrepData.RegSel_RPC = makeRegSelTool_RPC()
 
 topSequence += RpcRdoToRpcPrepData
 ######################## end of RPC rdo to prd 
diff --git a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragmentTestCabOnly.py b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragmentTestCabOnly.py
index 6e4797a8f1321418a57f1649795833ad9640763e..ec3caceda3053f3f25155fb3feb19aa7fad89f11 100644
--- a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragmentTestCabOnly.py
+++ b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/NtupleFragmentTestCabOnly.py
@@ -87,6 +87,8 @@ ToolSvc += RpcRdoToPrepDataTool
 from MuonRdoToPrepData.MuonRdoToPrepDataConf import RpcRdoToRpcPrepData
 RpcRdoToRpcPrepData = RpcRdoToRpcPrepData()
 RpcRdoToRpcPrepData.PrintPrepData = False
+from RegionSelector.RegSelToolConfig import makeRegSelTool_RPC
+RpcRdoToRpcPrepData.RegSel_RPC = makeRegSelTool_RPC()
 #
 topSequence += RpcRdoToRpcPrepData
 ######################## end of RPC rdo to prd 
diff --git a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/runRPCdecodingDumpOnNtuple.py b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/runRPCdecodingDumpOnNtuple.py
index b798c5ee27b6b9272dc6fee0b4fa90c4e66dbe1b..a2e2e082bcc150c0d23c2983a6f9b4f7f4a85b05 100644
--- a/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/runRPCdecodingDumpOnNtuple.py
+++ b/MuonSpectrometer/MuonValidation/MuonSimHitToPrdTest/share/runRPCdecodingDumpOnNtuple.py
@@ -83,7 +83,8 @@ ToolSvc += RpcRdoToPrepDataTool
 from MuonRdoToPrepData.MuonRdoToPrepDataConf import RpcRdoToRpcPrepData
 RpcRdoToRpcPrepData = RpcRdoToRpcPrepData()
 RpcRdoToRpcPrepData.PrintPrepData = False
-#RpcRdoToRpcPrepData.PrintPrepData = True
+from RegionSelector.RegSelToolConfig import makeRegSelTool_RPC
+RpcRdoToRpcPrepData.RegSel_RPC = makeRegSelTool_RPC()
 #
 topSequence += RpcRdoToRpcPrepData
 ######################## end of RPC rdo to prd 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py
index 4e810ffd923a15327ecafd6aa9936ed1a91cfa81..04be1be621942a5082fbd2e79909341eee4f26bb 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py
@@ -149,6 +149,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False):
                                               DoSeededDecoding        = not forFullScan,
                                               RoIs                    = RoIs )
 
+    from RegionSelector.RegSelToolConfig import makeRegSelTool_CSC
+    CscRdoToCscPrepData.RegSel_CSC = makeRegSelTool_CSC()
 
     from MuonByteStream.MuonByteStreamConf import Muon__CscRawDataProvider
     CscRawDataProvider = Muon__CscRawDataProvider(name         = "CscRawDataProvider" + postFix,
@@ -254,6 +256,9 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False):
                                             DoSeededDecoding = not forFullScan,
                                             RoIs             = RoIs)
 
+  from RegionSelector.RegSelToolConfig import makeRegSelTool_RPC
+  RpcRdoToRpcPrepData.RegSel_RPC = makeRegSelTool_RPC()
+
   from MuonByteStream.MuonByteStreamConf import Muon__RpcRawDataProvider
   RpcRawDataProvider = Muon__RpcRawDataProvider(name         = "RpcRawDataProvider" + postFix,
                                                 ProviderTool = MuonRpcRawDataProviderTool,
@@ -290,6 +295,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False):
                                             PrintPrepData    = False,
                                             DoSeededDecoding = not forFullScan,
                                             RoIs             = RoIs)
+  from RegionSelector.RegSelToolConfig import makeRegSelTool_TGC
+  TgcRdoToTgcPrepData.RegSel_TGC = makeRegSelTool_TGC()
 
   from MuonByteStream.MuonByteStreamConf import Muon__TgcRawDataProvider
   TgcRawDataProvider = Muon__TgcRawDataProvider(name         = "TgcRawDataProvider" + postFix,