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 );