diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx
index a89d4d99ee23c74303e893615b4a7b5d3ed7eaca..27b3950693bcacf6f6a6f4983b132381f2b09eab 100644
--- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx
+++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ATLxk.cxx
@@ -415,14 +415,13 @@ void InDet::SiSpacePointsSeedMaker_ATLxk::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsPixel{m_spacepointsPixel, ctx};
     if ( spacepointsPixel.isValid() ) {
-      SpacePointContainer::const_iterator spce = spacepointsPixel->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-        SpacePointContainer::const_iterator w = spacepointsPixel->indexFind(l);
-        if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+        auto w = spacepointsPixel->indexFindPtr(l);
+        if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
           float r = sp->r();
           if (r > m_r_rmax) continue;
           InDet::SiSpacePointForSeed* sps = newSpacePoint(data, sp);
@@ -443,14 +442,13 @@ void InDet::SiSpacePointsSeedMaker_ATLxk::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsSCT{m_spacepointsSCT, ctx};
     if (spacepointsSCT.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsSCT->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vSCT) {
-        SpacePointContainer::const_iterator w = spacepointsSCT->indexFind(l);
-        if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+        auto w = spacepointsSCT->indexFindPtr(l);
+        if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
           float r = sp->r();
           if (r > m_r_rmax) continue;
           InDet::SiSpacePointForSeed* sps = newSpacePoint(data, sp);
diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_BeamGas.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_BeamGas.cxx
index abd0d2c58d5d72b439e3bd25061fbfd664250ea4..2c7400366b8640c148bfd0a2b9bfc6a89e1d75c4 100644
--- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_BeamGas.cxx
+++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_BeamGas.cxx
@@ -253,14 +253,13 @@ void InDet::SiSpacePointsSeedMaker_BeamGas::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsPixel{m_spacepointsPixel, ctx};
     if (spacepointsPixel.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsPixel->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-	SpacePointContainer::const_iterator w = spacepointsPixel->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsPixel->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
 	  if (prd_to_track_map_cptr && isUsed(sp, *prd_to_track_map_cptr)) continue;
@@ -281,14 +280,12 @@ void InDet::SiSpacePointsSeedMaker_BeamGas::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsSCT{m_spacepointsSCT, ctx};
     if (spacepointsSCT.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsSCT->end();
-
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-	SpacePointContainer::const_iterator w = spacepointsSCT->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsSCT->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
 	  if (prd_to_track_map_cptr && isUsed(sp,*prd_to_track_map_cptr)) continue;
diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Cosmic.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Cosmic.cxx
index e0572aad3cf5a5c03d247d8598de1e8960d6ff25..bbfc2e54f2528a1547fd12462d1a121ff6416b98 100644
--- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Cosmic.cxx
+++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Cosmic.cxx
@@ -207,14 +207,12 @@ void InDet::SiSpacePointsSeedMaker_Cosmic::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsPixel{m_spacepointsPixel, ctx};
     if (spacepointsPixel.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsPixel->end();
-
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-	SpacePointContainer::const_iterator w = spacepointsPixel->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsPixel->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
 	  if (prd_to_track_map_cptr && isUsed(sp,*prd_to_track_map_cptr)) continue;
@@ -236,14 +234,13 @@ void InDet::SiSpacePointsSeedMaker_Cosmic::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsSCT{m_spacepointsSCT, ctx};
     if (spacepointsSCT.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsSCT->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vSCT) {
-	SpacePointContainer::const_iterator w = spacepointsSCT->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsSCT->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
 	  if (prd_to_track_map_cptr && isUsed(sp,*prd_to_track_map_cptr)) continue;
diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_HeavyIon.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_HeavyIon.cxx
index 02777545edfc2acf061cde31d621e6f00d7887dc..423b40ddfde67c2e3daebc184356c9adcdddd03c 100644
--- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_HeavyIon.cxx
+++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_HeavyIon.cxx
@@ -208,14 +208,13 @@ void InDet::SiSpacePointsSeedMaker_HeavyIon::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsPixel{m_spacepointsPixel, ctx};
     if (spacepointsPixel.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsPixel->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-	SpacePointContainer::const_iterator w = spacepointsPixel->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsPixel->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
 	  InDet::SiSpacePointForSeed* sps = newSpacePoint(data, sp);
@@ -236,14 +235,13 @@ void InDet::SiSpacePointsSeedMaker_HeavyIon::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsSCT{m_spacepointsSCT, ctx};
     if (spacepointsSCT.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsSCT->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vSCT) {
-	SpacePointContainer::const_iterator w = spacepointsSCT->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsSCT->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
 	  InDet::SiSpacePointForSeed* sps = newSpacePoint(data, sp);
diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ITK.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ITK.cxx
index eff676328de360bb4183d4247c0611b745fbc68d..acc9bb73cea63d1b0ced23e61bf19f2ecd54dd1b 100644
--- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ITK.cxx
+++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_ITK.cxx
@@ -302,14 +302,13 @@ void InDet::SiSpacePointsSeedMaker_ITK::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsPixel{m_spacepointsPixel, ctx};
     if (spacepointsPixel.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsPixel->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-	SpacePointContainer::const_iterator w = spacepointsPixel->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsPixel->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r > m_r_rmax || r < m_r_rmin) continue;
 	  InDet::SiSpacePointForSeedITK* sps = newSpacePoint(data, sp);
@@ -330,14 +329,13 @@ void InDet::SiSpacePointsSeedMaker_ITK::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsSCT{m_spacepointsSCT, ctx};
     if (spacepointsSCT.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsSCT->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vSCT) {
-	SpacePointContainer::const_iterator w = spacepointsSCT->indexFind(l);
-	if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+	auto w = spacepointsSCT->indexFindPtr(l);
+	if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
 	  float r = sp->r();
           if (r > m_r_rmax || r < m_r_rmin) continue;
 	  InDet::SiSpacePointForSeedITK* sps = newSpacePoint(data, sp);
diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_LowMomentum.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_LowMomentum.cxx
index 942b6e1bb578ec78ff7d307fdf231d05ad331c31..d85bfc747981a6ea71e96053793d72c13cf2a43d 100644
--- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_LowMomentum.cxx
+++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_LowMomentum.cxx
@@ -199,9 +199,9 @@ void InDet::SiSpacePointsSeedMaker_LowMomentum::newRegion
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-        SpacePointContainer::const_iterator w = spacepointsPixel->indexFind(l);
-        if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+        auto w = spacepointsPixel->indexFindPtr(l);
+        if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
           float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
           if (prd_to_track_map_cptr && isUsed(sp,*prd_to_track_map_cptr)) continue;
@@ -231,9 +231,9 @@ void InDet::SiSpacePointsSeedMaker_LowMomentum::newRegion
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vSCT) {
-        SpacePointContainer::const_iterator w = spacepointsSCT->indexFind(l);
-        if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+        auto w = spacepointsSCT->indexFindPtr(l);
+        if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
           float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
           if (prd_to_track_map_cptr && isUsed(sp,*prd_to_track_map_cptr)) continue;
diff --git a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Trigger.cxx b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Trigger.cxx
index 35bf26575177d3d98ebe2a0a4130d31af326b62f..61db8694e7a55ebb3f8a1c656487686e2ce2e99c 100644
--- a/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Trigger.cxx
+++ b/InnerDetector/InDetRecTools/SiSpacePointsSeedTool_xk/src/SiSpacePointsSeedMaker_Trigger.cxx
@@ -237,14 +237,13 @@ void InDet::SiSpacePointsSeedMaker_Trigger::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsPixel{m_spacepointsPixel, ctx};
     if (spacepointsPixel.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsPixel->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vPixel) {
-        SpacePointContainer::const_iterator  w =  spacepointsPixel->indexFind(l);
-        if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+        auto w =  spacepointsPixel->indexFindPtr(l);
+        if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
           float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
           InDet::SiSpacePointForSeed* sps = newSpacePoint(data, sp);
@@ -265,14 +264,13 @@ void InDet::SiSpacePointsSeedMaker_Trigger::newRegion
 
     SG::ReadHandle<SpacePointContainer> spacepointsSCT{m_spacepointsSCT, ctx};
     if (spacepointsSCT.isValid()) {
-      SpacePointContainer::const_iterator spce = spacepointsSCT->end();
 
       // Loop through all trigger collections
       //
       for (const IdentifierHash& l: vSCT) {
-        SpacePointContainer::const_iterator w = spacepointsSCT->indexFind(l);
-        if (w==spce) continue;
-        for (const Trk::SpacePoint* sp: **w) {
+        auto w = spacepointsSCT->indexFindPtr(l);
+        if (w==nullptr) continue;
+        for (const Trk::SpacePoint* sp: *w) {
           float r = sp->r();
           if (r<0. || r>=m_r_rmax) continue;
           InDet::SiSpacePointForSeed* sps = newSpacePoint(data, sp);
diff --git a/InnerDetector/InDetRecTools/TRT_TrackSegmentsTool_xk/src/TRT_TrackSegmentsMaker_ATLxk.cxx b/InnerDetector/InDetRecTools/TRT_TrackSegmentsTool_xk/src/TRT_TrackSegmentsMaker_ATLxk.cxx
index 22fa30885a8d473018cd7a97e2830ee645798ac5..1559bbc9f07147a35d861eb2bc4763c00c8dfd45 100755
--- a/InnerDetector/InDetRecTools/TRT_TrackSegmentsTool_xk/src/TRT_TrackSegmentsMaker_ATLxk.cxx
+++ b/InnerDetector/InDetRecTools/TRT_TrackSegmentsTool_xk/src/TRT_TrackSegmentsMaker_ATLxk.cxx
@@ -273,11 +273,11 @@ InDet::TRT_TrackSegmentsMaker_ATLxk::newRegion
   int n = 0;
   for(; d!=de; ++d) {
 
-    InDet::TRT_DriftCircleContainer::const_iterator w = trtcontainer->indexFind((*d));
+    auto w = trtcontainer->indexFindPtr((*d));
 
-    if(w!=we) {
+    if(w!=nullptr) {
 
-      Identifier ID = (*w)->identify();
+      Identifier ID = w->identify();
       int be = m_trtid->barrel_ec     (ID);
       int lw = m_trtid->layer_or_wheel(ID);
       int sl = m_trtid->straw_layer   (ID);
@@ -289,7 +289,7 @@ InDet::TRT_TrackSegmentsMaker_ATLxk::newRegion
       unsigned int ad  = 1000*b+l;
 
       InDet::TRT_DriftCircleCollection::const_iterator 
-	c  = (*w)->begin(), ce = (*w)->end();
+	c  = w->begin(), ce = w->end();
 
       for(; c!=ce; ++c) {
 
diff --git a/Trigger/TrigAnalysis/TrigJiveXML/src/TrigSiSpacePointRetriever.cxx b/Trigger/TrigAnalysis/TrigJiveXML/src/TrigSiSpacePointRetriever.cxx
index 1e35fd89560d38f76fd4ad7b2a63c04504cf1c84..c42287556dbb754343892b217be39daccc0df46e 100755
--- a/Trigger/TrigAnalysis/TrigJiveXML/src/TrigSiSpacePointRetriever.cxx
+++ b/Trigger/TrigAnalysis/TrigJiveXML/src/TrigSiSpacePointRetriever.cxx
@@ -55,9 +55,9 @@ namespace JiveXML {
  
     int maxHash = m_pixelHelper->wafer_hash_max();
      for(int id=0;id<maxHash;++id){
-	    TrigSiSpacePointContainer::const_iterator spCollIt=pCont->indexFind(id);
-	    if(spCollIt==pCont->end()) continue;
-	    for(TrigSiSpacePointCollection::const_iterator spIt=(*spCollIt)->begin(); spIt!=(*spCollIt)->end();++spIt){
+	    auto spCollIt=pCont->indexFindPtr(id);
+	    if(spCollIt==nullptr) continue;
+	    for(TrigSiSpacePointCollection::const_iterator spIt=spCollIt->begin(); spIt!=spCollIt->end();++spIt){
 		x.push_back(DataType((*spIt)->x() /10.));
 		y.push_back(DataType((*spIt)->y() /10.));
 		z.push_back(DataType((*spIt)->z() /10.));
@@ -77,9 +77,9 @@ namespace JiveXML {
 
     int maxHash = m_sctHelper->wafer_hash_max();
        for(int id=0;id<maxHash;++id){
-	    TrigSiSpacePointContainer::const_iterator spCollIt=pCont->indexFind(id);
-	    if(spCollIt==pCont->end()) continue;
-	    for(TrigSiSpacePointCollection::const_iterator spIt=(*spCollIt)->begin(); spIt!=(*spCollIt)->end();++spIt){
+	    auto spCollIt=pCont->indexFindPtr(id);
+	    if(spCollIt==nullptr) continue;
+	    for(TrigSiSpacePointCollection::const_iterator spIt=spCollIt->begin(); spIt!=spCollIt->end();++spIt){
 		x.push_back(DataType((*spIt)->x() /10.));
 		y.push_back(DataType((*spIt)->y() /10.));
 		z.push_back(DataType((*spIt)->z() /10.));