From 35e2c1e2513770b7fb5c468e1cb0b3e016ed3369 Mon Sep 17 00:00:00 2001 From: Susumu Oda <susumu.oda@cern.ch> Date: Wed, 20 Mar 2019 16:23:51 +0000 Subject: [PATCH] Cleanups of SCT_Monitoring package (ATLASDQ-679) --- .../share/InDetMonitoringSCT.py | 85 +-- .../SCT_Monitoring/SCTErrMonTool.h | 9 +- .../SCT_Monitoring/SCTHitEffMonTool.h | 18 +- .../SCT_Monitoring/SCTHitsNoiseMonTool.h | 24 +- .../SCT_Monitoring/SCTLorentzMonTool.h | 5 +- .../SCT_Monitoring/SCTMotherTrigMonTool.h | 3 +- .../SCT_Monitoring/SCTRatioNoiseMonTool.h | 6 +- .../SCT_Monitoring/SCTTracksMonTool.h | 6 +- .../SCT_Monitoring/src/SCTErrMonTool.cxx | 193 +++-- .../SCT_Monitoring/src/SCTHitEffMonTool.cxx | 673 ++++++++---------- .../src/SCTHitsNoiseMonTool.cxx | 234 ++---- .../SCT_Monitoring/src/SCTLorentzMonTool.cxx | 34 +- .../src/SCTMotherTrigMonTool.cxx | 3 +- .../src/SCTRatioNoiseMonTool.cxx | 60 +- .../SCT_Monitoring/src/SCTTracksMonTool.cxx | 147 ++-- .../SCT_Monitoring/src/cArrayUtilities.h | 79 -- 16 files changed, 609 insertions(+), 970 deletions(-) delete mode 100644 InnerDetector/InDetMonitoring/SCT_Monitoring/src/cArrayUtilities.h diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py index ccc64194574..79733958750 100755 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetMonitoringSCT.py @@ -6,45 +6,35 @@ from AthenaCommon.AthenaCommonFlags import athenaCommonFlags # These lines were previously in SCT_Monitoring_ConditionsAccess.py ######################################################################## -doTriggger_InDetSCTHitsTool = False +tracksName = (InDetKeys.SCTTracks() if InDetFlags.doTrackSegmentsSCT() else InDetKeys.UnslimmedTracks()) + +doTriggger = False TrigDecisionTool_InDetSCTHitsTool = "" if globalflags.DataSource == "data": from RecExConfig.RecFlags import rec if rec.doTrigger(): - doTriggger_InDetSCTHitsTool = True + doTriggger = True TrigDecisionTool_InDetSCTHitsTool = DQMonFlags.nameTrigDecTool() from SCT_Monitoring.SCT_MonitoringConf import SCTHitsNoiseMonTool -InDetSCTHitsTool = SCTHitsNoiseMonTool ( name = "InDetSCTHitsNoiseMonTool", - OutputLevel = 4, - doHitmapHistos = False, - CheckRate = 1000, - doPositiveEndcap = True, - doNegativeEndcap = True, - doTrigger = doTriggger_InDetSCTHitsTool, - TrigDecisionTool = TrigDecisionTool_InDetSCTHitsTool) - -InDetSCTHitsTool.tracksName = InDetKeys.SCTTracks() if InDetFlags.doTrackSegmentsSCT() else InDetKeys.UnslimmedTracks() - -#ToolSvc += InDetSCTHitsTool +InDetSCTHitsTool = SCTHitsNoiseMonTool ( name = "InDetSCTHitsNoiseMonTool", + OutputLevel = 4, + doTrigger = doTriggger, + TrigDecisionTool = TrigDecisionTool_InDetSCTHitsTool, + tracksName = tracksName ) + if (InDetFlags.doPrintConfigurables()): print InDetSCTHitsTool from SCT_Monitoring.SCT_MonitoringConf import SCTTracksMonTool InDetSCTTracksMonTool = SCTTracksMonTool ( name = "InDetSCTTracksMonTool", OutputLevel = 4, - CheckRate = 1000, - doPositiveEndcap = True, - doNegativeEndcap = True, - doUnbiasedCalc = True, - doTrigger = globalflags.DataSource == "data") - -InDetSCTTracksMonTool.tracksName = InDetKeys.SCTTracks() if InDetFlags.doTrackSegmentsSCT() else InDetKeys.UnslimmedTracks() + doTrigger = doTriggger, + tracksName = tracksName ) if jobproperties.Beam.beamType()=='collisions': from AthenaMonitoring.FilledBunchFilterTool import GetFilledBunchFilterTool InDetSCTTracksMonTool.FilterTools += [GetFilledBunchFilterTool()] -#ToolSvc += InDetSCTTracksMonTool if (InDetFlags.doPrintConfigurables()): print InDetSCTTracksMonTool @@ -56,16 +46,12 @@ from SCT_Monitoring.SCT_MonitoringConf import SCTErrMonTool InDetSCTErrMonTool = SCTErrMonTool ( name = "InDetSCTErrMonTool", OutputLevel = 4, histoPathBase = "/stat", - CheckRate = 1000, - doPositiveEndcap = True, - doNegativeEndcap = True, SCT_DCSConditionsTool = sct_DCSConditionsToolSetup.getTool()) if jobproperties.Beam.beamType()=='collisions': from AthenaMonitoring.FilledBunchFilterTool import GetFilledBunchFilterTool InDetSCTErrMonTool.FilterTools += [GetFilledBunchFilterTool()] -#ToolSvc += InDetSCTErrMonTool if (InDetFlags.doPrintConfigurables()): print InDetSCTErrMonTool @@ -84,32 +70,21 @@ SCT_BunchCrossingTool = BunchCrossingTool() from SCT_Monitoring.SCT_MonitoringConf import SCTHitEffMonTool InDetSCTHitEffMonTool = SCTHitEffMonTool(name = "InDetSCTHitEffMonTool", - DetectorMode = 3, OutputLevel = 4, IsCosmic = InDetFlags.doCosmics(), - UseMasks = False, - LookAtDatabase = False, - ChronoTime = False, HoleSearch = InDetHoleSearchTool, - IsSim = globalflags.DataSource != "data", + IsSim = (globalflags.DataSource != "data"), ROTCreator = SCT_ClusterOnTrackTool, - BunchCrossingTool = SCT_BunchCrossingTool) - -InDetSCTHitEffMonTool.TrackName = InDetKeys.SCTTracks() if InDetFlags.doTrackSegmentsSCT() else InDetKeys.UnslimmedTracks() + BunchCrossingTool = SCT_BunchCrossingTool, + TrackName = tracksName) if jobproperties.Beam.beamType()=='collisions': from AthenaMonitoring.FilledBunchFilterTool import GetFilledBunchFilterTool InDetSCTHitEffMonTool.FilterTools += [GetFilledBunchFilterTool()] -#ToolSvc += InDetSCTHitEffMonTool if (InDetFlags.doPrintConfigurables()): print InDetSCTHitEffMonTool -#from SCT_Monitoring.SCT_MonitoringConf import SCTTimeDependentMonTool -#SCTTimeDependentMonTool = SCTTimeDependentMonTool("SCTTimeDependentMonTool") -#ToolSvc+=SCTTimeDependentMonTool -#InDetSCTMonMan.AthenaMonTools += [SCTTimeDependentMonTool] - from SCT_Monitoring.SCT_MonitoringConf import SCTLorentzMonTool from BTagging.BTaggingConfiguration_CommonTools import toolAtlasExtrapolator atlasExtrapolator = toolAtlasExtrapolator('AtlasExtrapolator') @@ -117,31 +92,24 @@ options = {} options.setdefault('Extrapolator', atlasExtrapolator) from TrackToVertex.TrackToVertexConf import Reco__TrackToVertex trackToVertex = Reco__TrackToVertex(**options) -InDetSCTLorentzMonTool = SCTLorentzMonTool ( name = "InDetSCTLorentzMonTool", TrackToVertexTool = trackToVertex, - OutputLevel = 4) - -InDetSCTLorentzMonTool.tracksName = InDetKeys.SCTTracks() if InDetFlags.doTrackSegmentsSCT() else InDetKeys.UnslimmedTracks() +InDetSCTLorentzMonTool = SCTLorentzMonTool ( name = "InDetSCTLorentzMonTool", + TrackToVertexTool = trackToVertex, + OutputLevel = 4, + tracksName = tracksName ) if jobproperties.Beam.beamType()=='collisions': from AthenaMonitoring.FilledBunchFilterTool import GetFilledBunchFilterTool InDetSCTLorentzMonTool.FilterTools += [GetFilledBunchFilterTool()] -#ToolSvc += InDetSCTLorentzMonTool if (InDetFlags.doPrintConfigurables()): print InDetSCTLorentzMonTool from SCT_Monitoring.SCT_MonitoringConf import SCTRatioNoiseMonTool -InDetSCTRatioNoiseMonTool = SCTRatioNoiseMonTool ( name = "InDetSCTRatioNoiseMonTool", - OutputLevel = 4, - doTrigger = globalflags.DataSource == "data") - +InDetSCTRatioNoiseMonTool = SCTRatioNoiseMonTool ( name = "InDetSCTRatioNoiseMonTool", + OutputLevel = 4, + doTrigger = doTriggger ) -from RecExConfig.RecFlags import rec -if not rec.doTrigger(): - InDetSCTRatioNoiseMonTool.doTrigger=False - -#ToolSvc += InDetSCTRatioNoiseMonTool if (InDetFlags.doPrintConfigurables()): print InDetSCTRatioNoiseMonTool @@ -156,9 +124,12 @@ InDetSCTMonMan = AthenaMonManager("InDetSCTMonManager", Environment = DQMonFlags.monManEnvironment(), Run = DQMonFlags.monManRun(), LumiBlock = DQMonFlags.monManLumiBlock(), - - -AthenaMonTools = [ InDetSCTTracksMonTool, InDetSCTRatioNoiseMonTool, InDetSCTLorentzMonTool, InDetSCTHitEffMonTool, InDetSCTHitsTool, InDetSCTErrMonTool ] ) + AthenaMonTools = [ InDetSCTTracksMonTool, + InDetSCTRatioNoiseMonTool, + InDetSCTLorentzMonTool, + InDetSCTHitEffMonTool, + InDetSCTHitsTool, + InDetSCTErrMonTool ] ) topSequence += InDetSCTMonMan if (InDetFlags.doPrintConfigurables()): diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTErrMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTErrMonTool.h index 5a4a65a4c6c..e9b4d03f0a6 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTErrMonTool.h +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTErrMonTool.h @@ -127,8 +127,8 @@ class SCTErrMonTool : public ManagedMonitorToolBase TH1I* m_nErrors; TH1I* m_nLinksWithErrors; - int* m_nErrors_buf; - int* m_nLinksWithErrors_buf; + std::vector<int> m_nErrors_buf; + std::vector<int> m_nLinksWithErrors_buf; int m_nErrors_pos; TH1I* m_MaskedAllLinks; // maskedLinks||maskedRODs @@ -158,7 +158,6 @@ class SCTErrMonTool : public ManagedMonitorToolBase // NOTE: The following is not the usual index order, which goes C, Barrel, A enum {iECm=0, iBARREL=1, iECp=2, iGEN=3 }; //iECp==EA, iECm==EC - std::string m_stream; std::string m_path; /// CheckHists() frequency int m_checkrate; @@ -187,7 +186,7 @@ class SCTErrMonTool : public ManagedMonitorToolBase //@{ /// Data object name: for the SCT this is "SCT_RDOs" - SG::ReadHandle<SCT_RDO_Container> m_dataObjectName; + SG::ReadHandleKey<SCT_RDO_Container> m_dataObjectName{this, "RDOKey", "SCT_RDOs"}; ///SCT Helper class const SCT_ID* m_pSCTHelper; @@ -289,7 +288,7 @@ class SCTErrMonTool : public ManagedMonitorToolBase float m_PSTripModules; - SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey; + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfoKey", "EventInfo"}; }; #endif diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitEffMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitEffMonTool.h index 13a9801d673..4ecddda0908 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitEffMonTool.h +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitEffMonTool.h @@ -117,12 +117,12 @@ private: Int_t nbinx, Double_t* xbins, Int_t nbiny, Double_t* ybins); - SG::ReadHandle<TrackCollection> m_TrackName; + SG::ReadHandleKey<TrackCollection> m_TrackName{this, "TrackName", "CombinedInDetTracks"}; IChronoStatSvc* m_chrono; const std::map < Identifier, unsigned int >* m_badChips; ServiceHandle<MagField::IMagFieldSvc> m_fieldServiceHandle; - ToolHandle<Trig::IBunchCrossingTool> m_bunchCrossingTool; + ToolHandle<Trig::IBunchCrossingTool> m_bunchCrossingTool{this, "BunchCrossingTool", "Trig::BunchCrossingTool/BunchCrossingTool"}; Int_t m_DetectorMode; @@ -141,7 +141,7 @@ private: UInt_t m_maxTracks; std::string m_path; - SG::ReadHandleKey<InDet::SCT_ClusterContainer> m_sctContainerName; + SG::ReadHandleKey<InDet::SCT_ClusterContainer> m_sctContainerName{this, "SCT_ClusterContainer", "SCT_Clusters"}; Bool_t m_insideOutOnly; @@ -159,11 +159,11 @@ private: Bool_t m_chronotime; Bool_t m_useIDGlobal; - ToolHandle < Trk::IResidualPullCalculator > m_residualPullCalculator; - ToolHandle < Trk::IRIO_OnTrackCreator > m_rotcreator; - ToolHandle < Trk::ITrackHoleSearchTool > m_holeSearchTool; + ToolHandle<Trk::IResidualPullCalculator> m_residualPullCalculator{this, "ResPullCalc", "Trk::ResidualPullCalculator/ResidualPullCalculator"}; + ToolHandle<Trk::IRIO_OnTrackCreator> m_rotcreator{this, "ROTCreator", "InDet::SCT_ClusterOnTrackTool/SCT_ClusterOnTrackTool"}; + ToolHandle<Trk::ITrackHoleSearchTool> m_holeSearchTool{this, "HoleSearch", "InDet::InDetTrackHoleSearchTool"}; - ToolHandle < ISCT_ConfigurationConditionsTool > m_configConditions{this, "ConfigConditions", + ToolHandle<ISCT_ConfigurationConditionsTool> m_configConditions{this, "ConfigConditions", "SCT_ConfigurationConditionsTool/InDetSCT_ConfigurationConditionsTool", "Tool to retrieve SCT Configuration Tool"}; typedef std::array < TProfile*, SCT_Monitoring::N_REGIONS > TProfArray; @@ -285,8 +285,8 @@ private: const SCT_ID* m_sctId; const TRT_ID* m_trtId; - SG::ReadHandleKey<ComTime> m_comTimeName; - SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey; + SG::ReadHandleKey<ComTime> m_comTimeName{this, "ComTimeKey", "TRT_Phase"}; + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfoKey", "EventInfo"}; SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}; /**Convert a layer/disk number (0-21) to a bec index (0,1,2) according to position of that layer diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitsNoiseMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitsNoiseMonTool.h index 722645b925c..ebe9c53a2ca 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitsNoiseMonTool.h +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTHitsNoiseMonTool.h @@ -60,7 +60,7 @@ class SCTHitsNoiseMonTool : public SCTMotherTrigMonTool{ public: typedef unsigned int ChipNumberType; SCTHitsNoiseMonTool(const std::string& type, const std::string& name,const IInterface* parent); - ~SCTHitsNoiseMonTool(); + ~SCTHitsNoiseMonTool() = default; virtual StatusCode initialize() final; /** @name Book, fill & check (reimplemented from baseclass) */ //@{ @@ -114,17 +114,17 @@ class SCTHitsNoiseMonTool : public SCTMotherTrigMonTool{ VecProf2_t m_pnoiseoccupancymapHistoVectorECmTrigger; TH1F* m_nSP; - int* m_nSP_buf; + std::vector<int> m_nSP_buf; int m_nSP_pos; TH1F* m_nHits; - int* m_nHits_buf; + std::vector<int> m_nHits_buf; int m_nHits_pos; TH1F* m_nmaxHits; - int* m_nmaxHits_buf; - Identifier* m_nmaxModule_buf; + std::vector<int> m_nmaxHits_buf; + std::vector<Identifier> m_nmaxModule_buf; TH1F* m_nminHits; - int* m_nminHits_buf; - Identifier* m_nminModule_buf; + std::vector<int> m_nminHits_buf; + std::vector<Identifier> m_nminModule_buf; //Histograms with hits per luminosity block H1_t m_numBarrelHitsPerLumiBlock; @@ -198,7 +198,7 @@ class SCTHitsNoiseMonTool : public SCTMotherTrigMonTool{ H1_t m_hitsvsL1ID; /// Name of the Track collection to use - SG::ReadHandleKey<TrackCollection> m_tracksName; + SG::ReadHandleKey<TrackCollection> m_tracksName{this, "tracksName", "CombinedInDetTracks"}; /// Name of the L1 Type to use for filling the extra NO histograms std::string m_NOTrigger; @@ -300,7 +300,6 @@ class SCTHitsNoiseMonTool : public SCTMotherTrigMonTool{ Prof_t m_tbinfracVsLB; Prof_t m_tbinfracVsLBECp; Prof_t m_tbinfracVsLBECm; - //std::string m_tracksName; bool m_initialize; //@name Histograms related methods @@ -337,7 +336,7 @@ class SCTHitsNoiseMonTool : public SCTMotherTrigMonTool{ ///additional maps for track NO to compare with SP NO calc std::map<Identifier, int> m_RDOs; //CAM adds map for SP NO - SG::ReadHandle<SpacePointContainer> m_SCTSPContainerName; + SG::ReadHandleKey<SpacePointContainer> m_SCTSPContainerName{this, "SpacePointKey", "SCT_SpacePoints"}; std::map<Identifier, float> m_occSumUnbiased; std::map<Identifier, float> m_occSumUnbiasedTrigger; @@ -472,7 +471,7 @@ class SCTHitsNoiseMonTool : public SCTMotherTrigMonTool{ //@{ /// Data object name: for the SCT this is "SCT_RDOs" - SG::ReadHandleKey<SCT_RDO_Container> m_dataObjectName; + SG::ReadHandleKey<SCT_RDO_Container> m_dataObjectName{this, "RDOKey", "SCT_RDOs"}; ///SCT Helper class const SCT_ID* m_pSCTHelper; @@ -513,8 +512,7 @@ class SCTHitsNoiseMonTool : public SCTMotherTrigMonTool{ positionString(const Identifier& plane) const; //@} - SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey; - SG::ReadHandleKey<InDet::SCT_ClusterContainer> m_clusContainerKey; + SG::ReadHandleKey<InDet::SCT_ClusterContainer> m_clusContainerKey{this, "ClusterKey", "SCT_Clusters"}; // For P->T converter of SCT_Clusters SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}; diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTLorentzMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTLorentzMonTool.h index 2397e9675cf..a094358ac73 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTLorentzMonTool.h +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTLorentzMonTool.h @@ -80,7 +80,7 @@ private: //@{ //for Vertex and perigee - ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool; + ToolHandle<Reco::ITrackToVertex> m_trackToVertexTool{this, "TrackToVertexTool", "Reco::TrackToVertex"}; /// Vector of pointers to profile histogram of local inc angle (phi) vs nStrips (one/layer) Prof_t m_phiVsNstrips[4]; @@ -91,11 +91,10 @@ private: Prof_t m_phiVsNstrips_Side_100[4][2]; Prof_t m_phiVsNstrips_Side_111[4][2]; - std::string m_stream; std::string m_path; //@} /// Name of the Track collection to use - SG::ReadHandleKey<TrackCollection> m_tracksName; + SG::ReadHandleKey<TrackCollection> m_tracksName{this, "tracksName", "CombinedInDetTracks"}; SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}; //@name Service members diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h index 58fda516247..7aaa508fc22 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTMotherTrigMonTool.h @@ -59,10 +59,11 @@ protected: bool m_doTrigger; /// Check if the event belongs to the SCTNoise Calibration Stream bool m_isStream; +protected: + SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfoKey", "EventInfo", "Key of xAOD::EventInfo"}; private: std::bitset<N_TRIGGER_TYPES> m_firedTriggers; - SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfoKey", "EventInfoKey", "Key of xAOD::EventInfo"}; }; #endif diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTRatioNoiseMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTRatioNoiseMonTool.h index f1232c2811b..e14e0411115 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTRatioNoiseMonTool.h +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTRatioNoiseMonTool.h @@ -223,18 +223,14 @@ private: H1_t m_NZ1_vs_modnum; H1_t m_N11_vs_modnum; - std::string m_stream; std::string m_path; //@} - /// Name of the Track collection to use - std::string m_tracksName; std::string m_NOTrigger; //@name Service members //@{ /// Data object name: for the SCT this is "SCT_RDOs" - SG::ReadHandleKey<SCT_RDO_Container> m_dataObjectName; - SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey; + SG::ReadHandleKey<SCT_RDO_Container> m_dataObjectName{this, "RDOKey", "SCT_RDOs"}; ///SCT Helper class const SCT_ID* m_pSCTHelper; ToolHandle<IInDetConditionsTool> m_pSummaryTool{this, "conditionsTol", diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTTracksMonTool.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTTracksMonTool.h index 1fb76d94a26..115fded36e7 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTTracksMonTool.h +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/SCT_Monitoring/SCTTracksMonTool.h @@ -69,7 +69,7 @@ private: typedef std::vector<H2_t> VecH2_t; //@} TH1I* m_nTracks; - int* m_nTracks_buf; + std::vector<int> m_nTracks_buf; int m_nTracks_pos; TH1I* m_trackTrigger; TProfile* m_trackTriggerRate; @@ -144,7 +144,7 @@ private: bool m_useIDGlobal; //@} /// Name of the Track collection to use - SG::ReadHandleKey<TrackCollection> m_tracksName; + SG::ReadHandleKey<TrackCollection> m_tracksName{this, "tracksName", "CombinedInDetTracks"}; /// Cut on number of SCT hits on track int m_trackHitCut; /// CheckHists() frequency @@ -154,7 +154,7 @@ private: bool m_doPositiveEndcap; bool m_doNegativeEndcap; - ToolHandle < Trk::IResidualPullCalculator > m_residualPullCalculator; + ToolHandle<Trk::IResidualPullCalculator> m_residualPullCalculator{this, "ResPullCalc", "Trk::ResidualPullCalculator/ResidualPullCalculator"}; bool m_doUnbiasedCalc; diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTErrMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTErrMonTool.cxx index 7be62108fb7..32ef5b6d786 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTErrMonTool.cxx +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTErrMonTool.cxx @@ -133,7 +133,7 @@ namespace { // ==================================================================================================== SCTErrMonTool::SCTErrMonTool(const std::string& type, const std::string& name, const IInterface* parent) : ManagedMonitorToolBase(type, name, parent), - m_firstHit{}, + m_firstHit{}, m_secondHit{}, m_allErrs{}, m_allErrsPerLumi{}, @@ -150,7 +150,7 @@ SCTErrMonTool::SCTErrMonTool(const std::string& type, const std::string& name, c m_nLinksWithErrors{}, m_nErrors_buf{}, m_nLinksWithErrors_buf{}, - m_nErrors_pos{}, + m_nErrors_pos{0}, m_MaskedAllLinks{}, m_numberOfEventsLumi{}, m_numberOfEvents{}, @@ -161,8 +161,7 @@ SCTErrMonTool::SCTErrMonTool(const std::string& type, const std::string& name, c m_current_lb{}, m_last_reset_lb{}, m_sctflag(false), - m_dataObjectName(std::string("SCT_RDOs")), - m_pSCTHelper{}, + m_pSCTHelper{nullptr}, m_Conf{}, m_ConfRN{}, m_ConfNew{}, @@ -182,8 +181,6 @@ SCTErrMonTool::SCTErrMonTool(const std::string& type, const std::string& name, c m_ConfNoiseOnlineRecent{}, m_DetailedConfiguration{}, m_thistSvc("THistSvc", name), - m_checkBadModules(true), - m_ignore_RDO_cut_online(true), m_geo{}, m_SCTHash{{}}, m_mapSCT{nullptr}, @@ -192,18 +189,7 @@ SCTErrMonTool::SCTErrMonTool(const std::string& type, const std::string& name, c m_nBinsPhi( 100 ), m_WafersThreshold( 3.0 ), m_detectorCoverageVsLbs{nullptr}, - m_PSTripModulesVsLbs{}, - m_eventInfoKey(std::string("EventInfo")) { - /** - * sroe 3 Sept 2015: - * histoPathBase is declared as a property in the base class, assigned to m_path - * with default as empty string. - * Declaring it here as well gives rise to compilation warning - * WARNING duplicated property name 'histoPathBase', see https://its.cern.ch/jira/browse/GAUDI-1023 - * declareProperty("histoPathBase", m_stream = "/stat"); - **/ - - m_stream = "/stat"; + m_PSTripModulesVsLbs{} { declareProperty("CheckRate", m_checkrate = 1000); declareProperty("runOnline", m_runOnline = false); declareProperty("CheckRecent", m_checkrecent = 20); @@ -221,8 +207,8 @@ SCTErrMonTool::SCTErrMonTool(const std::string& type, const std::string& name, c declareProperty("DoPerLumiErrors", m_doPerLumiErrors = true); declareProperty("DoErr2DPerLumiHists", m_doErr2DPerLumiHists = false); - declareProperty("checkBadModules", m_checkBadModules); - declareProperty("IgnoreRDOCutOnline", m_ignore_RDO_cut_online); + declareProperty("checkBadModules", m_checkBadModules = true); + declareProperty("IgnoreRDOCutOnline", m_ignore_RDO_cut_online = true); //Detector Coverage Tool switch declareProperty("CoverageCheck",m_CoverageCheck= true); declareProperty("UseDCS", m_useDCS = true); @@ -270,15 +256,8 @@ SCTErrMonTool::~SCTErrMonTool() { if (m_allErrsPerLumi[errType][reg][layer])LWHist::safeDelete(m_allErrsPerLumi[errType][reg][layer]); if (m_pallErrsPerLumi[errType][reg][layer])LWHist::safeDelete(m_pallErrsPerLumi[errType][reg][layer]); } - // for (int errType(0); errType != CategoryErrors::N_ERRCATEGORY; ++errType) { - // if (m_allErrsCatePerLumi[errType][reg][layer])LWHist::safeDelete(m_allErrsCatePerLumi[errType][reg][layer]); - // if (m_pallErrsCatePerLumi[errType][reg][layer])LWHist::safeDelete(m_pallErrsCatePerLumi[errType][reg][layer]); - // } } } - - free(m_nErrors_buf); - free(m_nLinksWithErrors_buf); } // ==================================================================================================== @@ -527,7 +506,6 @@ StatusCode SCTErrMonTool::bookHistogramsRecurrent() StatusCode SCTErrMonTool::fillHistograms() { - typedef SCT_RDORawData SCTRawDataType; SG::ReadHandle<xAOD::EventInfo> pEvent(m_eventInfoKey); if (not pEvent.isValid()) { ATH_MSG_WARNING("Could not retrieve event info!"); @@ -562,25 +540,21 @@ SCTErrMonTool::fillHistograms() { int numFirstHit_ECm = 0, numSecondHit_ECm = 0, numSCTRDOs_ECm = 0; int count_SCT_RDO = 0; - // Use new IDC - SCT_RDO_Container::const_iterator lastCol = p_rdocontainer->end(); - for (SCT_RDO_Container::const_iterator col_it = p_rdocontainer->begin(); col_it != lastCol; ++col_it) { - const InDetRawDataCollection<SCT_RDORawData>* SCT_Collection(*col_it); - if (!SCT_Collection) continue; // select only SCT RDOs - - DataVector<SCTRawDataType>::const_iterator p_rdo_end = SCT_Collection->end(); + for (const InDetRawDataCollection<SCT_RDORawData>*SCT_Collection: *p_rdocontainer) { + if (SCT_Collection==nullptr) continue; // select only SCT RDOs - Identifier SCT_Identifier = SCT_Collection->identify(); - for (DataVector<SCTRawDataType>::const_iterator p_rdo = SCT_Collection->begin(); p_rdo != p_rdo_end; ++p_rdo) { + for (const SCT_RDORawData* rdo: *SCT_Collection) { count_SCT_RDO++; - const SCT3_RawData* rdo3 = dynamic_cast<const SCT3_RawData*>(*p_rdo); - SCT_Identifier = (*p_rdo)->identify(); + const SCT3_RawData* rdo3 = dynamic_cast<const SCT3_RawData*>(rdo); + if (rdo3==nullptr) continue; + + Identifier SCT_Identifier = rdo3->identify(); int barrel_ec = m_pSCTHelper->barrel_ec(SCT_Identifier); if (barrel_ec == BARREL) ++numSCTRDOs; if (barrel_ec == ENDCAP_A && m_doPositiveEndcap) ++numSCTRDOs_ECp; if (barrel_ec == ENDCAP_C && m_doNegativeEndcap) ++numSCTRDOs_ECm; - if ( !(SCT_Identifier.is_valid())) { + if (not SCT_Identifier.is_valid()) { ATH_MSG_ERROR("The SCT identifier is not valid."); return StatusCode::RECOVERABLE; } @@ -603,19 +577,19 @@ SCTErrMonTool::fillHistograms() { }// end for (SCT_RDO_Container... if (numSCTRDOs != 0) { - double scale = 100. / double(numSCTRDOs); - m_firstHit[iBARREL]->Fill(double(numFirstHit)*scale, 1.); - m_secondHit[iBARREL]->Fill(double(numSecondHit)*scale, 1.); + double scale = 100. / static_cast<double>(numSCTRDOs); + m_firstHit[iBARREL]->Fill(static_cast<double>(numFirstHit)*scale, 1.); + m_secondHit[iBARREL]->Fill(static_cast<double>(numSecondHit)*scale, 1.); } if (numSCTRDOs_ECp != 0 && m_doPositiveEndcap) { - double scale = 100. / double(numSCTRDOs_ECp); - m_firstHit[iECp]->Fill(double(numFirstHit_ECp)*scale, 1.); - m_secondHit[iECp]->Fill(double(numSecondHit_ECp)*scale, 1.); + double scale = 100. / static_cast<double>(numSCTRDOs_ECp); + m_firstHit[iECp]->Fill(static_cast<double>(numFirstHit_ECp)*scale, 1.); + m_secondHit[iECp]->Fill(static_cast<double>(numSecondHit_ECp)*scale, 1.); } if (numSCTRDOs_ECm != 0 && m_doNegativeEndcap) { - double scale = 100. / double(numSCTRDOs_ECm); - m_firstHit[iECm]->Fill(double(numFirstHit_ECm)*scale, 1.); - m_secondHit[iECm]->Fill(double(numSecondHit_ECm)*scale, 1.); + double scale = 100. / static_cast<double>(numSCTRDOs_ECm); + m_firstHit[iECm]->Fill(static_cast<double>(numFirstHit_ECm)*scale, 1.); + m_secondHit[iECm]->Fill(static_cast<double>(numSecondHit_ECm)*scale, 1.); } if (m_environment == AthenaMonManager::online) { if (m_numberOfEvents == 1 || (m_numberOfEvents > 1 && (m_numberOfEvents % m_checkrate) == 0)) { @@ -673,7 +647,7 @@ SCTErrMonTool::checkRateHists() { content = m_numErrorsPerLumi[reg]->GetBinContent(xb, yb); if (num_modules > 0) { m_rateErrorsPerLumi[reg]->Fill(cxb, cyb, 1, content); - m_rateErrorsPerLumi[reg]->Fill(cxb, cyb, 0, (evt_lumi * ((double) num_modules) - content)); + m_rateErrorsPerLumi[reg]->Fill(cxb, cyb, 0, (evt_lumi * (static_cast<double>(num_modules)) - content)); } } } @@ -799,14 +773,12 @@ SCTErrMonTool::fillByteStreamErrorsHelper(const std::set<IdentifierHash>* errors //--- Count BS errors int nerrors = 0; - std::set<IdentifierHash>::iterator fit = errors->begin(); - std::set<IdentifierHash>::iterator fitEnd = errors->end(); - for (; fit != fitEnd; ++fit) { + for (const IdentifierHash& hash: *errors) { nerrors++; - if (!(fit->is_valid())) continue; + if (not hash.is_valid()) continue; //--- FIll module information with BS error - Identifier fitId = m_pSCTHelper->wafer_id(*fit); + Identifier fitId = m_pSCTHelper->wafer_id(hash); int layer = m_pSCTHelper->layer_disk(fitId); int side = m_pSCTHelper->side(fitId); int barrel_ec = m_pSCTHelper->barrel_ec(fitId); @@ -857,7 +829,7 @@ SCTErrMonTool::fillByteStreamErrorsHelper(const std::set<IdentifierHash>* errors void SCTErrMonTool::numByteStreamErrors(const std::set<IdentifierHash>* errors, int& ntot, int& nbar, int& neca, int& necc) { - for (auto fit: *errors) { + for (const IdentifierHash& fit: *errors) { if (fit.is_valid()) { Identifier fitId = m_pSCTHelper->wafer_id(fit); int layer = m_pSCTHelper->layer_disk(fitId); @@ -900,8 +872,8 @@ SCTErrMonTool::fillByteStreamErrors() { bs_errs[iGEN],bs_errs[iBARREL],bs_errs[iECp],bs_errs[iECm]); // fill number of BS errors vs LBs for (int reg = 0; reg != NREGIONS_INC_GENERAL; ++reg) { - if (!m_sctflag) m_ByteStreamVsLB[errType][reg]->Fill(current_lb, double (bs_errs[reg])); - else m_ByteStreamWithSctFlagVsLB[errType][reg]->Fill(current_lb, double (bs_errs[reg])); + if (!m_sctflag) m_ByteStreamVsLB[errType][reg]->Fill(current_lb, static_cast<double>(bs_errs[reg])); + else m_ByteStreamWithSctFlagVsLB[errType][reg]->Fill(current_lb, static_cast<double>(bs_errs[reg])); } } @@ -1026,7 +998,7 @@ SCTErrMonTool::fillByteStreamErrors() { // below... if (m_numberOfEvents % m_checkrate == 0 && m_runOnline == true) { for (int errType(0); errType != CategoryErrors::N_ERRCATEGORY; ++errType) { - int content = (int) m_pallErrsCate[errType][reg][lyr]->GetBinContent(xb, yb); + int content = static_cast<int>(m_pallErrsCate[errType][reg][lyr]->GetBinContent(xb, yb)); int evt = m_numberOfEvents; m_allErrsCate[errType][reg][lyr]->Fill(cxb, cyb, 1, content); m_allErrsCate[errType][reg][lyr]->Fill(cxb, cyb, 0, evt - content); @@ -1051,12 +1023,12 @@ SCTErrMonTool::fillByteStreamErrors() { for (int reg = 0; reg != NREGIONS_INC_GENERAL; ++reg) { for (int errType(0); errType != CategoryErrors::N_ERRCATEGORY; ++errType) { - m_ByteStreamCategorisedVsLB[errType][reg]->Fill((int) current_lb, (bytestreamCate_errs[errType][reg])); - m_LinksWithCategorisedErrorsVsLB[errType][reg]->Fill((int) current_lb, (tot_mod_bytestreamCate_errs[errType][reg])); + m_ByteStreamCategorisedVsLB[errType][reg]->Fill(current_lb, (bytestreamCate_errs[errType][reg])); + m_LinksWithCategorisedErrorsVsLB[errType][reg]->Fill(current_lb, (tot_mod_bytestreamCate_errs[errType][reg])); if (reg==NREGIONS_INC_GENERAL-1)continue; int nLayers = n_layers[reg]*2; for (int lyr = 0; lyr != nLayers; ++lyr) { - m_LinksWithCategorisedErrorsVsLBLayer[errType][reg][lyr]->Fill((int) current_lb, + m_LinksWithCategorisedErrorsVsLBLayer[errType][reg][lyr]->Fill(current_lb, (tot_mod_bytestreamCate_errs_layer[errType][reg][lyr])); } } @@ -1209,8 +1181,8 @@ SCTErrMonTool::bookErrHistos(int reg=-1) { // reg = 0:EC, 1:B, 2:EA m_rateErrorsPerLumi[reg]->GetXaxis()->SetBinLabel(bin+1, SCT_ByteStreamErrors::errorTypesDescription[bin].c_str()); } for ( int bin(0); bin < nLayers; bin++) { - m_numErrorsPerLumi[reg]->GetYaxis()->SetBinLabel(bin+1, (std::to_string(int(bin/2)) +"_"+ std::to_string(int(bin%2))).c_str()); - m_rateErrorsPerLumi[reg]->GetYaxis()->SetBinLabel(bin+1, (std::to_string(int(bin/2)) +"_"+ std::to_string(int(bin%2))).c_str()); + m_numErrorsPerLumi[reg]->GetYaxis()->SetBinLabel(bin+1, (std::to_string(static_cast<int>(bin/2)) +"_"+ std::to_string(static_cast<int>(bin%2))).c_str()); + m_rateErrorsPerLumi[reg]->GetYaxis()->SetBinLabel(bin+1, (std::to_string(static_cast<int>(bin/2)) +"_"+ std::to_string(static_cast<int>(bin%2))).c_str()); } bool somethingFailed(false); if (m_doErr2DPerLumiHists) { @@ -1311,10 +1283,8 @@ SCTErrMonTool::bookErrHistosGen() { m_evtsbins, 1, m_evtsbins + 1); m_nLinksWithErrors->GetXaxis()->SetTitle("Event Number"); m_nLinksWithErrors->GetYaxis()->SetTitle("Num of Links with Errors"); - size_t nErrors_buf_size; - nErrors_buf_size = m_evtsbins * sizeof(int); - m_nErrors_buf = (int*) malloc(nErrors_buf_size); - m_nLinksWithErrors_buf = (int*) malloc(nErrors_buf_size); + m_nErrors_buf.reserve(m_evtsbins); + m_nLinksWithErrors_buf.reserve(m_evtsbins); m_nErrors_pos = 0; if (Errors.regHist(m_nErrors).isFailure()) { ATH_MSG_WARNING("Couldn't book nErrors vs event number hist"); @@ -1430,8 +1400,8 @@ SCTErrMonTool::bookConfMapsGen() { int nLayers = n_layers[reg]*2; for (int layer(0); layer != nLayers; ++layer) { m_LinksWithCategorisedErrorsVsLBLayer[errType][reg][layer] = - TProfile_LW::create("SCT_LinksWith" + errorsString(errType) + "VsLbs" + regLabel[reg] + "lyr" + std::to_string(int(layer/2)) + "_" + std::to_string(int(layer%2)), - "Ave. num of links with " + errorsString(errType) + " per LB in " + regTitle[reg] + " layer" + std::to_string(int(layer/2)) + "_" + std::to_string(int(layer%2)), + TProfile_LW::create("SCT_LinksWith" + errorsString(errType) + "VsLbs" + regLabel[reg] + "lyr" + std::to_string(static_cast<int>(layer/2)) + "_" + std::to_string(static_cast<int>(layer%2)), + "Ave. num of links with " + errorsString(errType) + " per LB in " + regTitle[reg] + " layer" + std::to_string(static_cast<int>(layer/2)) + "_" + std::to_string(static_cast<int>(layer%2)), NBINS_LBs, 0.5, NBINS_LBs + 0.5); m_LinksWithCategorisedErrorsVsLBLayer[errType][reg][layer]->GetXaxis()->SetTitle("LumiBlock"); } @@ -1503,7 +1473,7 @@ SCTErrMonTool::bookConfMapsGen() { int nLayers = n_layers[reg]*2; for (int layer(0); layer != nLayers; ++layer) { if (ConfHist[reg].regHist(m_LinksWithCategorisedErrorsVsLBLayer[errType][reg][layer]).isFailure()) { - ATH_MSG_WARNING("Cannot book Histogram:SCTLinksWith" + errorsString(errType) + "VsLbs" + regLabel[reg] + "lyr" + std::to_string(int(layer/2)) + "_" + std::to_string(int(layer%2)) << "with SCT flag"); + ATH_MSG_WARNING("Cannot book Histogram:SCTLinksWith" + errorsString(errType) + "VsLbs" + regLabel[reg] + "lyr" + std::to_string(static_cast<int>(layer/2)) + "_" + std::to_string(static_cast<int>(layer%2)) << "with SCT flag"); } } } @@ -1553,11 +1523,11 @@ SCTErrMonTool::bookConfMaps(int reg=-1) { // reg = 0:EC, 1:B, 2:EA MonGroup confMaps(this, ("SCT/"+regName+"/Conf").c_str(), ManagedMonitorToolBase::run, ATTRIB_UNMANAGED); m_p2DmapHistoVectorAll[reg].clear(); for (int layer(0); layer != nLayers; ++layer) { - std::string mapName = "modulemap" + std::string(subDetNameShort[reg].Data()) + std::to_string(int(layer/2)) + "_" + std::to_string(int(layer%2)); + std::string mapName = "modulemap" + std::string(subDetNameShort[reg].Data()) + std::to_string(static_cast<int>(layer/2)) + "_" + std::to_string(static_cast<int>(layer%2)); TH2F_LW* hitsHisto_tmp = TH2F_LW::create(TString(mapName.c_str()), TString(("Module Out of Configuration : "+std::string(subDetName[reg].Data())+", "+ - std::string(layerName[reg].Data())+" "+std::to_string(int(layer/2))+ - " side "+std::to_string(int(layer%2))).c_str()), + std::string(layerName[reg].Data())+" "+std::to_string(static_cast<int>(layer/2))+ + " side "+std::to_string(static_cast<int>(layer%2))).c_str()), n_etabins[reg], f_etabin[reg] - 0.5, l_etabin[reg] + 0.5, n_phibins[reg], f_phibin[reg] - 0.5, l_phibin[reg] + 0.5); hitsHisto_tmp->GetXaxis()->SetTitle("Index in the direction of #eta"); @@ -1583,8 +1553,8 @@ SCTErrMonTool::fillCondDBMaps() { 0 }; int MaskedAllLinks[4] = { - (int) m_MaskedAllLinks->GetBinContent(1), (int) m_MaskedAllLinks->GetBinContent(2), - (int) m_MaskedAllLinks->GetBinContent(3), (int) m_MaskedAllLinks->GetBinContent(4) + static_cast<int>(m_MaskedAllLinks->GetBinContent(1)), static_cast<int>(m_MaskedAllLinks->GetBinContent(2)), + static_cast<int>(m_MaskedAllLinks->GetBinContent(3)), static_cast<int>(m_MaskedAllLinks->GetBinContent(4)) }; int ModErr[4] = { 0 @@ -1609,7 +1579,6 @@ SCTErrMonTool::fillCondDBMaps() { std::string stem; SCT_ID::const_id_iterator planeIterator(m_pSCTHelper->wafer_begin()); SCT_ID::const_id_iterator planeEnd = m_pSCTHelper->wafer_end(); - for (; planeIterator not_eq planeEnd; ++planeIterator) { Identifier planeId(*planeIterator); int eta = m_pSCTHelper->eta_module(planeId); @@ -1693,38 +1662,38 @@ SCTErrMonTool::fillCondDBMaps() { if (m_makeConfHisto) { for (int reg = 0; reg <= 3; ++reg) { - m_Conf[reg]->Fill(0., double (MOut[reg])); - m_ConfRN[reg]->Fill(0., double (MOut[reg])); - m_ConfOutModules[reg]->Fill(0., double (MOut[reg])); - m_Conf[reg]->Fill(1., double (Flagged[reg])); - m_ConfRN[reg]->Fill(1., double (Flagged[reg])); - m_ConfNew[reg]->Fill(0., double (Flagged[reg])); - m_Conf[reg]->Fill(2., double (MaskedAllLinks[reg])); - m_ConfRN[reg]->Fill(2., double (MaskedAllLinks[reg])); - m_ConfNew[reg]->Fill(1., double (MaskedAllLinks[reg])); - m_Conf[reg]->Fill(3., double (ModErr[reg])); - m_ConfRN[reg]->Fill(3., double (ModErr[reg])); - m_ConfNew[reg]->Fill(2., double (ModErr[reg])); - m_Conf[reg]->Fill(4., double (InEffModules[reg])); - m_ConfRN[reg]->Fill(4., double (InEffModules[reg])); - m_ConfNew[reg]->Fill(3., double (InEffModules[reg])); - m_Conf[reg]->Fill(5., double (NoisyModules[reg])); - m_ConfRN[reg]->Fill(5., double (RNoisyModules[reg])); - m_ConfNew[reg]->Fill(4., double (NoisyModules[reg])); + m_Conf[reg]->Fill(0., static_cast<double>(MOut[reg])); + m_ConfRN[reg]->Fill(0., static_cast<double>(MOut[reg])); + m_ConfOutModules[reg]->Fill(0., static_cast<double>(MOut[reg])); + m_Conf[reg]->Fill(1., static_cast<double>(Flagged[reg])); + m_ConfRN[reg]->Fill(1., static_cast<double>(Flagged[reg])); + m_ConfNew[reg]->Fill(0., static_cast<double>(Flagged[reg])); + m_Conf[reg]->Fill(2., static_cast<double>(MaskedAllLinks[reg])); + m_ConfRN[reg]->Fill(2., static_cast<double>(MaskedAllLinks[reg])); + m_ConfNew[reg]->Fill(1., static_cast<double>(MaskedAllLinks[reg])); + m_Conf[reg]->Fill(3., static_cast<double>(ModErr[reg])); + m_ConfRN[reg]->Fill(3., static_cast<double>(ModErr[reg])); + m_ConfNew[reg]->Fill(2., static_cast<double>(ModErr[reg])); + m_Conf[reg]->Fill(4., static_cast<double>(InEffModules[reg])); + m_ConfRN[reg]->Fill(4., static_cast<double>(InEffModules[reg])); + m_ConfNew[reg]->Fill(3., static_cast<double>(InEffModules[reg])); + m_Conf[reg]->Fill(5., static_cast<double>(NoisyModules[reg])); + m_ConfRN[reg]->Fill(5., static_cast<double>(RNoisyModules[reg])); + m_ConfNew[reg]->Fill(4., static_cast<double>(NoisyModules[reg])); if (m_environment == AthenaMonManager::online) { - m_ConfOnline[reg]->Fill(0., double (MOut[reg])); - m_ConfOnline[reg]->Fill(1., double (Flagged[reg])); - m_ConfOnline[reg]->Fill(2., double (MaskedAllLinks[reg])); - m_ConfOnline[reg]->Fill(3., double (ModErr[reg])); + m_ConfOnline[reg]->Fill(0., static_cast<double>(MOut[reg])); + m_ConfOnline[reg]->Fill(1., static_cast<double>(Flagged[reg])); + m_ConfOnline[reg]->Fill(2., static_cast<double>(MaskedAllLinks[reg])); + m_ConfOnline[reg]->Fill(3., static_cast<double>(ModErr[reg])); } } if (m_environment == AthenaMonManager::online || testOffline) { m_ConfEffOnline->Reset("ICE"); for (int i(0); i != 4; ++i) { const float f(i); - m_ConfEffOnline->Fill(f, double (InEffModules[i])); - m_ConfNoiseOnline->Fill(f, double (NoisyModules[i])); - m_ConfNoiseOnlineRecent->Fill(f, double (NoisyModulesRecent[i])); + m_ConfEffOnline->Fill(f, static_cast<double>(InEffModules[i])); + m_ConfNoiseOnline->Fill(f, static_cast<double>(NoisyModules[i])); + m_ConfNoiseOnlineRecent->Fill(f, static_cast<double>(NoisyModulesRecent[i])); } } } @@ -1739,9 +1708,9 @@ StatusCode SCTErrMonTool::fillConfigurationDetails() { ATH_MSG_DEBUG("Inside fillConfigurationDetails()"); unsigned int nBadMods = m_ConfigurationTool->badModules()->size(); // bad modules - const std::map<IdentifierHash, std::pair<bool, bool> > *badLinks = m_ConfigurationTool->badLinks(); // bad links + const std::map<IdentifierHash, std::pair<bool, bool>> *badLinks = m_ConfigurationTool->badLinks(); // bad links unsigned int nBadLink0(0), nBadLink1(0), nBadLinkBoth(0); - for (auto link: *badLinks) { + for (const std::pair<IdentifierHash, std::pair<bool, bool>>& link: *badLinks) { std::pair<bool, bool> status = link.second; if (status.first == false && status.second == true) { ++nBadLink0; @@ -1756,7 +1725,7 @@ SCTErrMonTool::fillConfigurationDetails() { const std::map<Identifier, unsigned int>* badChips = m_ConfigurationTool->badChips(); // bad chips unsigned int nBadChips(0); - for (auto chip : *badChips) { + for (const std::pair<Identifier, unsigned int>& chip : *badChips) { unsigned int status = chip.second; for (unsigned int i(0); i != CHIPS_PER_MODULE; i++) { nBadChips += ((status & (1 << i)) == 0 ? 0 : 1); @@ -1773,16 +1742,16 @@ SCTErrMonTool::fillConfigurationDetails() { int nBadStripsExclusiveBEC[] = { 0, 0, 0 }; - for (auto strip: badStripsExclusive) { + for (const Identifier& strip: badStripsExclusive) { int bec(m_pSCTHelper->barrel_ec(strip)); nBadStripsExclusiveBEC[SCT_Monitoring::bec2Index(bec)] += 1; } - m_DetailedConfiguration->Fill(0., double (nBadMods)); - m_DetailedConfiguration->Fill(1., double (nBadLink0)); - m_DetailedConfiguration->Fill(2., double (nBadLink1)); - m_DetailedConfiguration->Fill(3., double (nBadChips)); - m_DetailedConfiguration->Fill(4., double (nBadStripsExclusive) / 100.); + m_DetailedConfiguration->Fill(0., static_cast<double>(nBadMods)); + m_DetailedConfiguration->Fill(1., static_cast<double>(nBadLink0)); + m_DetailedConfiguration->Fill(2., static_cast<double>(nBadLink1)); + m_DetailedConfiguration->Fill(3., static_cast<double>(nBadChips)); + m_DetailedConfiguration->Fill(4., static_cast<double>(nBadStripsExclusive) / 100.); ATH_MSG_DEBUG("-----------------------------------------------------------------------"); ATH_MSG_DEBUG("Number of bad modules = " << nBadMods); @@ -2131,6 +2100,6 @@ double SCTErrMonTool::calculateDetectorCoverage( const TH2F* histo ) } } } - detector_coverage = 100. * double( occupancy )/( double( m_nBinsEta ) * double ( m_nBinsPhi ) ); + detector_coverage = 100. * static_cast<double>( occupancy )/( static_cast<double>( m_nBinsEta ) * static_cast<double>( m_nBinsPhi ) ); return detector_coverage; } diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitEffMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitEffMonTool.cxx index 088d69aa7a9..53144e5a99f 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitEffMonTool.cxx +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitEffMonTool.cxx @@ -43,12 +43,12 @@ #include "TGraphErrors.h" // std and STL includes -#include <cmath> -#include <sstream> -#include <limits> #include <algorithm> -#include <limits> // std::numeric_limits #include <array> +#include <cmath> +#include <limits> // std::numeric_limits +#include <memory> +#include <sstream> using namespace SCT_Monitoring; @@ -104,41 +104,9 @@ using std::string; // Constructor with parameters: SCTHitEffMonTool::SCTHitEffMonTool(const string& type, const string& name, const IInterface* parent) : ManagedMonitorToolBase(type, name, parent), - m_TrackName(std::string("ResolvedSCTTracks")),// original track collection m_chrono(nullptr), m_badChips(nullptr), m_fieldServiceHandle("AtlasFieldSvc", name), - m_bunchCrossingTool("Trig::BunchCrossingTool/BunchCrossingTool", this), - m_DetectorMode(1), // Barrel = 1, endcap =2, both =3 - m_RunningMode(2), - m_minPixelHits(-1), - m_minTRTHits(-1), - m_minSCTHits(-1), // If all 3 of these -1, defaults depend on cosmic/not - m_minOtherHits(6), - m_maxPhiAngle(40.), // Degrees, 100 implies no cut. - m_maxChi2(3.), - m_maxD0(10.), // mm of D0 - m_minPt(1000.), // minimu pt in MeV/c - m_effdistcut(2.), - m_maxZ0sinTheta(0.), - m_maxTracks(500.), - m_insideOutOnly(false), - m_usemasks(true), - m_detailed(false), - m_superDetailed(false), - m_isCosmic(false), - m_isSim(false), - m_useTRTPhase(false), - m_useSCTorTRT(false), - m_requireEnclosingHits(false), - m_requireOtherFace(false), - m_requireGuardRing(false), // should be returned to true - m_vetoBadChips(true), - m_chronotime(false), - m_useIDGlobal(false), - m_residualPullCalculator("Trk::ResidualPullCalculator/ResidualPullCalculator", this), - m_rotcreator("InDet::SCT_ClusterOnTrackTool/SCT_ClusterOnTrackTool", this), - m_holeSearchTool("InDet::InDetTrackHoleSearchTool", this), m_Eff_Total(nullptr), m_Eff_TotalBCID(nullptr), m_Eff_hashCodeHisto(nullptr), @@ -164,48 +132,39 @@ SCTHitEffMonTool::SCTHitEffMonTool(const string& type, const string& name, const m_badModFineMap(nullptr), m_badModMap(nullptr), m_badChipMap(nullptr), + m_countEvent{0}, m_pixelId(nullptr), m_sctId(nullptr), - m_trtId(nullptr), - m_comTimeName(std::string("TRT_Phase")), - m_eventInfoKey(std::string("EventInfo")){ - declareProperty("TrackName", m_TrackName); - declareProperty("IsCosmic", m_isCosmic); - declareProperty("IsSim", m_isSim); - declareProperty("UseMasks", m_usemasks); - declareProperty("Detailed", m_detailed); - declareProperty("SuperDetailed", m_superDetailed); - declareProperty("UseTRTPhase", m_useTRTPhase); - declareProperty("MaxPhiAngle", m_maxPhiAngle); - declareProperty("MinTRTHits", m_minTRTHits); - declareProperty("MinSCTHits", m_minSCTHits); - declareProperty("MinPixelHits", m_minPixelHits); - declareProperty("UseSCTorTRT", m_useSCTorTRT); - declareProperty("MinOtherHits", m_minOtherHits); - declareProperty("InsideOutOnly", m_insideOutOnly); - declareProperty("MaxChi2", m_maxChi2); - declareProperty("Maxd0", m_maxD0); - declareProperty("MaxZ0sinTheta", m_maxZ0sinTheta); - declareProperty("MaxTracks", m_maxTracks); - declareProperty("MinPt", m_minPt); - declareProperty("RequireEnclosingHits", m_requireEnclosingHits); - declareProperty("RequireOtherFace", m_requireOtherFace); - declareProperty("RequireGuardRing", m_requireGuardRing); - declareProperty("VetoBadChips", m_vetoBadChips); - declareProperty("LookAtDatabase", m_usedatabase); - declareProperty("DetectorMode", m_DetectorMode); - declareProperty("RunningMode", m_RunningMode); - declareProperty("effDistanceCut", m_effdistcut); - declareProperty("ChronoTime", m_chronotime); - declareProperty("SCT_ClusterContainer", m_sctContainerName = std::string("SCT_Clusters")); - declareProperty("ROTCreator", m_rotcreator); - declareProperty("HoleSearch", m_holeSearchTool); - declareProperty("ResPullCalc", m_residualPullCalculator); - declareProperty("useIDGlobal", m_useIDGlobal); + m_trtId(nullptr) { + declareProperty("IsCosmic", m_isCosmic=false); + declareProperty("IsSim", m_isSim=false); + declareProperty("UseMasks", m_usemasks=false); + declareProperty("Detailed", m_detailed=false); + declareProperty("SuperDetailed", m_superDetailed=false); + declareProperty("UseTRTPhase", m_useTRTPhase=false); + declareProperty("MaxPhiAngle", m_maxPhiAngle=40., "Degrees, 100 implies no cut."); + declareProperty("MinTRTHits", m_minTRTHits=-1); + declareProperty("MinSCTHits", m_minSCTHits=-1, "If all 3 of these -1, defaults depend on cosmic/not"); + declareProperty("MinPixelHits", m_minPixelHits=-1); + declareProperty("UseSCTorTRT", m_useSCTorTRT=false); + declareProperty("MinOtherHits", m_minOtherHits=6); + declareProperty("InsideOutOnly", m_insideOutOnly=false); + declareProperty("MaxChi2", m_maxChi2=3.); + declareProperty("Maxd0", m_maxD0=10., "mm of D0"); + declareProperty("MaxZ0sinTheta", m_maxZ0sinTheta=0.); + declareProperty("MaxTracks", m_maxTracks=500.); + declareProperty("MinPt", m_minPt=1000., "minimu pt in MeV/c"); + declareProperty("RequireEnclosingHits", m_requireEnclosingHits=false); + declareProperty("RequireOtherFace", m_requireOtherFace=false); + declareProperty("RequireGuardRing", m_requireGuardRing=false, "should be returned to true"); + declareProperty("VetoBadChips", m_vetoBadChips=true); + declareProperty("LookAtDatabase", m_usedatabase=false); + declareProperty("DetectorMode", m_DetectorMode=3, "Barrel = 1, endcap =2, both =3"); + declareProperty("RunningMode", m_RunningMode=2); + declareProperty("effDistanceCut", m_effdistcut=2.); + declareProperty("ChronoTime", m_chronotime=false); + declareProperty("useIDGlobal", m_useIDGlobal=false); declareProperty("MagFieldSvc", m_fieldServiceHandle); - declareProperty("BunchCrossingTool", m_bunchCrossingTool); - - m_countEvent = 0; m_Eff_summaryHisto.fill(0); m_Eff_summaryHistoFirstBCID.fill(0); @@ -312,22 +271,22 @@ StatusCode SCTHitEffMonTool::initialize() { ATH_MSG_INFO("Initializing SCTHitEffMonTool"); - CHECK(detStore()->retrieve(m_sctId, "SCT_ID")); - CHECK(detStore()->retrieve(m_pixelId, "PixelID")); - CHECK(detStore()->retrieve(m_trtId, "TRT_ID")); + ATH_CHECK(detStore()->retrieve(m_sctId, "SCT_ID")); + ATH_CHECK(detStore()->retrieve(m_pixelId, "PixelID")); + ATH_CHECK(detStore()->retrieve(m_trtId, "TRT_ID")); if (m_chronotime) { - CHECK(service("ChronoStatSvc", m_chrono)); + ATH_CHECK(service("ChronoStatSvc", m_chrono)); } - CHECK(ManagedMonitorToolBase::initialize()); - CHECK(m_holeSearchTool.retrieve()); + ATH_CHECK(ManagedMonitorToolBase::initialize()); + ATH_CHECK(m_holeSearchTool.retrieve()); ATH_MSG_INFO("Retrieved hole search tool " << m_holeSearchTool); - CHECK(m_residualPullCalculator.retrieve()); + ATH_CHECK(m_residualPullCalculator.retrieve()); ATH_MSG_INFO("Retrieved pull calculator tool " << m_residualPullCalculator); - CHECK(m_rotcreator.retrieve()); + ATH_CHECK(m_rotcreator.retrieve()); ATH_MSG_INFO("Retrieved tool " << m_rotcreator); - CHECK(m_fieldServiceHandle.retrieve()); - CHECK(m_bunchCrossingTool.retrieve()); + ATH_CHECK(m_fieldServiceHandle.retrieve()); + ATH_CHECK(m_bunchCrossingTool.retrieve()); ATH_MSG_INFO("Retrieved BunchCrossing tool " << m_bunchCrossingTool); m_path = (m_useIDGlobal) ? ("/InDetGlobal/") : (""); @@ -373,9 +332,8 @@ SCTHitEffMonTool::bookHistograms() { if (newRunFlag()) { m_badChips = m_configConditions->badChips(); ATH_MSG_INFO("Found " << m_badChips->size() << " bad chips"); - for (std::map<Identifier, unsigned int>::const_iterator chip(m_badChips->begin()); chip != m_badChips->end(); - ++chip) { - ATH_MSG_VERBOSE("Module " << m_sctId->wafer_hash(chip->first) << ", chip " << chip->second); + for (const std::pair<Identifier, unsigned int>& chip: *m_badChips) { + ATH_MSG_VERBOSE("Module " << m_sctId->wafer_hash(chip.first) << ", chip " << chip.second); } std::array < MonGroup, N_REGIONS + 1 > histGroupE = {{ @@ -398,63 +356,63 @@ SCTHitEffMonTool::bookHistograms() { MonGroup(this, m_path + histogramPath[GENERAL_INDEX], run, ATTRIB_UNMANAGED) }}; - CHECK(bookEffHisto(m_Eff_Total, histGroupE[GENERAL_INDEX], "SctTotalEff", "SCT Total Efficiency", N_REGIONS, 0, + ATH_CHECK(bookEffHisto(m_Eff_Total, histGroupE[GENERAL_INDEX], "SctTotalEff", "SCT Total Efficiency", N_REGIONS, 0, N_REGIONS)); for (Int_t i(0); i != 3; ++i) { m_Eff_Total->GetXaxis()->SetBinLabel(i + 1, subDetName[i]); } - CHECK(bookEffHisto(m_Eff_TotalBCID, histGroupE[GENERAL_INDEX], "SctTotalEffBCID", + ATH_CHECK(bookEffHisto(m_Eff_TotalBCID, histGroupE[GENERAL_INDEX], "SctTotalEffBCID", "SCT Total Efficiency for First BCID", N_REGIONS, 0, N_REGIONS)); for (Int_t i(0); i != 3; ++i) { m_Eff_TotalBCID->GetXaxis()->SetBinLabel(i + 1, subDetName[i]); } - CHECK(bookEffHisto(m_Eff_hashCodeHisto, histGroupE[GENERAL_INDEX], "effHashCode", "Efficiency vs module Hash code", + ATH_CHECK(bookEffHisto(m_Eff_hashCodeHisto, histGroupE[GENERAL_INDEX], "effHashCode", "Efficiency vs module Hash code", n_mod[GENERAL_INDEX] * 2, -0.5, n_mod[GENERAL_INDEX] * 2 - 0.5)); m_Eff_hashCodeHisto->GetXaxis()->SetTitle("Module Hash Code"); m_Eff_hashCodeHisto->GetYaxis()->SetTitle("Efficiency"); - CHECK(bookEffHisto(m_Eff_LumiBlockHisto_Total, histGroupE[GENERAL_INDEX], "effLumiBlock", + ATH_CHECK(bookEffHisto(m_Eff_LumiBlockHisto_Total, histGroupE[GENERAL_INDEX], "effLumiBlock", "Efficiency vs Luminosity block", NBINS_LBs, 0.5, NBINS_LBs + 0.5)); m_Eff_LumiBlockHisto_Total->GetXaxis()->SetTitle("Luminosity block"); m_Eff_LumiBlockHisto_Total->GetYaxis()->SetTitle("Efficiency"); - CHECK(bookEffHisto(m_effdistribution, histGroupE[GENERAL_INDEX], "SctEffDistribution", + ATH_CHECK(bookEffHisto(m_effdistribution, histGroupE[GENERAL_INDEX], "SctEffDistribution", "SCT Efficiency Distribution", 500, 0, 1)); m_effdistribution->GetXaxis()->SetTitle("Efficiency"); m_effdistribution->GetYaxis()->SetTitle("Links"); if (m_detailed) { - CHECK(bookEffHisto(m_SCTNHitHisto, histGroupE[BARREL_INDEX], "SCTNHit", "Number of total SCT hits", 30, -0.5, + ATH_CHECK(bookEffHisto(m_SCTNHitHisto, histGroupE[BARREL_INDEX], "SCTNHit", "Number of total SCT hits", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_barrelNHitHisto, histGroupE[BARREL_INDEX], "barrelNHit", "Number of hits in B", 30, -0.5, + ATH_CHECK(bookEffHisto(m_barrelNHitHisto, histGroupE[BARREL_INDEX], "barrelNHit", "Number of hits in B", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_pNHitHisto, histGroupE[BARREL_INDEX], "pNHit", "Number of hits in EA", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_mNHitHisto, histGroupE[BARREL_INDEX], "mNHit", "Number of hits in EC", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_trtNHitHisto, histGroupE[BARREL_INDEX], "trtNHit", "Number of TRT hits", 140, -0.5, 139.5)); - CHECK(bookEffHisto(m_pixelNHitHisto, histGroupE[BARREL_INDEX], "pixelNHit", "Number of pixel hits", 30, -0.5, + ATH_CHECK(bookEffHisto(m_pNHitHisto, histGroupE[BARREL_INDEX], "pNHit", "Number of hits in EA", 30, -0.5, 29.5)); + ATH_CHECK(bookEffHisto(m_mNHitHisto, histGroupE[BARREL_INDEX], "mNHit", "Number of hits in EC", 30, -0.5, 29.5)); + ATH_CHECK(bookEffHisto(m_trtNHitHisto, histGroupE[BARREL_INDEX], "trtNHit", "Number of TRT hits", 140, -0.5, 139.5)); + ATH_CHECK(bookEffHisto(m_pixelNHitHisto, histGroupE[BARREL_INDEX], "pixelNHit", "Number of pixel hits", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_hashCodeHisto, histGroupE[BARREL_INDEX], "hashCode", "module Hash code", + ATH_CHECK(bookEffHisto(m_hashCodeHisto, histGroupE[BARREL_INDEX], "hashCode", "module Hash code", n_mod[GENERAL_INDEX] * 2, -0.5, n_mod[GENERAL_INDEX] * 2 - 0.5)); - CHECK(bookEffHisto(m_d0TkHisto, histGroupE[GENERAL], "D0Tk", "Track D0", 50, -500., 500.)); - CHECK(bookEffHisto(m_z0TkHisto, histGroupE[GENERAL], "Z0Tk", "Track Z0", 500, -500., 500.)); - CHECK(bookEffHisto(m_PtTkHisto, histGroupE[GENERAL], "PtTk", "log10 Track Pt", 40, 2., 6.)); - CHECK(bookEffHisto(m_nTrkHisto, histGroupE[GENERAL], "nTrk", "num Tracks", 400, -0.5, 399.5)); - CHECK(bookEffHisto(m_etaTkHisto, histGroupE[GENERAL], "EtaTk", "Track Eta", 100, -2.5, 2.5)); - CHECK(bookEffHisto(m_d0PrecTkHisto, histGroupE[GENERAL], "D0Tk-prec", "Track D0 prec", 100, -25., 25.)); - CHECK(bookEffHisto(m_nTrkParsHisto, histGroupE[GENERAL], "nTrk pars", "num Tracks pars", 400, -0.5, 399.5)); - CHECK(bookEffHisto(m_nTrkGoodHisto, histGroupE[GENERAL], "nTrk good", "num Tracks good", 400, -0.5, 399.5)); + ATH_CHECK(bookEffHisto(m_d0TkHisto, histGroupE[GENERAL], "D0Tk", "Track D0", 50, -500., 500.)); + ATH_CHECK(bookEffHisto(m_z0TkHisto, histGroupE[GENERAL], "Z0Tk", "Track Z0", 500, -500., 500.)); + ATH_CHECK(bookEffHisto(m_PtTkHisto, histGroupE[GENERAL], "PtTk", "log10 Track Pt", 40, 2., 6.)); + ATH_CHECK(bookEffHisto(m_nTrkHisto, histGroupE[GENERAL], "nTrk", "num Tracks", 400, -0.5, 399.5)); + ATH_CHECK(bookEffHisto(m_etaTkHisto, histGroupE[GENERAL], "EtaTk", "Track Eta", 100, -2.5, 2.5)); + ATH_CHECK(bookEffHisto(m_d0PrecTkHisto, histGroupE[GENERAL], "D0Tk-prec", "Track D0 prec", 100, -25., 25.)); + ATH_CHECK(bookEffHisto(m_nTrkParsHisto, histGroupE[GENERAL], "nTrk pars", "num Tracks pars", 400, -0.5, 399.5)); + ATH_CHECK(bookEffHisto(m_nTrkGoodHisto, histGroupE[GENERAL], "nTrk good", "num Tracks good", 400, -0.5, 399.5)); } if (m_superDetailed) { - CHECK(bookEffHisto(m_LumiBlock, histGroupE[GENERAL], "LumiBlocks", "Luminosity blocks", NBINS_LBs, 0.5, NBINS_LBs + 0.5)); - CHECK(bookEffHisto(m_effHashLumiB, histGroupE[GENERAL], "effHashCodeLumiBlock", + ATH_CHECK(bookEffHisto(m_LumiBlock, histGroupE[GENERAL], "LumiBlocks", "Luminosity blocks", NBINS_LBs, 0.5, NBINS_LBs + 0.5)); + ATH_CHECK(bookEffHisto(m_effHashLumiB, histGroupE[GENERAL], "effHashCodeLumiBlock", "Modules efficiencies vs. lumi. block", n_mod[GENERAL_INDEX] * 2, -0.5, n_mod[GENERAL_INDEX] * 2 - 0.5, NBINS_LBs, 0.5, NBINS_LBs + 0.5)); m_badModMap = new TGraphErrors(); m_badModMap->SetName("MapOfDisabledModules"); - CHECK(histGroupE[GENERAL].regGraph(m_badModMap)); + ATH_CHECK(histGroupE[GENERAL].regGraph(m_badModMap)); m_badChipMap = new TGraphErrors(); m_badChipMap->SetName("MapOfDisabledChips"); - CHECK(histGroupE[GENERAL].regGraph(m_badChipMap)); - CHECK(bookEffHisto(m_badModFineMap, histGroupE[GENERAL], "FineMapOfDisabledModules", "", 60, -3, 3, 64, -3.2, + ATH_CHECK(histGroupE[GENERAL].regGraph(m_badChipMap)); + ATH_CHECK(bookEffHisto(m_badModFineMap, histGroupE[GENERAL], "FineMapOfDisabledModules", "", 60, -3, 3, 64, -3.2, 3.2)); } // Booking efficiency maps @@ -497,7 +455,7 @@ SCTHitEffMonTool::bookHistograms() { } for (Long_t j(0); j != 2; ++j) { // book inefficiency histogram - CHECK(bookEffHisto(m_ineffMap[detIndex][j], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_ineffMap[detIndex][j], histGroupE[isub], ineffMapName[isub] + i + "_" + j, "Hit inefficiency of" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub], n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, @@ -506,7 +464,7 @@ SCTHitEffMonTool::bookHistograms() { m_ineffMap[detIndex][j]->GetYaxis()->SetTitle("Index in the direction of #phi"); // - CHECK(bookEffHisto(m_effMap[detIndex][j], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_effMap[detIndex][j], histGroupE[isub], mapName[isub] + i + "_" + j, "Hit efficiency of" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub], n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, @@ -514,7 +472,7 @@ SCTHitEffMonTool::bookHistograms() { m_effMap[detIndex][j]->GetXaxis()->SetTitle("Index in the direction of #eta"); m_effMap[detIndex][j]->GetYaxis()->SetTitle("Index in the direction of #phi"); - CHECK(bookEffHisto(m_effMapFirstBCID[detIndex][j], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_effMapFirstBCID[detIndex][j], histGroupE[isub], mapName[isub] + i + "_" + j + "_bcid", "Hit efficiency of" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub] + " for first BCID", n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, @@ -522,7 +480,7 @@ SCTHitEffMonTool::bookHistograms() { m_effMapFirstBCID[detIndex][j]->GetXaxis()->SetTitle("Index in the direction of #eta"); m_effMapFirstBCID[detIndex][j]->GetYaxis()->SetTitle("Index in the direction of #phi"); - CHECK(bookEffHisto(m_effLumiBlock[detIndex][j], histGroupL[isub], + ATH_CHECK(bookEffHisto(m_effLumiBlock[detIndex][j], histGroupL[isub], effLumiName[isub] + i + "_" + j, "Efficiency vs LumiBlock of" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub], @@ -532,36 +490,36 @@ SCTHitEffMonTool::bookHistograms() { } if (m_superDetailed) { - CHECK(bookEffHisto(m_accMap[detIndex], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_accMap[detIndex], histGroupE[isub], "nDisabledChips_" + subDetNameShort[isub] + "_" + i, "Map of the acceptance for" + layerName[isub] + i + " in " + subDetName[isub], n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5)); TString resid("xlResidual_"); - CHECK(bookEffHisto(m_xlResidualHisto[isub][i], histGroupE[isub], resid + i, resid + i, + ATH_CHECK(bookEffHisto(m_xlResidualHisto[isub][i], histGroupE[isub], resid + i, resid + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_xlResidualE0Histo[isub][i], histGroupE[isub], resid + "eta0_" + i, resid + "eta0_" + i, + ATH_CHECK(bookEffHisto(m_xlResidualE0Histo[isub][i], histGroupE[isub], resid + "eta0_" + i, resid + "eta0_" + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_xlResidualE1Histo[isub][i], histGroupE[isub], resid + "eta1_" + i, resid + "eta1_" + i, + ATH_CHECK(bookEffHisto(m_xlResidualE1Histo[isub][i], histGroupE[isub], resid + "eta1_" + i, resid + "eta1_" + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_xlResidualUnasHisto[isub][i], histGroupE[isub], resid + "unas_" + i, resid + "unas_" + i, + ATH_CHECK(bookEffHisto(m_xlResidualUnasHisto[isub][i], histGroupE[isub], resid + "unas_" + i, resid + "unas_" + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i], histGroupE[isub], TString("residlayer") + i, + ATH_CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i], histGroupE[isub], TString("residlayer") + i, TString("residlayer") + i, n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5)); - CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i + 1], histGroupE[isub], TString("residlayer") + i + ".5", + ATH_CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i + 1], histGroupE[isub], TString("residlayer") + i + ".5", TString("residlayer") + i + ".5", n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5)); } } - CHECK(bookEffHisto(m_Eff_summaryHisto[isub], histGroupShift[isub], sumeff[isub], sumefftitle[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryHisto[isub], histGroupShift[isub], sumeff[isub], sumefftitle[isub], 2 * n_layers[isub], 0., n_layers[isub])); - CHECK(bookEffHisto(m_Eff_summaryHistoFirstBCID[isub], histGroupShift[isub], sumeffBCID[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryHistoFirstBCID[isub], histGroupShift[isub], sumeffBCID[isub], sumefftitleBCID[isub], 2 * n_layers[isub], 0., n_layers[isub])); - CHECK(bookEffHisto(m_Eff_summaryHisto_old[isub], histGroupShift[isub], sumeff_old[isub], sumefftitle[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryHisto_old[isub], histGroupShift[isub], sumeff_old[isub], sumefftitle[isub], 2 * n_layers[isub], 0., n_layers[isub])); unsigned int limit[3] = { N_DISKSx2, N_BARRELSx2, N_DISKSx2 @@ -577,139 +535,139 @@ SCTHitEffMonTool::bookHistograms() { m_Eff_summaryHistoFirstBCID[isub]->GetYaxis()->SetTitle("Efficiency"); m_Eff_summaryHisto_old[isub]->GetYaxis()->SetTitle("Efficiency"); - CHECK(bookEffHisto(m_Eff_LumiBlockHisto[isub], histGroupE[isub], "effLumiBlock", + ATH_CHECK(bookEffHisto(m_Eff_LumiBlockHisto[isub], histGroupE[isub], "effLumiBlock", "Efficiency vs Luminosity block in " + subDetName[isub], NBINS_LBs, 0.5, NBINS_LBs + 0.5)); m_Eff_LumiBlockHisto[isub]->GetXaxis()->SetTitle("Luminosity block"); m_Eff_LumiBlockHisto[isub]->GetYaxis()->SetTitle("Efficiency"); if (m_detailed) { - CHECK(bookEffHisto(m_nTrkUsedHisto[isub], histGroupE[isub], "nTrk Used", "nTrk used", 50, -0.5, 49.5)); - CHECK(bookEffHisto(m_probEnclosedHisto[isub], histGroupE[isub], "probEnclosed", "Probability Enclosed", + ATH_CHECK(bookEffHisto(m_nTrkUsedHisto[isub], histGroupE[isub], "nTrk Used", "nTrk used", 50, -0.5, 49.5)); + ATH_CHECK(bookEffHisto(m_probEnclosedHisto[isub], histGroupE[isub], "probEnclosed", "Probability Enclosed", 2 * n_layers[isub], -.25, n_layers[isub] - .25)); - CHECK(bookEffHisto(m_EventHisto[isub], histGroupE[isub], "EventNo", "Event No", 800, 0., 40000000.)); - CHECK(bookEffHisto(m_Eff_EventHisto[isub], histGroupE[isub], "effEventNo", "Efficiency v Event no.", 800, 0., + ATH_CHECK(bookEffHisto(m_EventHisto[isub], histGroupE[isub], "EventNo", "Event No", 800, 0., 40000000.)); + ATH_CHECK(bookEffHisto(m_Eff_EventHisto[isub], histGroupE[isub], "effEventNo", "Efficiency v Event no.", 800, 0., 40000000.)); - CHECK(bookEffHisto(m_SelectionHisto[isub], histGroupE[isub], "selectionCuts", "Selection Cuts", 12, -0.5, + ATH_CHECK(bookEffHisto(m_SelectionHisto[isub], histGroupE[isub], "selectionCuts", "Selection Cuts", 12, -0.5, 11.5)); - CHECK(bookEffHisto(m_Eff_SelectionHisto[isub], histGroupE[isub], "effSelectionCuts", + ATH_CHECK(bookEffHisto(m_Eff_SelectionHisto[isub], histGroupE[isub], "effSelectionCuts", "Efficiency v Selection Cuts", 12, -0.5, 11.5)); for (Int_t bin(0); bin != 12; ++bin) { m_SelectionHisto[isub]->GetXaxis()->SetBinLabel(bin + 1, selecName[bin]); m_Eff_SelectionHisto[isub]->GetXaxis()->SetBinLabel(bin + 1, selecName[bin]); } - CHECK(bookEffHisto(m_ResidualHisto[isub], histGroupE[isub], "residuals", "Residuals", 2000, -10, 10)); - CHECK(bookEffHisto(m_ResidualUnasHisto[isub], histGroupE[isub], "residualsUnas", "Residuals Unassociated", 2000, + ATH_CHECK(bookEffHisto(m_ResidualHisto[isub], histGroupE[isub], "residuals", "Residuals", 2000, -10, 10)); + ATH_CHECK(bookEffHisto(m_ResidualUnasHisto[isub], histGroupE[isub], "residualsUnas", "Residuals Unassociated", 2000, -10, 10)); - CHECK(bookEffHisto(m_ResidualMissHisto[isub], histGroupE[isub], "residualsMiss", "Residuals Miss", 2000, -10, + ATH_CHECK(bookEffHisto(m_ResidualMissHisto[isub], histGroupE[isub], "residualsMiss", "Residuals Miss", 2000, -10, 10)); - CHECK(bookEffHisto(m_Unas_summaryHisto[isub], histGroupE[isub], "summaryunas", + ATH_CHECK(bookEffHisto(m_Unas_summaryHisto[isub], histGroupE[isub], "summaryunas", "Summary Module Unassociated Per Event", 2 * 9, 0., 9.)); - CHECK(bookEffHisto(m_chi2Histo[isub], histGroupE[isub], "chi2", "Chi2", 50, 0., 10.)); - CHECK(bookEffHisto(m_Eff_chi2Histo[isub], histGroupE[isub], "effChi2", "Efficiency v Chi2", 25, 0., 10.)); - CHECK(bookEffHisto(m_Eff_chi2HistoFinal[isub], histGroupE[isub], "effChi2Final", "Efficiency v Chi2, Final", 25, + ATH_CHECK(bookEffHisto(m_chi2Histo[isub], histGroupE[isub], "chi2", "Chi2", 50, 0., 10.)); + ATH_CHECK(bookEffHisto(m_Eff_chi2Histo[isub], histGroupE[isub], "effChi2", "Efficiency v Chi2", 25, 0., 10.)); + ATH_CHECK(bookEffHisto(m_Eff_chi2HistoFinal[isub], histGroupE[isub], "effChi2Final", "Efficiency v Chi2, Final", 25, 0., 10.)); - CHECK(bookEffHisto(m_localMissHisto[isub], histGroupE[isub], "localMiss", "local position, hole", 40, -40., 40., + ATH_CHECK(bookEffHisto(m_localMissHisto[isub], histGroupE[isub], "localMiss", "local position, hole", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_localUnasHisto[isub], histGroupE[isub], "localUnas", "local position, unassociated hit", + ATH_CHECK(bookEffHisto(m_localUnasHisto[isub], histGroupE[isub], "localUnas", "local position, unassociated hit", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_Eff_etaHisto[isub], histGroupE[isub], "effEta", "Efficiency versus track eta", 30, -2.8, + ATH_CHECK(bookEffHisto(m_Eff_etaHisto[isub], histGroupE[isub], "effEta", "Efficiency versus track eta", 30, -2.8, 2.8)); - CHECK(bookEffHisto(m_Eff_etaPhiCutHisto[isub], histGroupE[isub], "effEtaPhiCut", + ATH_CHECK(bookEffHisto(m_Eff_etaPhiCutHisto[isub], histGroupE[isub], "effEtaPhiCut", "Efficiency versus track eta, phi cut", 30, -2.8, 2.8)); - CHECK(bookEffHisto(m_Eff_otherFaceHisto[isub], histGroupE[isub], "effOtherFace", + ATH_CHECK(bookEffHisto(m_Eff_otherFaceHisto[isub], histGroupE[isub], "effOtherFace", "Efficiency versus other face hit y/n", 3, -1.5, 1.5)); - CHECK(bookEffHisto(m_Unas_otherFaceHisto[isub], histGroupE[isub], "effOtherFaceUnas", + ATH_CHECK(bookEffHisto(m_Unas_otherFaceHisto[isub], histGroupE[isub], "effOtherFaceUnas", "other face hit Unassociated per event", 3, -1.5, 1.5)); - CHECK(bookEffHisto(m_Eff_nSCTHisto[isub], histGroupE[isub], "effNSCT", "Efficiency versus Number of SCT hits", + ATH_CHECK(bookEffHisto(m_Eff_nSCTHisto[isub], histGroupE[isub], "effNSCT", "Efficiency versus Number of SCT hits", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_Eff_nTRTHisto[isub], histGroupE[isub], "effNTRT", "Efficiency versus Number of TRT hits", + ATH_CHECK(bookEffHisto(m_Eff_nTRTHisto[isub], histGroupE[isub], "effNTRT", "Efficiency versus Number of TRT hits", 70, -1, 139.)); - CHECK(bookEffHisto(m_Eff_nOtherHisto[isub], histGroupE[isub], "effNOther", + ATH_CHECK(bookEffHisto(m_Eff_nOtherHisto[isub], histGroupE[isub], "effNOther", "Efficiency versus Number of other SCT sides hit", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_nOtherHisto[isub], histGroupE[isub], "nOther", "Number of other SCT barrel sides hit", 30, + ATH_CHECK(bookEffHisto(m_nOtherHisto[isub], histGroupE[isub], "nOther", "Number of other SCT barrel sides hit", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_timecorHisto[isub], histGroupE[isub], "timecor", "TRT phase", 120, -50.5, 69.5)); - CHECK(bookEffHisto(m_Eff_timecorHisto[isub], histGroupE[isub], "effTimecor", "Efficiency vs TRT phase", 120, + ATH_CHECK(bookEffHisto(m_timecorHisto[isub], histGroupE[isub], "timecor", "TRT phase", 120, -50.5, 69.5)); + ATH_CHECK(bookEffHisto(m_Eff_timecorHisto[isub], histGroupE[isub], "effTimecor", "Efficiency vs TRT phase", 120, -50.5, 69.5)); - CHECK(bookEffHisto(m_Eff_xlocHisto[isub], histGroupE[isub], "effXloc", "Module Efficiency by x local", 32, -32., + ATH_CHECK(bookEffHisto(m_Eff_xlocHisto[isub], histGroupE[isub], "effXloc", "Module Efficiency by x local", 32, -32., 32.)); - CHECK(bookEffHisto(m_Eff_ylocHistos[isub], histGroupE[isub], "effYloc", "Module Efficiency by y local", 32, + ATH_CHECK(bookEffHisto(m_Eff_ylocHistos[isub], histGroupE[isub], "effYloc", "Module Efficiency by y local", 32, -64., 64.)); - CHECK(bookEffHisto(m_Unas_xlocHisto[isub], histGroupE[isub], "unasXloc", + ATH_CHECK(bookEffHisto(m_Unas_xlocHisto[isub], histGroupE[isub], "unasXloc", "Unassociated hit per event by x local", 32, -32., 32.)); - CHECK(bookEffHisto(m_Unas_ylocHisto[isub], histGroupE[isub], "unasYloc", + ATH_CHECK(bookEffHisto(m_Unas_ylocHisto[isub], histGroupE[isub], "unasYloc", "Unassociated hit per event by y local", 32, -64., 64.)); - CHECK(bookEffHisto(m_Eff_ptiHisto[isub], histGroupE[isub], "effPti", "Module Efficiency by q/p", 20, -0.002, + ATH_CHECK(bookEffHisto(m_Eff_ptiHisto[isub], histGroupE[isub], "effPti", "Module Efficiency by q/p", 20, -0.002, 0.002)); - CHECK(bookEffHisto(m_Eff_ptHisto[isub], histGroupE[isub], "effPt", "Module Efficiency by log10 |p|", 40, 2., + ATH_CHECK(bookEffHisto(m_Eff_ptHisto[isub], histGroupE[isub], "effPt", "Module Efficiency by log10 |p|", 40, 2., 6.)); - CHECK(bookEffHisto(m_Unas_ptiHisto[isub], histGroupE[isub], "unasPti", "Unassociated Hit per event by q/p", 20, + ATH_CHECK(bookEffHisto(m_Unas_ptiHisto[isub], histGroupE[isub], "unasPti", "Unassociated Hit per event by q/p", 20, -0.002, 0.002)); - CHECK(bookEffHisto(m_Unas_phiHisto[isub], histGroupE[isub], "unasPhi", + ATH_CHECK(bookEffHisto(m_Unas_phiHisto[isub], histGroupE[isub], "unasPhi", "Unassociated hit per event by phi local", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_phiHisto[isub], histGroupE[isub], "effPhi", "Module Efficiency by Phi", 30, -90., + ATH_CHECK(bookEffHisto(m_Eff_phiHisto[isub], histGroupE[isub], "effPhi", "Module Efficiency by Phi", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_phiEtaCutHisto[isub], histGroupE[isub], "effPhiEtaCut", + ATH_CHECK(bookEffHisto(m_Eff_phiEtaCutHisto[isub], histGroupE[isub], "effPhiEtaCut", "Module Efficiency by Phi, Eta cut", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_phiHistoFinal[isub], histGroupE[isub], "effPhiFinal", "Module Efficiency by Phi Final", + ATH_CHECK(bookEffHisto(m_Eff_phiHistoFinal[isub], histGroupE[isub], "effPhiFinal", "Module Efficiency by Phi Final", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_d0Histo[isub], histGroupE[isub], "effD0", "Module Efficiency by D0", 10, -500., 500.)); - CHECK(bookEffHisto(m_Eff_d0PrecHisto[isub], histGroupE[isub], "effD0Prec", "Module Efficiency by D0 prec", 25, + ATH_CHECK(bookEffHisto(m_Eff_d0Histo[isub], histGroupE[isub], "effD0", "Module Efficiency by D0", 10, -500., 500.)); + ATH_CHECK(bookEffHisto(m_Eff_d0PrecHisto[isub], histGroupE[isub], "effD0Prec", "Module Efficiency by D0 prec", 25, -25., 25.)); - CHECK(bookEffHisto(m_Eff_z0Histo[isub], histGroupE[isub], "effZ0", "Module Efficiency by Z0", 10, -1000., + ATH_CHECK(bookEffHisto(m_Eff_z0Histo[isub], histGroupE[isub], "effZ0", "Module Efficiency by Z0", 10, -1000., 1000.)); - CHECK(bookEffHisto(m_etaTkUsedHisto[isub], histGroupE[isub], "EtaTkUsed", "Used Track Eta", 100, -2.8, 2.8)); - CHECK(bookEffHisto(m_phiTkUsedHisto[isub], histGroupE[isub], "PhiTkUsed", "Used Track Phi", 50, -3.142, 3.142)); - CHECK(bookEffHisto(m_ptiTkUsedHisto[isub], histGroupE[isub], "PtiTkUsed", "Used Track q/p (MeV)", 50, -0.002, + ATH_CHECK(bookEffHisto(m_etaTkUsedHisto[isub], histGroupE[isub], "EtaTkUsed", "Used Track Eta", 100, -2.8, 2.8)); + ATH_CHECK(bookEffHisto(m_phiTkUsedHisto[isub], histGroupE[isub], "PhiTkUsed", "Used Track Phi", 50, -3.142, 3.142)); + ATH_CHECK(bookEffHisto(m_ptiTkUsedHisto[isub], histGroupE[isub], "PtiTkUsed", "Used Track q/p (MeV)", 50, -0.002, 0.002)); - CHECK(bookEffHisto(m_ptTkUsedHisto[isub], histGroupE[isub], "PtTkUsed", "Used Track log10|p| (MeV)", 40, 2.0, + ATH_CHECK(bookEffHisto(m_ptTkUsedHisto[isub], histGroupE[isub], "PtTkUsed", "Used Track log10|p| (MeV)", 40, 2.0, 6.)); - CHECK(bookEffHisto(m_d0TkUsedHisto[isub], histGroupE[isub], "D0TkUsed", "Used Track D0", 50, -500., 500.)); - CHECK(bookEffHisto(m_d0PrecTkUsedHisto[isub], histGroupE[isub], "D0PrecTkUsed", "Used Track D0 prec", 100, -25., + ATH_CHECK(bookEffHisto(m_d0TkUsedHisto[isub], histGroupE[isub], "D0TkUsed", "Used Track D0", 50, -500., 500.)); + ATH_CHECK(bookEffHisto(m_d0PrecTkUsedHisto[isub], histGroupE[isub], "D0PrecTkUsed", "Used Track D0 prec", 100, -25., 25.)); - CHECK(bookEffHisto(m_z0TkUsedHisto[isub], histGroupE[isub], "Z0TkUsed", "Used Track Z0", 50, -1000., 1000.)); - CHECK(bookEffHisto(m_localHitXHisto[isub], histGroupE[isub], "localHitX", "local x position, hit", 80, -40., + ATH_CHECK(bookEffHisto(m_z0TkUsedHisto[isub], histGroupE[isub], "Z0TkUsed", "Used Track Z0", 50, -1000., 1000.)); + ATH_CHECK(bookEffHisto(m_localHitXHisto[isub], histGroupE[isub], "localHitX", "local x position, hit", 80, -40., 40.)); - CHECK(bookEffHisto(m_localHitYHistos[isub], histGroupE[isub], "localHitY", "local y position, hit", 320, -80., + ATH_CHECK(bookEffHisto(m_localHitYHistos[isub], histGroupE[isub], "localHitY", "local y position, hit", 320, -80., 80.)); - CHECK(bookEffHisto(m_phiLocalHisto[isub], histGroupE[isub], "phiLocal", "local phi of tracks", 60, -90., 90.)); - CHECK(bookEffHisto(m_phiLocalCutHisto[isub], histGroupE[isub], "phiLocalCut", "local phi of low D0 tracks", 60, + ATH_CHECK(bookEffHisto(m_phiLocalHisto[isub], histGroupE[isub], "phiLocal", "local phi of tracks", 60, -90., 90.)); + ATH_CHECK(bookEffHisto(m_phiLocalCutHisto[isub], histGroupE[isub], "phiLocalCut", "local phi of low D0 tracks", 60, -90., 90.)); - CHECK(bookEffHisto(m_Eff_nTrk[isub], histGroupE[isub], "effTrk", "Efficiency versus number of tracks", 200, 0, + ATH_CHECK(bookEffHisto(m_Eff_nTrk[isub], histGroupE[isub], "effTrk", "Efficiency versus number of tracks", 200, 0, 400.)); - CHECK(bookEffHisto(m_Eff_nGoodTrk[isub], histGroupE[isub], "effGoodTrk", + ATH_CHECK(bookEffHisto(m_Eff_nGoodTrk[isub], histGroupE[isub], "effGoodTrk", "Efficiency versus number of good tracks", 200, 0, 400.)); } if (m_superDetailed) { // CHECK (bookEffHisto(m_Eff_LumiBlockHisto[isub], histGroupE[isub],"effLumiBlock", "Efficiency v Luminosity // block",1000,1,1001)); - CHECK(bookEffHisto(m_inEffStrip[isub], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_inEffStrip[isub], histGroupE[isub], "StripInEfficiency" + subDetNameShort[isub], "Strips inefficiencies in " + subDetName[isub], n_mod[isub] * 2, f_mod[isub] * 2 - 0.5, (f_mod[isub] + n_mod[isub]) * 2 - 0.5, N_STRIPS, FIRST_STRIP - 0.5, LAST_STRIP + 0.5)); - CHECK(bookEffHisto(m_inEffChip[isub], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_inEffChip[isub], histGroupE[isub], "ChipInEfficiency" + subDetNameShort[isub], "Chips ineficiencies in " + subDetName[isub], n_mod[isub] * 2, f_mod[isub] * 2 - 0.5, (f_mod[isub] + n_mod[isub]) * 2 - 0.5, N_CHIPS, FIRST_CHIP - 0.5, LAST_CHIP + 0.5)); - CHECK(bookEffHisto(m_badModPerSide[isub], histGroupE[isub], "badModPerSide", "Number of bad module per side", + ATH_CHECK(bookEffHisto(m_badModPerSide[isub], histGroupE[isub], "badModPerSide", "Number of bad module per side", 2 * n_layers[isub], 0., n_layers[isub])); - CHECK(bookEffHisto(m_holesPerTrackHisto[isub], histGroupE[isub], "holesPerTrack", "Number of holes per track", + ATH_CHECK(bookEffHisto(m_holesPerTrackHisto[isub], histGroupE[isub], "holesPerTrack", "Number of holes per track", 2 * n_layers[isub], 0, n_layers[isub])); - CHECK(bookEffHisto(m_holesDistPerTrackHisto[isub], histGroupE[isub], "holesDistPerTrack", + ATH_CHECK(bookEffHisto(m_holesDistPerTrackHisto[isub], histGroupE[isub], "holesDistPerTrack", "Number of holes per track", 2 * n_layers[isub], 0, n_layers[isub])); - CHECK(bookEffHisto(m_chi2vPhiHisto[isub], histGroupE[isub], "Chi2vPhi", "Chi2 v Phi", 30, -90., 90.)); - CHECK(bookEffHisto(m_localHitHisto[isub], histGroupE[isub], "localHit", "local position, hit", 40, -40., 40., + ATH_CHECK(bookEffHisto(m_chi2vPhiHisto[isub], histGroupE[isub], "Chi2vPhi", "Chi2 v Phi", 30, -90., 90.)); + ATH_CHECK(bookEffHisto(m_localHitHisto[isub], histGroupE[isub], "localHit", "local position, hit", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_localHitGHisto[isub], histGroupE[isub], "localHitG", "local position Guard, hit", 40, -40., + ATH_CHECK(bookEffHisto(m_localHitGHisto[isub], histGroupE[isub], "localHitG", "local position Guard, hit", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_TwoSidesResiduals[isub], histGroupE[isub], "TwoSidesResiduals", "Two Sides Residuals", 120, + ATH_CHECK(bookEffHisto(m_TwoSidesResiduals[isub], histGroupE[isub], "TwoSidesResiduals", "Two Sides Residuals", 120, -3., 3., 120, -3., 3.)); - CHECK(bookEffHisto(m_TwoSidesResidualsIneff[isub], histGroupE[isub], "TwoSidesResidualsIneff", + ATH_CHECK(bookEffHisto(m_TwoSidesResidualsIneff[isub], histGroupE[isub], "TwoSidesResidualsIneff", "Two Sides Residuals (Inefficient/Unas)", 120, -30., 30., 120, -30., 30.)); - CHECK(bookEffHisto(m_chi2ResidualHisto[isub], histGroupE[isub], "chi2Residual", "Chi2 v Residual", 200, -10., + ATH_CHECK(bookEffHisto(m_chi2ResidualHisto[isub], histGroupE[isub], "chi2Residual", "Chi2 v Residual", 200, -10., 10., 120, 0., 10.)); - CHECK(bookEffHisto(m_Eff_summaryIncBadMod[isub], histGroupE[isub], "summaryIncBadMod" + subDetNameShort[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryIncBadMod[isub], histGroupE[isub], "summaryIncBadMod" + subDetNameShort[isub], "Efficiency vs. layer including bad sensors", 2 * n_layers[isub], 0., n_layers[isub])); } @@ -730,9 +688,8 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { if (newRunFlag()) { m_badChips = m_configConditions->badChips(); ATH_MSG_INFO("Found " << m_badChips->size() << " bad chips"); - for (std::map<Identifier, unsigned int>::const_iterator chip(m_badChips->begin()); chip != m_badChips->end(); - ++chip) { - ATH_MSG_VERBOSE("Module " << m_sctId->wafer_hash(chip->first) << ", chip " << chip->second); + for (const std::pair<Identifier, unsigned int>& chip: *m_badChips) { + ATH_MSG_VERBOSE("Module " << m_sctId->wafer_hash(chip.first) << ", chip " << chip.second); } std::array < MonGroup, N_REGIONS + 1 > histGroupE = {{ @@ -755,57 +712,57 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { MonGroup(this, m_path + histogramPath[GENERAL_INDEX], run, ATTRIB_UNMANAGED) }}; - CHECK(bookEffHisto(m_Eff_Total, histGroupE[GENERAL_INDEX], "SctTotalEff", "SCT Total Efficiency", N_REGIONS, 0, + ATH_CHECK(bookEffHisto(m_Eff_Total, histGroupE[GENERAL_INDEX], "SctTotalEff", "SCT Total Efficiency", N_REGIONS, 0, N_REGIONS)); for (Int_t i(0); i != 3; ++i) { m_Eff_Total->GetXaxis()->SetBinLabel(i + 1, subDetName[i]); } - CHECK(bookEffHisto(m_Eff_TotalBCID, histGroupE[GENERAL_INDEX], "SctTotalEffBCID", + ATH_CHECK(bookEffHisto(m_Eff_TotalBCID, histGroupE[GENERAL_INDEX], "SctTotalEffBCID", "SCT Total Efficiency for First BCID", N_REGIONS, 0, N_REGIONS)); for (Int_t i(0); i != 3; ++i) { m_Eff_TotalBCID->GetXaxis()->SetBinLabel(i + 1, subDetName[i]); } - CHECK(bookEffHisto(m_Eff_hashCodeHisto, histGroupE[GENERAL_INDEX], "effHashCode", "Efficiency vs module Hash code", + ATH_CHECK(bookEffHisto(m_Eff_hashCodeHisto, histGroupE[GENERAL_INDEX], "effHashCode", "Efficiency vs module Hash code", n_mod[GENERAL_INDEX] * 2, -0.5, n_mod[GENERAL_INDEX] * 2 - 0.5)); m_Eff_hashCodeHisto->GetXaxis()->SetTitle("Module Hash Code"); m_Eff_hashCodeHisto->GetYaxis()->SetTitle("Efficiency"); - CHECK(bookEffHisto(m_Eff_LumiBlockHisto_Total, histGroupE[GENERAL_INDEX], "effLumiBlock", + ATH_CHECK(bookEffHisto(m_Eff_LumiBlockHisto_Total, histGroupE[GENERAL_INDEX], "effLumiBlock", "Efficiency vs Luminosity block", NBINS_LBs, 0.5, NBINS_LBs + 0.5)); if (m_detailed) { - CHECK(bookEffHisto(m_SCTNHitHisto, histGroupE[BARREL_INDEX], "SCTNHit", "Number of total SCT hits", 30, -0.5, + ATH_CHECK(bookEffHisto(m_SCTNHitHisto, histGroupE[BARREL_INDEX], "SCTNHit", "Number of total SCT hits", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_barrelNHitHisto, histGroupE[BARREL_INDEX], "barrelNHit", "Number of hits in B", 30, -0.5, + ATH_CHECK(bookEffHisto(m_barrelNHitHisto, histGroupE[BARREL_INDEX], "barrelNHit", "Number of hits in B", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_pNHitHisto, histGroupE[BARREL_INDEX], "pNHit", "Number of hits in EA", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_mNHitHisto, histGroupE[BARREL_INDEX], "mNHit", "Number of hits in EC", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_trtNHitHisto, histGroupE[BARREL_INDEX], "trtNHit", "Number of TRT hits", 140, -0.5, 139.5)); - CHECK(bookEffHisto(m_pixelNHitHisto, histGroupE[BARREL_INDEX], "pixelNHit", "Number of pixel hits", 30, -0.5, + ATH_CHECK(bookEffHisto(m_pNHitHisto, histGroupE[BARREL_INDEX], "pNHit", "Number of hits in EA", 30, -0.5, 29.5)); + ATH_CHECK(bookEffHisto(m_mNHitHisto, histGroupE[BARREL_INDEX], "mNHit", "Number of hits in EC", 30, -0.5, 29.5)); + ATH_CHECK(bookEffHisto(m_trtNHitHisto, histGroupE[BARREL_INDEX], "trtNHit", "Number of TRT hits", 140, -0.5, 139.5)); + ATH_CHECK(bookEffHisto(m_pixelNHitHisto, histGroupE[BARREL_INDEX], "pixelNHit", "Number of pixel hits", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_hashCodeHisto, histGroupE[BARREL_INDEX], "hashCode", "module Hash code", + ATH_CHECK(bookEffHisto(m_hashCodeHisto, histGroupE[BARREL_INDEX], "hashCode", "module Hash code", n_mod[GENERAL_INDEX] * 2, -0.5, n_mod[GENERAL_INDEX] * 2 - 0.5)); - CHECK(bookEffHisto(m_d0TkHisto, histGroupE[GENERAL], "D0Tk", "Track D0", 50, -500., 500.)); - CHECK(bookEffHisto(m_z0TkHisto, histGroupE[GENERAL], "Z0Tk", "Track Z0", 500, -500., 500.)); - CHECK(bookEffHisto(m_PtTkHisto, histGroupE[GENERAL], "PtTk", "log10 Track Pt", 40, 2., 6.)); - CHECK(bookEffHisto(m_nTrkHisto, histGroupE[GENERAL], "nTrk", "num Tracks", 400, -0.5, 399.5)); - CHECK(bookEffHisto(m_etaTkHisto, histGroupE[GENERAL], "EtaTk", "Track Eta", 100, -2.5, 2.5)); - CHECK(bookEffHisto(m_d0PrecTkHisto, histGroupE[GENERAL], "D0Tk-prec", "Track D0 prec", 100, -25., 25.)); - CHECK(bookEffHisto(m_nTrkParsHisto, histGroupE[GENERAL], "nTrk pars", "num Tracks pars", 400, -0.5, 399.5)); - CHECK(bookEffHisto(m_nTrkGoodHisto, histGroupE[GENERAL], "nTrk good", "num Tracks good", 400, -0.5, 399.5)); + ATH_CHECK(bookEffHisto(m_d0TkHisto, histGroupE[GENERAL], "D0Tk", "Track D0", 50, -500., 500.)); + ATH_CHECK(bookEffHisto(m_z0TkHisto, histGroupE[GENERAL], "Z0Tk", "Track Z0", 500, -500., 500.)); + ATH_CHECK(bookEffHisto(m_PtTkHisto, histGroupE[GENERAL], "PtTk", "log10 Track Pt", 40, 2., 6.)); + ATH_CHECK(bookEffHisto(m_nTrkHisto, histGroupE[GENERAL], "nTrk", "num Tracks", 400, -0.5, 399.5)); + ATH_CHECK(bookEffHisto(m_etaTkHisto, histGroupE[GENERAL], "EtaTk", "Track Eta", 100, -2.5, 2.5)); + ATH_CHECK(bookEffHisto(m_d0PrecTkHisto, histGroupE[GENERAL], "D0Tk-prec", "Track D0 prec", 100, -25., 25.)); + ATH_CHECK(bookEffHisto(m_nTrkParsHisto, histGroupE[GENERAL], "nTrk pars", "num Tracks pars", 400, -0.5, 399.5)); + ATH_CHECK(bookEffHisto(m_nTrkGoodHisto, histGroupE[GENERAL], "nTrk good", "num Tracks good", 400, -0.5, 399.5)); } if (m_superDetailed) { - CHECK(bookEffHisto(m_LumiBlock, histGroupE[GENERAL], "LumiBlocks", "Luminosity blocks", NBINS_LBs, 0.5, NBINS_LBs + 0.5)); - CHECK(bookEffHisto(m_effHashLumiB, histGroupE[GENERAL], "effHashCodeLumiBlock", + ATH_CHECK(bookEffHisto(m_LumiBlock, histGroupE[GENERAL], "LumiBlocks", "Luminosity blocks", NBINS_LBs, 0.5, NBINS_LBs + 0.5)); + ATH_CHECK(bookEffHisto(m_effHashLumiB, histGroupE[GENERAL], "effHashCodeLumiBlock", "Modules efficiencies vs. lumi. block", n_mod[GENERAL_INDEX] * 2, -0.5, n_mod[GENERAL_INDEX] * 2 - 0.5, NBINS_LBs, 0.5, NBINS_LBs + 0.5)); m_badModMap = new TGraphErrors(); m_badModMap->SetName("MapOfDisabledModules"); - CHECK(histGroupE[GENERAL].regGraph(m_badModMap)); + ATH_CHECK(histGroupE[GENERAL].regGraph(m_badModMap)); m_badChipMap = new TGraphErrors(); m_badChipMap->SetName("MapOfDisabledChips"); - CHECK(histGroupE[GENERAL].regGraph(m_badChipMap)); - CHECK(bookEffHisto(m_badModFineMap, histGroupE[GENERAL], "FineMapOfDisabledModules", "", 60, -3, 3, 64, -3.2, + ATH_CHECK(histGroupE[GENERAL].regGraph(m_badChipMap)); + ATH_CHECK(bookEffHisto(m_badModFineMap, histGroupE[GENERAL], "FineMapOfDisabledModules", "", 60, -3, 3, 64, -3.2, 3.2)); } // Booking efficiency maps @@ -849,7 +806,7 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { } for (Long_t j(0); j != 2; ++j) { // book inefficiency histogram - CHECK(bookEffHisto(m_ineffMap[detIndex][j], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_ineffMap[detIndex][j], histGroupE[isub], ineffMapName[isub] + i + "_" + j, "Hit inefficiency of" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub], n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, @@ -858,7 +815,7 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { m_ineffMap[detIndex][j]->GetYaxis()->SetTitle("Index in the direction of #phi"); // - CHECK(bookEffHisto(m_effMap[detIndex][j], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_effMap[detIndex][j], histGroupE[isub], mapName[isub] + i + "_" + j, "Hit efficiency of" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub], n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, @@ -866,7 +823,7 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { m_effMap[detIndex][j]->GetXaxis()->SetTitle("Index in the direction of #eta"); m_effMap[detIndex][j]->GetYaxis()->SetTitle("Index in the direction of #phi"); - CHECK(bookEffHisto(m_effMapFirstBCID[detIndex][j], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_effMapFirstBCID[detIndex][j], histGroupE[isub], mapName[isub] + i + "_" + j + "_bcid", "Hit efficiency of" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub] + " for first BCID", n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, @@ -874,7 +831,7 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { m_effMapFirstBCID[detIndex][j]->GetXaxis()->SetTitle("Index in the direction of #eta"); m_effMapFirstBCID[detIndex][j]->GetYaxis()->SetTitle("Index in the direction of #phi"); - CHECK(bookEffHisto(m_effLumiBlock[detIndex][j], histGroupL[isub], + ATH_CHECK(bookEffHisto(m_effLumiBlock[detIndex][j], histGroupL[isub], effLumiName[isub] + i + "_" + j, "Efficiency vs LumiBlock" + layerName[isub] + i + " / side " + j + " in " + subDetName[isub], @@ -883,36 +840,36 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { m_effLumiBlock[detIndex][j]->GetYaxis()->SetTitle("Efficiency"); } if (m_superDetailed) { - CHECK(bookEffHisto(m_accMap[detIndex], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_accMap[detIndex], histGroupE[isub], "nDisabledChips_" + subDetNameShort[isub] + "_" + i, "Map of the acceptance for" + layerName[isub] + i + " in " + subDetName[isub], n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5)); TString resid("xlResidual_"); - CHECK(bookEffHisto(m_xlResidualHisto[isub][i], histGroupE[isub], resid + i, resid + i, + ATH_CHECK(bookEffHisto(m_xlResidualHisto[isub][i], histGroupE[isub], resid + i, resid + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_xlResidualE0Histo[isub][i], histGroupE[isub], resid + "eta0_" + i, resid + "eta0_" + i, + ATH_CHECK(bookEffHisto(m_xlResidualE0Histo[isub][i], histGroupE[isub], resid + "eta0_" + i, resid + "eta0_" + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_xlResidualE1Histo[isub][i], histGroupE[isub], resid + "eta1_" + i, resid + "eta1_" + i, + ATH_CHECK(bookEffHisto(m_xlResidualE1Histo[isub][i], histGroupE[isub], resid + "eta1_" + i, resid + "eta1_" + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_xlResidualUnasHisto[isub][i], histGroupE[isub], resid + "unas_" + i, resid + "unas_" + i, + ATH_CHECK(bookEffHisto(m_xlResidualUnasHisto[isub][i], histGroupE[isub], resid + "unas_" + i, resid + "unas_" + i, 100, -30.5, 30.5, 100, -60., 60.)); - CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i], histGroupE[isub], TString("residlayer") + i, + ATH_CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i], histGroupE[isub], TString("residlayer") + i, TString("residlayer") + i, n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5)); - CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i + 1], histGroupE[isub], TString("residlayer") + i + ".5", + ATH_CHECK(bookEffHisto(m_layerResidualHistos[isub][2 * i + 1], histGroupE[isub], TString("residlayer") + i + ".5", TString("residlayer") + i + ".5", n_etabins[isub], f_etabin[isub] - .5, l_etabin[isub] + .5, n_phibins[isub], f_phibin[isub] - .5, l_phibin[isub] + .5)); } } - CHECK(bookEffHisto(m_Eff_summaryHisto[isub], histGroupShift[isub], sumeff[isub], sumefftitle[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryHisto[isub], histGroupShift[isub], sumeff[isub], sumefftitle[isub], 2 * n_layers[isub], 0., n_layers[isub])); - CHECK(bookEffHisto(m_Eff_summaryHistoFirstBCID[isub], histGroupShift[isub], sumeffBCID[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryHistoFirstBCID[isub], histGroupShift[isub], sumeffBCID[isub], sumefftitleBCID[isub], 2 * n_layers[isub], 0., n_layers[isub])); - CHECK(bookEffHisto(m_Eff_summaryHisto_old[isub], histGroupShift[isub], sumeff_old[isub], sumefftitle[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryHisto_old[isub], histGroupShift[isub], sumeff_old[isub], sumefftitle[isub], 2 * n_layers[isub], 0., n_layers[isub])); unsigned int limit[3] = { N_DISKSx2, N_BARRELSx2, N_DISKSx2 @@ -926,137 +883,137 @@ SCTHitEffMonTool::bookHistogramsRecurrent() { m_Eff_summaryHisto[isub]->GetYaxis()->SetTitle("Efficiency"); m_Eff_summaryHistoFirstBCID[isub]->GetYaxis()->SetTitle("Efficiency"); m_Eff_summaryHisto_old[isub]->GetYaxis()->SetTitle("Efficiency"); - CHECK(bookEffHisto(m_Eff_LumiBlockHisto[isub], histGroupE[isub], "effLumiBlock", + ATH_CHECK(bookEffHisto(m_Eff_LumiBlockHisto[isub], histGroupE[isub], "effLumiBlock", "Efficiency vs Luminosity block in " + subDetName[isub], NBINS_LBs, 0.5, NBINS_LBs + 0.5)); m_Eff_LumiBlockHisto[isub]->GetXaxis()->SetTitle("Luminosity block"); m_Eff_LumiBlockHisto[isub]->GetYaxis()->SetTitle("Efficiency"); if (m_detailed) { - CHECK(bookEffHisto(m_nTrkUsedHisto[isub], histGroupE[isub], "nTrk Used", "nTrk used", 50, -0.5, 49.5)); - CHECK(bookEffHisto(m_probEnclosedHisto[isub], histGroupE[isub], "probEnclosed", "Probability Enclosed", + ATH_CHECK(bookEffHisto(m_nTrkUsedHisto[isub], histGroupE[isub], "nTrk Used", "nTrk used", 50, -0.5, 49.5)); + ATH_CHECK(bookEffHisto(m_probEnclosedHisto[isub], histGroupE[isub], "probEnclosed", "Probability Enclosed", 2 * n_layers[isub], -.25, n_layers[isub] - .25)); - CHECK(bookEffHisto(m_EventHisto[isub], histGroupE[isub], "EventNo", "Event No", 800, 0., 40000000.)); - CHECK(bookEffHisto(m_Eff_EventHisto[isub], histGroupE[isub], "effEventNo", "Efficiency v Event no.", 800, 0., + ATH_CHECK(bookEffHisto(m_EventHisto[isub], histGroupE[isub], "EventNo", "Event No", 800, 0., 40000000.)); + ATH_CHECK(bookEffHisto(m_Eff_EventHisto[isub], histGroupE[isub], "effEventNo", "Efficiency v Event no.", 800, 0., 40000000.)); - CHECK(bookEffHisto(m_SelectionHisto[isub], histGroupE[isub], "selectionCuts", "Selection Cuts", 12, -0.5, + ATH_CHECK(bookEffHisto(m_SelectionHisto[isub], histGroupE[isub], "selectionCuts", "Selection Cuts", 12, -0.5, 11.5)); - CHECK(bookEffHisto(m_Eff_SelectionHisto[isub], histGroupE[isub], "effSelectionCuts", + ATH_CHECK(bookEffHisto(m_Eff_SelectionHisto[isub], histGroupE[isub], "effSelectionCuts", "Efficiency v Selection Cuts", 12, -0.5, 11.5)); for (Int_t bin(0); bin != 12; ++bin) { m_SelectionHisto[isub]->GetXaxis()->SetBinLabel(bin + 1, selecName[bin]); m_Eff_SelectionHisto[isub]->GetXaxis()->SetBinLabel(bin + 1, selecName[bin]); } - CHECK(bookEffHisto(m_ResidualHisto[isub], histGroupE[isub], "residuals", "Residuals", 2000, -10, 10)); - CHECK(bookEffHisto(m_ResidualUnasHisto[isub], histGroupE[isub], "residualsUnas", "Residuals Unassociated", 2000, + ATH_CHECK(bookEffHisto(m_ResidualHisto[isub], histGroupE[isub], "residuals", "Residuals", 2000, -10, 10)); + ATH_CHECK(bookEffHisto(m_ResidualUnasHisto[isub], histGroupE[isub], "residualsUnas", "Residuals Unassociated", 2000, -10, 10)); - CHECK(bookEffHisto(m_ResidualMissHisto[isub], histGroupE[isub], "residualsMiss", "Residuals Miss", 2000, -10, + ATH_CHECK(bookEffHisto(m_ResidualMissHisto[isub], histGroupE[isub], "residualsMiss", "Residuals Miss", 2000, -10, 10)); - CHECK(bookEffHisto(m_Unas_summaryHisto[isub], histGroupE[isub], "summaryunas", + ATH_CHECK(bookEffHisto(m_Unas_summaryHisto[isub], histGroupE[isub], "summaryunas", "Summary Module Unassociated Per Event", 2 * 9, 0., 9.)); - CHECK(bookEffHisto(m_chi2Histo[isub], histGroupE[isub], "chi2", "Chi2", 50, 0., 10.)); - CHECK(bookEffHisto(m_Eff_chi2Histo[isub], histGroupE[isub], "effChi2", "Efficiency v Chi2", 25, 0., 10.)); - CHECK(bookEffHisto(m_Eff_chi2HistoFinal[isub], histGroupE[isub], "effChi2Final", "Efficiency v Chi2, Final", 25, + ATH_CHECK(bookEffHisto(m_chi2Histo[isub], histGroupE[isub], "chi2", "Chi2", 50, 0., 10.)); + ATH_CHECK(bookEffHisto(m_Eff_chi2Histo[isub], histGroupE[isub], "effChi2", "Efficiency v Chi2", 25, 0., 10.)); + ATH_CHECK(bookEffHisto(m_Eff_chi2HistoFinal[isub], histGroupE[isub], "effChi2Final", "Efficiency v Chi2, Final", 25, 0., 10.)); - CHECK(bookEffHisto(m_localMissHisto[isub], histGroupE[isub], "localMiss", "local position, hole", 40, -40., 40., + ATH_CHECK(bookEffHisto(m_localMissHisto[isub], histGroupE[isub], "localMiss", "local position, hole", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_localUnasHisto[isub], histGroupE[isub], "localUnas", "local position, unassociated hit", + ATH_CHECK(bookEffHisto(m_localUnasHisto[isub], histGroupE[isub], "localUnas", "local position, unassociated hit", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_Eff_etaHisto[isub], histGroupE[isub], "effEta", "Efficiency versus track eta", 30, -2.8, + ATH_CHECK(bookEffHisto(m_Eff_etaHisto[isub], histGroupE[isub], "effEta", "Efficiency versus track eta", 30, -2.8, 2.8)); - CHECK(bookEffHisto(m_Eff_etaPhiCutHisto[isub], histGroupE[isub], "effEtaPhiCut", + ATH_CHECK(bookEffHisto(m_Eff_etaPhiCutHisto[isub], histGroupE[isub], "effEtaPhiCut", "Efficiency versus track eta, phi cut", 30, -2.8, 2.8)); - CHECK(bookEffHisto(m_Eff_otherFaceHisto[isub], histGroupE[isub], "effOtherFace", + ATH_CHECK(bookEffHisto(m_Eff_otherFaceHisto[isub], histGroupE[isub], "effOtherFace", "Efficiency versus other face hit y/n", 3, -1.5, 1.5)); - CHECK(bookEffHisto(m_Unas_otherFaceHisto[isub], histGroupE[isub], "effOtherFaceUnas", + ATH_CHECK(bookEffHisto(m_Unas_otherFaceHisto[isub], histGroupE[isub], "effOtherFaceUnas", "other face hit Unassociated per event", 3, -1.5, 1.5)); - CHECK(bookEffHisto(m_Eff_nSCTHisto[isub], histGroupE[isub], "effNSCT", "Efficiency versus Number of SCT hits", + ATH_CHECK(bookEffHisto(m_Eff_nSCTHisto[isub], histGroupE[isub], "effNSCT", "Efficiency versus Number of SCT hits", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_Eff_nTRTHisto[isub], histGroupE[isub], "effNTRT", "Efficiency versus Number of TRT hits", + ATH_CHECK(bookEffHisto(m_Eff_nTRTHisto[isub], histGroupE[isub], "effNTRT", "Efficiency versus Number of TRT hits", 70, -1, 139.)); - CHECK(bookEffHisto(m_Eff_nOtherHisto[isub], histGroupE[isub], "effNOther", + ATH_CHECK(bookEffHisto(m_Eff_nOtherHisto[isub], histGroupE[isub], "effNOther", "Efficiency versus Number of other SCT sides hit", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_nOtherHisto[isub], histGroupE[isub], "nOther", "Number of other SCT barrel sides hit", 30, + ATH_CHECK(bookEffHisto(m_nOtherHisto[isub], histGroupE[isub], "nOther", "Number of other SCT barrel sides hit", 30, -0.5, 29.5)); - CHECK(bookEffHisto(m_timecorHisto[isub], histGroupE[isub], "timecor", "TRT phase", 120, -50.5, 69.5)); - CHECK(bookEffHisto(m_Eff_timecorHisto[isub], histGroupE[isub], "effTimecor", "Efficiency vs TRT phase", 120, + ATH_CHECK(bookEffHisto(m_timecorHisto[isub], histGroupE[isub], "timecor", "TRT phase", 120, -50.5, 69.5)); + ATH_CHECK(bookEffHisto(m_Eff_timecorHisto[isub], histGroupE[isub], "effTimecor", "Efficiency vs TRT phase", 120, -50.5, 69.5)); - CHECK(bookEffHisto(m_Eff_xlocHisto[isub], histGroupE[isub], "effXloc", "Module Efficiency by x local", 32, -32., + ATH_CHECK(bookEffHisto(m_Eff_xlocHisto[isub], histGroupE[isub], "effXloc", "Module Efficiency by x local", 32, -32., 32.)); - CHECK(bookEffHisto(m_Eff_ylocHistos[isub], histGroupE[isub], "effYloc", "Module Efficiency by y local", 32, + ATH_CHECK(bookEffHisto(m_Eff_ylocHistos[isub], histGroupE[isub], "effYloc", "Module Efficiency by y local", 32, -64., 64.)); - CHECK(bookEffHisto(m_Unas_xlocHisto[isub], histGroupE[isub], "unasXloc", + ATH_CHECK(bookEffHisto(m_Unas_xlocHisto[isub], histGroupE[isub], "unasXloc", "Unassociated hit per event by x local", 32, -32., 32.)); - CHECK(bookEffHisto(m_Unas_ylocHisto[isub], histGroupE[isub], "unasYloc", + ATH_CHECK(bookEffHisto(m_Unas_ylocHisto[isub], histGroupE[isub], "unasYloc", "Unassociated hit per event by y local", 32, -64., 64.)); - CHECK(bookEffHisto(m_Eff_ptiHisto[isub], histGroupE[isub], "effPti", "Module Efficiency by q/p", 20, -0.002, + ATH_CHECK(bookEffHisto(m_Eff_ptiHisto[isub], histGroupE[isub], "effPti", "Module Efficiency by q/p", 20, -0.002, 0.002)); - CHECK(bookEffHisto(m_Eff_ptHisto[isub], histGroupE[isub], "effPt", "Module Efficiency by log10 |p|", 40, 2., + ATH_CHECK(bookEffHisto(m_Eff_ptHisto[isub], histGroupE[isub], "effPt", "Module Efficiency by log10 |p|", 40, 2., 6.)); - CHECK(bookEffHisto(m_Unas_ptiHisto[isub], histGroupE[isub], "unasPti", "Unassociated Hit per event by q/p", 20, + ATH_CHECK(bookEffHisto(m_Unas_ptiHisto[isub], histGroupE[isub], "unasPti", "Unassociated Hit per event by q/p", 20, -0.002, 0.002)); - CHECK(bookEffHisto(m_Unas_phiHisto[isub], histGroupE[isub], "unasPhi", + ATH_CHECK(bookEffHisto(m_Unas_phiHisto[isub], histGroupE[isub], "unasPhi", "Unassociated hit per event by phi local", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_phiHisto[isub], histGroupE[isub], "effPhi", "Module Efficiency by Phi", 30, -90., + ATH_CHECK(bookEffHisto(m_Eff_phiHisto[isub], histGroupE[isub], "effPhi", "Module Efficiency by Phi", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_phiEtaCutHisto[isub], histGroupE[isub], "effPhiEtaCut", + ATH_CHECK(bookEffHisto(m_Eff_phiEtaCutHisto[isub], histGroupE[isub], "effPhiEtaCut", "Module Efficiency by Phi, Eta cut", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_phiHistoFinal[isub], histGroupE[isub], "effPhiFinal", "Module Efficiency by Phi Final", + ATH_CHECK(bookEffHisto(m_Eff_phiHistoFinal[isub], histGroupE[isub], "effPhiFinal", "Module Efficiency by Phi Final", 30, -90., 90.)); - CHECK(bookEffHisto(m_Eff_d0Histo[isub], histGroupE[isub], "effD0", "Module Efficiency by D0", 10, -500., 500.)); - CHECK(bookEffHisto(m_Eff_d0PrecHisto[isub], histGroupE[isub], "effD0Prec", "Module Efficiency by D0 prec", 25, + ATH_CHECK(bookEffHisto(m_Eff_d0Histo[isub], histGroupE[isub], "effD0", "Module Efficiency by D0", 10, -500., 500.)); + ATH_CHECK(bookEffHisto(m_Eff_d0PrecHisto[isub], histGroupE[isub], "effD0Prec", "Module Efficiency by D0 prec", 25, -25., 25.)); - CHECK(bookEffHisto(m_Eff_z0Histo[isub], histGroupE[isub], "effZ0", "Module Efficiency by Z0", 10, -1000., + ATH_CHECK(bookEffHisto(m_Eff_z0Histo[isub], histGroupE[isub], "effZ0", "Module Efficiency by Z0", 10, -1000., 1000.)); - CHECK(bookEffHisto(m_etaTkUsedHisto[isub], histGroupE[isub], "EtaTkUsed", "Used Track Eta", 100, -2.8, 2.8)); - CHECK(bookEffHisto(m_phiTkUsedHisto[isub], histGroupE[isub], "PhiTkUsed", "Used Track Phi", 50, -3.142, 3.142)); - CHECK(bookEffHisto(m_ptiTkUsedHisto[isub], histGroupE[isub], "PtiTkUsed", "Used Track q/p (MeV)", 50, -0.002, + ATH_CHECK(bookEffHisto(m_etaTkUsedHisto[isub], histGroupE[isub], "EtaTkUsed", "Used Track Eta", 100, -2.8, 2.8)); + ATH_CHECK(bookEffHisto(m_phiTkUsedHisto[isub], histGroupE[isub], "PhiTkUsed", "Used Track Phi", 50, -3.142, 3.142)); + ATH_CHECK(bookEffHisto(m_ptiTkUsedHisto[isub], histGroupE[isub], "PtiTkUsed", "Used Track q/p (MeV)", 50, -0.002, 0.002)); - CHECK(bookEffHisto(m_ptTkUsedHisto[isub], histGroupE[isub], "PtTkUsed", "Used Track log10|p| (MeV)", 40, 2.0, + ATH_CHECK(bookEffHisto(m_ptTkUsedHisto[isub], histGroupE[isub], "PtTkUsed", "Used Track log10|p| (MeV)", 40, 2.0, 6.)); - CHECK(bookEffHisto(m_d0TkUsedHisto[isub], histGroupE[isub], "D0TkUsed", "Used Track D0", 50, -500., 500.)); - CHECK(bookEffHisto(m_d0PrecTkUsedHisto[isub], histGroupE[isub], "D0PrecTkUsed", "Used Track D0 prec", 100, -25., + ATH_CHECK(bookEffHisto(m_d0TkUsedHisto[isub], histGroupE[isub], "D0TkUsed", "Used Track D0", 50, -500., 500.)); + ATH_CHECK(bookEffHisto(m_d0PrecTkUsedHisto[isub], histGroupE[isub], "D0PrecTkUsed", "Used Track D0 prec", 100, -25., 25.)); - CHECK(bookEffHisto(m_z0TkUsedHisto[isub], histGroupE[isub], "Z0TkUsed", "Used Track Z0", 50, -1000., 1000.)); - CHECK(bookEffHisto(m_localHitXHisto[isub], histGroupE[isub], "localHitX", "local x position, hit", 80, -40., + ATH_CHECK(bookEffHisto(m_z0TkUsedHisto[isub], histGroupE[isub], "Z0TkUsed", "Used Track Z0", 50, -1000., 1000.)); + ATH_CHECK(bookEffHisto(m_localHitXHisto[isub], histGroupE[isub], "localHitX", "local x position, hit", 80, -40., 40.)); - CHECK(bookEffHisto(m_localHitYHistos[isub], histGroupE[isub], "localHitY", "local y position, hit", 320, -80., + ATH_CHECK(bookEffHisto(m_localHitYHistos[isub], histGroupE[isub], "localHitY", "local y position, hit", 320, -80., 80.)); - CHECK(bookEffHisto(m_phiLocalHisto[isub], histGroupE[isub], "phiLocal", "local phi of tracks", 60, -90., 90.)); - CHECK(bookEffHisto(m_phiLocalCutHisto[isub], histGroupE[isub], "phiLocalCut", "local phi of low D0 tracks", 60, + ATH_CHECK(bookEffHisto(m_phiLocalHisto[isub], histGroupE[isub], "phiLocal", "local phi of tracks", 60, -90., 90.)); + ATH_CHECK(bookEffHisto(m_phiLocalCutHisto[isub], histGroupE[isub], "phiLocalCut", "local phi of low D0 tracks", 60, -90., 90.)); - CHECK(bookEffHisto(m_Eff_nTrk[isub], histGroupE[isub], "effTrk", "Efficiency versus number of tracks", 200, 0, + ATH_CHECK(bookEffHisto(m_Eff_nTrk[isub], histGroupE[isub], "effTrk", "Efficiency versus number of tracks", 200, 0, 400.)); - CHECK(bookEffHisto(m_Eff_nGoodTrk[isub], histGroupE[isub], "effGoodTrk", + ATH_CHECK(bookEffHisto(m_Eff_nGoodTrk[isub], histGroupE[isub], "effGoodTrk", "Efficiency versus number of good tracks", 200, 0, 400.)); } if (m_superDetailed) { - CHECK(bookEffHisto(m_inEffStrip[isub], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_inEffStrip[isub], histGroupE[isub], "StripInEfficiency" + subDetNameShort[isub], "Strips inefficiencies in " + subDetName[isub], n_mod[isub] * 2, f_mod[isub] * 2 - 0.5, (f_mod[isub] + n_mod[isub]) * 2 - 0.5, N_STRIPS, FIRST_STRIP - 0.5, LAST_STRIP + 0.5)); - CHECK(bookEffHisto(m_inEffChip[isub], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_inEffChip[isub], histGroupE[isub], "ChipInEfficiency" + subDetNameShort[isub], "Chips ineficiencies in " + subDetName[isub], n_mod[isub] * 2, f_mod[isub] * 2 - 0.5, (f_mod[isub] + n_mod[isub]) * 2 - 0.5, N_CHIPS, FIRST_CHIP - 0.5, LAST_CHIP + 0.5)); - CHECK(bookEffHisto(m_badModPerSide[isub], histGroupE[isub], "badModPerSide", "Number of bad module per side", + ATH_CHECK(bookEffHisto(m_badModPerSide[isub], histGroupE[isub], "badModPerSide", "Number of bad module per side", 2 * n_layers[isub], 0., n_layers[isub])); - CHECK(bookEffHisto(m_holesPerTrackHisto[isub], histGroupE[isub], "holesPerTrack", "Number of holes per track", + ATH_CHECK(bookEffHisto(m_holesPerTrackHisto[isub], histGroupE[isub], "holesPerTrack", "Number of holes per track", 2 * n_layers[isub], 0, n_layers[isub])); - CHECK(bookEffHisto(m_holesDistPerTrackHisto[isub], histGroupE[isub], "holesDistPerTrack", + ATH_CHECK(bookEffHisto(m_holesDistPerTrackHisto[isub], histGroupE[isub], "holesDistPerTrack", "Number of holes per track", 2 * n_layers[isub], 0, n_layers[isub])); - CHECK(bookEffHisto(m_chi2vPhiHisto[isub], histGroupE[isub], "Chi2vPhi", "Chi2 v Phi", 30, -90., 90.)); - CHECK(bookEffHisto(m_localHitHisto[isub], histGroupE[isub], "localHit", "local position, hit", 40, -40., 40., + ATH_CHECK(bookEffHisto(m_chi2vPhiHisto[isub], histGroupE[isub], "Chi2vPhi", "Chi2 v Phi", 30, -90., 90.)); + ATH_CHECK(bookEffHisto(m_localHitHisto[isub], histGroupE[isub], "localHit", "local position, hit", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_localHitGHisto[isub], histGroupE[isub], "localHitG", "local position Guard, hit", 40, -40., + ATH_CHECK(bookEffHisto(m_localHitGHisto[isub], histGroupE[isub], "localHitG", "local position Guard, hit", 40, -40., 40., 40, -80., 80.)); - CHECK(bookEffHisto(m_TwoSidesResiduals[isub], histGroupE[isub], "TwoSidesResiduals", "Two Sides Residuals", 120, + ATH_CHECK(bookEffHisto(m_TwoSidesResiduals[isub], histGroupE[isub], "TwoSidesResiduals", "Two Sides Residuals", 120, -3., 3., 120, -3., 3.)); - CHECK(bookEffHisto(m_TwoSidesResidualsIneff[isub], histGroupE[isub], "TwoSidesResidualsIneff", + ATH_CHECK(bookEffHisto(m_TwoSidesResidualsIneff[isub], histGroupE[isub], "TwoSidesResidualsIneff", "Two Sides Residuals (Inefficient/Unas)", 120, -30., 30., 120, -30., 30.)); - CHECK(bookEffHisto(m_chi2ResidualHisto[isub], histGroupE[isub], "chi2Residual", "Chi2 v Residual", 200, -10., + ATH_CHECK(bookEffHisto(m_chi2ResidualHisto[isub], histGroupE[isub], "chi2Residual", "Chi2 v Residual", 200, -10., 10., 120, 0., 10.)); - CHECK(bookEffHisto(m_Eff_summaryIncBadMod[isub], histGroupE[isub], "summaryIncBadMod" + subDetNameShort[isub], + ATH_CHECK(bookEffHisto(m_Eff_summaryIncBadMod[isub], histGroupE[isub], "summaryIncBadMod" + subDetNameShort[isub], "Efficiency vs. layer including bad sensors", 2 * n_layers[isub], 0., n_layers[isub])); } @@ -1091,7 +1048,6 @@ SCTHitEffMonTool::fillHistograms() { } unsigned BCID = pEvent->bcid(); int BCIDpos = m_bunchCrossingTool->distanceFromFront(BCID); - //bool InTrain = m_bunchCrossingTool->isInTrain(BCID); if (m_chronotime) { m_chrono->chronoStart("SCTHitEff"); @@ -1138,11 +1094,9 @@ SCTHitEffMonTool::fillHistograms() { Int_t nTrk(0), nTrkPars(0), nTrkGood(0); // Loop over track collection to count tracks - const TrackCollection::const_iterator endOfTracks(tracks->end()); - for (TrackCollection::const_iterator itr(tracks->begin()); itr != endOfTracks; ++itr) { + for (const Trk::Track* pthisTrack: *tracks) { nTrk++; - const Trk::Track* pthisTrack(*itr); - if (not pthisTrack) { + if (pthisTrack==nullptr) { continue; } if (failCut(pthisTrack and pthisTrack->trackParameters() and pthisTrack->trackParameters()->size(), @@ -1177,11 +1131,9 @@ SCTHitEffMonTool::fillHistograms() { } // Loop over original track collection - // const TrackCollection::const_iterator endOfTracks(tracks->end()); - for (TrackCollection::const_iterator itr(tracks->begin()); itr != endOfTracks; ++itr) { + for (const Trk::Track* pthisTrack: *tracks) { ATH_MSG_VERBOSE("Starting new track"); - const Trk::Track* pthisTrack(*itr); - if (not pthisTrack) { + if (pthisTrack==nullptr) { continue; } if (failCut(pthisTrack and pthisTrack->trackParameters() and pthisTrack->trackParameters()->size(), @@ -1225,16 +1177,12 @@ SCTHitEffMonTool::fillHistograms() { continue; } - const Trk::Track* trackWithHoles = m_holeSearchTool->getTrackWithHoles(*pthisTrack); + std::unique_ptr<const Trk::Track> trackWithHoles(m_holeSearchTool->getTrackWithHoles(*pthisTrack)); if (not trackWithHoles) { ATH_MSG_WARNING("trackWithHoles pointer is invalid"); continue; } ATH_MSG_VERBOSE("Found " << trackWithHoles->trackStateOnSurfaces()->size() << " states on track"); - // loop over all hits on track - DataVector<const Trk::TrackStateOnSurface>::const_iterator TSOSItr = - trackWithHoles->trackStateOnSurfaces()->begin(); - DataVector<const Trk::TrackStateOnSurface>::const_iterator TSOSItrE = trackWithHoles->trackStateOnSurfaces()->end(); Int_t NHits[3] = { 0, 0, 0 @@ -1250,13 +1198,14 @@ SCTHitEffMonTool::fillHistograms() { Float_t max_layerSide(-1); Identifier surfaceID; - for (; TSOSItr != TSOSItrE; ++TSOSItr) { - surfaceID = surfaceOnTrackIdentifier(*TSOSItr); + // loop over all hits on track + for (const Trk::TrackStateOnSurface* tsos: *(trackWithHoles->trackStateOnSurfaces())) { + surfaceID = surfaceOnTrackIdentifier(tsos); if (!surfaceID.is_valid()) { continue; } - if ((*TSOSItr)->type(Trk::TrackStateOnSurface::Measurement) or(*TSOSItr)->type(Trk::TrackStateOnSurface::Outlier)) + if (tsos->type(Trk::TrackStateOnSurface::Measurement) or tsos->type(Trk::TrackStateOnSurface::Outlier)) { if (m_pixelId->is_pixel(surfaceID)) { pixelNHits++; @@ -1266,15 +1215,15 @@ SCTHitEffMonTool::fillHistograms() { } if (m_sctId->is_sct(surfaceID)) { NHits[bec2Index(m_sctId->barrel_ec(surfaceID))]++; - mapOfTrackHitResiduals[surfaceID] = getResidual(surfaceID, (*TSOSItr)->trackParameters(), &*p_sctclcontainer); + mapOfTrackHitResiduals[surfaceID] = getResidual(surfaceID, tsos->trackParameters(), &*p_sctclcontainer); } } - if ((*TSOSItr)->type(Trk::TrackStateOnSurface::Measurement)) { // Determine zmin and zmax taking multiple + if (tsos->type(Trk::TrackStateOnSurface::Measurement)) { // Determine zmin and zmax taking multiple // hits/side into account if (m_isCosmic) { // If this is cosmics use z, bad method but ok... - if ((*TSOSItr)->trackParameters()) { - zpos = (*TSOSItr)->trackParameters()->position().z(); + if (tsos->trackParameters()) { + zpos = tsos->trackParameters()->position().z(); zmax = std::max(zpos, zmax); zmin = std::min(zpos, zmin); }else { @@ -1283,7 +1232,7 @@ SCTHitEffMonTool::fillHistograms() { }else { // else use layer/side number : better but does not work for cosmics if (m_sctId->is_sct(surfaceID)) { layerSide = (m_sctId->barrel_ec(surfaceID) != 0) * N_BARRELS + - float(m_sctId->layer_disk(surfaceID)) + (float(m_sctId->side(surfaceID)) == 0) * 0.5; + static_cast<float>(m_sctId->layer_disk(surfaceID)) + (static_cast<float>(m_sctId->side(surfaceID)) == 0) * 0.5; min_layerSide = std::min(min_layerSide, layerSide); max_layerSide = std::max(max_layerSide, layerSide); }else if (m_pixelId->is_pixel(surfaceID)) { @@ -1305,9 +1254,9 @@ SCTHitEffMonTool::fillHistograms() { layersCrossedByTrack[i].resize(n_layers[i] * 2, false); } - for (TSOSItr = trackWithHoles->trackStateOnSurfaces()->begin(); TSOSItr != TSOSItrE; ++TSOSItr) { + for (const Trk::TrackStateOnSurface* tsos: *(trackWithHoles->trackStateOnSurfaces())) { ATH_MSG_VERBOSE("Starting new hit"); - surfaceID = surfaceOnTrackIdentifier(*TSOSItr); + surfaceID = surfaceOnTrackIdentifier(tsos); if (failCut(m_sctId->is_sct(surfaceID), "hit cut: is in SCT")) { continue; @@ -1330,18 +1279,18 @@ SCTHitEffMonTool::fillHistograms() { Int_t eff(0), unas(0); IdentifierHash sideHash(m_sctId->wafer_hash(surfaceID)); Identifier module_id(m_sctId->module_id(surfaceID)); - Float_t layerPlusHalfSide(float(layer) + float(side) * 0.5); - Float_t dedicated_layerPlusHalfSide(float(layer) + float((side + 1) % 2) * 0.5); - const Trk::TrackParameters* trkParamOnSurface((*TSOSItr)->trackParameters()); + Float_t layerPlusHalfSide(static_cast<float>(layer) + static_cast<float>(side) * 0.5); + Float_t dedicated_layerPlusHalfSide(static_cast<float>(layer) + static_cast<float>((side + 1) % 2) * 0.5); + const Trk::TrackParameters* trkParamOnSurface(tsos->trackParameters()); Double_t trackHitResidual(getResidual(surfaceID, trkParamOnSurface, &*p_sctclcontainer)); Float_t distCut(m_effdistcut); - if ((*TSOSItr)->type(Trk::TrackStateOnSurface::Measurement) or(*TSOSItr)->type(Trk::TrackStateOnSurface::Outlier)) + if (tsos->type(Trk::TrackStateOnSurface::Measurement) or tsos->type(Trk::TrackStateOnSurface::Outlier)) { eff = 1; - } else if ((*TSOSItr)->type(Trk::TrackStateOnSurface::Hole) and fabs(trackHitResidual) < distCut) { + } else if (tsos->type(Trk::TrackStateOnSurface::Hole) and fabs(trackHitResidual) < distCut) { eff = 1; unas = 1; } @@ -1360,10 +1309,9 @@ SCTHitEffMonTool::fillHistograms() { m_sctId->get_other_side(sideHash, otherSideHash); m_sctId->get_id(otherSideHash, otherSideSurfaceID, &context); otherFaceFound = mapOfTrackHitResiduals.find(otherSideSurfaceID) != mapOfTrackHitResiduals.end(); - // (std::find(TrackSurfaceID.begin(), TrackSurfaceID.end(), otherSideSurfaceID) != TrackSurfaceID.end()); Int_t nOther(sctNHits); - if ((*TSOSItr)->type(Trk::TrackStateOnSurface::Measurement) or(*TSOSItr)->type(Trk::TrackStateOnSurface::Outlier)) + if (tsos->type(Trk::TrackStateOnSurface::Measurement) or tsos->type(Trk::TrackStateOnSurface::Outlier)) { --nOther; } @@ -1475,8 +1423,8 @@ SCTHitEffMonTool::fillHistograms() { Bool_t enclosingHits(true); if (m_isCosmic) { - if ((*TSOSItr)->trackParameters()) { - zpos = (*TSOSItr)->trackParameters()->position().z(); + if (tsos->trackParameters()) { + zpos = tsos->trackParameters()->position().z(); enclosingHits = (zpos > zmin)and(zpos < zmax); }else { ATH_MSG_WARNING("No track parameters found. Cannot determine whether it is an enclosed hit."); @@ -1485,12 +1433,12 @@ SCTHitEffMonTool::fillHistograms() { }else { layerSide = (m_sctId->barrel_ec(surfaceID) != - 0) * N_BARRELS + float(m_sctId->layer_disk(surfaceID)) + (float(m_sctId->side(surfaceID)) == 0) * 0.5; + 0) * N_BARRELS + static_cast<float>(m_sctId->layer_disk(surfaceID)) + (static_cast<float>(m_sctId->side(surfaceID)) == 0) * 0.5; enclosingHits = layerSide > min_layerSide and layerSide < max_layerSide; } if (m_detailed) { - m_probEnclosedHisto[isub]->Fill(layerPlusHalfSide, Int_t(enclosingHits)); + m_probEnclosedHisto[isub]->Fill(layerPlusHalfSide, static_cast<Int_t>(enclosingHits)); } if (m_requireEnclosingHits and not (layerPlusHalfSide == .5)and not (isub == 1 and layerPlusHalfSide == @@ -1701,8 +1649,8 @@ SCTHitEffMonTool::fillHistograms() { } if (m_superDetailed) { chipPos = (side == 1) ? 11 - chipPos : chipPos; - m_inEffChip[isub]->Fill(sideHash, chipPos, int(eff == 0)); - m_inEffStrip[isub]->Fill(sideHash, xl / 79.95e-3 + 768. / 2., int(eff == 0)); + m_inEffChip[isub]->Fill(sideHash, chipPos, static_cast<int>(eff == 0)); + m_inEffStrip[isub]->Fill(sideHash, xl / 79.95e-3 + 768. / 2., static_cast<int>(eff == 0)); // Find the opposite side of this module, if (side == 0) { Double_t trackHitResidual2(999); @@ -1715,10 +1663,10 @@ SCTHitEffMonTool::fillHistograms() { m_TwoSidesResidualsIneff[isub]->Fill(trackHitResidual, trackHitResidual2); } } - const int layerSideIndex = int(layerPlusHalfSide * 2); + const int layerSideIndex = static_cast<int>(layerPlusHalfSide * 2); layersCrossedByTrack[isub][layerSideIndex] = true; - nHolesDistOnLayer[isub][layerSideIndex] += int(eff == 0); - nHolesOnLayer[isub][layerSideIndex] += int((*TSOSItr)->type(Trk::TrackStateOnSurface::Hole)); + nHolesDistOnLayer[isub][layerSideIndex] += static_cast<int>(eff == 0); + nHolesOnLayer[isub][layerSideIndex] += static_cast<int>(tsos->type(Trk::TrackStateOnSurface::Hole)); if (fabs(trackHitResidual) < 65) { m_layerResidualHistos[isub][layerSideIndex]->Fill(m_sctId->eta_module(surfaceID), m_sctId->phi_module(surfaceID), trackHitResidual); @@ -1773,16 +1721,14 @@ SCTHitEffMonTool::fillHistograms() { for (Int_t isub(0); isub != N_REGIONS; ++isub) { for (Int_t i(0); i != n_layers[isub] * 2; ++i) { if (layersCrossedByTrack[isub][i]) { - m_holesPerTrackHisto[isub]->Fill(float(i) / 2, nHolesOnLayer[isub][i]); - m_holesDistPerTrackHisto[isub]->Fill(float(i) / 2, nHolesOnLayer[isub][i]); + m_holesPerTrackHisto[isub]->Fill(static_cast<float>(i) / 2, nHolesOnLayer[isub][i]); + m_holesDistPerTrackHisto[isub]->Fill(static_cast<float>(i) / 2, nHolesOnLayer[isub][i]); } } } } - delete trackWithHoles; - trackWithHoles = 0; } - ATH_MSG_VERBOSE("finished loop over tracks = " << (*tracks).size()); + ATH_MSG_VERBOSE("finished loop over tracks = " << tracks->size()); if (m_detailed) { m_nTrkHisto->Fill(nTrk); m_nTrkParsHisto->Fill(nTrkPars); @@ -1852,7 +1798,7 @@ SCTHitEffMonTool::procHistograms() { unsigned int status((*badChip).second); for (Int_t i(0); i < 2 * N_CHIPS; ++i) { if ((status & (1 << i)) != 0) { - accSide[int(i >= N_CHIPS)] -= 1. / N_CHIPS; + accSide[static_cast<int>(i >= N_CHIPS)] -= 1. / N_CHIPS; } } eff = (accSide[0] + accSide[1]) / 2; @@ -1910,7 +1856,7 @@ SCTHitEffMonTool::procHistograms() { ATH_MSG_WARNING("Barrel-or-endcap index is invalid"); return StatusCode::FAILURE; } - CHECK(bookEffHisto(m_accPhysMap[histnumber], histGroupE[isub], + ATH_CHECK(bookEffHisto(m_accPhysMap[histnumber], histGroupE[isub], "nDisabledChipsPhys_" + subDetNameShort[isub] + "_" + i, "", etabins[isub][i].size() - 1, &etabins[isub][i][0], phibins[isub][i].size() - 1, &phibins[isub][i][0])); @@ -1932,8 +1878,8 @@ SCTHitEffMonTool::procHistograms() { } } } - for (std::map< Identifier, Float_t >::const_iterator bMod(mapOfInEff.begin()); bMod != mapOfInEff.end(); ++bMod) { - Identifier surfaceID(bMod->first); + for (const std::pair<Identifier, Float_t> bMod: mapOfInEff) { + Identifier surfaceID(bMod.first); Int_t histnumber(becIdxLayer2Index(bec2Index(m_sctId->barrel_ec(surfaceID)), m_sctId->layer_disk(surfaceID))); if (histnumber < 0) { ATH_MSG_WARNING("Barrel-or-endcap index is invalid"); @@ -1942,7 +1888,7 @@ SCTHitEffMonTool::procHistograms() { IdentifierHash waferHash = m_sctId->wafer_hash(surfaceID); const InDetDD::SiDetectorElement* element = elements->getDetectorElement(waferHash); const Amg::Vector3D position = element->center(); - m_accPhysMap[histnumber]->Fill(amgPseudoRapidity(position), position.phi(), (1. - bMod->second) * N_CHIPS * 2); + m_accPhysMap[histnumber]->Fill(amgPseudoRapidity(position), position.phi(), (1. - bMod.second) * N_CHIPS * 2); } } @@ -1983,7 +1929,7 @@ SCTHitEffMonTool::previousChip(Double_t xl, Int_t side, bool swap) { Float_t stripWidth(79.95e-3); Float_t nChips(6.); Float_t xLeftEdge(xl + nStrips / 2. * stripWidth); // xl defined wrt center of module, convert to edge of module - Int_t chipPos(int(xLeftEdge / (stripWidth * nStrips) * nChips)); + Int_t chipPos(static_cast<int>(xLeftEdge / (stripWidth * nStrips) * nChips)); if (side == 0) { chipPos = swap ? 5 - chipPos : chipPos; @@ -2027,7 +1973,7 @@ template <class T> StatusCode SCTHitEffMonTool::bookEffHisto(T*& histo, MonGroup& MG, TString name, TString title, Int_t nbin, Double_t x1, Double_t x2) { histo = new T(name, title, nbin, x1, x2); - CHECK(MG.regHist(histo)); + ATH_CHECK(MG.regHist(histo)); ATH_MSG_VERBOSE("Registered " << name << " at " << histo); return StatusCode::SUCCESS; } @@ -2037,7 +1983,7 @@ SCTHitEffMonTool::bookEffHisto(T*& histo, MonGroup& MG, TString name, TString ti Int_t nbinx, Double_t x1, Double_t x2, Int_t nbiny, Double_t y1, Double_t y2) { histo = new T(name, title, nbinx, x1, x2, nbiny, y1, y2); - CHECK(MG.regHist(histo)); + ATH_CHECK(MG.regHist(histo)); ATH_MSG_VERBOSE("Registered " << name << " at " << histo); return StatusCode::SUCCESS; } @@ -2046,7 +1992,7 @@ template <class T> StatusCode SCTHitEffMonTool::bookEffHisto(T*& histo, MonGroup& MG, TString name, TString title, Int_t nbinx, Double_t* xbins, Int_t nbiny, Double_t* ybins) { histo = new T(name, title, nbinx, xbins, nbiny, ybins); - CHECK(MG.regHist(histo)); + ATH_CHECK(MG.regHist(histo)); ATH_MSG_VERBOSE("Registered " << name << " at " << histo); return StatusCode::SUCCESS; } @@ -2064,28 +2010,23 @@ SCTHitEffMonTool::getResidual(const Identifier& surfaceID, const Trk::TrackParam IdentifierHash idh(m_sctId->wafer_hash(surfaceID)); InDet::SCT_ClusterContainer::const_iterator containerIterator(p_sctclcontainer->indexFind(idh)); InDet::SCT_ClusterContainer::const_iterator containerEnd(p_sctclcontainer->end()); - for (; containerIterator != containerEnd; ++containerIterator) { - for (InDet::SCT_ClusterCollection::const_iterator rioIterator((*containerIterator)->begin()); - rioIterator != (*containerIterator)->end(); ++rioIterator) { - if (not (*rioIterator) or not (*rioIterator)->detectorElement()) { + if (containerIterator != containerEnd) { + for (const InDet::SCT_Cluster* cluster: **containerIterator) { + if ((cluster==nullptr) or (cluster->detectorElement()==nullptr)) { ATH_MSG_WARNING("nullptr to RIO or detElement"); continue; } - if (m_sctId->wafer_id(surfaceID) == m_sctId->wafer_id(((*rioIterator)->detectorElement())->identify())) { - const Trk::PrepRawData* rioo(dynamic_cast<const Trk::PrepRawData *>(*rioIterator)); - const Trk::RIO_OnTrack* rio(m_rotcreator->correct(*rioo, *trkParam)); + if (m_sctId->wafer_id(surfaceID) == m_sctId->wafer_id(cluster->detectorElement()->identify())) { + const Trk::PrepRawData* rioo(dynamic_cast<const Trk::PrepRawData *>(cluster)); + std::unique_ptr<const Trk::RIO_OnTrack> rio(m_rotcreator->correct(*rioo, *trkParam)); if (!m_residualPullCalculator.empty()) { - const Trk::ResidualPull* residualPull(m_residualPullCalculator->residualPull(rio, trkParam, - Trk::ResidualPull::Unbiased)); - if (residualPull == 0) { - continue; - } + std::unique_ptr<const Trk::ResidualPull> residualPull(m_residualPullCalculator->residualPull(rio.get(), trkParam, + Trk::ResidualPull::Unbiased)); + if (not residualPull) continue; if (fabs(residualPull->residual()[Trk::loc1]) < fabs(trackHitResidual)) { trackHitResidual = residualPull->residual()[Trk::loc1]; } - delete residualPull; } - delete rio; } } } diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx index 0fdd7ad6cc7..9e73a88557d 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTHitsNoiseMonTool.cxx @@ -13,7 +13,6 @@ #include "SCT_Monitoring/SCTHitsNoiseMonTool.h" -#include "cArrayUtilities.h" #include "SCT_NameFormatter.h" #include "AthContainers/DataVector.h" @@ -135,17 +134,17 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, const IInterface* parent) : SCTMotherTrigMonTool(type, name, parent), m_nSP(nullptr), - m_nSP_buf(nullptr), + m_nSP_buf{}, m_nSP_pos(0), m_nHits(nullptr), - m_nHits_buf(nullptr), + m_nHits_buf{}, m_nHits_pos(0), m_nmaxHits(nullptr), - m_nmaxHits_buf(nullptr), - m_nmaxModule_buf(nullptr), + m_nmaxHits_buf{}, + m_nmaxModule_buf{}, m_nminHits(nullptr), - m_nminHits_buf(nullptr), - m_nminModule_buf(nullptr), + m_nminHits_buf{}, + m_nminModule_buf{}, m_numBarrelHitsPerLumiBlock(nullptr), m_numHitsPerLumiBlockECp(nullptr), m_numHitsPerLumiBlockECm(nullptr), @@ -153,7 +152,6 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_numSPPerLumiBlockECp(nullptr), m_numSPPerLumiBlockECm(nullptr), m_rioMap(nullptr), - // m_BARNO(nullptr), m_BARNOTrigger(nullptr), m_ECmNO(nullptr), @@ -162,7 +160,6 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_ECpNOTrigger(nullptr), m_SCTNO(nullptr), m_SCTNOTrigger(nullptr), - // m_NallHitsBAR_vsLB(nullptr), m_NSPHitsBAR_vsLB(nullptr), m_NallHitsECm_vsLB(nullptr), @@ -176,7 +173,6 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_NoisyModules100_vsLB(nullptr), m_NoisyModules1000_vsLB(nullptr), m_NoisyModules10000_vsLB(nullptr), - // m_NallHitsTriggerBAR_vsLB(nullptr), m_NSPHitsTriggerBAR_vsLB(nullptr), m_NallHitsTriggerECm_vsLB(nullptr), @@ -190,7 +186,6 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_NoisyModulesTrigger100_vsLB(nullptr), m_NoisyModulesTrigger1000_vsLB(nullptr), m_NoisyModulesTrigger10000_vsLB(nullptr), - // m_MaxOccupancyStripHist(nullptr), m_MinOccupancyStripHist(nullptr), m_clusize(nullptr), @@ -199,11 +194,11 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_hitsvsL1ID(nullptr), m_ncluHisto(nullptr), m_coincidenceHist(nullptr), + m_stream{"/stat"}, m_numberOfEvents(0), m_numberOfEventsTrigger(0), m_numberOfEventsRecent(0), m_skipEvents(0), - m_booltxscan(false), m_current_lb(0), m_last_reset_lb(0), m_tbinHisto(nullptr), @@ -212,12 +207,17 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_tbinHistoRecent(nullptr), m_tbinHistoRecentECp(nullptr), m_tbinHistoRecentECm(nullptr), + m_tbinfrac{}, + m_tbinfracECp{}, + m_tbinfracECm{}, + m_clusizedist{}, + m_clusizedistECp{}, + m_clusizedistECm{}, m_tbinfracall(nullptr), m_tbinfracVsLB(nullptr), m_tbinfracVsLBECp(nullptr), m_tbinfracVsLBECm(nullptr), m_initialize(false), - m_SCTSPContainerName(std::string("SCT_SpacePoints")), m_noisyM100{}, m_noisyM1000{}, m_noisyM10000{}, @@ -268,7 +268,6 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_NoisyModulesWithHOTrigger100_vsLB(nullptr), m_NoisyModulesWithHOTrigger1000_vsLB(nullptr), m_NoisyModulesWithHOTrigger10000_vsLB(nullptr), - // m_noisyMWithHO100{}, m_noisyMWithHO1000{}, m_noisyMWithHO10000{}, @@ -283,25 +282,12 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, m_hitoccTriggerBAR_lb{}, m_hitoccTriggerECp_lb{}, m_hitoccTriggerECm_lb{}, - // - m_dataObjectName(std::string("SCT_RDOs")), - m_pSCTHelper(nullptr), - m_eventInfoKey(std::string("EventInfo")), - m_clusContainerKey("SCT_Clusters") { - /** sroe 3 Sept 2015: - histoPathBase is declared as a property in the base class, assigned to m_path - with default as empty string. - Declaring it here as well gives rise to compilation warning - WARNING duplicated property name 'histoPathBase', see https://its.cern.ch/jira/browse/GAUDI-1023 - - declareProperty("histoPathBase", m_stream = "/stat"); **/ - m_stream = "/stat"; + m_pSCTHelper(nullptr) { declareProperty("localSummary", m_localSummary = 0); - declareProperty("doHitmapHistos", m_boolhitmaps = true); + declareProperty("doHitmapHistos", m_boolhitmaps = false); declareProperty("doTXScan", m_booltxscan = false); declareProperty("CheckRate", m_checkrate = 1000); declareProperty("CheckRecent", m_checkrecent = 30); - declareProperty("tracksName", m_tracksName = "Combined_Tracks"); declareProperty("NOTrigger", m_NOTrigger = "L1_RD0_EMPTY"); declareProperty("numberOfSigma", m_numSigma = 3); declareProperty("EvtsBins", m_evtsbins = 5000); @@ -313,24 +299,6 @@ SCTHitsNoiseMonTool::SCTHitsNoiseMonTool(const std::string& type, declareProperty("doTrackHits", m_doTrackHits = true); declareProperty("MaxTracks", m_maxTracks = 1000); declareProperty("doLogXNoise", m_doLogXNoise = true); - - clear1D(m_tbinfrac); - clear1D(m_tbinfracECp); - clear1D(m_tbinfracECm); - clear1D(m_clusizedist); - clear1D(m_clusizedistECp); - clear1D(m_clusizedistECm); - } - -// ==================================================================================================== -// ==================================================================================================== -SCTHitsNoiseMonTool::~SCTHitsNoiseMonTool() { - free(m_nSP_buf); - free(m_nmaxHits_buf); - free(m_nminHits_buf); - free(m_nmaxModule_buf); - free(m_nminModule_buf); - free(m_nHits_buf); } // ==================================================================================================== @@ -340,7 +308,6 @@ StatusCode SCTHitsNoiseMonTool::initialize() { ATH_CHECK(m_SCTSPContainerName.initialize()); ATH_CHECK(m_dataObjectName.initialize()); - ATH_CHECK(m_eventInfoKey.initialize()); ATH_CHECK(m_clusContainerKey.initialize()); ATH_CHECK(m_tracksName.initialize()); @@ -767,7 +734,6 @@ SCTHitsNoiseMonTool::checkHists(bool /*fromFinalize*/) { // ==================================================================================================== StatusCode SCTHitsNoiseMonTool::generalHistsandNoise() { - typedef SCT_RDORawData SCTRawDataType; SG::ReadHandle<SCT_RDO_Container> p_rdocontainer(m_dataObjectName); SG::ReadHandle<xAOD::EventInfo> pEvent(m_eventInfoKey); if (not pEvent.isValid()) { @@ -785,8 +751,6 @@ SCTHitsNoiseMonTool::generalHistsandNoise() { } Identifier SCT_Identifier; // Use new IDC - SCT_RDO_Container::const_iterator col_it = p_rdocontainer->begin(); - SCT_RDO_Container::const_iterator lastCol = p_rdocontainer->end(); int local_tothits = 0; int totalmodules = 0; int meanhits = 0; @@ -831,65 +795,56 @@ SCTHitsNoiseMonTool::generalHistsandNoise() { const bool doThisSubsystem[3] = { m_doNegativeEndcap, true, m_doPositiveEndcap }; - // - // Define some iterators over the SP container - SpacePointContainer::const_iterator spContainerIterator = sctContainer->begin(); - SpacePointContainer::const_iterator spContainerIteratorEnd = sctContainer->end(); // Outer Loop on RDO Collection - for (; col_it != lastCol; ++col_it) { - const InDetRawDataCollection<SCTRawDataType>* SCT_Collection(*col_it); - if (!SCT_Collection) { + for (const InDetRawDataCollection<SCT_RDORawData>* SCT_Collection: *p_rdocontainer) { + if (SCT_Collection==nullptr) { continue; // select only SCT RDOs } // MJW new code- try getting the ID of the collection using the identify() method Identifier tempID = SCT_Collection->identify(); Identifier theWaferIdentifierOfTheRDOCollection = tempID; Identifier theModuleIdentifierOfTheRDOCollection = m_pSCTHelper->module_id(tempID); + IdentifierHash theModuleHash0 = m_pSCTHelper->wafer_hash(theModuleIdentifierOfTheRDOCollection); + IdentifierHash theModuleHash1; + m_pSCTHelper->get_other_side(theModuleHash0, theModuleHash1); int Bec = m_pSCTHelper->barrel_ec(tempID); int numberOfHitsFromSPs = 0; int numberOfHitsFromAllRDOs = 0; // Now we want the space point container for this module // We have to compare module IDs- the SP collection is defined for the 'normal' (i.e. no stereo) module side // Define a set of spIDs - set<Identifier>mySetOfSPIds; - for (; spContainerIterator != spContainerIteratorEnd; ++spContainerIterator) { + set<Identifier> mySetOfSPIds; + for (unsigned int side{0}; side<2; side++) { + SpacePointContainer::const_iterator spContainerIterator = sctContainer->indexFind(side==0 ? theModuleHash0 : theModuleHash1); + if (spContainerIterator==sctContainer->end()) continue; Identifier tempSPID = (*spContainerIterator)->identify(); Identifier theModuleIdentifierOfTheSPCollection = m_pSCTHelper->module_id(tempSPID); - if (theModuleIdentifierOfTheSPCollection > theModuleIdentifierOfTheRDOCollection) { - break; - } if (theModuleIdentifierOfTheRDOCollection == theModuleIdentifierOfTheSPCollection) { - DataVector<Trk::SpacePoint>::const_iterator nextSpacePoint = (*spContainerIterator)->begin(); - DataVector<Trk::SpacePoint>::const_iterator nextSpacePointEnd = (*spContainerIterator)->end(); - for (; nextSpacePoint != nextSpacePointEnd; ++nextSpacePoint) { - const Trk::SpacePoint& sp = **nextSpacePoint; + for (const Trk::SpacePoint* sp: **spContainerIterator) { // the following is nasty; the 'normal' sides (where the sp is defined) swap from layer to layer. To be safe, // we get both sides - const VecId_t& rdoList0 = sp.clusterList().first->rdoList(); - const VecId_t& rdoList1 = sp.clusterList().second->rdoList(); + const VecId_t& rdoList0 = sp->clusterList().first->rdoList(); + const VecId_t& rdoList1 = sp->clusterList().second->rdoList(); // copy to mySetOfSPIds. Use inserter(set, iterator_hint) for a set, or back_inserter(vec) for vector... copy(rdoList0.begin(), rdoList0.end(), inserter(mySetOfSPIds, mySetOfSPIds.end())); copy(rdoList1.begin(), rdoList1.end(), inserter(mySetOfSPIds, mySetOfSPIds.end())); } - break; + } else { + ATH_MSG_ERROR("Module identifiers are different. indexFind gives a wrong collection??"); } } totalmodules++; maxrodhits = 0; // Now we loop over the RDOs in the RDO collection, and add to the NO vector any that are in the mySetOfSPIds - DataVector<SCTRawDataType>::const_iterator p_rdo = SCT_Collection->begin(); - DataVector<SCTRawDataType>::const_iterator end_rdo = SCT_Collection->end(); - for (; p_rdo != end_rdo; ++p_rdo) { - const SCT3_RawData* rdo3 = dynamic_cast<const SCT3_RawData*>(*p_rdo); - int tbin;// = (*p_rdo)->getTimeBin(); - if (rdo3 != 0) { - tbin = (rdo3)->getTimeBin(); - }else { - tbin = 3; - } - SCT_Identifier = (*p_rdo)->identify(); + for (const SCT_RDORawData* rdo: *SCT_Collection) { + const SCT3_RawData* rdo3 = dynamic_cast<const SCT3_RawData*>(rdo); + int tbin = 3; + if (rdo3) { + tbin = rdo3->getTimeBin(); + } + SCT_Identifier = rdo->identify(); const unsigned int firstStrip(m_pSCTHelper->strip(SCT_Identifier)); - const unsigned int numberOfStrips((*p_rdo)->getGroupSize()); + const unsigned int numberOfStrips(rdo->getGroupSize()); int thisBec = m_pSCTHelper->barrel_ec(SCT_Identifier); int thisLayerDisk = m_pSCTHelper->layer_disk(SCT_Identifier); int thisPhi = m_pSCTHelper->phi_module(SCT_Identifier); @@ -1227,20 +1182,10 @@ SCTHitsNoiseMonTool::generalHistsandNoise() { if (not p_clucontainer.isValid()) { ATH_MSG_WARNING("Couldn't retrieve clusters"); } - InDet::SCT_ClusterContainer::const_iterator clucol_it = p_clucontainer->begin(); - InDet::SCT_ClusterContainer::const_iterator lastcluCol = p_clucontainer->end(); - for (; clucol_it != lastcluCol; ++clucol_it) { - const InDet::SCT_ClusterCollection* SCT_Collection(*clucol_it); - if (!SCT_Collection) { - continue; // select only SCT RDOs - } - // Middle Loop on SCT Clusters only - DataVector<InDet::SCT_Cluster>::const_iterator p_clu(SCT_Collection->begin()); - DataVector<InDet::SCT_Cluster>::const_iterator clus_end = SCT_Collection->end(); - for (; p_clu != clus_end; ++p_clu) { - Identifier cluId = (*p_clu)->identify(); - const InDet::SCT_Cluster& cluster = **p_clu; - int GroupSize = cluster.rdoList().size(); + for (const InDet::SCT_ClusterCollection* SCT_Collection: *p_clucontainer) { + for (const InDet::SCT_Cluster* cluster: *SCT_Collection) { + Identifier cluId = cluster->identify(); + int GroupSize = cluster->rdoList().size(); // Fill Cluster Size histogram int elementIndex = 2 * m_pSCTHelper->layer_disk(cluId) + m_pSCTHelper->side(cluId); int thisPhi = m_pSCTHelper->phi_module(cluId); @@ -1940,10 +1885,10 @@ SCTHitsNoiseMonTool::checkNoiseMaps(bool final) { } } if (m_occSumUnbiased.size() && m_numberOfEvents) { - for (std::map<Identifier, float>::iterator it = m_occSumUnbiased.begin(); it != m_occSumUnbiased.end(); it++) { - Identifier wafer_id = it->first; + for (std::pair<const Identifier, float>& val: m_occSumUnbiased) { + Identifier wafer_id = val.first; int element = 2 * m_pSCTHelper->layer_disk(wafer_id) + m_pSCTHelper->side(wafer_id); - float occ = (m_numberOfEvents > 0) ? it->second / (m_numberOfEvents) : it->second; + float occ = (m_numberOfEvents > 0) ? val.second / (m_numberOfEvents) : val.second; int eta = m_pSCTHelper->eta_module(wafer_id); int phi = m_pSCTHelper->phi_module(wafer_id); int barrel_ec = m_pSCTHelper->barrel_ec(wafer_id); @@ -1966,11 +1911,10 @@ SCTHitsNoiseMonTool::checkNoiseMaps(bool final) { } if (m_environment == AthenaMonManager::online) { if (m_occSumUnbiasedRecent.size() && m_numberOfEventsRecent) { - for (std::map<Identifier, float>::iterator it = m_occSumUnbiasedRecent.begin(); - it != m_occSumUnbiasedRecent.end(); it++) { - Identifier wafer_id = it->first; + for (std::pair<const Identifier, float>& val: m_occSumUnbiasedRecent) { + Identifier wafer_id = val.first; int element = 2 * m_pSCTHelper->layer_disk(wafer_id) + m_pSCTHelper->side(wafer_id); - float occ = (m_numberOfEventsRecent > 0) ? it->second / (m_numberOfEventsRecent) : it->second; + float occ = (m_numberOfEventsRecent > 0) ? val.second / (m_numberOfEventsRecent) : val.second; int eta = m_pSCTHelper->eta_module(wafer_id); int phi = m_pSCTHelper->phi_module(wafer_id); int barrel_ec = m_pSCTHelper->barrel_ec(wafer_id); @@ -1988,11 +1932,10 @@ SCTHitsNoiseMonTool::checkNoiseMaps(bool final) { } } if (m_occSumUnbiasedTrigger.size() && m_numberOfEventsTrigger) { - for (std::map<Identifier, float>::iterator it = m_occSumUnbiasedTrigger.begin(); - it != m_occSumUnbiasedTrigger.end(); it++) { - Identifier wafer_id = it->first; + for (std::pair<const Identifier, float>&val: m_occSumUnbiasedTrigger) { + Identifier wafer_id = val.first; int element = 2 * m_pSCTHelper->layer_disk(wafer_id) + m_pSCTHelper->side(wafer_id); - float occ = (m_numberOfEventsTrigger > 0) ? it->second / (m_numberOfEventsTrigger) : it->second; + float occ = (m_numberOfEventsTrigger > 0) ? val.second / (m_numberOfEventsTrigger) : val.second; int eta = m_pSCTHelper->eta_module(wafer_id); int phi = m_pSCTHelper->phi_module(wafer_id); int barrel_ec = m_pSCTHelper->barrel_ec(wafer_id); @@ -2015,11 +1958,10 @@ SCTHitsNoiseMonTool::checkNoiseMaps(bool final) { } if (m_hitoccSumUnbiased.size() && m_numberOfEvents) { - for (std::map<Identifier, float>::iterator it = m_hitoccSumUnbiased.begin(); it != m_hitoccSumUnbiased.end(); - it++) { - Identifier wafer_id = it->first; + for (std::pair<const Identifier, float>& val: m_hitoccSumUnbiased) { + Identifier wafer_id = val.first; int element = 2 * m_pSCTHelper->layer_disk(wafer_id) + m_pSCTHelper->side(wafer_id); - float hitocc = (m_numberOfEvents > 0) ? it->second / (m_numberOfEvents) : it->second; + float hitocc = (m_numberOfEvents > 0) ? val.second / (m_numberOfEvents) : val.second; int eta = m_pSCTHelper->eta_module(wafer_id); int phi = m_pSCTHelper->phi_module(wafer_id); int barrel_ec = m_pSCTHelper->barrel_ec(wafer_id); @@ -2042,11 +1984,10 @@ SCTHitsNoiseMonTool::checkNoiseMaps(bool final) { } if (m_environment == AthenaMonManager::online) { if (m_hitoccSumUnbiasedRecent.size() && m_numberOfEventsRecent) { - for (std::map<Identifier, float>::iterator it = m_hitoccSumUnbiasedRecent.begin(); - it != m_hitoccSumUnbiasedRecent.end(); it++) { - Identifier wafer_id = it->first; + for (std::pair<const Identifier, float>& val: m_hitoccSumUnbiasedRecent) { + Identifier wafer_id = val.first; int element = 2 * m_pSCTHelper->layer_disk(wafer_id) + m_pSCTHelper->side(wafer_id); - float hitocc = (m_numberOfEventsRecent > 0) ? it->second / (m_numberOfEventsRecent) : it->second; + float hitocc = (m_numberOfEventsRecent > 0) ? val.second / (m_numberOfEventsRecent) : val.second; int eta = m_pSCTHelper->eta_module(wafer_id); int phi = m_pSCTHelper->phi_module(wafer_id); int barrel_ec = m_pSCTHelper->barrel_ec(wafer_id); @@ -2064,11 +2005,10 @@ SCTHitsNoiseMonTool::checkNoiseMaps(bool final) { } } if (m_hitoccSumUnbiasedTrigger.size() && m_numberOfEventsTrigger) { - for (std::map<Identifier, float>::iterator it = m_hitoccSumUnbiasedTrigger.begin(); - it != m_hitoccSumUnbiasedTrigger.end(); it++) { - Identifier wafer_id = it->first; + for (std::pair<const Identifier, float>& val: m_hitoccSumUnbiasedTrigger) { + Identifier wafer_id = val.first; int element = 2 * m_pSCTHelper->layer_disk(wafer_id) + m_pSCTHelper->side(wafer_id); - float hitocc = (m_numberOfEventsTrigger > 0) ? it->second / (m_numberOfEventsTrigger) : it->second; + float hitocc = (m_numberOfEventsTrigger > 0) ? val.second / (m_numberOfEventsTrigger) : val.second; int eta = m_pSCTHelper->eta_module(wafer_id); int phi = m_pSCTHelper->phi_module(wafer_id); int barrel_ec = m_pSCTHelper->barrel_ec(wafer_id); @@ -2487,13 +2427,11 @@ SCTHitsNoiseMonTool::resetNoiseMapHists() { // ==================================================================================================== StatusCode SCTHitsNoiseMonTool::resetNoiseMapsRecent() { - for (std::map<Identifier, float>::iterator it = m_occSumUnbiasedRecent.begin(); it != m_occSumUnbiasedRecent.end(); - ++it) { - it->second = 0.0; + for (std::pair<const Identifier, float>& val: m_occSumUnbiasedRecent) { + val.second = 0.0; } - for (std::map<Identifier, float>::iterator it = m_hitoccSumUnbiasedRecent.begin(); - it != m_hitoccSumUnbiasedRecent.end(); ++it) { - it->second = 0.0; + for (std::pair<const Identifier, float>& val: m_hitoccSumUnbiasedRecent) { + val.second = 0.0; } return StatusCode::SUCCESS; } @@ -2942,53 +2880,35 @@ SCTHitsNoiseMonTool::bookNoiseDistributions() { StatusCode SCTHitsNoiseMonTool::bookSPvsEventNumber() { if (newRunFlag()) { - free(m_nSP_buf); - free(m_nHits_buf); - free(m_nmaxHits_buf); - free(m_nminHits_buf); - free(m_nmaxModule_buf); - free(m_nminModule_buf); MonGroup BarrelSPHist(this, "SCT/GENERAL/hits", ManagedMonitorToolBase::run, ATTRIB_UNMANAGED); // Book a histogram m_nSP = th1Factory("sct_sp_vs_en", "Number of Spacepoints vs Event Number", BarrelSPHist, 1, m_evtsbins + 1, m_evtsbins); m_nSP->GetXaxis()->SetTitle("Event Number"); m_nSP->GetYaxis()->SetTitle("Num of Spacepoints"); - size_t nSP_buf_size; - nSP_buf_size = m_evtsbins * sizeof(int); - m_nSP_buf = (int*) malloc(nSP_buf_size); + m_nSP_buf.reserve(m_evtsbins); m_nSP_pos = 0; m_nHits = th1Factory("sct_av_hits_vs_en", "Number of Average Hits vs Event Number", BarrelSPHist, 1, m_evtsbins + 1, m_evtsbins); m_nHits->GetXaxis()->SetTitle("Event Number"); m_nHits->GetYaxis()->SetTitle("Num of Average Hits"); - size_t nHits_buf_size; - nHits_buf_size = m_evtsbins * sizeof(int); - m_nHits_buf = (int*) malloc(nHits_buf_size); + m_nHits_buf.reserve(m_evtsbins); m_nHits_pos = 0; m_nmaxHits = th1Factory("sct_max_hits_vs_en", "Max Number of Hits vs Event Number", BarrelSPHist, 1, m_evtsbins + 1, m_evtsbins); m_nmaxHits->GetXaxis()->SetTitle("Event Number"); m_nmaxHits->GetYaxis()->SetTitle("Num of Max Hits"); - size_t nmaxHits_buf_size; - nmaxHits_buf_size = m_evtsbins * sizeof(int); - m_nmaxHits_buf = (int*) malloc(nmaxHits_buf_size); - size_t nmaxModule_buf_size; - nmaxModule_buf_size = m_evtsbins * sizeof(Identifier); - m_nmaxModule_buf = (Identifier*) malloc(nmaxModule_buf_size); + m_nmaxHits_buf.reserve(m_evtsbins); + m_nmaxModule_buf.reserve(m_evtsbins); m_nminHits = th1Factory("sct_min_hits_vs_en", "Min Number of Hits vs Event Number", BarrelSPHist, 1, m_evtsbins + 1, m_evtsbins); m_nminHits->GetXaxis()->SetTitle("Event Number"); m_nminHits->GetYaxis()->SetTitle("Num of Min Hits"); - size_t nminHits_buf_size; - nminHits_buf_size = m_evtsbins * sizeof(int); - m_nminHits_buf = (int*) malloc(nminHits_buf_size); - size_t nminModule_buf_size; - nminModule_buf_size = m_evtsbins * sizeof(Identifier); - m_nminModule_buf = (Identifier*) malloc(nminModule_buf_size); + m_nminHits_buf.reserve(m_evtsbins); + m_nminModule_buf.reserve(m_evtsbins); } return StatusCode::SUCCESS; } @@ -3008,11 +2928,8 @@ SCTHitsNoiseMonTool::makeSPvsEventNumber() { } int sct_nspacepoints(0); // loop over SCT space points collections - SpacePointContainer::const_iterator it = SCT_spcontainer->begin(); - SpacePointContainer::const_iterator endit = SCT_spcontainer->end(); - for (; it != endit; ++it) { - const SpacePointCollection* colNext = &(**it); - if (!colNext) { + for (const SpacePointCollection* colNext: *SCT_spcontainer) { + if (colNext==nullptr) { continue; } // Identify the spacepoint collection and gets its barrel_ec to update the num SP histogram @@ -3027,7 +2944,7 @@ SCTHitsNoiseMonTool::makeSPvsEventNumber() { if (thisBec == 2) { m_numSPPerLumiBlockECp->Fill(thisLayerDisk, colNext->size()); } - sct_nspacepoints += (int) colNext->size(); + sct_nspacepoints += static_cast<int>(colNext->size()); } if (m_environment == AthenaMonManager::online) { @@ -3098,7 +3015,7 @@ SCTHitsNoiseMonTool::makeVectorOfTrackRDOIdentifiers() { return StatusCode::SUCCESS; } // assemble list of rdo ids associated with tracks - for (int i = 0; i < (int) tracks->size(); i++) { + for (int i = 0; i < static_cast<int>(tracks->size()); i++) { const Trk::Track* track = (*tracks)[i]; if (track == 0) { ATH_MSG_WARNING("no pointer to track!!!"); @@ -3109,11 +3026,10 @@ SCTHitsNoiseMonTool::makeVectorOfTrackRDOIdentifiers() { if (trackStates == 0) { ATH_MSG_WARNING("for current track is TrackStateOnSurfaces == Null, no data will be written for this track"); }else {// Loop over all track states on surfaces - for (DataVector<const Trk::TrackStateOnSurface>::const_iterator it = trackStates->begin(); - it != trackStates->end(); it++) { + for (const Trk::TrackStateOnSurface* TSOS: *trackStates) { // Get pointer to RIO of right type const InDet::SiClusterOnTrack* clus = - dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack()); + dynamic_cast<const InDet::SiClusterOnTrack*>(TSOS->measurementOnTrack()); if (clus) { // Get Pointer to prepRawDataObject const InDet::SiCluster* RawDataClus = dynamic_cast<const InDet::SiCluster*>(clus->prepRawData()); diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTLorentzMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTLorentzMonTool.cxx index f01a5b140c3..4b445177caf 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTLorentzMonTool.cxx +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTLorentzMonTool.cxx @@ -46,25 +46,15 @@ using namespace SCT_Monitoring; // ==================================================================================================== SCTLorentzMonTool::SCTLorentzMonTool(const string& type, const string& name, const IInterface* parent) : SCTMotherTrigMonTool(type, name, parent), - m_trackToVertexTool("Reco::TrackToVertex", this), // for TrackToVertexTool + m_numberOfEvents{0}, m_phiVsNstrips{}, m_phiVsNstrips_100{}, m_phiVsNstrips_111{}, m_phiVsNstrips_Side{}, m_phiVsNstrips_Side_100{}, m_phiVsNstrips_Side_111{}, + m_path{""}, m_pSCTHelper(nullptr) { - /** sroe 3 Sept 2015: - histoPathBase is declared as a property in the base class, assigned to m_path - with default as empty string. - Declaring it here as well gives rise to compilation warning - WARNING duplicated property name 'histoPathBase', see https://its.cern.ch/jira/browse/GAUDI-1023 - - declareProperty("histoPathBase", m_stream = "/stat"); **/ - m_stream = "/stat"; - declareProperty("tracksName", m_tracksName = std::string("CombinedInDetTracks")); // this recommended - declareProperty("TrackToVertexTool", m_trackToVertexTool); // for TrackToVertexTool - m_numberOfEvents = 0; } // ==================================================================================================== @@ -160,13 +150,9 @@ SCTLorentzMonTool::fillHistograms() { ATH_MSG_WARNING(" TrackCollection not found: Exit SCTLorentzTool" << m_tracksName.key()); return StatusCode::SUCCESS; } - TrackCollection::const_iterator trkitr = tracks->begin(); - TrackCollection::const_iterator trkend = tracks->end(); - for (; trkitr != trkend; ++trkitr) { - // Get track - const Trk::Track* track = (*trkitr); - if (not track) { + for (const Trk::Track* track: *tracks) { + if (track==nullptr) { ATH_MSG_ERROR("no pointer to track!!!"); continue; } @@ -184,11 +170,10 @@ SCTLorentzMonTool::fillHistograms() { continue; } - DataVector<const Trk::TrackStateOnSurface>::const_iterator endit = trackStates->end(); - for (DataVector<const Trk::TrackStateOnSurface>::const_iterator it = trackStates->begin(); it != endit; ++it) { - if ((*it)->type(Trk::TrackStateOnSurface::Measurement)) { + for (const Trk::TrackStateOnSurface* tsos: *trackStates) { + if (tsos->type(Trk::TrackStateOnSurface::Measurement)) { const InDet::SiClusterOnTrack* clus = - dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack()); + dynamic_cast<const InDet::SiClusterOnTrack*>(tsos->measurementOnTrack()); if (clus) { // Is it a SiCluster? If yes... const InDet::SiCluster* RawDataClus = dynamic_cast<const InDet::SiCluster*>(clus->prepRawData()); if (not RawDataClus) { @@ -216,7 +201,7 @@ SCTLorentzMonTool::fillHistograms() { // find cluster size const std::vector<Identifier>& rdoList = RawDataClus->rdoList(); int nStrip = rdoList.size(); - const Trk::TrackParameters* trkp = dynamic_cast<const Trk::TrackParameters*>((*it)->trackParameters()); + const Trk::TrackParameters* trkp = dynamic_cast<const Trk::TrackParameters*>(tsos->trackParameters()); if (not trkp) { ATH_MSG_WARNING(" Null pointer to MeasuredTrackParameters"); continue; @@ -273,10 +258,9 @@ SCTLorentzMonTool::fillHistograms() { } }// end if passesCuts }// end if mtrkp - // delete perigee;perigee = 0; } // end if SCT.. } // end if (clus) - } // if ((*it)->type(Trk::TrackStateOnSurface::Measurement)){ + } // if (tsos->type(Trk::TrackStateOnSurface::Measurement)){ }// end of loop on TrackStatesonSurface (they can be SiClusters, TRTHits,..) } // end of loop on tracks diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx index b882276e2f1..bf1c06182b3 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTMotherTrigMonTool.cxx @@ -22,10 +22,9 @@ const std::string SCTMotherTrigMonTool::m_triggerNames[] = { SCTMotherTrigMonTool::SCTMotherTrigMonTool(const std::string& type, const std::string& name, const IInterface* parent) : ManagedMonitorToolBase(type, name, parent), - m_doTrigger(true), m_isStream(false), m_firedTriggers(0) { - declareProperty("doTrigger", m_doTrigger); + declareProperty("doTrigger", m_doTrigger=true); } StatusCode diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTRatioNoiseMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTRatioNoiseMonTool.cxx index 3674db6db4c..2cad34ca67f 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTRatioNoiseMonTool.cxx +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTRatioNoiseMonTool.cxx @@ -108,7 +108,6 @@ SCTRatioNoiseMonTool::SCTRatioNoiseMonTool(const string& type, m_nOneSideEndcapC_ev{}, m_nTwoSideEndcapC_ev{}, m_nNonGoodModulesEndcapC_ev{}, - // m_pnoiseoccupancymapHistoVectorECC{}, m_pnoiseoccupancymapHistoVectorECCSide0{}, m_pnoiseoccupancymapHistoVectorECCSide1{}, @@ -118,7 +117,6 @@ SCTRatioNoiseMonTool::SCTRatioNoiseMonTool(const string& type, m_pnoiseoccupancymapHistoVectorECA{}, m_pnoiseoccupancymapHistoVectorECASide0{}, m_pnoiseoccupancymapHistoVectorECASide1{}, - // m_d1(0), m_n1(0), m_n1Barrel{}, @@ -127,28 +125,21 @@ SCTRatioNoiseMonTool::SCTRatioNoiseMonTool(const string& type, m_d1Barrel{}, m_d1EndcapA{}, m_d1EndcapC{}, - // m_noSidesHit(false), m_oneSideHit(false), m_twoSidesHit(false), m_correct_TimeBin(false), - // m_nNoSides{}, m_nOneSide{}, m_nOneSide0{}, m_nOneSide1{}, m_nTwoSide{}, - // m_nLink0{}, m_nLink1{}, - /** goodModules init in ctor body **/ - // m_nLayer{}, m_nEta{}, m_nPhi{}, m_nNonGoodModule{}, - // - m_checkrecent(1), m_current_lb(0), m_last_reset_lb(0), m_set_timebin(-1), @@ -172,25 +163,21 @@ SCTRatioNoiseMonTool::SCTRatioNoiseMonTool(const string& type, m_NZ1(nullptr), m_N11(nullptr), m_N21(nullptr), - // m_NZ1BAR{}, m_N11BAR{}, m_N21BAR{}, m_NZ1BAR_vsLB{}, m_N11BAR_vsLB{}, - // m_NZ1ECC{}, m_N11ECC{}, m_N21ECC{}, m_NZ1ECC_vsLB{}, m_N11ECC_vsLB{}, - // m_NZ1ECA{}, m_N11ECA{}, m_N21ECA{}, m_NZ1ECA_vsLB{}, m_N11ECA_vsLB{}, - // m_NO(nullptr), m_NOSide(nullptr), m_NO_vsLB(nullptr), @@ -212,33 +199,17 @@ SCTRatioNoiseMonTool::SCTRatioNoiseMonTool(const string& type, m_NOECA_disk{}, m_NOECA_disk_vsLB{}, m_numberHitsinBarrel{}, - // m_NZ1_vs_modnum(nullptr), m_N11_vs_modnum(nullptr), - // - m_stream("/stat"), m_path(""), - m_tracksName(""), // never used? - m_NOTrigger("L1_RD0_EMPTY"), - m_dataObjectName(std::string("SCT_RDOs")), - m_eventInfoKey(std::string("EventInfo")), - m_pSCTHelper(nullptr), - m_checkBadModules(true), - m_ignore_RDO_cut_online(true) { - /** sroe 3 Sept 2015: - histoPathBase is declared as a property in the base class, assigned to m_path - with default as empty string. - Declaring it here as well gives rise to compilation warning - WARNING duplicated property name 'histoPathBase', see https://its.cern.ch/jira/browse/GAUDI-1023 - declareProperty("histoPathBase", m_stream = "/stat"); **/ - m_stream = "/stat"; - declareProperty("checkBadModules", m_checkBadModules); + m_pSCTHelper(nullptr) { + declareProperty("checkBadModules", m_checkBadModules=true); declareProperty("CheckRate", m_checkrate = 1000); declareProperty("CheckRecent", m_checkrecent = 1); declareProperty("NOTrigger", m_NOTrigger = "L1_RD0_EMPTY"); - declareProperty("IgnoreRDOCutOnline", m_ignore_RDO_cut_online); + declareProperty("IgnoreRDOCutOnline", m_ignore_RDO_cut_online=true); - for (auto& i:m_goodModules) { + for (bool& i: m_goodModules) { i = true; } } @@ -249,7 +220,6 @@ StatusCode SCTRatioNoiseMonTool::initialize() { ATH_CHECK( SCTMotherTrigMonTool::initialize() ); ATH_CHECK( m_dataObjectName.initialize() ); - ATH_CHECK( m_eventInfoKey.initialize() ); return StatusCode::SUCCESS; } @@ -309,16 +279,12 @@ StatusCode SCTRatioNoiseMonTool::fillHistograms() { ATH_MSG_DEBUG("enters fillHistograms"); // lets get the raw hit container - typedef SCT_RDORawData SCTRawDataType; SG::ReadHandle<SCT_RDO_Container> p_rdocontainer(m_dataObjectName); if (not p_rdocontainer.isValid()) { return StatusCode::FAILURE; } Identifier SCT_Identifier; - // Use new IDC - SCT_RDO_Container::const_iterator col_it = p_rdocontainer->begin(); - SCT_RDO_Container::const_iterator lastCol = p_rdocontainer->end(); // Declare Time Bin m_set_timebin = 4; @@ -354,7 +320,8 @@ SCTRatioNoiseMonTool::fillHistograms() { SG::ReadHandle<xAOD::EventInfo> pEvent(m_eventInfoKey); if (not pEvent.isValid()) { - return ERROR("Could not find event pointer"), StatusCode::FAILURE; + ATH_MSG_ERROR("Could not find event pointer"); + return StatusCode::FAILURE; } const bool isSelectedTrigger = true; @@ -368,15 +335,13 @@ SCTRatioNoiseMonTool::fillHistograms() { m_current_lb = tmplb; int count_SCT_RDO = 0; if (isSelectedTrigger == true) { - for (; col_it != lastCol; ++col_it) { + for (const InDetRawDataCollection<SCT_RDORawData>* rd: *p_rdocontainer) { m_correct_TimeBin = false; - const InDetRawDataCollection<SCTRawDataType>* SCT_Collection(*col_it); - if (!SCT_Collection) { + if (rd==nullptr) { continue; // select only SCT RDOs } - const InDetRawDataCollection<SCT_RDORawData>* rd(*col_it); - Identifier SCT_Identifier = SCT_Collection->identify(); + Identifier SCT_Identifier = rd->identify(); int thisBec = m_pSCTHelper->barrel_ec(SCT_Identifier); int thisLayerDisk = m_pSCTHelper->layer_disk(SCT_Identifier); int thisPhi = m_pSCTHelper->phi_module(SCT_Identifier); @@ -393,11 +358,10 @@ SCTRatioNoiseMonTool::fillHistograms() { m_nNonGoodModule[m_modNum] = 1; } - DataVector<SCTRawDataType>::const_iterator p_rdo_end = SCT_Collection->end(); - for (DataVector<SCTRawDataType>::const_iterator p_rdo = SCT_Collection->begin(); p_rdo != p_rdo_end; ++p_rdo) { + for (const SCT_RDORawData* rdo: *rd) { count_SCT_RDO++; - const SCT3_RawData* rdo3 = dynamic_cast<const SCT3_RawData *>(*p_rdo); - if (rdo3 != 0) { + const SCT3_RawData* rdo3 = dynamic_cast<const SCT3_RawData*>(rdo); + if (rdo3) { m_tbin = (rdo3)->getTimeBin(); } if (timeBinInPattern(m_tbin, XIX) && goodModule) { diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx index af5c55d06ec..830b748cdff 100644 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx +++ b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/SCTTracksMonTool.cxx @@ -70,6 +70,8 @@ SCTTracksMonTool::SCTTracksMonTool(const string& type, const IInterface* parent) : SCTMotherTrigMonTool(type, name, parent), m_nTracks(nullptr), + m_nTracks_buf{}, + m_nTracks_pos{0}, m_trackTrigger(nullptr), m_trackTriggerRate(nullptr), m_totalBarrelResidual(nullptr), @@ -114,29 +116,16 @@ SCTTracksMonTool::SCTTracksMonTool(const string& type, m_psctpulls_summaryHistoVector{}, m_psctpulls_summaryHistoVectorECp{}, m_psctpulls_summaryHistoVectorECm{}, - m_path(""), - m_useIDGlobal(false), - m_residualPullCalculator("Trk::ResidualPullCalculator/ResidualPullCalculator", this), + m_stream{"/stat"}, + m_path{""}, m_pSCTHelper(nullptr) { - /** sroe 3 Sept 2015: - histoPathBase is declared as a property in the base class, assigned to m_path - with default as empty string. - Declaring it here as well gives rise to compilation warning - WARNING duplicated property name 'histoPathBase', see https://its.cern.ch/jira/browse/GAUDI-1023 - - declareProperty("histoPathBase", m_stream = "/stat"); **/ - m_stream = "/stat"; - declareProperty("tracksName", m_tracksName = std::string("SCT_Cosmic_Tracks")); // "ExtendedTracks"); declareProperty("trackHitCut", m_trackHitCut = 3); declareProperty("CheckRate", m_checkrate = 1000); declareProperty("doPositiveEndcap", m_doPositiveEndcap = true); - declareProperty("doNegativeEndcap", m_doNegativeEndcap = false); - declareProperty("ResPullCalc", m_residualPullCalculator); + declareProperty("doNegativeEndcap", m_doNegativeEndcap = true); declareProperty("useIDGlobal", m_useIDGlobal = false); declareProperty("doUnbiasedCalc", m_doUnbiasedCalc = true); declareProperty("EvtsBins", m_evtsbins = 5000); - m_nTracks_buf = nullptr; - m_nTracks_pos = 0; } // ==================================================================================================== @@ -145,7 +134,7 @@ StatusCode SCTTracksMonTool::initialize() { ATH_CHECK( SCTMotherTrigMonTool::initialize() ); ATH_CHECK( m_tracksName.initialize() ); - CHECK(m_residualPullCalculator.retrieve()); + ATH_CHECK(m_residualPullCalculator.retrieve()); return StatusCode::SUCCESS; } @@ -159,12 +148,12 @@ SCTTracksMonTool::bookHistogramsRecurrent() { if (newRunFlag()) { m_numberOfEvents = 0; } - CHECK(detStore()->retrieve(m_pSCTHelper, "SCT_ID")); + ATH_CHECK(detStore()->retrieve(m_pSCTHelper, "SCT_ID")); if (m_doUnbiasedCalc) { - CHECK(m_updator.retrieve()); + ATH_CHECK(m_updator.retrieve()); } // Booking Track related Histograms - CHECK(bookGeneralHistos()); + ATH_CHECK(bookGeneralHistos()); const bool doThisSubsystem[N_REGIONS] = { m_doNegativeEndcap, true, m_doPositiveEndcap }; @@ -190,12 +179,12 @@ SCTTracksMonTool::bookHistograms() { if (newRunFlag()) { m_numberOfEvents = 0; } - CHECK(detStore()->retrieve(m_pSCTHelper, "SCT_ID")); + ATH_CHECK(detStore()->retrieve(m_pSCTHelper, "SCT_ID")); if (m_doUnbiasedCalc) { - CHECK(m_updator.retrieve()); + ATH_CHECK(m_updator.retrieve()); } // Booking Track related Histograms - CHECK(bookGeneralHistos()); + ATH_CHECK(bookGeneralHistos()); const bool doThisSubsystem[N_REGIONS] = { m_doNegativeEndcap, true, m_doPositiveEndcap }; @@ -272,9 +261,7 @@ SCTTracksMonTool::fillHistograms() { return StatusCode::SUCCESS; } int local_tot_trkhits(0); - TrackCollection::const_iterator trkend(tracks->end()); - TrackCollection::const_iterator trkbegin(tracks->begin()); - if (trkend == trkbegin) { + if (tracks->size()==0) { if (m_doTrigger) { for (int trig(0); trig != N_TRIGGER_TYPES; ++trig) { m_trackTriggerRate->Fill(trig, 0); @@ -286,13 +273,12 @@ SCTTracksMonTool::fillHistograms() { } int goodTrks_N = 0; ATH_MSG_DEBUG("Begin loop over " << tracks->size() << " tracks"); - for (TrackCollection::const_iterator trkitr(tracks->begin()); trkitr != trkend; ++trkitr) { - int local_scthits = 0; - const Trk::Track* track = (*trkitr); + for (const Trk::Track* track: *tracks) { if (not track) { ATH_MSG_ERROR("No pointer to track"); break; } + int local_scthits = 0; int scthits_on_trk(0); // Breaks out of loop if track has less than 3 sct hits const Trk::TrackSummary* trkSum(track->trackSummary()); if (trkSum) { @@ -365,9 +351,9 @@ SCTTracksMonTool::fillHistograms() { H1_t residualsSummaryHistogram(0); H1_t pullsSummaryHistogram(0); DataVector<const Trk::TrackStateOnSurface>::const_iterator endit(trackStates->end()); - for (DataVector<const Trk::TrackStateOnSurface>::const_iterator it(trackStates->begin()); it != endit; ++it) { - if ((*it)->type(Trk::TrackStateOnSurface::Measurement)) { - const InDet::SiClusterOnTrack* clus(dynamic_cast<const InDet::SiClusterOnTrack*>((*it)->measurementOnTrack())); + for (const Trk::TrackStateOnSurface* tsos: *trackStates) { + if (tsos->type(Trk::TrackStateOnSurface::Measurement)) { + const InDet::SiClusterOnTrack* clus(dynamic_cast<const InDet::SiClusterOnTrack*>(tsos->measurementOnTrack())); if (clus) { // Is it a SiCluster? If yes... const InDet::SiCluster* RawDataClus(dynamic_cast<const InDet::SiCluster*>(clus->prepRawData())); if (not RawDataClus) { @@ -384,14 +370,14 @@ SCTTracksMonTool::fillHistograms() { const bool doThisDetector(doThisSubsystem[subsystemIndex]); hasHits[subsystemIndex] = true; const Trk::TrackParameters* trkParameters(0); - const Trk::RIO_OnTrack* rio(dynamic_cast<const Trk::RIO_OnTrack*>((*it)->measurementOnTrack())); + const Trk::RIO_OnTrack* rio(dynamic_cast<const Trk::RIO_OnTrack*>(tsos->measurementOnTrack())); bool updateSucceeds(true); if (rio) { #ifndef NDEBUG ATH_MSG_DEBUG("if rio"); #endif if (m_doUnbiasedCalc) { - const Trk::TrackParameters* trkParam((*it)->trackParameters()); + const Trk::TrackParameters* trkParam(tsos->trackParameters()); if (trkParam) { trkParameters = m_updator->removeFromState(*trkParam, rio->localParameters(), rio->localCovariance()); updateSucceeds = (trkParameters != 0); @@ -401,7 +387,7 @@ SCTTracksMonTool::fillHistograms() { ATH_MSG_DEBUG("not rio"); } if (!trkParameters) { - trkParameters = (*it)->trackParameters(); + trkParameters = tsos->trackParameters(); } if (trkParameters) { const AmgVector(5) LocalTrackParameters(trkParameters->parameters()); @@ -410,11 +396,11 @@ SCTTracksMonTool::fillHistograms() { ATH_MSG_DEBUG("Cluster Position Phi= " << clus->localParameters()[Trk::locX]); #endif if (!m_residualPullCalculator.empty()) { - const Trk::ResidualPull* residualPull(m_residualPullCalculator->residualPull(rio, trkParameters, - m_doUnbiasedCalc ? Trk::ResidualPull::Unbiased : Trk::ResidualPull::Biased)); + std::unique_ptr<const Trk::ResidualPull> residualPull(m_residualPullCalculator->residualPull(rio, trkParameters, + m_doUnbiasedCalc ? Trk::ResidualPull::Unbiased : Trk::ResidualPull::Biased)); if (!residualPull) { ATH_MSG_WARNING("Residual Pull Calculator did not succeed!"); - return StatusCode::FAILURE; + return StatusCode::SUCCESS; } else { float local_residual(residualPull->residual()[Trk::locX]); float local_pull(residualPull->pull()[Trk::locX]); @@ -454,8 +440,6 @@ SCTTracksMonTool::fillHistograms() { } } } - delete residualPull; - residualPull = 0; } } else { // no measured local parameters, pull won't be calculated ATH_MSG_WARNING("No measured local parameters, pull won't be calculated"); @@ -519,7 +503,7 @@ SCTTracksMonTool::fillHistograms() { } } // end if SCT.. } // end if (clus) - } // if ((*it)->type(Trk::TrackStateOnSurface::Measurement)) + } // if (tsos->type(Trk::TrackStateOnSurface::Measurement)) }// end of loop on TrackStatesonSurface (they can be SiClusters, TRTHits,..) m_trk_ncluHisto->Fill(local_scthits, 1.); // We now know whether this particular track had hits in the barrel or endcaps- update the profile histogram @@ -538,7 +522,7 @@ SCTTracksMonTool::fillHistograms() { } } // Time Dependent SP plots only online - m_nTracks_buf[m_nTracks_pos] = (int) (m_trk_chi2->GetEntries()); + m_nTracks_buf[m_nTracks_pos] = static_cast<int>(m_trk_chi2->GetEntries()); m_nTracks_pos++; if (m_nTracks_pos == m_evtsbins) { m_nTracks_pos = 0; @@ -652,16 +636,15 @@ SCTTracksMonTool::checkHists(bool /*fromFinalize*/) { } // (*residualsRms[0])[0]->GetXaxis()->SetTitle("Index in the direction of #eta"); } - // Now checking RMS and Means of Pulls 1D Histos + // Now checking RMS and Means of Pulls 1D Histos TF1 pullgaus("pullgaus", "gaus"); pullgaus.SetParameter(1, 0.); pullgaus.SetParameter(2, 1.); if (not m_psctpulls_summaryHistoVector.empty()) { - VecH1_t::const_iterator endit(m_psctpulls_summaryHistoVector.end()); - for (VecH1_t::const_iterator it(m_psctpulls_summaryHistoVector.begin()); it != endit; ++it) { - if ((*it)->GetEntries() > 2) {// only fit if #entries > 1, otherwise root crashes - ATH_MSG_DEBUG("GetEntries = " << (*it)->GetEntries()); - (*it)->Fit("pullgaus", "Q", "", -2., 2.); // Fit Pulls with a gaussian, Quiet mode ; adding 'N' would aslo do no + for (const H1_t h1: m_psctpulls_summaryHistoVector) { + if (h1->GetEntries() > 2) {// only fit if #entries > 1, otherwise root crashes + ATH_MSG_DEBUG("GetEntries = " << h1->GetEntries()); + h1->Fit("pullgaus", "Q", "", -2., 2.); // Fit Pulls with a gaussian, Quiet mode ; adding 'N' would aslo do no // drawing of the fitted function: the increase in speed is small, // though. double par[3], epar[3]; @@ -670,10 +653,10 @@ SCTTracksMonTool::checkHists(bool /*fromFinalize*/) { epar[i] = pullgaus.GetParError(i); // error on the params } if (abs(par[1]) > 5. * epar[1]) { - (*it)->SetLineColor(2); + h1->SetLineColor(2); } if ((par[2] - 5. * epar[2]) > 2.) { - (*it)->SetLineColor(2); + h1->SetLineColor(2); } } } @@ -689,7 +672,7 @@ SCTTracksMonTool::checkHists(bool /*fromFinalize*/) { // use kalman updator to get unbiased states IAlgTool* algTool; ListItem ltool("Trk::KalmanUpdator/TrkKalmanUpdator"); - CHECK(toolSvc()->retrieveTool(ltool.type(), ltool.name(), algTool)); + ATH_CHECK(toolSvc()->retrieveTool(ltool.type(), ltool.name(), algTool)); m_updator = dynamic_cast<Trk::IUpdator*>(algTool); if (not m_updator ) { ATH_MSG_FATAL("Could not get KalmanUpdator for unbiased track states"); @@ -727,28 +710,28 @@ SCTTracksMonTool::bookGeneralHistos() { m_tracksPerRegion->GetXaxis()->SetBinLabel(1, "EndCapC"); m_tracksPerRegion->GetXaxis()->SetBinLabel(2, "Barrel"); m_tracksPerRegion->GetXaxis()->SetBinLabel(3, "EndCapA"); - CHECK(Tracks.regHist(m_tracksPerRegion)); + ATH_CHECK(Tracks.regHist(m_tracksPerRegion)); m_totalBarrelResidual = new TH1F("totalBarrelResidual", "Overall Residual Distribution for the Barrel", 100, -0.5, 0.5); m_totalBarrelResidual->GetXaxis()->SetTitle("Residual [mm]"); - CHECK(Tracks.regHist(m_totalBarrelResidual)); + ATH_CHECK(Tracks.regHist(m_totalBarrelResidual)); m_totalEndCapAResidual = new TH1F("totalEndCapAResidual", "Overall Residual Distribution for the EndCapA", 100, -0.5, 0.5); m_totalEndCapAResidual->GetXaxis()->SetTitle("Residual [mm]"); - CHECK(Tracks.regHist(m_totalEndCapAResidual)); + ATH_CHECK(Tracks.regHist(m_totalEndCapAResidual)); m_totalEndCapCResidual = new TH1F("totalEndCapCResidual", "Overall Residual Distribution for the EndCapC", 100, -0.5, 0.5); m_totalEndCapCResidual->GetXaxis()->SetTitle("Residual [mm]"); - CHECK(Tracks.regHist(m_totalEndCapCResidual)); + ATH_CHECK(Tracks.regHist(m_totalEndCapCResidual)); m_totalBarrelPull = new TH1F("totalBarrelPull", "Overall Pull Distribution for the Barrel", 100, -5, 5); m_totalBarrelPull->GetXaxis()->SetTitle("Pull"); - CHECK(Tracks.regHist(m_totalBarrelPull)); + ATH_CHECK(Tracks.regHist(m_totalBarrelPull)); m_totalEndCapAPull = new TH1F("totalEndCapAPull", "Overall Pull Distribution for the EndCapA", 100, -5, 5); m_totalEndCapAPull->GetXaxis()->SetTitle("Pull"); - CHECK(Tracks.regHist(m_totalEndCapAPull)); + ATH_CHECK(Tracks.regHist(m_totalEndCapAPull)); m_totalEndCapCPull = new TH1F("totalEndCapCPull", "Overall Pull Distribution for the EndCapC", 100, -5, 5); m_totalEndCapCPull->GetXaxis()->SetTitle("Pull"); - CHECK(Tracks.regHist(m_totalEndCapCPull)); + ATH_CHECK(Tracks.regHist(m_totalEndCapCPull)); if (m_doTrigger == true) { m_trackTrigger = new TH1I("trackTriggers", "Tracks for different trigger types", N_TRIGGER_TYPES, -0.5, 7.5); // @@ -762,8 +745,8 @@ SCTTracksMonTool::bookGeneralHistos() { m_trackTrigger->GetXaxis()->SetBinLabel(trig + 1, SCTMotherTrigMonTool::m_triggerNames[trig].c_str()); m_trackTriggerRate->GetXaxis()->SetBinLabel(trig + 1, SCTMotherTrigMonTool::m_triggerNames[trig].c_str()); } - CHECK(Tracks.regHist(m_trackTrigger)); - CHECK(Tracks.regHist(m_trackTriggerRate)); + ATH_CHECK(Tracks.regHist(m_trackTrigger)); + ATH_CHECK(Tracks.regHist(m_trackTriggerRate)); } // Book histogram of track rate for different regions of the detector m_trackRate = new TProfile("SCTTrackRate", "Track per event for SCT regions", 3, 0.0, 3.0); @@ -771,56 +754,54 @@ SCTTracksMonTool::bookGeneralHistos() { m_trackRate->GetXaxis()->SetBinLabel(2, "Barrel"); m_trackRate->GetXaxis()->SetBinLabel(3, "EndcapA"); - CHECK(Tracks.regHist(m_trackRate)); + ATH_CHECK(Tracks.regHist(m_trackRate)); // m_trk_ncluHisto = new TH1F("trk_sct_hits", "SCT HITS per single Track", N_HIT_BINS, FIRST_HIT_BIN, LAST_HIT_BIN); m_trk_ncluHisto->GetXaxis()->SetTitle("Num of Hits"); - CHECK(Tracks.regHist(m_trk_ncluHisto)); + ATH_CHECK(Tracks.regHist(m_trk_ncluHisto)); m_trk_nclu_totHisto = new TH1F("sct_hits_onall_tracks", "SCT HITS on all event Tracks", N_HIT_BINS, FIRST_HIT_BIN, LAST_HIT_BIN); m_trk_nclu_totHisto->GetXaxis()->SetTitle("Num of SCT Hits"); m_trk_nclu_totHisto->GetYaxis()->SetTitle("Num of Events"); - CHECK(Tracks.regHist(m_trk_nclu_totHisto)); + ATH_CHECK(Tracks.regHist(m_trk_nclu_totHisto)); m_trk_chi2 = new TH1F("trk_chi2", "Track #chi^{2} div ndf", 150, 0., 150.); m_trk_chi2->GetXaxis()->SetTitle("Number of track #chi^{2}/NDF"); - CHECK(Tracks.regHist(m_trk_chi2)); + ATH_CHECK(Tracks.regHist(m_trk_chi2)); m_trk_N = new TH1F("trk_N", "Number of tracks", 400, 0, 4000); m_trk_N->GetXaxis()->SetTitle("Number of tracks"); - CHECK(Tracks.regHist(m_trk_N)); + ATH_CHECK(Tracks.regHist(m_trk_N)); m_trk_pt = new TH1F("trk_pt", "Track P_{T}", 150, 0., 150.); m_trk_pt->GetXaxis()->SetTitle("P_{T} [GeV]"); - CHECK(Tracks.regHist(m_trk_pt)); + ATH_CHECK(Tracks.regHist(m_trk_pt)); m_trk_d0 = new TH1F("trk_d0", "Track d0", 160, -40., 40.); m_trk_d0->GetXaxis()->SetTitle("d0 [mm]"); - CHECK(Tracks.regHist(m_trk_d0)); + ATH_CHECK(Tracks.regHist(m_trk_d0)); m_trk_z0 = new TH1F("trk_z0", "Track z0", 200, -200., 200.); m_trk_z0->GetXaxis()->SetTitle("z0 [mm]"); - CHECK(Tracks.regHist(m_trk_z0)); + ATH_CHECK(Tracks.regHist(m_trk_z0)); m_trk_phi = new TH1F("trk_phi", "Track Phi", 160, -4, 4.); m_trk_phi->GetXaxis()->SetTitle("#phi [rad]"); - CHECK(Tracks.regHist(m_trk_phi)); + ATH_CHECK(Tracks.regHist(m_trk_phi)); m_trk_eta = new TH1F("trk_eta", "Track Eta", 160, -4., 4.); m_trk_eta->GetXaxis()->SetTitle("#eta"); - CHECK(Tracks.regHist(m_trk_eta)); + ATH_CHECK(Tracks.regHist(m_trk_eta)); if (m_environment == AthenaMonManager::online) { m_nTracks = new TH1I("sct_tracks_vs_en", "Number of Tracks vs Event Number", m_evtsbins, 1, m_evtsbins + 1); m_nTracks->GetXaxis()->SetTitle("Event Number"); m_nTracks->GetYaxis()->SetTitle("Num of Tracks"); - size_t nTracks_buf_size; - nTracks_buf_size = m_evtsbins * sizeof(int); - m_nTracks_buf = (int*) malloc(nTracks_buf_size); + m_nTracks_buf.reserve(m_evtsbins); m_nTracks_pos = 0; - CHECK(Tracks.regHist(m_nTracks)); + ATH_CHECK(Tracks.regHist(m_nTracks)); } } return StatusCode::SUCCESS; @@ -884,9 +865,9 @@ SCTTracksMonTool::bookTrackHistos(const SCT_Monitoring::Bec becVal) { string streamPull(string("pulls") + abbreviation + streamDelimiter + layerSide.name()); string titleResidual(string("SCT Residuals for ") + polarityString + ": " + layerSide.title()); string titlePull(string("SCT Pulls: ") + layerSide.title()); - CHECK(h1Factory(streamResidual + "_summary", "Summary " + titleResidual, 0.5, endCapTracksResi, + ATH_CHECK(h1Factory(streamResidual + "_summary", "Summary " + titleResidual, 0.5, endCapTracksResi, *p_residualsSummary)); - CHECK(h1Factory(streamPull + "_summary", "Summary " + titlePull, 5., endCapTracksPull, *p_pullsSummary)); + ATH_CHECK(h1Factory(streamPull + "_summary", "Summary " + titlePull, 5., endCapTracksPull, *p_pullsSummary)); } @@ -922,8 +903,8 @@ SCTTracksMonTool::bookTrackHistos(const SCT_Monitoring::Bec becVal) { string titleResidual(string("SCT Residuals for ") + polarityString + ": " + layerSide.title()); string titlePull(string("SCT Pulls: ") + layerSide.title()); - CHECK(p2Factory(streamResidual, titleResidual, becVal, endCapTracksResi, *p_residuals)); - CHECK(p2Factory(streamPull, titlePull, becVal, endCapTracksPull, *p_pulls)); + ATH_CHECK(p2Factory(streamResidual, titleResidual, becVal, endCapTracksResi, *p_residuals)); + ATH_CHECK(p2Factory(streamPull, titlePull, becVal, endCapTracksPull, *p_pulls)); } for (unsigned int i(0); i != limit; ++i) { @@ -935,8 +916,8 @@ SCTTracksMonTool::bookTrackHistos(const SCT_Monitoring::Bec becVal) { string streamPull("pullsRMS" + abbreviation + streamDelimiter + layerString + streamDelimiter + sideString); string titleResidual("SCT Residuals RMS for " + polarityString + ": " + layerSide.title()); string titlePull(string("SCT Pulls RMS for ") + polarityString + ": " + layerSide.title()); - CHECK(h2Factory(streamResidual, titleResidual, becVal, endCapTracksResi, *p_residualsRms)); - CHECK(h2Factory(streamPull, titlePull, becVal, endCapTracksPull, *p_pullsRms)); + ATH_CHECK(h2Factory(streamResidual, titleResidual, becVal, endCapTracksResi, *p_residualsRms)); + ATH_CHECK(h2Factory(streamPull, titlePull, becVal, endCapTracksPull, *p_pullsRms)); } } @@ -959,7 +940,7 @@ SCTTracksMonTool::h2Factory(const std::string& name, const std::string& title, } H2_t tmp = new TH2F(TString(name), TString( title), nEta, firstEta - 0.5, lastEta + 0.5, nPhi, firstPhi - 0.5, lastPhi + 0.5); - CHECK(registry.regHist(tmp)); + ATH_CHECK(registry.regHist(tmp)); storageVector.push_back(tmp); return StatusCode::SUCCESS; } @@ -980,7 +961,7 @@ SCTTracksMonTool::p2Factory(const std::string& name, const std::string& title, } Prof2_t tmp = new TProfile2D(TString(name), TString( title), nEta, firstEta - 0.5, lastEta + 0.5, nPhi, firstPhi - 0.5, lastPhi + 0.5, "s"); - CHECK(registry.regHist(tmp)); + ATH_CHECK(registry.regHist(tmp)); storageVector.push_back(tmp); return StatusCode::SUCCESS; } @@ -992,7 +973,7 @@ SCTTracksMonTool::h1Factory(const std::string& name, const std::string& title, c const float lo(-extent), hi(extent); H1_t tmp = new TH1F(TString(name), TString(title), nbins, lo, hi); - CHECK(registry.regHist(tmp)); + ATH_CHECK(registry.regHist(tmp)); storageVector.push_back(tmp); return StatusCode::SUCCESS; } diff --git a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/cArrayUtilities.h b/InnerDetector/InDetMonitoring/SCT_Monitoring/src/cArrayUtilities.h deleted file mode 100644 index d94e20aaf96..00000000000 --- a/InnerDetector/InDetMonitoring/SCT_Monitoring/src/cArrayUtilities.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef SCT_MonitoringcArrayUtilities_h -#define SCT_MonitoringcArrayUtilities_h - -/** @file cArrayUtilities.cxx - * - * - * @author Shaun Roe - * Header amnd implementation for utiities dealing with - * C-style arrays - */ - - -namespace SCT_Monitoring { - // give the total size of a 3D C-style array - template<class T, int Size1, int Size2, int Size3> - int - extent(T (&/*parray*/)[Size1][Size2][Size3]) { - return Size1 * Size2 * Size3; - } - - // give the total size of a 2D C-style array - template<class T, int Size1, int Size2> - int - extent(T (&/*parray*/)[Size1][Size2]) { - return Size1 * Size2; - } - - // give beyond-the-end pointer for 2D C-style array - template<class T, int Size1, int Size2> - T * - endof(T (&parray)[Size1][Size2]) { - return &(parray[0][0]) + extent(parray); - } - - // give the byte size of a 3D C-style array - template<class T, int Size1, int Size2, int Size3> - int - byte_extent3D(T (&)[Size1][Size2][Size3]) { - return Size1 * Size2 * Size3 * sizeof(T); - } - - // give the byte size of a 2D C-style array - template<class T, int Size1, int Size2> - int - byte_extent(T (&)[Size1][Size2]) { - return Size1 * Size2 * sizeof(T); - } - - // give the byte size of a 1D C-style array - template<class T, int Size1> - int - byte_extent1D(T (&)[Size1]) { - return Size1 * sizeof(T); - } - - template <class T, int Size1, int Size2, int Size3> - void - clear3D(T (&parray)[Size1][Size2][Size3]) { - memset(parray, 0, byte_extent3D(parray)); - } - - template <class T, int Size1, int Size2> - void - clear(T (&parray)[Size1][Size2]) { - memset(parray, 0, byte_extent(parray)); - } - - // for 1-D arrays - template <class T, int Size1> - void - clear1D(T (&parray)[Size1]) { - memset(parray, 0, byte_extent1D(parray)); - } -} -#endif -- GitLab