From 51fd3eb2c1d13b1457c2c59a99790ed9bb9cde1a Mon Sep 17 00:00:00 2001 From: Peter Onyisi <ponyisi@utexas.edu> Date: Mon, 2 Nov 2020 18:16:38 +0000 Subject: [PATCH] Add DecorHandles to steer DQ algs & other RAWtoALL fixes --- .../AthenaMonitoring/src/DQEventFlagFilterTool.cxx | 3 ++- Control/AthenaMonitoring/src/DQEventFlagFilterTool.h | 3 ++- .../DataQualityTools/DQTBackgroundMon.h | 7 ++++++- .../DataQualityTools/DQTDataFlowMonAlg.h | 7 ++++++- .../DataQualityTools/src/DQTBackgroundMon.cxx | 3 ++- .../DataQualityTools/src/DQTDataFlowMonAlg.cxx | 7 +++++++ .../python/Run3AFPExampleMonitorAlgorithm.py | 4 ++++ .../python/TRTMonitoringRun3ESD_Alg.py | 9 +++++---- .../SiSPSeededTrackFinder/SiSPSeededTrackFinder.h | 2 ++ .../src/SiSPSeededTrackFinder.cxx | 1 + .../LArCellRec/python/LArCollisionTimeConfig.py | 8 +++++--- .../LArCellRec/src/LArCollisionTimeAlg.cxx | 4 +--- LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.h | 8 ++++---- .../LArConfiguration/python/LArMonitoringConfig.py | 12 ++++++------ .../LArMonitoring/python/LArCollisionTimeMonAlg.py | 3 +-- .../LArMonitoring/python/LArReco_fromraw_Cfg.py | 3 +-- .../python/TgcRawDataMonitorAlgorithm.py | 6 ++++-- .../RecBackgroundAlgs/BackgroundWordFiller.h | 7 ++++++- .../RecBackgroundAlgs/src/BackgroundWordFiller.cxx | 3 ++- .../src/MonitorElectronAlgorithm.cxx | 1 + .../egammaPerformance/src/MonitorElectronAlgorithm.h | 1 + .../egammaPerformance/src/MonitorPhotonAlgorithm.cxx | 1 + .../egammaPerformance/src/MonitorPhotonAlgorithm.h | 1 + .../src/TileDQFragMonitorAlgorithm.cxx | 3 ++- .../TileMonitoring/src/TileDQFragMonitorAlgorithm.h | 4 ++++ .../TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.cxx | 3 ++- .../TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.h | 3 ++- .../TileRecUtils/TileRecUtils/TileCellBuilder.h | 6 +++++- TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx | 3 ++- 29 files changed, 88 insertions(+), 38 deletions(-) diff --git a/Control/AthenaMonitoring/src/DQEventFlagFilterTool.cxx b/Control/AthenaMonitoring/src/DQEventFlagFilterTool.cxx index 1a0efb76407..3ca699460e7 100644 --- a/Control/AthenaMonitoring/src/DQEventFlagFilterTool.cxx +++ b/Control/AthenaMonitoring/src/DQEventFlagFilterTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "DQEventFlagFilterTool.h" @@ -18,6 +18,7 @@ StatusCode DQEventFlagFilterTool::initialize() ATH_MSG_VERBOSE("ATLAS Ready initialize"); // don't register callback if we always return true anyway ATH_CHECK( m_EventInfoKey.initialize(!m_alwaysReturnTrue) ); + ATH_CHECK( m_TileStatusKey.initialize(!m_alwaysReturnTrue) ); return StatusCode::SUCCESS; } diff --git a/Control/AthenaMonitoring/src/DQEventFlagFilterTool.h b/Control/AthenaMonitoring/src/DQEventFlagFilterTool.h index 2fac590257c..deeed055ca9 100644 --- a/Control/AthenaMonitoring/src/DQEventFlagFilterTool.h +++ b/Control/AthenaMonitoring/src/DQEventFlagFilterTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #ifndef DQEVENTFLAGFILTERTOOL_H @@ -32,6 +32,7 @@ class DQEventFlagFilterTool : public AthAlgTool, virtual public IDQFilterTool Gaudi::Property<bool> m_doSCT{this, "doSCT", true}; Gaudi::Property<bool> m_doCore{this, "doCore", true}; SG::ReadHandleKey<xAOD::EventInfo> m_EventInfoKey{this, "EventInfoKey", "EventInfo"}; + SG::ReadDecorHandleKey<xAOD::EventInfo> m_TileStatusKey{this, "TileStatusKey", "EventInfo.TileStatus"}; }; #endif //DQEVENTFLAGFILTERTOOL_H diff --git a/DataQuality/DataQualityTools/DataQualityTools/DQTBackgroundMon.h b/DataQuality/DataQualityTools/DataQualityTools/DQTBackgroundMon.h index 4f1118dfa66..a3e179ccf58 100644 --- a/DataQuality/DataQualityTools/DataQualityTools/DQTBackgroundMon.h +++ b/DataQuality/DataQualityTools/DataQualityTools/DQTBackgroundMon.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ /** @@ -44,6 +44,11 @@ private: RHK<Trk::SegmentCollection> m_SegmentCollectionKey {this, "MuonSegmentsKey", "MuonSegments", ""}; RHK<BeamBackgroundData> m_BeamBackgroundDataKey {this, "BeamBackgroundDataKey", "BeamBackgroundData", ""}; RHK<xAOD::VertexContainer> m_VertexContainerKey {this, "PrimaryVerticesKey", "PrimaryVertices", ""}; + SG::ReadDecorHandleKey<xAOD::EventInfo> m_eventInfoDecorKey{this,"eventInfoDecorKey", + "EventInfo.backgroundWord", + "Key to enforce scheduling"}; + // we dp not need a decorhandle key for the MBTS background because we already depend on MBTSCollisionTime + // For parsing the int returned by TrigDecTool's getBGCode() GP<int> m_filledBG {this, "FilledBGIndex", 1}; diff --git a/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonAlg.h b/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonAlg.h index 06cef9ce523..50901fd5951 100644 --- a/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonAlg.h +++ b/DataQuality/DataQualityTools/DataQualityTools/DQTDataFlowMonAlg.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // ******************************************************************** @@ -25,8 +25,13 @@ class DQTDataFlowMonAlg: public AthMonitorAlgorithm virtual ~DQTDataFlowMonAlg() {}; + virtual StatusCode initialize() override; + virtual StatusCode fillHistograms( const EventContext& ctx ) const override; + private: + SG::ReadDecorHandleKey<xAOD::EventInfo> m_TileStatusKey{this, "TileStatusKey", "EventInfo.TileStatus"}; + }; #endif diff --git a/DataQuality/DataQualityTools/src/DQTBackgroundMon.cxx b/DataQuality/DataQualityTools/src/DQTBackgroundMon.cxx index 3d0489a1dad..1c17221900d 100644 --- a/DataQuality/DataQualityTools/src/DQTBackgroundMon.cxx +++ b/DataQuality/DataQualityTools/src/DQTBackgroundMon.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "DataQualityTools/DQTBackgroundMon.h" @@ -18,6 +18,7 @@ StatusCode DQTBackgroundMon::initialize() { ATH_CHECK( m_LUCID_RawDataContainerKey.initialize() ); ATH_CHECK( m_BeamBackgroundDataKey.initialize() ); ATH_CHECK( m_VertexContainerKey.initialize() ); + ATH_CHECK( m_eventInfoDecorKey.initialize() ); return AthMonitorAlgorithm::initialize(); } diff --git a/DataQuality/DataQualityTools/src/DQTDataFlowMonAlg.cxx b/DataQuality/DataQualityTools/src/DQTDataFlowMonAlg.cxx index a73005be38d..566b793d704 100644 --- a/DataQuality/DataQualityTools/src/DQTDataFlowMonAlg.cxx +++ b/DataQuality/DataQualityTools/src/DQTDataFlowMonAlg.cxx @@ -21,6 +21,13 @@ DQTDataFlowMonAlg::DQTDataFlowMonAlg( const std::string& name, { } +StatusCode +DQTDataFlowMonAlg::initialize() +{ + ATH_CHECK(AthMonitorAlgorithm::initialize()); + ATH_CHECK(m_TileStatusKey.initialize()); + return StatusCode::SUCCESS; +} StatusCode DQTDataFlowMonAlg::fillHistograms( const EventContext& ctx ) const diff --git a/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py b/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py index 5a1c07c50c2..3c7d444ffb6 100644 --- a/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py +++ b/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py @@ -12,6 +12,10 @@ def Run3AFPExampleMonitoringConfig(inputFlags): from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator result = ComponentAccumulator() + # don't run in RAWtoESD + if inputFlags.DQ.Environment in ('tier0Raw',): + return result + from LumiBlockComps.BunchCrossingCondAlgConfig import BunchCrossingCondAlgCfg result.merge(BunchCrossingCondAlgCfg(inputFlags)) diff --git a/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py b/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py index 0a9c0ae2892..eb82fe897f1 100644 --- a/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py +++ b/InnerDetector/InDetMonitoring/TRTMonitoringRun3/python/TRTMonitoringRun3ESD_Alg.py @@ -16,10 +16,6 @@ def TRTMonitoringRun3ESD_AlgConfig(inputFlags): from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator result = ComponentAccumulator() - from TrkConfig.TrackCollectionReadConfig import TrackCollectionReadCfg - result.merge (TrackCollectionReadCfg (inputFlags, 'CombinedInDetTracks')) - result.merge (TrackCollectionReadCfg (inputFlags, 'Tracks')) - from AthenaMonitoring import AthMonitorCfgHelper helper = AthMonitorCfgHelper(inputFlags, 'TRTMonitoringCfg') @@ -221,6 +217,11 @@ if __name__ == '__main__': geoCfg = AtlasGeometryCfg(ConfigFlags) cfg.merge(geoCfg) + # Force special handling of converters + from TrkConfig.TrackCollectionReadConfig import TrackCollectionReadCfg + cfg.merge (TrackCollectionReadCfg (ConfigFlags, 'CombinedInDetTracks')) + cfg.merge (TrackCollectionReadCfg (ConfigFlags, 'Tracks')) + TRTMonitoringRun3Acc = TRTMonitoringRun3ESD_AlgConfig(ConfigFlags) ServiceMgr.Dump = False diff --git a/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/SiSPSeededTrackFinder/SiSPSeededTrackFinder.h b/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/SiSPSeededTrackFinder/SiSPSeededTrackFinder.h index 1524a165a3d..a19cc99c685 100644 --- a/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/SiSPSeededTrackFinder/SiSPSeededTrackFinder.h +++ b/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/SiSPSeededTrackFinder/SiSPSeededTrackFinder.h @@ -120,6 +120,8 @@ namespace InDet { SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey{this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot"}; + SG::ReadDecorHandleKey<xAOD::EventInfo> m_mbtsKey{this, "MBTSKey", "EventInfo.MBTSBackground"}; + SG::WriteHandleKey<TrackCollection> m_outputTracksKey{this, "TracksLocation", "SiSPSeededTracks"}; //@} diff --git a/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/src/SiSPSeededTrackFinder.cxx b/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/src/SiSPSeededTrackFinder.cxx index d74fa67cbe4..c608055d1ec 100644 --- a/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/src/SiSPSeededTrackFinder.cxx +++ b/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/src/SiSPSeededTrackFinder.cxx @@ -28,6 +28,7 @@ InDet::SiSPSeededTrackFinder::SiSPSeededTrackFinder StatusCode InDet::SiSPSeededTrackFinder::initialize() { ATH_CHECK(m_evtKey.initialize()); + ATH_CHECK(m_mbtsKey.initialize(m_useMBTS)); if (not m_SpacePointsPixelKey.empty()) { ATH_CHECK(m_SpacePointsPixelKey.initialize()); } diff --git a/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py b/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py index 7f981afa827..b78b5eb870c 100644 --- a/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py +++ b/LArCalorimeter/LArCellRec/python/LArCollisionTimeConfig.py @@ -1,16 +1,18 @@ -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration # python fragment to configure LAr collision time algo from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory -def LArCollisionTimeCfg(configFlags): +def LArCollisionTimeCfg(configFlags, cutIteration=False): result=ComponentAccumulator() LArCollisionTimeAlg=CompFactory.LArCollisionTimeAlg - result.addEventAlgo(LArCollisionTimeAlg("LArCollisionTimeAlg", isMC=configFlags.Input.isMC)) + result.addEventAlgo(LArCollisionTimeAlg("LArCollisionTimeAlg", + isMC=configFlags.Input.isMC, + cutIteration=cutIteration)) return result diff --git a/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.cxx b/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.cxx index 57941f2f7a6..d15e9b4625d 100644 --- a/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.cxx +++ b/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "LArCollisionTimeAlg.h" @@ -12,8 +12,6 @@ LArCollisionTimeAlg:: LArCollisionTimeAlg(const std::string& name, ISvcLocator* AthAlgorithm(name,pSvcLocator), m_calo_id(nullptr) { - declareProperty("cellContainerName", m_cellsContName="AllCalo" ); - declareProperty("collisionTime", m_collTimeName="LArCollisionTime" ); } //__________________________________________________________________________ diff --git a/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.h b/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.h index b6210ae4539..518078efe52 100644 --- a/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.h +++ b/LArCalorimeter/LArCellRec/src/LArCollisionTimeAlg.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // TheLArCollisionsAlg.h @@ -46,13 +46,13 @@ class LArCollisionTimeAlg : public AthAlgorithm { // Properties // -------------------------------------------------- Gaudi::Property<bool> m_isMC { this, "isMC", false, "Are we working with simu?" }; - Gaudi::Property<bool> m_iterCut { this, "cutIteration", true, "cut on OFC iteration, will not work for Online" }; + Gaudi::Property<bool> m_iterCut { this, "cutIteration", false, "cut on OFC iteration, will not work for Online" }; Gaudi::Property<float> m_timeCut { this, "timeDiffCut", 5., "|A-C| time < timeDiffCut to pass the filter" }; Gaudi::Property<int> m_minCells { this, "nCells", 2, "min. number of cells per endcap to pass the filter" }; - SG::ReadHandleKey<CaloCellContainer> m_cellsContName; - SG::WriteHandleKey<LArCollisionTime> m_collTimeName; + SG::ReadHandleKey<CaloCellContainer> m_cellsContName{this,"cellContainerName","AllCalo"}; + SG::WriteHandleKey<LArCollisionTime> m_collTimeName{this,"collisionTime","LArCollisionTime"}; SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this,"CaloNoiseKey","totalNoise","SG Key of CaloNoise data object"}; }; diff --git a/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py b/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py index d5c8d636413..29830d97444 100644 --- a/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py +++ b/LArCalorimeter/LArConfiguration/python/LArMonitoringConfig.py @@ -18,18 +18,18 @@ def LArMonitoringConfig(inputFlags): from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator acc = ComponentAccumulator() - if not inputFlags.Input.isMC: - acc.merge(LArAffectedRegionsConfig(inputFlags)) - acc.merge(LArNoisyROMonConfig(inputFlags)) - if 'online' not in inputFlags.DQ.Environment: - acc.merge(LArHVCorrMonConfig(inputFlags)) - # algos which can run in ESD but not AOD: if inputFlags.DQ.Environment != 'AOD': if inputFlags.DQ.DataType != 'cosmics': from LumiBlockComps.BunchCrossingCondAlgConfig import BunchCrossingCondAlgCfg acc.merge(BunchCrossingCondAlgCfg(inputFlags)) acc.merge(LArCollisionTimeMonConfig(inputFlags)) + if not inputFlags.Input.isMC: + acc.merge(LArNoisyROMonConfig(inputFlags)) + acc.merge(LArAffectedRegionsConfig(inputFlags)) + if 'online' not in inputFlags.DQ.Environment: + acc.merge(LArHVCorrMonConfig(inputFlags)) + # and others on RAW data only if inputFlags.DQ.Environment in ('online', 'tier0', 'tier0Raw'): diff --git a/LArCalorimeter/LArMonitoring/python/LArCollisionTimeMonAlg.py b/LArCalorimeter/LArMonitoring/python/LArCollisionTimeMonAlg.py index 432bee17c98..88eb02c0a98 100644 --- a/LArCalorimeter/LArMonitoring/python/LArCollisionTimeMonAlg.py +++ b/LArCalorimeter/LArMonitoring/python/LArCollisionTimeMonAlg.py @@ -269,8 +269,7 @@ if __name__=='__main__': # try collision time algo from LArCellRec.LArCollisionTimeConfig import LArCollisionTimeCfg - cfg.merge(LArCollisionTimeCfg(ConfigFlags)) - cfg.getEventAlgo("LArCollisionTimeAlg").cutIteration=False + cfg.merge(LArCollisionTimeCfg(ConfigFlags, cutIteration=False)) # add cluster collision time algo # cluster config is still missing #from LArClusterRec.LArClusterSwConfig import LArClusterSwConfig diff --git a/LArCalorimeter/LArMonitoring/python/LArReco_fromraw_Cfg.py b/LArCalorimeter/LArMonitoring/python/LArReco_fromraw_Cfg.py index 8a2b376c7a6..9e7110b92ca 100644 --- a/LArCalorimeter/LArMonitoring/python/LArReco_fromraw_Cfg.py +++ b/LArCalorimeter/LArMonitoring/python/LArReco_fromraw_Cfg.py @@ -38,8 +38,7 @@ if __name__=="__main__": #collision time algo from LArCellRec.LArCollisionTimeConfig import LArCollisionTimeCfg - cfg.merge(LArCollisionTimeCfg(ConfigFlags)) - cfg.getEventAlgo("LArCollisionTimeAlg").cutIteration=False + cfg.merge(LArCollisionTimeCfg(ConfigFlags, cutIteration=False)) # and collision time monitoring algo from LArMonitoring.LArCollisionTimeMonAlg import LArCollisionTimeMonConfig diff --git a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/python/TgcRawDataMonitorAlgorithm.py b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/python/TgcRawDataMonitorAlgorithm.py index 617f0a5b3c9..6fbcd4d033b 100644 --- a/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/python/TgcRawDataMonitorAlgorithm.py +++ b/MuonSpectrometer/MuonValidation/MuonDQA/MuonRawDataMonitoring/TgcRawDataMonitoring/python/TgcRawDataMonitorAlgorithm.py @@ -37,9 +37,11 @@ def TgcRawDataMonitoringConfig(inputFlags): if not inputFlags.DQ.triggerDataAvailable: tgcRawDataMonAlg.MuonRoIContainerName = '' - if 'HLT_xAOD__MuonContainer_MuonEFInfo' in inputFlags.Input.Collections: + isBS = (inputFlags.Input.Format == 'BS') + # if input is raw data, objects won't be in input collections + if (isBS and inputFlags.DQ.triggerDataAvailable) or 'HLT_xAOD__MuonContainer_MuonEFInfo' in inputFlags.Input.Collections: tgcRawDataMonAlg.MuonEFContainerName='HLT_xAOD__MuonContainer_MuonEFInfo' - if 'TGC_MeasurementsAllBCs' in inputFlags.Input.Collections: + if isBS or 'TGC_MeasurementsAllBCs' in inputFlags.Input.Collections: tgcRawDataMonAlg.AnaTgcPrd=True mainDir = 'Muon/MuonRawDataMonitoring/TGC/' diff --git a/Reconstruction/RecBackground/RecBackgroundAlgs/RecBackgroundAlgs/BackgroundWordFiller.h b/Reconstruction/RecBackground/RecBackgroundAlgs/RecBackgroundAlgs/BackgroundWordFiller.h index fa61a22807f..7bd7d5da406 100644 --- a/Reconstruction/RecBackground/RecBackgroundAlgs/RecBackgroundAlgs/BackgroundWordFiller.h +++ b/Reconstruction/RecBackground/RecBackgroundAlgs/RecBackgroundAlgs/BackgroundWordFiller.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ /* Algorihtm to fill the background word that is stored in the EventInfo @@ -58,6 +58,11 @@ class BackgroundWordFiller : public AthAlgorithm /** ReadHandleKey for LArCollisionTime */ SG::ReadHandleKey<LArCollisionTime> m_lArCollisionTimeKey{this,"LArCollisionTimeKey","LArCollisionTime","Key for LArCollisionTime"}; + /** WriteDecorHandleKey: needed for scheduling downstream clients */ + SG::WriteDecorHandleKey<xAOD::EventInfo> m_eventInfoDecorKey{this,"eventInfoDecorKey", + "EventInfo.backgroundWord", + "Decoration key for downstream clients"}; + Gaudi::Property<bool> m_isMC{this, "IsMC", false, "Sets whether we should expect MC objects"}; int m_HaloNumSegment_Cut; diff --git a/Reconstruction/RecBackground/RecBackgroundAlgs/src/BackgroundWordFiller.cxx b/Reconstruction/RecBackground/RecBackgroundAlgs/src/BackgroundWordFiller.cxx index 52e545b4d2d..b3f5ec723f5 100644 --- a/Reconstruction/RecBackground/RecBackgroundAlgs/src/BackgroundWordFiller.cxx +++ b/Reconstruction/RecBackground/RecBackgroundAlgs/src/BackgroundWordFiller.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ /* Algorihtm to fill the background word that is stored in the EventInfo @@ -139,6 +139,7 @@ StatusCode BackgroundWordFiller::initialize() { ATH_CHECK(m_rawInfoSummaryForTagKey.initialize(!m_isMC)); ATH_CHECK(m_tileCellContainerKey.initialize()); ATH_CHECK(m_lArCollisionTimeKey.initialize(!m_isMC)); + ATH_CHECK(m_eventInfoDecorKey.initialize()); return StatusCode::SUCCESS; } diff --git a/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.cxx b/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.cxx index 4f7d23655bd..3f272c68cce 100755 --- a/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.cxx +++ b/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.cxx @@ -19,6 +19,7 @@ StatusCode MonitorElectronAlgorithm::initialize() { using namespace Monitored; ATH_CHECK( AthMonitorAlgorithm::initialize() ); ATH_CHECK( m_ParticleContainerKey.initialize() ); + ATH_CHECK( m_ElectronIsolationKey.initialize() ); return StatusCode::SUCCESS; } diff --git a/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.h b/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.h index 356f5a99f3b..a54d5843a5b 100755 --- a/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.h +++ b/Reconstruction/egamma/egammaPerformance/src/MonitorElectronAlgorithm.h @@ -30,6 +30,7 @@ public: private: SG::ReadHandleKey<xAOD::ElectronContainer> m_ParticleContainerKey {this, "ParticleContainerName", "Electrons", "Name of electron container" }; + SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_ElectronIsolationKey {this, "ElectronIsolationKey", "Electrons.ptcone20"}; Gaudi::Property<std::string> m_ParticlePrefix {this,"ParticlePrefix","electron","Name of the particle prefix to be used to define hists"}; Gaudi::Property<std::string> m_RecoName {this,"RecoName","LHTight","Name of particle flavor in egamma reco"}; Gaudi::Property<std::string> m_WithTrigger {this,"WithTrigger","","Name extension when electrons are chosen from triggered events"}; diff --git a/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.cxx b/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.cxx index 00341330b04..5753e41688a 100755 --- a/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.cxx +++ b/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.cxx @@ -19,6 +19,7 @@ StatusCode MonitorPhotonAlgorithm::initialize() { using namespace Monitored; ATH_CHECK(AthMonitorAlgorithm::initialize() ); ATH_CHECK( m_ParticleContainerKey.initialize() ); + ATH_CHECK( m_PhotonIsolationKey.initialize() ); return StatusCode::SUCCESS; } diff --git a/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.h b/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.h index f8921a4151b..775f59469df 100755 --- a/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.h +++ b/Reconstruction/egamma/egammaPerformance/src/MonitorPhotonAlgorithm.h @@ -29,6 +29,7 @@ class MonitorPhotonAlgorithm : public AthMonitorAlgorithm { private: SG::ReadHandleKey<xAOD::PhotonContainer> m_ParticleContainerKey {this, "ParticleContainerName", "Photons", "Name of electron container" }; + SG::ReadDecorHandleKey<xAOD::PhotonContainer> m_PhotonIsolationKey {this, "PhotonIsolationKey", "Photons.ptcone20"}; Gaudi::Property<std::string> m_ParticlePrefix {this,"ParticlePrefix","photon","Name of the particle prefix to be used to define hists"}; Gaudi::Property<std::string> m_RecoName {this,"RecoName","Tight","Name of particle flavor in egamma reco"}; Gaudi::Property<std::string> m_WithTrigger {this,"WithTrigger","","Name extension when electrons are chosen from triggered events"}; diff --git a/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.cxx b/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.cxx index 8adc8a3ae49..c0e9aed5f3d 100644 --- a/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.cxx +++ b/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "TileDQFragMonitorAlgorithm.h" @@ -29,6 +29,7 @@ StatusCode TileDQFragMonitorAlgorithm::initialize() { ATH_CHECK( m_DCSStateKey.initialize(m_checkDCS) ); ATH_CHECK( m_digitsContainerKey.initialize(SG::AllowEmpty) ); ATH_CHECK( m_rawChannelContainerKey.initialize(SG::AllowEmpty) ); + ATH_CHECK( m_eventInfoTileStatusKey.initialize() ); using Tile = TileCalibUtils; diff --git a/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.h b/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.h index 7e63e2b09de..9ca6101b0f0 100644 --- a/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.h +++ b/TileCalorimeter/TileMonitoring/src/TileDQFragMonitorAlgorithm.h @@ -87,6 +87,10 @@ class TileDQFragMonitorAlgorithm : public AthMonitorAlgorithm { SG::ReadHandleKey<TileDigitsContainer> m_digitsContainerKey{this, "TileDigitsContainer", "TileDigitsCnt", "Input Tile digits container key"}; + SG::ReadDecorHandleKey<xAOD::EventInfo> m_eventInfoTileStatusKey{this, "EventInfoTileStatus", + "EventInfo.TileStatus", + "Aid to MT scheduling, do not change"}; + std::vector<std::vector<int>> m_errorsGroups; std::vector<std::vector<int>> m_errorsVsLBGroups; diff --git a/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.cxx b/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.cxx index d1f91f67887..f23e151387d 100644 --- a/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.cxx +++ b/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // Tile includes @@ -36,6 +36,7 @@ StatusCode MBTSTimeDiffEventInfoAlg::initialize() { ATH_CHECK( m_mbtsContainerKey.initialize() ); ATH_CHECK( m_eventInfoKey.initialize() ); ATH_CHECK( m_mbtsCollisionTimeKey.initialize() ); + ATH_CHECK( m_eventInfoDecorKey.initialize() ); return StatusCode::SUCCESS; } diff --git a/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.h b/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.h index 218a33cf3ce..257a21ca821 100644 --- a/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.h +++ b/TileCalorimeter/TileRecAlgs/src/MBTSTimeDiffEventInfoAlg.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #ifndef TILERECALGS_MBTSTIMEDIFFEVENTINFOALG_ @@ -42,6 +42,7 @@ class MBTSTimeDiffEventInfoAlg: public AthReentrantAlgorithm { SG::ReadHandleKey<TileCellContainer> m_mbtsContainerKey{this,"MBTSContainer","MBTSContainer","Input MBTS container key"}; SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this, "EventInfo", "EventInfo", "Input Event info key"}; SG::WriteHandleKey<MBTSCollisionTime> m_mbtsCollisionTimeKey{this,"MBTSCollisionTime","MBTSCollisionTime","Output MBTS collision time key"}; + SG::WriteDecorHandleKey<xAOD::EventInfo> m_eventInfoDecorKey{this, "EventInfoDecorKey", "EventInfo.MBTSBackground", "EventInfo decoration key"}; const TileTBID* m_tileTBID{nullptr}; diff --git a/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h b/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h index d4a35d2ffb6..17eb77928e5 100644 --- a/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h +++ b/TileCalorimeter/TileRecUtils/TileRecUtils/TileCellBuilder.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #ifndef TILERECUTILS_TILECELLBUILDER_H @@ -159,6 +159,10 @@ private: "E4prContainer", "Output Tile E4 prime container key"}; + SG::WriteDecorHandleKey<xAOD::EventInfo> m_EventInfoTileStatusKey{this, "EventInfoTileStatus", + "EventInfo.TileStatus", + "Dummy decoration key to aid scheduling"}; + std::string m_dspRawChannelContainer; diff --git a/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx b/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx index 4fdedbfd143..008b9eefa39 100644 --- a/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx +++ b/TileCalorimeter/TileRecUtils/src/TileCellBuilder.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ // Tile includes @@ -175,6 +175,7 @@ StatusCode TileCellBuilder::initialize() { ATH_CHECK( m_eventInfoKey.initialize() ); ATH_CHECK( m_DQstatusKey.initialize() ); + ATH_CHECK( m_EventInfoTileStatusKey.initialize() ); ATH_CHECK( detStore()->retrieve(m_tileMgr) ); ATH_CHECK( detStore()->retrieve(m_tileID) ); -- GitLab