diff --git a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
index 2bcfdd9cb1de7c58edda1962288f1c174488e6e4..dd369144069726befcb65534fd260cbaa46343e4 100755
--- a/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
+++ b/InnerDetector/InDetMonitoring/InDetAlignmentMonitoring/src/IDAlignMonResiduals.cxx
@@ -249,7 +249,7 @@ IDAlignMonResiduals::IDAlignMonResiduals( const std::string & type, const std::s
 	m_LBRangeMax           =  2599.5;
 	m_nBinsLB              =  52;
 	m_gap_pix              =   4;
-	m_gap_sct              =   4;
+	m_gap_sct              =  10;
 	m_nIBLHitsPerLB        =   0;
 	m_minIBLhits           =  -1;
 	m_hasBeenCalledThisEvent=false;
@@ -1820,11 +1820,11 @@ StatusCode IDAlignMonResiduals::fillHistograms()
 	  m_sct_eca_residualx     -> Fill(residualX, hweight);
 	  m_sct_eca_pullx         -> Fill(pullX    , hweight);
 
-	  m_sct_eca_xresvsmodphi_2d -> Fill(modPhi+(layerDisk - 1)* (m_gap_sct + Nmods),residualX, hweight);
+	  m_sct_eca_xresvsmodphi_2d -> Fill(modPhi+(layerDisk) * (m_gap_sct + Nmods),residualX, hweight); // (layerDisk-1)
 
 	  if(foundXOverlap) {
 	    m_sct_bec_Oxresx_mean->Fill(disk+6.0,overlapXResidualX);
-	    m_sct_eca_Oxresxvsmodphi -> Fill(modPhi+ (layerDisk - 1)* (m_gap_sct + Nmods),overlapXResidualX,hweight);
+	    m_sct_eca_Oxresxvsmodphi -> Fill(modPhi+ (layerDisk)* (m_gap_sct + Nmods),overlapXResidualX,hweight);
 	    //                               modPhi+ ModPhiShift[layerDisk],overlapXResidualX    , hweight);
 	  }
 
@@ -1843,10 +1843,10 @@ StatusCode IDAlignMonResiduals::fillHistograms()
 	  m_sct_ecc_residualx     ->Fill(residualX, hweight);
 	  m_sct_ecc_pullx         ->Fill(pullX    , hweight);
 
-	  m_sct_ecc_xresvsmodphi_2d -> Fill(modPhi+(layerDisk - 1)* (m_gap_sct + Nmods)    ,residualX, hweight);
+	  m_sct_ecc_xresvsmodphi_2d -> Fill(modPhi+(layerDisk) * (m_gap_sct + Nmods)    ,residualX, hweight);
 	  if(foundXOverlap) {
 	    m_sct_bec_Oxresx_mean->Fill(disk,overlapXResidualX);
-	    m_sct_ecc_Oxresxvsmodphi -> Fill(modPhi+(layerDisk - 1)* (m_gap_sct + Nmods)    ,overlapXResidualX, hweight);
+	    m_sct_ecc_Oxresxvsmodphi -> Fill(modPhi+(layerDisk) * (m_gap_sct + Nmods)    ,overlapXResidualX, hweight);
 	  }
 	}
       }
@@ -4438,12 +4438,11 @@ void IDAlignMonResiduals::MakeSCTEndcapsHistograms(MonGroup& al_mon){
 	      ModulesPerRing = m_SCT_Mgr->numerology().numPhiModulesForDiskRing(iWheel,iEta);
 	      if (maxModulesPerRing < ModulesPerRing)
 		maxModulesPerRing = ModulesPerRing;
-	      //std::cout<< m_SCT_Mgr->numerology().numPhiModulesForDiskRing(iWheel,iEta)<< "  "<<iWheel<<" "<<iEta<<std::endl;
-	      //std::cout<<totalPhiModules<<std::endl;
 	      totalPhiModules+=ModulesPerRing;
 	      maxModulesPerDisk+=ModulesPerRing;
 	    }
-	  totalPhiModulesOuterLayer+=maxModulesPerRing;
+	  totalPhiModulesOuterLayer += maxModulesPerRing;
+	  
 	  if (iSide>0){
 	    if (m_extendedPlots)
 	      {
@@ -4597,26 +4596,34 @@ void IDAlignMonResiduals::MakeSCTEndcapsHistograms(MonGroup& al_mon){
   //for (std::vector<int>::size_type i=0; i!= m_sct_ecc_xresvsmodetaphi_3ds.size(); ++i)
   //RegisterHisto(al_mon,m_sct_ecc_xresvsmodetaphi_3ds[i]); Added
   //std::cout<<"totalPhiModules= "<<totalPhiModules<<std::endl;
-  m_sct_eca_xresvsmodphi_2d = new TH2F("sct_eca_xresvsmodphi_2d","X Residual Mean vs (Modified) Module Phi SCT Endcap A",totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer,100*m_FinerBinningFactor,m_minSCTResFillRange,m_maxSCTResFillRange);
+  m_sct_eca_xresvsmodphi_2d = new TH2F("sct_eca_xresvsmodphi_2d","X Residual Mean vs (Modified) Module Phi SCT Endcap A",
+				       totalPhiModulesOuterLayer, 0, totalPhiModulesOuterLayer,
+				       100*m_FinerBinningFactor,m_minSCTResFillRange,m_maxSCTResFillRange);
   RegisterHisto(al_mon,m_sct_eca_xresvsmodphi_2d);
-  m_sct_ecc_xresvsmodphi_2d = new TH2F("sct_ecc_xresvsmodphi_2d","X Residual Mean vs (Modified) Module Phi SCT Endcap C",totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer,100*m_FinerBinningFactor,m_minSCTResFillRange,m_maxSCTResFillRange);
+  m_sct_ecc_xresvsmodphi_2d = new TH2F("sct_ecc_xresvsmodphi_2d","X Residual Mean vs (Modified) Module Phi SCT Endcap C",
+				       totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer,
+				       100*m_FinerBinningFactor,m_minSCTResFillRange,m_maxSCTResFillRange);
   RegisterHisto(al_mon,m_sct_ecc_xresvsmodphi_2d);
 
-  m_sct_eca_Oxresxvsmodphi = new TProfile("sct_eca_Oxresxvsmodphi","X_Overlap Residual X Mean vs (Modified) Module Phi SCT Endcap A",totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer,m_minSCTResFillRange,m_maxSCTResFillRange);
+  m_sct_eca_Oxresxvsmodphi = new TProfile("sct_eca_Oxresxvsmodphi","X_Overlap Residual X Mean vs (Modified) Module Phi SCT Endcap A",
+					  totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer,m_minSCTResFillRange,m_maxSCTResFillRange);
   RegisterHisto(al_mon,m_sct_eca_Oxresxvsmodphi);
-  m_sct_ecc_Oxresxvsmodphi = new TProfile("sct_ecc_Oxresxvsmodphi","X_Overlap Residual X Mean vs (Modified) Module Phi SCT Endcap C",totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer,m_minSCTResFillRange,m_maxSCTResFillRange);
+  m_sct_ecc_Oxresxvsmodphi = new TProfile("sct_ecc_Oxresxvsmodphi","X_Overlap Residual X Mean vs (Modified) Module Phi SCT Endcap C",
+					  totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer,m_minSCTResFillRange,m_maxSCTResFillRange);
   RegisterHisto(al_mon,m_sct_ecc_Oxresxvsmodphi);
   //These histograms are filled in post-processing - only initiated here such that they can be registered as "shift".
   //residual mean as function module phi in endcaps
-  m_sct_eca_xresvsmodphi = new TH1F("sct_eca_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap A;(Modified) Module Phi Identifier;Mean Residual X",totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer); //495
+  m_sct_eca_xresvsmodphi = new TH1F("sct_eca_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap A;(Modified) Module Phi Identifier;Mean Residual X",
+				    totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer); //495
   RegisterHisto(al_mon,m_sct_eca_xresvsmodphi);
-  m_sct_ecc_xresvsmodphi = new TH1F("sct_ecc_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap C;(Modified) Module Phi Identifier;Mean Residual X",totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer);
+  m_sct_ecc_xresvsmodphi = new TH1F("sct_ecc_xresvsmodphi","X Residual Mean vs (Modified) Module Phi SCT Endcap C;(Modified) Module Phi Identifier;Mean Residual X",
+				    totalPhiModulesOuterLayer,0,totalPhiModulesOuterLayer);
   RegisterHisto(al_mon,m_sct_ecc_xresvsmodphi);
   if (m_extendedPlots)
     {
-      m_sct_eca_residualx_fine = new TH1F("sct_eca_residualx_fine","UnBiased X Residual SCT Endcap A;Residual [mm]",2000,-2.0,2.0);
+      m_sct_eca_residualx_fine = new TH1F("sct_eca_residualx_fine","UnBiased X Residual SCT Endcap A;Residual [mm]", 500, -1.0, 1.0);
       RegisterHisto(al_mon,m_sct_eca_residualx_fine);
-      m_sct_ecc_residualx_fine = new TH1F("sct_ecc_residualx_fine","UnBiased X Residual SCT Endcap C;Residual [mm]",2000,-2.0,2.0);
+      m_sct_ecc_residualx_fine = new TH1F("sct_ecc_residualx_fine","UnBiased X Residual SCT Endcap C;Residual [mm]", 500, -1.0, 1.0);
       RegisterHisto(al_mon,m_sct_ecc_residualx_fine);
       m_sct_eca_biased_residualx = new TH1F("sct_eca_biased_residualx","Biased X Residual SCT Endcap A",100*m_FinerBinningFactor,m_minSCTResFillRange,m_maxSCTResFillRange);
       RegisterHisto(al_mon,m_sct_eca_biased_residualx);
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonWenu.h b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonWenu.h
index 2b4e987efed04685554b2bd3f912b829bfdc3a7f..54bd97379f56519e5ffd6889bba0ad7d93d60755 100755
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonWenu.h
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonWenu.h
@@ -24,6 +24,7 @@
 
 #include "xAODCaloEvent/CaloClusterContainer.h"
 
+#include "InDetPerformanceMonitoring/PerfMonServices.h"
 #include "ElectronPhotonSelectorTools/AsgElectronLikelihoodTool.h"
 
 class TH1;
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonZee.h b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonZee.h
index 3c9a4378cb7e6949e4177c1d5de5003c0af12474..32aaf7ca4007d41f93561d0c86668c9c8c07942c 100755
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonZee.h
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/InDetPerformanceMonitoring/IDPerfMonZee.h
@@ -24,16 +24,15 @@
 #include "xAODCaloEvent/CaloClusterContainer.h"
 #include "xAODMissingET/MissingET.h"
 
+#include "InDetPerformanceMonitoring/PerfMonServices.h"
+#include "ElectronPhotonSelectorTools/AsgElectronLikelihoodTool.h"
+
 class TH1;
 class TH1F;
 class TH2;
 class TH2F;
 class TProfile;
 
-
-
-#include "ElectronPhotonSelectorTools/AsgElectronLikelihoodTool.h"
-
 class IDPerfMonZee : public ManagedMonitorToolBase
 {
 
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/share/ElectronEoverPTracking.py b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/share/ElectronEoverPTracking.py
index 48e37bb040e9970ed7e4ab04fa4b9a1b2bc3f06d..38fb6423f3b3a8c18111d39ae3bf1df7bc88fa36 100755
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/share/ElectronEoverPTracking.py
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/share/ElectronEoverPTracking.py
@@ -60,6 +60,13 @@ import MagFieldServices.SetupField
 #ElectronTrkMagField = Trk__MagneticFieldTool('ElectronTrkMagField')
 #ToolSvc += ElectronTrkMagField
 #
+# set up geometry
+#
+
+#include('TrkDetDescrSvc/AtlasTrackingGeometrySvc.py')
+#include('/afs/cern.ch/user/s/sthenkel/work/ProjectArea/Tracking/TrkDetDescr/TrkDetDescrSvc/python/AtlasTrackingGeometrySvc.py')
+#from __main__ import AtlasTrackingGeometrySvc
+#
 # get propagator
 #
 from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator
@@ -74,20 +81,9 @@ ToolSvc += ElectronTrkStepPropagator
 #
 # Setup the Navigator (default, could be removed)
 #
-from InDetRecExample.TrackingCommon import use_tracking_geometry_cond_alg
-geom_svc=None
-geom_cond_key=''
-if not use_tracking_geometry_cond_alg :
-	from TrkConfig.AtlasTrackingGeometrySvcConfig import TrackingGeometrySvcCfg
-	acc = TrackingGeometrySvcCfg(flags)
-	geom_svc = acc.getPrimary()
-else :
-	geom_cond_key = 'AtlasTrackingGeometry'
-
 from TrkExTools.TrkExToolsConf import Trk__Navigator
 ElectronTrkNavigator = Trk__Navigator(name = 'ElectronTrkNavigator',
-			TrackingGeometrySvc = geom_svc,
-			TrackingGeometryKey = geom_cond_key
+                                #TrackingGeometrySvc = AtlasTrackingGeometrySvc
                                 )
 ToolSvc += ElectronTrkNavigator
 #
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonWenu.cxx b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonWenu.cxx
index e607024e97d8afcaeb20d262ae1bede0b9dfa50e..03c9550b207c35e42c8a5f3863ca5e2fb970fb04 100755
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonWenu.cxx
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonWenu.cxx
@@ -407,7 +407,8 @@ StatusCode IDPerfMonWenu::fillHistograms()
   auto formErrorMessage = [] (const std::string & contName)->std::string {
     return std::string(std::string("No Collection with name ") + contName + std::string(" found in StoreGate"));
   };
-  const xAOD::ElectronContainer* electrons=getCollectionWithCheck<xAOD::ElectronContainer>(evtStore(),m_electronsName);
+  const xAOD::ElectronContainer* electrons = PerfMonServices::getContainer<xAOD::ElectronContainer>( PerfMonServices::ELECTRON_COLLECTION );
+
   if (not electrons){
     const std::string & errMsg=formErrorMessage(m_electronsName);
     if (firstEvent) ATH_MSG_WARNING( errMsg );
diff --git a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZee.cxx b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZee.cxx
index 4d16ef7dd2d64ad927ed47b65e61c256b8c38747..e0d0c0663e01ee6d6a7f91f787a0f768eda40453 100755
--- a/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZee.cxx
+++ b/InnerDetector/InDetMonitoring/InDetPerformanceMonitoring/src/IDPerfMonZee.cxx
@@ -41,6 +41,8 @@
 
 #include "AthenaMonitoring/AthenaMonManager.h"
 #include "InDetPerformanceMonitoring/IDPerfMonZee.h"
+
+
 #include <stdexcept>
 
 namespace{
@@ -414,7 +416,8 @@ StatusCode IDPerfMonZee::fillHistograms()
     return std::string(std::string("No Collection with name ") + contName + std::string(" found in StoreGate"));
   };
   // get electron container from storegate
-  const xAOD::ElectronContainer* electrons = getCollectionWithCheck<xAOD::ElectronContainer>(evtStore(), m_electronsName);
+  const xAOD::ElectronContainer* electrons = PerfMonServices::getContainer<xAOD::ElectronContainer>( PerfMonServices::ELECTRON_COLLECTION );
+
   if (not electrons){
     const std::string & errMsg=formErrorMessage(m_electronsName);
     if (firstEvent) ATH_MSG_WARNING( errMsg );