From 2a6c88e9a8c4e5bf2260e3f2c4c165c5ccf85c55 Mon Sep 17 00:00:00 2001 From: sutt <sutt@cern.ch> Date: Thu, 1 Oct 2020 00:36:13 +0200 Subject: [PATCH] Replace use of old RegSelSvc by RegSelTools for the ID The single RegSelSvc is to be replaced by a separate RegSelTool for each subsystem. This merge request is to implement that migration for the ID code. This code contains about 60 % of all the changes that are needed for the migration, and most of the changes for the pixel, SCT and TRT. ``` For information the packages needing changes are Innerdetector/InDetEventCnv/PixelRawDataByteStreamCnv InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv InnerDetector/InDetExample/InDetRecExample InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool Reconstruction/TRT_Rec Reconstruction/iPat/iPatRecExample Innerdetector/InDetExample/InDetTrigRecExample InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder Trigger/TrigTools/TrigOnlineSpacePointTool Trigger/TriggerCommon/TriggerJobOpts Trigger/TrigAlgorithms/TrigGenericAlgs Trigger/TrigAlgorithms/TrigT2MinBias Trigger/TrigHypothesis/TrigLongLivedParticlesHypo ``` plus the configuratin for every package that uses any of the above packages which will need to instantiate the RegSelTools for the tool and algorithms configurables. --- .../share/InnerDetectorOverlay_jobOptions.py | 11 ++++++ .../PixelCalibAlgs/share/NoiseMapBuilder.py | 7 +++- .../TRT_CalibAlgs/share/RAWHITemplate.py | 1 + .../InDetConfig/python/TrackRecoConfig.py | 4 ++- .../src/PixelRawDataProvider.cxx | 4 +-- .../src/PixelRawDataProvider.h | 6 ++-- .../share/ConfiguredInDetPreProcessingTRT.py | 5 +++ .../share/InDetReadBS_jobOptions.py | 12 +++++++ .../share/InDetRecPreProcessingSilicon.py | 8 +++++ .../python/InDetTrigConfigRecBackTracking.py | 21 +++++++----- .../python/InDetTrigConfigRecNewTracking.py | 7 ++++ .../python/InDetTrigConfigRecPreProcessing.py | 34 +++++++++++++++++++ .../share/InDetTrigRec_jobOptions.py | 18 +++++----- .../PixelClusterization.h | 4 +-- .../InDetPrepRawDataFormation/TRT_RIO_Maker.h | 4 +-- .../src/PixelClusterization.cxx | 3 +- .../src/TRT_RIO_Maker.cxx | 3 +- .../share/SiSPSeededTracksStandalone.py | 4 +++ .../SimpleTRT_SeededSpacePointFinder_ATL.h | 4 +-- .../SimpleTRT_SeededSpacePointFinder_ATL.cxx | 3 +- .../Pixel_TrgClusterization.h | 5 +-- .../SCT_TrgClusterization.h | 4 +-- .../TRT_TrgRIO_Maker.h | 5 +-- .../doc/packagedoc.h | 2 +- .../src/Pixel_TrgClusterization.cxx | 12 ++----- .../src/SCT_TrgClusterization.cxx | 11 ++---- .../src/TRT_TrgRIO_Maker.cxx | 7 ++-- .../TrigPixRawDataProvider.h | 8 +++-- .../TrigSCTRawDataProvider.h | 5 +-- .../TrigTRTRawDataProvider.h | 5 +-- .../src/TrigPixRawDataProvider.cxx | 8 ++--- .../src/TrigSCTRawDataProvider.cxx | 8 ++--- .../src/TrigTRTRawDataProvider.cxx | 9 ++--- .../SiTrigSPSeededTrackFinder.h | 6 ++-- .../src/SiTrigSPSeededTrackFinder.cxx | 18 ++++++---- .../SiTrigSpacePointFinder.h | 8 +++-- .../src/SiTrigSpacePointFinder.cxx | 30 +++++++--------- .../TRT_TrigSeededTrackFinder.h | 5 ++- .../src/TRT_TrigSeededTrackFinder.cxx | 14 +++----- .../TRT_TrigTrackSegmentsFinder.h | 7 ++-- .../src/TRT_TrigTrackSegmentsFinder.cxx | 9 ++--- .../share/PixelRTT_DigitizationValidation.py | 11 +++++- .../share/PixelRTT_SimulationValidation.py | 6 +++- .../TRT_Rec/TRT_Rec/TRT_Predictor.h | 4 +-- Reconstruction/TRT_Rec/src/TRT_Predictor.cxx | 3 +- .../share/iPatRec_jobOptions.py | 8 ++--- .../TrigInDetConfig/python/InDetPT.py | 3 ++ .../TrigInDetConfig/python/InDetSetup.py | 7 ++++ .../TrigInDetConfig/python/TrigInDetConfig.py | 10 ++++-- .../src/TrigSpacePointConversionTool.cxx | 1 - 50 files changed, 253 insertions(+), 149 deletions(-) diff --git a/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py b/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py index 5e3236432c1..304e723bf90 100644 --- a/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py +++ b/Event/EventOverlay/EventOverlayJobTransforms/share/InnerDetectorOverlay_jobOptions.py @@ -24,6 +24,10 @@ if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay. job.InDetPixelRawDataProvider.RDOKey = overlayFlags.bkgPrefix()+"PixelRDOs" else: job.InDetPixelRawDataProvider.RDOKey = overlayFlags.dataStore()+"+PixelRDOs" + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + job.InDetPixelRawDataProvider.RegSelTool = makeRegSelTool_Pixel() + #ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "PixelRDO_Container/PixelRDOs" ] #ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "Trk::PixelClusterContainer/PixelOnlineClusters" ] else: @@ -65,6 +69,10 @@ if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay. #ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "SCT_RDO_Container/SCT_RDOs" ] #ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "Trk::SCT_ClusterContainer/SCT_OnlineClusters" ] +# from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT +# job.InDetSCTRawDataProvider.RegSelTool_SCT = makeRegSelTool_SCT() + + if DetFlags.overlay.TRT_on(): if overlayFlags.isDataOverlay(): conddb.blockFolder("/TRT/Cond/DigVers") @@ -92,6 +100,9 @@ if DetFlags.overlay.pixel_on() or DetFlags.overlay.SCT_on() or DetFlags.overlay. job.InDetTRTRawDataProvider.RDOKey = overlayFlags.dataStore()+"+TRT_RDOs" #ServiceMgr.ByteStreamAddressProviderSvc.TypeNames += [ "TRT_RDO_Container/TRT_RDOs" ] +# from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT +# job.InDetTRTRawDataProvider.RegSelTool = makeRegSelTool_TRT() + #from IOVDbSvc.CondDB import conddb #conddb.addFolder("TRT","/TRT/Calib/T0","<tag>TrtCalibt0-UPD2-FDR2-01</tag>") #conddb.addFolder("TRT","/TRT/Calib/RT","<tag>TrtCalibRt-UPD2-FDR2-01</tag>") diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/share/NoiseMapBuilder.py b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/share/NoiseMapBuilder.py index 67a11a30b79..1d66ea56b49 100755 --- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/share/NoiseMapBuilder.py +++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/share/NoiseMapBuilder.py @@ -166,7 +166,12 @@ if doClusterization : include( "PixelConditionsServices/PixelCalibSvc_jobOptions.py" ) from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__PixelClusterization - topSequence += InDet__PixelClusterization("PixelClusterization") + + pixelClusterization = InDet__PixelClusterization("PixelClusterization") + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + pixelClusterization.RegSelTool = makeReagSelTool_Pixel() + + topSequence += pixelClusterization import logging logger = logging.getLogger( 'PixelCalibAlgs' ) logger.info(topSequence.PixelClusterization) diff --git a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/share/RAWHITemplate.py b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/share/RAWHITemplate.py index 9675ae23a0f..455f0adf677 100644 --- a/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/share/RAWHITemplate.py +++ b/InnerDetector/InDetCalibAlgs/TRT_CalibAlgs/share/RAWHITemplate.py @@ -422,6 +422,7 @@ print TRT_StrawStatus + topSequence.InDetTRT_RIO_Maker.TRTEffiCut=0.5 topSequence.InDetSCT_Clusterization.TRTEffiCut=0.5 topSequence.InDetPixelClusterization.TRTEffiCut=0.5 diff --git a/InnerDetector/InDetConfig/python/TrackRecoConfig.py b/InnerDetector/InDetConfig/python/TrackRecoConfig.py index b69f153bfa3..6445930a959 100644 --- a/InnerDetector/InDetConfig/python/TrackRecoConfig.py +++ b/InnerDetector/InDetConfig/python/TrackRecoConfig.py @@ -20,7 +20,9 @@ def PixelClusterizationCfg(flags, **kwargs) : sub_acc = PixelGangedAmbiguitiesFinderCfg(flags) ambi_finder=sub_acc.getPrimary() acc.merge(sub_acc) - acc.addEventAlgo( CompFactory.InDet.PixelClusterization( name = "InDetPixelClusterization", + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + acc.addEventAlgo( CompFactory.InDet.PixelClusterization( name = "InDetPixelClusterization", clusteringTool = merged_pixels_tool, gangedAmbiguitiesFinder = ambi_finder, DataObjectName = "PixelRDOs", diff --git a/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.cxx b/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.cxx index d50b392fd75..53f53c1041a 100644 --- a/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.cxx +++ b/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.cxx @@ -115,9 +115,7 @@ StatusCode PixelRawDataProvider::execute(const EventContext& ctx) const { for (; roi!=roiE; ++roi) { superRoI.push_back(*roi); } - m_regionSelector->DetROBIDListUint( PIXEL, - superRoI, - listOfRobs); + m_regionSelector->ROBIDList( superRoI, listOfRobs ); } std::vector<const ROBFragment*> listOfRobf; diff --git a/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.h b/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.h index b9f4c5605c3..56855e0b8d8 100644 --- a/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.h +++ b/InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv/src/PixelRawDataProvider.h @@ -24,7 +24,7 @@ #include "StoreGate/ReadCondHandleKey.h" #include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" #include "PixelRawDataByteStreamCnv/IPixelRawDataProviderTool.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" // Forward declarations class PixelID; @@ -49,8 +49,8 @@ class PixelRawDataProvider : public AthReentrantAlgorithm { private: const PixelID* m_pixel_id { nullptr }; - ServiceHandle<IRegSelSvc> m_regionSelector { this, "RegSelSvc", "RegSelSvc", "Region selector" }; - ServiceHandle<IROBDataProviderSvc> m_robDataProvider { this, "ROBDataProvider", "ROBDataProviderSvc" }; + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSelTool_Pixel" }; + ServiceHandle<IROBDataProviderSvc> m_robDataProvider { this, "ROBDataProvider", "ROBDataProviderSvc" }; ToolHandle<IPixelRawDataProviderTool> m_rawDataTool { this, "ProviderTool", "PixelRawDataProviderTool"}; Gaudi::Property<bool> m_roiSeeded { this, "isRoI_Seeded", false, "Use RoI" }; // TODO, doubled information, empty RoIs collection name would be sufficent SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey { this, "RoIs", "", "If RoI driven unpacking to be used, this is the key"}; diff --git a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py index a4289a2f4d3..a18b6a4c299 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/ConfiguredInDetPreProcessingTRT.py @@ -174,6 +174,11 @@ class ConfiguredInDetPreProcessingTRT: TrtDescrManageLocation = InDetKeys.TRT_Manager(), TRTRDOLocation = InDetKeys.TRT_RDOs(), TRTRIOLocation = collection) + + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + InDetTRT_RIO_Maker.RegSelTool = makeRegSelTool_TRT() + + topSequence += InDetTRT_RIO_Maker if (InDetFlags.doPrintConfigurables()): printfunc (InDetTRT_RIO_Maker) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py index aa7b9745a8a..e5d39621d69 100755 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetReadBS_jobOptions.py @@ -28,7 +28,13 @@ if DetFlags.readRDOBS.pixel_on(): InDetPixelRawDataProvider = PixelRawDataProvider(name = "InDetPixelRawDataProvider", RDOKey = InDetKeys.PixelRDOs(), ProviderTool = InDetPixelRawDataProviderTool) + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetPixelRawDataProvider.RegSelTool = makeRegSelTool_Pixel() + topSequence += InDetPixelRawDataProvider + + if (InDetFlags.doPrintConfigurables()): printfunc (InDetPixelRawDataProvider) #InDetPixelRawDataProvider.OutputLevel = VERBOSE @@ -80,6 +86,8 @@ if DetFlags.readRDOBS.TRT_on(): from TRT_RawDataByteStreamCnv.TRT_RawDataByteStreamCnvConf import TRTRawDataProviderTool InDetTRTRawDataProviderTool = TRTRawDataProviderTool(name = "InDetTRTRawDataProviderTool", Decoder = InDetTRTRodDecoder) + + #ToolSvc += InDetTRTRawDataProviderTool if (InDetFlags.doPrintConfigurables()): printfunc (InDetTRTRawDataProviderTool) @@ -90,6 +98,10 @@ if DetFlags.readRDOBS.TRT_on(): InDetTRTRawDataProvider = TRTRawDataProvider(name = "InDetTRTRawDataProvider", RDOKey = InDetKeys.TRT_RDOs(), ProviderTool = InDetTRTRawDataProviderTool) + +# from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT +# InDetTRTRawDataProvider.RegSelTool = makeRegSelTool_TRT() + topSequence += InDetTRTRawDataProvider if (InDetFlags.doPrintConfigurables()): printfunc (InDetTRTRawDataProvider) diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py index f35a14aadf0..bbe4a79c259 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecPreProcessingSilicon.py @@ -153,6 +153,10 @@ if InDetFlags.doPRDFormation(): gangedAmbiguitiesFinder = InDetPixelGangedAmbiguitiesFinder, DataObjectName = InDetKeys.PixelRDOs(), ClustersName = InDetKeys.PixelClusters()) + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetPixelClusterization.RegSelTool = makeRegSelTool_Pixel() + topSequence += InDetPixelClusterization if (InDetFlags.doPrintConfigurables()): printfunc (InDetPixelClusterization) @@ -164,6 +168,10 @@ if InDetFlags.doPRDFormation(): DataObjectName = InDetKeys.PixelPURDOs(), ClustersName = InDetKeys.PixelPUClusters(), AmbiguitiesMap = "PixelClusterAmbiguitiesMapPU") + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetPixelClusterizationPU.RegSelTool = makeRegSelTool_Pixel() + topSequence += InDetPixelClusterizationPU if (InDetFlags.doPrintConfigurables()): printfunc (InDetPixelClusterizationPU) diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecBackTracking.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecBackTracking.py index bd853408b9e..95ba698ec6e 100755 --- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecBackTracking.py +++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecBackTracking.py @@ -34,6 +34,9 @@ class TRT_TrigTrackSegmentsFinder_EF( InDet__TRT_TrigTrackSegmentsFinder ): def __init__(self, name="InDetTrigTRT_TrackSegmentsFinder_Photon_EF", type="photon", seqType="InsideOut"): super( InDet__TRT_TrigTrackSegmentsFinder, self ).__init__( name ) + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + self.RegSelTool = makeRegSelTool_TRT() + from AthenaCommon.AppMgr import ToolSvc from InDetTrigRecExample.InDetTrigSliceSettings import InDetTrigSliceSettings from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags @@ -150,6 +153,9 @@ class TRT_TrigSeededTrackFinder_EF( InDet__TRT_TrigSeededTrackFinder ): def __init__(self, name="InDetTrigTRT_SeededTrackFinder_Photon_EF", type="photon"): super( InDet__TRT_TrigSeededTrackFinder, self ).__init__( name ) + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + self.RegSelTool = makeRegSelTool_TRT() + from AthenaCommon.AppMgr import ToolSvc from InDetTrigRecExample.ConfiguredNewTrackingTrigCuts import EFIDTrackingCuts InDetTrigCutValues = EFIDTrackingCuts @@ -174,14 +180,13 @@ class TRT_TrigSeededTrackFinder_EF( InDet__TRT_TrigSeededTrackFinder ): InDetTrigTRT_SeededSpacePointFinder.PRDtoTrackMap = 'InDetTrigPRDtoTrackMap_Photon_EF' elif InDetTrigFlags.loadSimpleTRTSeededSPFinder(): - from RegionSelector.RegSelSvcDefault import RegSelSvcDefault - InDetTrigRegSelSvc = RegSelSvcDefault() - InDetTrigRegSelSvc.enablePixel = DetFlags.pixel_on() - InDetTrigRegSelSvc.enableSCT = DetFlags.SCT_on() - - ServiceMgr += InDetTrigRegSelSvc - if (InDetTrigFlags.doPrintConfigurables()): - print ( InDetTrigRegSelSvc) + # from RegionSelector.RegSelSvcDefault import RegSelSvcDefault + # InDetTrigRegSelSvc = RegSelSvcDefault() + # InDetTrigRegSelSvc.enablePixel = DetFlags.pixel_on() + # InDetTrigRegSelSvc.enableSCT = DetFlags.SCT_on() + # ServiceMgr += InDetTrigRegSelSvc + # if (InDetTrigFlags.doPrintConfigurables()): + # print ( InDetTrigRegSelSvc) from TRT_SeededSpacePointFinderTool.TRT_SeededSpacePointFinderToolConf import InDet__SimpleTRT_SeededSpacePointFinder_ATL InDetTrigTRT_SeededSpacePointFinder = InDet__SimpleTRT_SeededSpacePointFinder_ATL(name = 'InDetTrigTRT_SeededSpFinder_'+type , diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecNewTracking.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecNewTracking.py index 01712f83af5..b9a3085f442 100755 --- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecNewTracking.py +++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecNewTracking.py @@ -31,6 +31,13 @@ class SiTrigTrackFinder_EF( InDet__SiTrigSPSeededTrackFinder ): def __init__(self, name="SiTrigTrackFinder_Electron_EF", type="electron", lowPt=False): super( InDet__SiTrigSPSeededTrackFinder, self ).__init__( name ) + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT + + self.RegSelTool_Pixel = makeRegSelTool_Pixel() + self.RegSelTool_SCT = makeRegSelTool_SCT() + + from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigPrdAssociationTool, \ InDetTrigPatternPropagator, InDetTrigPatternUpdator, \ InDetTrigRotCreator diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecPreProcessing.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecPreProcessing.py index b22d5446699..e5fdf17b536 100755 --- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecPreProcessing.py +++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigRecPreProcessing.py @@ -40,6 +40,8 @@ class PixelClustering_EF( InDet__Pixel_TrgClusterization ): def __init__(self, name="PixelClustering_Electron_EF", type="electron"): super( InDet__Pixel_TrgClusterization, self ).__init__( name ) + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + self.RegSelTool = makeRegSelTool_Pixel() from AthenaCommon.AppMgr import ToolSvc # configure tools used @@ -65,6 +67,10 @@ class PixelClustering_EF( InDet__Pixel_TrgClusterization ): InDet__TrigPixRawDataProvider(name="TrigPixRawDataProvider_EF", RawDataProviderTool = InDetTrigPixelRawDataProviderTool, RDOKey = EF_PixRDOKey) + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetTrigPixRawDataProvider.RegSelTool = makeRegSelTool_Pixel() + ToolSvc += InDetTrigPixRawDataProvider @@ -123,6 +129,9 @@ class SCTClustering_EF( InDet__SCT_TrgClusterization ): def __init__(self, name= "SCTClustering_Electron_EF", type="electron" ): super(InDet__SCT_TrgClusterization, self).__init__(name) + from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT + self.RegSelTool = makeRegSelTool_SCT() + from AthenaCommon.AppMgr import ToolSvc from InDetTrigRecExample.InDetTrigFlags import InDetTrigFlags @@ -143,6 +152,7 @@ class SCTClustering_EF( InDet__SCT_TrgClusterization ): from InDetTrigRecExample.InDetTrigConditionsAccess import SCT_ConditionsSetup InDetTrigSCTRawDataProviderTool = SCTRawDataProviderTool(name = "InDetTrigSCTRawDataProviderTool", Decoder = InDetTrigSCTRodDecoder) + ToolSvc += InDetTrigSCTRawDataProviderTool @@ -151,6 +161,12 @@ class SCTClustering_EF( InDet__SCT_TrgClusterization ): InDet__TrigSCTRawDataProvider(name="TrigSCTRawDataProvider_EF", RDOKey = EF_SCTRDOKey, RawDataTool = InDetTrigSCTRawDataProviderTool) + + from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT + InDetTrigSCTRawDataProvider.RegSelTool = makeRegSelTool_SCT() + + + ToolSvc += InDetTrigSCTRawDataProvider from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigClusterMakerTool @@ -204,6 +220,10 @@ class TRTDriftCircleMaker_EF( InDet__TRT_TrgRIO_Maker ): def __init__(self, name= "TRTDriftCircleMaker_Electron_EF", type="electron" ): super(InDet__TRT_TrgRIO_Maker, self).__init__(name) + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + self.RegSelTool = makeRegSelTool_TRT() + + from AthenaCommon.AppMgr import ToolSvc from InDetTrigRecExample.InDetTrigCommonTools import InDetTrigTRTRodDecoder @@ -221,6 +241,9 @@ class TRTDriftCircleMaker_EF( InDet__TRT_TrgRIO_Maker ): RDOKey = EF_TRTRDOKey, RawDataTool="TRTRawDataProviderTool/InDetTrigTRTRawDataProviderTool") + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + InDetTrigTRTRawDataProvider.RegSelTool = makeRegSelTool_TRT() + ToolSvc += InDetTrigTRTRawDataProvider from InDetTrigRecExample.InDetTrigCommonTools import InDetTrigTRT_DriftFunctionTool, \ @@ -279,6 +302,11 @@ class SiTrigSpacePointFinder_EF( InDet__SiTrigSpacePointFinder ): def __init__(self, name = "SiTrigSpacePointFinder_Electron_EF", type="electron", lowPt=False): super (InDet__SiTrigSpacePointFinder, self).__init__(name) + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT + self.RegSelTool_Pixel = makeRegSelTool_Pixel() + self.RegSelTool_SCT = makeRegSelTool_SCT() + from AthenaCommon.AppMgr import ToolSvc from InDetTrigRecExample.InDetTrigConfigRecLoadTools import \ @@ -302,6 +330,12 @@ class SiTrigSpacePointFinder_EF( InDet__SiTrigSpacePointFinder ): self.ProcessSCTs = True self.ProcessOverlaps = InDetTrigFlags.doOverlapSP() +# from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel +# from RegionSelector.RegSelToolConfig import makeRegSelTool_SCT + +# self.RegSelTool_Pixel = makeRegSelTool_Pixel() +# self.RegSelTool_SCT = makeRegSelTool_SCT() + if type=='cosmicsN': from InDetTrigRecExample.InDetTrigConfigRecLoadToolsCosmics import \ InDetTrigSiSpacePointMakerToolCosmics, SCT_TrigSpacePointToolCosmics diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/share/InDetTrigRec_jobOptions.py b/InnerDetector/InDetExample/InDetTrigRecExample/share/InDetTrigRec_jobOptions.py index f5627a5d66c..85d5fbef1c0 100755 --- a/InnerDetector/InDetExample/InDetTrigRecExample/share/InDetTrigRec_jobOptions.py +++ b/InnerDetector/InDetExample/InDetTrigRecExample/share/InDetTrigRec_jobOptions.py @@ -60,18 +60,18 @@ else: include ("InDetRecExample/InDetRecConditionsAccess.py") #manipulate RegSelSvc settings to be aware of the inactive detelems -from RegionSelector.RegSelSvcDefault import RegSelSvcDefault -RegSelSvc = RegSelSvcDefault() +# from RegionSelector.RegSelSvcDefault import RegSelSvcDefault +# RegSelSvc = RegSelSvcDefault() -RegSelSvc.DisableFromConditions = False -RegSelSvc.DisablePixelFromConditions = False -RegSelSvc.DisableTRTFromConditions = False -RegSelSvc.DisableSCTFromConditions = False +# RegSelSvc.DisableFromConditions = False +# RegSelSvc.DisablePixelFromConditions = False +# RegSelSvc.DisableTRTFromConditions = False +# RegSelSvc.DisableSCTFromConditions = False from InDetTrigRecExample.InDetTrigConfigConditions import \ SCT_ConditionsSetup, TRT_ConditionsSetup -RegSelSvc.PixConditionsSvc = "" #empty as it does not work -RegSelSvc.SCTConditionsTool = "SCT_ConditionsSummaryTool/"+SCT_ConditionsSetup.instanceName("InDetSCT_ConditionsSummaryTool") -RegSelSvc.TRTConditionsSvc = "TRT_ConditionsSummarySvc/"+TRT_ConditionsSetup.instanceName("InDetTRTConditionsSummaryService") +# RegSelSvc.PixConditionsSvc = "" #empty as it does not work +# RegSelSvc.SCTConditionsTool = "SCT_ConditionsSummaryTool/"+SCT_ConditionsSetup.instanceName("InDetSCT_ConditionsSummaryTool") +# RegSelSvc.TRTConditionsSvc = "TRT_ConditionsSummarySvc/"+TRT_ConditionsSetup.instanceName("InDetTRTConditionsSummaryService") #this should be our common cabling setup/ # online running data are dealt with in the TriggerJobOpts diff --git a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/PixelClusterization.h b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/PixelClusterization.h index 969b27bb8bb..0dc0a7b5ce4 100644 --- a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/PixelClusterization.h +++ b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/PixelClusterization.h @@ -30,7 +30,7 @@ #include "InDetRawData/InDetRawDataCollection.h" #include "InDetRawData/PixelRDO_Container.h" #include "TrigSteeringEvent/TrigRoiDescriptorCollection.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "SiClusterizationTool/IPixelClusteringTool.h" @@ -78,7 +78,7 @@ private: ToolHandle< PixelGangedAmbiguitiesFinder > m_gangedAmbiguitiesFinder; SG::ReadHandleKey<PixelRDO_Container> m_rdoContainerKey; SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey; - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSelTool_Pixel" }; //!< region selector tool bool m_roiSeeded; const PixelID* m_idHelper; SG::WriteHandleKey<PixelClusterContainer> m_clusterContainerKey; diff --git a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/TRT_RIO_Maker.h b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/TRT_RIO_Maker.h index 87d61f41bed..ca76abb5359 100644 --- a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/TRT_RIO_Maker.h +++ b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/InDetPrepRawDataFormation/TRT_RIO_Maker.h @@ -27,7 +27,7 @@ #include "InDetPrepRawData/TRT_DriftCircleContainer.h" #include "InDetRawData/TRT_RDO_Container.h" #include "TrigSteeringEvent/TrigRoiDescriptorCollection.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" //fwd declarations class StatusCode; class ISvcLocator; @@ -72,7 +72,7 @@ namespace InDet{ SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey{this, "RoIs", "", "RoIs to read in"}; BooleanProperty m_roiSeeded{this, "isRoI_Seeded", false, "Use RoI"}; - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSelTool_TRT" }; //!< region selector tool SG::UpdateHandleKey<InDet::TRT_DriftCircleContainerCache> m_rioContainerCacheKey; }; diff --git a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/PixelClusterization.cxx b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/PixelClusterization.cxx index bf694c1e3ed..7f3c93be147 100644 --- a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/PixelClusterization.cxx +++ b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/PixelClusterization.cxx @@ -35,7 +35,6 @@ namespace InDet{ m_gangedAmbiguitiesFinder("InDet::PixelGangedAmbiguitiesFinder", this), //made private m_rdoContainerKey(""), m_roiCollectionKey(""), - m_regionSelector("RegSelSvc", name), m_roiSeeded(false), m_idHelper(nullptr), m_clusterContainerKey(""), @@ -163,7 +162,7 @@ namespace InDet{ for (; roi!=roiE; ++roi) { listOfPixIds.clear();//Prevents needless memory reallocations - m_regionSelector->DetHashIDList( PIXEL, **roi, listOfPixIds); + m_regionSelector->HashIDList( **roi, listOfPixIds); ATH_MSG_VERBOSE(**roi); ATH_MSG_VERBOSE( "REGTEST: Pixel : Roi contains " << listOfPixIds.size() << " det. Elements" ); diff --git a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/TRT_RIO_Maker.cxx b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/TRT_RIO_Maker.cxx index 0008dcf2549..4f1628039ec 100644 --- a/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/TRT_RIO_Maker.cxx +++ b/InnerDetector/InDetRecAlgs/InDetPrepRawDataFormation/src/TRT_RIO_Maker.cxx @@ -34,7 +34,6 @@ namespace InDet { m_rioContainerKey("TRT_DriftCircles"), m_mode_rio_production(0), m_trtBadChannels(0), - m_regionSelector("RegSelSvc", name), m_rioContainerCacheKey("") { // Read TRT_RIO_Maker steering parameters @@ -110,7 +109,7 @@ namespace InDet { for(const TrigRoiDescriptor* roi : *roiCollection){ listOfTRTIds.clear(); //Prevents needless memory reallocations - m_regionSelector->DetHashIDList( TRT, *roi, listOfTRTIds); + m_regionSelector->HashIDList( *roi, listOfTRTIds); #ifndef NDEBUG ATH_MSG_VERBOSE(*roi); ATH_MSG_VERBOSE( "REGTEST: SCT : Roi contains " diff --git a/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/share/SiSPSeededTracksStandalone.py b/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/share/SiSPSeededTracksStandalone.py index 3698aa44f90..4798ef3495e 100644 --- a/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/share/SiSPSeededTracksStandalone.py +++ b/InnerDetector/InDetRecAlgs/SiSPSeededTrackFinder/share/SiSPSeededTracksStandalone.py @@ -499,6 +499,10 @@ if doPixel: gangedAmbiguitiesFinder = InDetPixelGangedAmbiguitiesFinder, DataObjectName = InDetKeys.PixelRDOs(), ClustersName = InDetKeys.PixelClusters()) + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetPixelClusterization.RegSelTool = makeRegSelTool_Pixel() + topSequence += InDetPixelClusterization # For SCT diff --git a/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/TRT_SeededSpacePointFinderTool/SimpleTRT_SeededSpacePointFinder_ATL.h b/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/TRT_SeededSpacePointFinderTool/SimpleTRT_SeededSpacePointFinder_ATL.h index 400fd153c4b..46de857d44f 100755 --- a/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/TRT_SeededSpacePointFinderTool/SimpleTRT_SeededSpacePointFinder_ATL.h +++ b/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/TRT_SeededSpacePointFinderTool/SimpleTRT_SeededSpacePointFinder_ATL.h @@ -26,7 +26,7 @@ #include "TrkSpacePoint/SpacePointContainer.h" #include "TrkSpacePoint/SpacePointOverlapCollection.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "TrkEventUtils/PRDtoTrackMap.h" class MsgStream; @@ -122,7 +122,7 @@ namespace InDet{ /** Region Selector */ - ServiceHandle<IRegSelSvc> m_pRegionSelector; + ToolHandle<IRegSelTool> m_pRegionSelector{ this, "RegSelTool_SCT", "RegSelTool/RegSelTool_SCT" }; /**ID SCT helper*/ const SCT_ID* m_sctId; diff --git a/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/src/SimpleTRT_SeededSpacePointFinder_ATL.cxx b/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/src/SimpleTRT_SeededSpacePointFinder_ATL.cxx index a18b2f4fd4f..d73412d4295 100755 --- a/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/src/SimpleTRT_SeededSpacePointFinder_ATL.cxx +++ b/InnerDetector/InDetRecTools/TRT_SeededSpacePointFinderTool/src/SimpleTRT_SeededSpacePointFinder_ATL.cxx @@ -40,7 +40,6 @@ InDet::SimpleTRT_SeededSpacePointFinder_ATL::SimpleTRT_SeededSpacePointFinder_AT m_directionEtaCut(0.5), m_positionPhiCut(5.), m_positionZ_Cut(250.), - m_pRegionSelector("RegSelSvc",n), m_sctId(nullptr), m_trtId(nullptr) { @@ -243,7 +242,7 @@ void InDet::SimpleTRT_SeededSpacePointFinder_ATL::getHashesInROI(const Trk::Trac //// AAAARGH!!! No checking that you are within the correct phi range??? RoiDescriptor roi( eta-deltaEta, eta+deltaEta, phi-deltaPhi, phi+deltaPhi); - m_pRegionSelector->DetHashIDList(SCT, roi, listOfSCT_Hashes); + m_pRegionSelector->HashIDList( roi, listOfSCT_Hashes ); // copy Hashes into Set to be able to search them for (std::vector<IdentifierHash>::const_iterator it = listOfSCT_Hashes.begin(); diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/Pixel_TrgClusterization.h b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/Pixel_TrgClusterization.h index 69320dc0d48..745a9ae5d8c 100755 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/Pixel_TrgClusterization.h +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/Pixel_TrgClusterization.h @@ -44,8 +44,9 @@ #include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ServiceHandle.h" +#include "IRegionSelector/IRegSelTool.h" + -class IRegSelSvc; class TrigTimer; class PixelID; class IROBDataProviderSvc; @@ -116,7 +117,7 @@ namespace InDet { const PixelID* m_idHelper{}; PixelClusterContainer* m_clusterContainer{}; - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector{ this, "RegSelTool", "RegSelTool/RegSelTool_Pixel" }; //!< region selector service bool m_doFullScan; //!< support for FullScan mode double m_etaHalfWidth; //!< ROI half-width in eta double m_phiHalfWidth; //!< ROI half-width in phi diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/SCT_TrgClusterization.h b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/SCT_TrgClusterization.h index 72e2844ccfc..971401aefd8 100755 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/SCT_TrgClusterization.h +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/SCT_TrgClusterization.h @@ -37,7 +37,7 @@ #include "InDetConditionsSummaryService/IInDetConditionsTool.h" #include "Identifier/IdentifierHash.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" #include "SiClusterizationTool/ISCT_ClusteringTool.h" #include "InDetTrigToolInterfaces/ITrigRawDataProviderTool.h" @@ -110,7 +110,7 @@ namespace InDet { SCT_ClusterContainer* m_clusterContainer; // !< Trigger part - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector{ this, "RegSelTool", "RegSelTool/RegSelTool_SCT" }; //!< region selector service bool m_doFullScan; //!< support for FullScan mode double m_etaHalfWidth; //!< ROI half-width in eta. double m_phiHalfWidth; //!< ROI half-width in phi. diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/TRT_TrgRIO_Maker.h b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/TRT_TrgRIO_Maker.h index 78f85d6397d..22c1d61f8db 100755 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/TRT_TrgRIO_Maker.h +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/InDetTrigPrepRawDataFormat/TRT_TrgRIO_Maker.h @@ -33,7 +33,8 @@ //typedef - cannot be declared forward #include "InDetPrepRawData/TRT_DriftCircleContainer.h" -class IRegSelSvc; +#include "IRegionSelector/IRegSelTool.h" + class TrigTimer; class ITRT_ByteStream_ConditionsSvc; class IROBDataProviderSvc; @@ -84,7 +85,7 @@ namespace InDet{ InDet::TRT_DriftCircleContainer* m_riocontainer ; int m_mode_rio_production; - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSelTool_TRT" }; //!< region selector service ServiceHandle<ITRT_ByteStream_ConditionsSvc> m_bsErrorSvc; ServiceHandle<IROBDataProviderSvc> m_robDataProvider; //!< ROB Data Provide Service diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/doc/packagedoc.h b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/doc/packagedoc.h index 861903ddfae..d034ff42b65 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/doc/packagedoc.h +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/doc/packagedoc.h @@ -69,7 +69,7 @@ ErrorStrategy Trigger-specific parameters are: <ul> -<li>RegionSelectorToolName = "RegSelSvc" name of the RegionSelector tool, </li> +<li>RegSelToolName = "RegSelTool/RegSelTool_TRT" name of the RegSel tool, </li> <li>EtaHalfWidth - RoI half-width in eta </li> <li>PhiHalfWidth - RoI half-width in phi </li> </ul> diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/Pixel_TrgClusterization.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/Pixel_TrgClusterization.cxx index f3ff3c4f81d..1dd2cb7184b 100755 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/Pixel_TrgClusterization.cxx +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/Pixel_TrgClusterization.cxx @@ -31,7 +31,7 @@ // Trigger #include "TrigSteeringEvent/TrigRoiDescriptor.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "IRegionSelector/IRoiDescriptor.h" #include "TrigTimeAlgs/TrigTimerSvc.h" @@ -57,7 +57,6 @@ namespace InDet{ m_pixelRDOContainerName("PixelRDOs"), // RDO container m_clustersName("PixelTrigClusters"), m_ambiguitiesMapName("TrigPixelClusterAmbiguitiesMap"), - m_regionSelector("RegSelSvc", name), m_doFullScan(false), m_etaHalfWidth(0.1), m_phiHalfWidth(0.1), @@ -71,7 +70,6 @@ namespace InDet{ declareProperty("ClustersName", m_clustersName); declareProperty("AmbiguitiesMapName", m_ambiguitiesMapName); - declareProperty("RegionSelectorTool", m_regionSelector); declareProperty("doFullScan", m_doFullScan); declareProperty("EtaHalfWidth", m_etaHalfWidth); declareProperty("PhiHalfWidth", m_phiHalfWidth); @@ -361,7 +359,7 @@ namespace InDet{ if (!(roi->isFullscan())){ if(doTiming()) m_timerRegSel->start(); - m_regionSelector->DetHashIDList( PIXEL, *roi, m_listOfPixIds); + m_regionSelector->HashIDList( *roi, m_listOfPixIds); m_numPixIds = m_listOfPixIds.size(); ATH_MSG_DEBUG( "REGTEST: Pixel : Roi contains " << m_numPixIds << " det. Elements" ); @@ -619,12 +617,8 @@ namespace InDet{ << " located at phi = " << roi->phi() << ", eta = " << roi->eta() ); - - //const TrigRoiDescriptor fs(true); - std::vector<unsigned int> uIntListOfRobs; - m_regionSelector->DetROBIDListUint( PIXEL, *roi, uIntListOfRobs ); - //m_regionSelector->DetROBIDListUint( PIXEL, fs, uIntListOfRobs ); + m_regionSelector->ROBIDList( *roi, uIntListOfRobs ); ATH_MSG_DEBUG( "list of pre-registered ROB ID in PIX: " ); for(uint i_lid(0); i_lid<uIntListOfRobs.size(); i_lid++) diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/SCT_TrgClusterization.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/SCT_TrgClusterization.cxx index dd13ab00bd9..7f629e254a4 100755 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/SCT_TrgClusterization.cxx +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/SCT_TrgClusterization.cxx @@ -31,7 +31,7 @@ //Trigger #include "TrigSteeringEvent/TrigRoiDescriptor.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "IRegionSelector/IRoiDescriptor.h" #include "TrigTimeAlgs/TrigTimerSvc.h" @@ -58,7 +58,6 @@ namespace InDet{ m_flaggedCondDataName("SCT_FlaggedCondData_TRIG"), m_idHelper(0), m_clusterContainer(nullptr), - m_regionSelector("RegSelSvc", name), m_doFullScan(false), m_etaHalfWidth(0.1), m_phiHalfWidth(0.1), @@ -77,7 +76,6 @@ namespace InDet{ declareProperty("clusteringTool", m_clusteringTool); declareProperty("ClustersName", m_clustersName); declareProperty("FlaggedCondDataName", m_flaggedCondDataName); - declareProperty("RegionSelectorTool", m_regionSelector ); declareProperty("doFullScan", m_doFullScan ); declareProperty("EtaHalfWidth", m_etaHalfWidth); @@ -366,7 +364,7 @@ namespace InDet{ if (!(roi->isFullscan())){ if(doTiming()) m_timerRegSel->start(); - m_regionSelector->DetHashIDList(SCT, *roi, m_listOfSctIds ); + m_regionSelector->HashIDList( *roi, m_listOfSctIds ); if(doTiming()) m_timerRegSel->stop(); m_numSctIds = m_listOfSctIds.size(); @@ -620,11 +618,8 @@ namespace InDet{ ATH_MSG_DEBUG( "REGTEST prepareROBs / event" << *roi); - //const TrigRoiDescriptor fs(true); - std::vector<unsigned int> uIntListOfRobs; - m_regionSelector->DetROBIDListUint( SCT, *roi, uIntListOfRobs ); - //m_regionSelector->DetROBIDListUint( SCT, fs, uIntListOfRobs ); + m_regionSelector->ROBIDList( *roi, uIntListOfRobs ); ATH_MSG_DEBUG( "list of pre-registered ROB ID in SCT: " ); diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/TRT_TrgRIO_Maker.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/TRT_TrgRIO_Maker.cxx index 6b41fc716d9..5dc99d7ae9b 100755 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/TRT_TrgRIO_Maker.cxx +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigPrepRawDataFormat/src/TRT_TrgRIO_Maker.cxx @@ -22,7 +22,7 @@ //Trigger #include "TrigSteeringEvent/TrigRoiDescriptor.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "IRegionSelector/IRoiDescriptor.h" #include "TrigTimeAlgs/TrigTimerSvc.h" @@ -43,7 +43,6 @@ namespace InDet{ m_driftcircle_tool("InDet::TRT_DriftCircleTool"), m_riocontainer(0), m_mode_rio_production(0), - m_regionSelector("RegSelSvc", name), m_bsErrorSvc("TRT_ByteStream_ConditionsSvc",name), m_robDataProvider("ROBDataProviderSvc", name), m_doFullScan(false), @@ -293,7 +292,7 @@ namespace InDet{ if(doTiming()) m_timerRegSel->start(); - m_regionSelector->DetHashIDList( TRT, *roi, m_listOfTrtIds); + m_regionSelector->HashIDList( *roi, m_listOfTrtIds); m_numTrtIds = m_listOfTrtIds.size(); if(doTiming()) m_timerRegSel->stop(); @@ -499,7 +498,7 @@ namespace InDet{ ATH_MSG_DEBUG( "REGTEST prepareROBs / event RoI " << *roi); std::vector<unsigned int> uIntListOfRobs; - m_regionSelector->DetROBIDListUint( TRT, *roi, uIntListOfRobs ); + m_regionSelector->ROBIDList( *roi, uIntListOfRobs ); ATH_MSG_DEBUG( "list of pre-registered ROB ID in TRT: "); for(auto i : uIntListOfRobs) diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigPixRawDataProvider.h b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigPixRawDataProvider.h index 0c6feddca78..ce5a4ef5be9 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigPixRawDataProvider.h +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigPixRawDataProvider.h @@ -26,12 +26,14 @@ #include "InDetRawData/PixelRDO_Container.h" #include "InDetByteStreamErrors/IDCInDetBSErrContainer.h" +#include "IRegionSelector/IRegSelTool.h" + #include <string> class IRoiDescriptor; class PixelID; class IROBDataProviderSvc; -class IRegSelSvc; + class IPixelRawDataProviderTool; namespace InDet { @@ -55,7 +57,9 @@ namespace InDet { private: - ServiceHandle<IRegSelSvc> m_regionSelector; + + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSelTool_Pixel" }; + ServiceHandle<IROBDataProviderSvc> m_robDataProvider; ToolHandle<IPixelRawDataProviderTool> m_rawDataTool; const PixelID* m_id; diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigSCTRawDataProvider.h b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigSCTRawDataProvider.h index 6b909197955..681f4fe663c 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigSCTRawDataProvider.h +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigSCTRawDataProvider.h @@ -28,11 +28,12 @@ #include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/IIncidentListener.h" +#include "IRegionSelector/IRegSelTool.h" + #include <string> class TrigRoiDescriptor; class SCT_ID; -class IRegSelSvc; class IROBDataProviderSvc; class MsgStream; class IRoiDescriptor; @@ -62,7 +63,7 @@ namespace InDet { StatusCode initContainer(); private: - ServiceHandle<IRegSelSvc> m_regionSelector; + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSelTool_SCT" }; ServiceHandle<IROBDataProviderSvc> m_robDataProvider; ToolHandle<ISCTRawDataProviderTool> m_rawDataTool{this, "RawDataTool", "SCTRawDataProviderTool"}; ToolHandle<ISCT_CablingTool> m_cablingTool{this, "SCT_CablingTool", "SCT_CablingTool", "Tool to retrieve SCT Cabling"}; diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigTRTRawDataProvider.h b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigTRTRawDataProvider.h index fe0b3816a02..bb51dd9f3c2 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigTRTRawDataProvider.h +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/InDetTrigRawDataProvider/TrigTRTRawDataProvider.h @@ -25,13 +25,14 @@ #include "InDetRawData/TRT_RDO_Container.h" #include "TRT_ConditionsServices/ITRT_ByteStream_ConditionsSvc.h" +#include "IRegionSelector/IRegSelTool.h" + #include <string> class IRoiDescriptor; class TRT_ID; class ITRT_CablingSvc; class IROBDataProviderSvc; -class IRegSelSvc; class ITRTRawDataProviderTool; @@ -57,7 +58,7 @@ namespace InDet { StatusCode initContainer(); private: - ServiceHandle<IRegSelSvc> m_regionSelector; + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSetTool/RegSelTool_TRT" }; ServiceHandle<IROBDataProviderSvc> m_robDataProvider; ToolHandle<ITRTRawDataProviderTool> m_rawDataTool; ServiceHandle<ITRT_CablingSvc> m_IdMapping; diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx index 313b6bd8f45..0b291390123 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigPixRawDataProvider.cxx @@ -7,7 +7,7 @@ #include "TrigSteeringEvent/TrigRoiDescriptor.h" #include "AthenaKernel/getMessageSvc.h" #include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "PixelRawDataByteStreamCnv/IPixelRawDataProviderTool.h" @@ -26,7 +26,6 @@ namespace InDet { const std::string& name, const IInterface* parent) : AthAlgTool(type,name,parent), - m_regionSelector ("RegSelSvc", name), m_robDataProvider ("ROBDataProviderSvc", name), m_rawDataTool ("PixelRawDataProviderTool"), m_id(0), @@ -133,9 +132,8 @@ namespace InDet { ATH_MSG_DEBUG ( "REGTEST:" << *roi ); //double zmax = 168; - m_regionSelector->DetROBIDListUint( PIXEL, - *roi, - robIDlist); + m_regionSelector->ROBIDList( *roi, robIDlist ); + } else { msg(MSG::ERROR) << name() << " invoked without an RoI data " << endmsg; return StatusCode::FAILURE; diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx index 40d1eda7c57..aeac885a8d5 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigSCTRawDataProvider.cxx @@ -10,7 +10,7 @@ //#include "InDetRawData/InDetRawDataCLASS_DEF.h" #include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" using OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment; @@ -25,7 +25,6 @@ namespace InDet { const std::string& name, const IInterface* parent) : AthAlgTool(type,name,parent), - m_regionSelector ("RegSelSvc", name), m_robDataProvider ("ROBDataProviderSvc", name), m_id(nullptr), m_container(nullptr), @@ -159,10 +158,7 @@ namespace InDet { ATH_MSG_DEBUG( "REGTEST:" << *roi); // double zmax = 168; - m_regionSelector->DetROBIDListUint( SCT, - *roi, - robIDlist); - + m_regionSelector->ROBIDList( *roi, robIDlist ); } else { m_cablingTool->getAllRods(robIDlist); diff --git a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx index b32400654e2..17c65c76cf1 100644 --- a/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx +++ b/InnerDetector/InDetTrigRecAlgs/InDetTrigRawDataProvider/src/TrigTRTRawDataProvider.cxx @@ -8,7 +8,7 @@ #include "AthenaKernel/getMessageSvc.h" #include "TRT_Cabling/ITRT_CablingSvc.h" #include "ByteStreamCnvSvcBase/IROBDataProviderSvc.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "TRT_RawDataByteStreamCnv/ITRTRawDataProviderTool.h" #include "InDetByteStreamErrors/TRT_BSErrContainer.h" @@ -24,7 +24,6 @@ namespace InDet { const std::string& name, const IInterface* parent) : AthAlgTool(type,name,parent), - m_regionSelector ("RegSelSvc", name), m_robDataProvider ("ROBDataProviderSvc", name), m_rawDataTool ("TRTRawDataProviderTool/InDetTrigTRTRawDataProviderTool"), m_IdMapping ("TRT_CablingSvc",name), @@ -132,10 +131,8 @@ namespace InDet { // Get RoiDescriptor ATH_MSG_DEBUG( "REGTEST:" << *roi ); - //double zmax = 168; - m_regionSelector->DetROBIDListUint( TRT, - *roi, - robIDlist); + m_regionSelector->ROBIDList( *roi, robIDlist ); + } else { robIDlist = m_IdMapping->getAllRods(); } diff --git a/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder.h b/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder.h index a41f07122fa..2ce82cb6394 100755 --- a/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder.h +++ b/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder/SiTrigSPSeededTrackFinder.h @@ -29,6 +29,8 @@ #include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ServiceHandle.h" +#include "IRegionSelector/IRegSelTool.h" + //!< Trigger specific stuff #include "TrigInterfaces/FexAlgo.h" @@ -36,7 +38,6 @@ //forward declarations class TrigTimer; -class IRegSelSvc; namespace InDet { class ISiSpacePointsSeedMaker; @@ -113,7 +114,8 @@ namespace InDet { ToolHandle< ISiTrackMaker > m_trackmaker; // Track maker //!< Trigger part - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector_pixel { this, "RegSelTool_Pixel", "RegSelTool/RegSelTool_Pixel" }; //!< pixel region selector tool + ToolHandle<IRegSelTool> m_regionSelector_sct { this, "RegSelTool_SCT", "RegSelTool/RegSelTool_SCT" }; //!< sct region selector tool StringProperty m_prdToTrackMap {this,"PRDtoTrackMap",""}; //!< optional map between PRDs and tracks to identify shared hits. diff --git a/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/src/SiTrigSPSeededTrackFinder.cxx b/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/src/SiTrigSPSeededTrackFinder.cxx index 846f87dbca6..1ebedf8ca82 100755 --- a/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/src/SiTrigSPSeededTrackFinder.cxx +++ b/InnerDetector/InDetTrigRecAlgs/SiTrigSPSeededTrackFinder/src/SiTrigSPSeededTrackFinder.cxx @@ -17,7 +17,7 @@ //Trigger stuff #include "TrigSteeringEvent/TrigRoiDescriptor.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "IRegionSelector/IRoiDescriptor.h" //tools @@ -61,7 +61,6 @@ InDet::SiTrigSPSeededTrackFinder::SiTrigSPSeededTrackFinder m_seedsmaker("InDet::SiSpacePointsSeedMaker_ATLxk/InDetTrigSiSpacePointsSeedMaker"), m_zvertexmaker("InDet::SiZvertexMaker_xk/InDetTrigZvertexMaker"), m_trackmaker("InDet::SiTrackMaker_xk/InDetTrigSiTrackMaker"), - m_regionSelector("RegSelSvc", name), m_etaHalfWidth(0.1), m_phiHalfWidth(0.1), m_doFullScan(false), @@ -75,7 +74,6 @@ InDet::SiTrigSPSeededTrackFinder::SiTrigSPSeededTrackFinder declareProperty("useZvertexTool",m_useZvertexTool); declareProperty("useSeedMaker",m_useSeedMaker); - declareProperty("RegionSelectorTool",m_regionSelector); declareProperty("EtaHalfWidth", m_etaHalfWidth); declareProperty("PhiHalfWidth", m_phiHalfWidth); declareProperty("doFullScan", m_doFullScan); @@ -167,10 +165,16 @@ HLT::ErrorCode InDet::SiTrigSPSeededTrackFinder::hltInitialize() { if(!m_doFullScan){ // Retrieving Region Selector Tool - if ( m_regionSelector.retrieve().isFailure() ) { + if ( m_regionSelector_pixel.retrieve().isFailure() ) { msg() << MSG::FATAL << "Unable to retrieve RegionSelector tool " - << m_regionSelector.type() << endmsg; + << m_regionSelector_pixel.type() << endmsg; + return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); + } + if ( m_regionSelector_sct.retrieve().isFailure() ) { + msg() << MSG::FATAL + << "Unable to retrieve RegionSelector tool " + << m_regionSelector_sct.type() << endmsg; return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); } } @@ -264,12 +268,12 @@ HLT::ErrorCode InDet::SiTrigSPSeededTrackFinder::hltExecute(const HLT::TriggerEl m_timerRegSel->start(); // SCT hash id's: - m_regionSelector->DetHashIDList(SCT, *roi, listOfSCTIds ); + m_regionSelector_sct->HashIDList( *roi, listOfSCTIds ); m_nDetElSCT = listOfSCTIds.size(); // pixels hash id's: - m_regionSelector->DetHashIDList( PIXEL, *roi, listOfPixIds); + m_regionSelector_pixel->HashIDList( *roi, listOfPixIds); m_nDetElPixel = listOfPixIds.size(); if(doTiming()) diff --git a/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/SiTrigSpacePointFormation/SiTrigSpacePointFinder.h b/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/SiTrigSpacePointFormation/SiTrigSpacePointFinder.h index c99b4b34704..ef36ccdb528 100755 --- a/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/SiTrigSpacePointFormation/SiTrigSpacePointFinder.h +++ b/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/SiTrigSpacePointFormation/SiTrigSpacePointFinder.h @@ -41,6 +41,8 @@ #include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ServiceHandle.h" +#include "IRegionSelector/IRegSelTool.h" + #include <string> #include <vector> @@ -49,7 +51,7 @@ class SpacePointCollection; class SpacePointContainer; class SpacePointOverlapCollection; -class IRegSelSvc; + class TrigTimer; namespace InDet{ @@ -98,7 +100,9 @@ namespace InDet{ ToolHandle< ITrigSCT_SpacePointTool > m_trigSpacePointTool; ToolHandle< SiSpacePointMakerTool > m_SiSpacePointMakerTool; - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector_pixel { this, "RegSelTool_Pixel", "RegSelTool/RegSelTool_Pixel" }; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector_sct { this, "RegSelTool_SCT", "RegSelTool/RegSelTool_SCT" }; //!< region selector service + bool m_doFullScan; //!< skip RegionSelector and indefFind for FullScan double m_etaHalfWidth; //!< ROI half-width in eta diff --git a/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/src/SiTrigSpacePointFinder.cxx b/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/src/SiTrigSpacePointFinder.cxx index b3c30d1609c..e6c6919f1ce 100755 --- a/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/src/SiTrigSpacePointFinder.cxx +++ b/InnerDetector/InDetTrigRecAlgs/SiTrigSpacePointFormation/src/SiTrigSpacePointFinder.cxx @@ -29,7 +29,7 @@ ATLAS Collaboration // Trigger #include "TrigSteeringEvent/TrigRoiDescriptor.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "TrigTimeAlgs/TrigTimer.h" #include "GaudiKernel/ITHistSvc.h" @@ -60,7 +60,6 @@ namespace InDet{ m_spOverlapColl(0), m_trigSpacePointTool ("InDet::SCT_TrigSpacePointTool"), m_SiSpacePointMakerTool ("InDet::SiSpacePointMakerTool"), - m_regionSelector("RegSelSvc", name), m_doFullScan(false), m_etaHalfWidth(0.1), m_phiHalfWidth(0.1) @@ -80,7 +79,6 @@ namespace InDet{ declareProperty("ProcessOverlaps", m_overlap); declareProperty("OverlapSPName", m_spOverlapName); - declareProperty("RegionSelectorTool", m_regionSelector); declareProperty("doFullScan", m_doFullScan); declareProperty("EtaHalfWidth", m_etaHalfWidth ); declareProperty("PhiHalfWidth", m_phiHalfWidth ); @@ -138,14 +136,19 @@ namespace InDet{ if(!m_doFullScan){ // Retrieving Region Selector Tool: - if ( m_regionSelector.retrieve().isFailure() ) { - ATH_MSG_FATAL( "Unable to retrieve RegionSelector tool " - << m_regionSelector.type() ); + if ( m_regionSelector_pixel.retrieve().isFailure() ) { + ATH_MSG_FATAL( "Unable to retrieve Pixel RegionSelector tool " + << m_regionSelector_pixel.type() ); + return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); + } + if ( m_regionSelector_sct.retrieve().isFailure() ) { + ATH_MSG_FATAL( "Unable to retrieve SCT RegionSelector tool " + << m_regionSelector_sct.type() ); return HLT::ErrorCode(HLT::Action::ABORT_JOB, HLT::Reason::BAD_JOB_SETUP); } } else{ - ATH_MSG_INFO( "RegionSelector is not needed for FullScan " ); + ATH_MSG_INFO( "RegionSelector is not needed for FullScan (not strictly true - we can use fullscan RoiDescriptors" ); } // Get an Identifier helper object @@ -440,10 +443,7 @@ namespace InDet{ if(!m_doFullScan){ // Get the SCT RDO's: if(doTiming()) m_timerRegSel->resume(); - - m_regionSelector->DetHashIDList(SCT, - *roi, - m_listOfSctIds ); + m_regionSelector_sct->HashIDList( *roi, m_listOfSctIds ); if(doTiming()) m_timerRegSel->pause(); } @@ -619,12 +619,8 @@ namespace InDet{ if(!m_doFullScan){ if(doTiming()) m_timerRegSel->resume(); - - m_regionSelector->DetHashIDList( PIXEL, - *roi, - m_listOfPixIds); - - if(doTiming()) m_timerRegSel->pause(); + m_regionSelector_pixel->HashIDList( *roi, m_listOfPixIds ); + if(doTiming()) m_timerRegSel->pause(); } m_nPix=0; diff --git a/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder.h b/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder.h index f447b291a87..13b5b633200 100755 --- a/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder.h +++ b/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder/TRT_TrigSeededTrackFinder.h @@ -36,10 +36,9 @@ //!< Trigger specific stuff #include "TrigTimeAlgs/TrigTimerSvc.h" #include "TrigInterfaces/FexAlgo.h" +#include "IRegionSelector/IRegSelTool.h" -class IRegSelSvc; - namespace InDet { @@ -78,7 +77,7 @@ namespace InDet { std::ostream& dump (std::ostream& out) const; protected: - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector{ this, "RegSelTool", "RegSelTool/RegSelTool_TRT" }; //!< region selector service double m_etaHalfWidth{}; //!< ROI half-width in eta. double m_phiHalfWidth{}; //!< ROI half-width in phi. diff --git a/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/src/TRT_TrigSeededTrackFinder.cxx b/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/src/TRT_TrigSeededTrackFinder.cxx index 23c9070448c..1ccc01ce4b0 100755 --- a/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/src/TRT_TrigSeededTrackFinder.cxx +++ b/InnerDetector/InDetTrigRecAlgs/TRT_TrigSeededTrackFinder/src/TRT_TrigSeededTrackFinder.cxx @@ -18,7 +18,7 @@ #include "TrkEventPrimitives/FitQuality.h" #include "TrkTrack/TrackCollection.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h" @@ -36,7 +36,6 @@ using namespace std; InDet::TRT_TrigSeededTrackFinder::TRT_TrigSeededTrackFinder (const std::string& name, ISvcLocator* pSvcLocator) : HLT::FexAlgo(name, pSvcLocator), - m_regionSelector("RegSelSvc", name), m_etaHalfWidth(0.1), m_phiHalfWidth(0.1), m_doFullScan(false), @@ -49,7 +48,6 @@ InDet::TRT_TrigSeededTrackFinder::TRT_TrigSeededTrackFinder (const std::string& m_doExtension = false ; //Find the track TRT extension m_saveTRT = true ; //Save stand-alone TRT segments - declareProperty("RegionSelectorTool" ,m_regionSelector ); //RegionSelector tool declareProperty("EtaHalfWidth" ,m_etaHalfWidth ); //Eta half-width of RoI declareProperty("PhiHalfWidth" ,m_phiHalfWidth ); //Phi half-width of RoI declareProperty("doFullScan" ,m_doFullScan ); // Enables full scan mode @@ -218,17 +216,15 @@ HLT::ErrorCode InDet::TRT_TrigSeededTrackFinder::hltExecute(const HLT::TriggerEl // const double zmax= 168; // SCT hash id's: - m_regionSelector->DetHashIDList(SCT, - *roi, - listOfSCTIds ); + m_regionSelector->HashIDList( *roi, listOfSCTIds ); m_nDetElSCT = listOfSCTIds.size(); if(outputLevel <= MSG::DEBUG) msg() << MSG::DEBUG << "Number of SCT detector elements:" << m_nDetElSCT << endmsg; // pixels hash id's: - m_regionSelector->DetHashIDList( PIXEL, - *roi, - listOfPixIds); + m_regionSelector->HashIDList( *roi, listOfPixIds ); + + m_nDetElPixel = listOfPixIds.size(); if(outputLevel <= MSG::DEBUG) msg() << MSG::DEBUG << "Number of Pixel detector elements:" << m_nDetElPixel << endmsg; diff --git a/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder.h b/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder.h index f2c1c03ecff..a73d01ac009 100755 --- a/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder.h +++ b/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder/TRT_TrigTrackSegmentsFinder.h @@ -11,9 +11,12 @@ //!< Trigger specific stuff #include "TrigInterfaces/FexAlgo.h" + +#include "IRegionSelector/IRegSelTool.h" + #include <iosfwd> -class IRegSelSvc; + class TrigTimer; namespace InDet { @@ -72,7 +75,7 @@ namespace InDet { MsgStream& dumpevent(MsgStream& out) const; //!< Trigger part - ServiceHandle<IRegSelSvc> m_regionSelector; //!< region selector service + ToolHandle<IRegSelTool> m_regionSelector{ this, "RegSelTool", "RegSelTool/RegSelTool_TRT" }; //!< region selector service double m_etaHalfWidth{}; //!< ROI half-width in eta. double m_phiHalfWidth{}; //!< ROI half-width in phi. bool m_doFullScan{}; //!< supports FullScan mode diff --git a/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/src/TRT_TrigTrackSegmentsFinder.cxx b/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/src/TRT_TrigTrackSegmentsFinder.cxx index c106ba7b5f4..3990768571a 100755 --- a/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/src/TRT_TrigTrackSegmentsFinder.cxx +++ b/InnerDetector/InDetTrigRecAlgs/TRT_TrigTrackSegmentsFinder/src/TRT_TrigTrackSegmentsFinder.cxx @@ -21,7 +21,7 @@ //Trigger stuff #include "TrigSteeringEvent/TrigRoiDescriptor.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include <ostream> @@ -33,13 +33,11 @@ InDet::TRT_TrigTrackSegmentsFinder::TRT_TrigTrackSegmentsFinder (const std::string& name,ISvcLocator* pSvcLocator): HLT::FexAlgo(name, pSvcLocator), m_segmentsMakerTool("InDet::TRT_TrackSegmentsMaker_ATLxk/InDetTrigTRT_TrackSegmentsMaker"), - m_regionSelector("RegSelSvc", name), m_etaHalfWidth(0.1), m_phiHalfWidth(0.1), m_doFullScan(false) { declareProperty("SegmentsMakerTool", m_segmentsMakerTool); - declareProperty("RegionSelector", m_regionSelector); declareProperty("EtaHalfWidth", m_etaHalfWidth); declareProperty("PhiHalfWidth", m_phiHalfWidth); declareProperty("doFullScan", m_doFullScan); @@ -131,9 +129,8 @@ HLT::ErrorCode InDet::TRT_TrigTrackSegmentsFinder::hltExecute(const HLT::Trigger // TRT hash id's: if(doTiming()) m_timerRegSel->start(); std::vector<IdentifierHash> listOfTRTIds; - m_regionSelector->DetHashIDList(TRT, - *roi, - listOfTRTIds ); + m_regionSelector->HashIDList( *roi,listOfTRTIds ); + if(doTiming()) m_timerRegSel->stop(); if(doTiming()) m_timerSegMaker->resume(); diff --git a/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_DigitizationValidation.py b/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_DigitizationValidation.py index aa582e882bc..68822f76a63 100644 --- a/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_DigitizationValidation.py +++ b/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_DigitizationValidation.py @@ -109,9 +109,18 @@ if not hasattr(condSeq, 'PixelOfflineCalibCondAlg'): PixelOfflineCalibCondAlg.InputSource = 2 from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__PixelClusterization -job += InDet__PixelClusterization("PixelClusterization") + +pixelClusterization = InDet__PixelClusterization("PixelClusterization") + +from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel +pixelClusterization.RegSelTool = makeRegSelTool_Pixel() + +job += pixelClusterization + print job.PixelClusterization + + from SiSpacePointFormation.SiSpacePointFormationConf import InDet__SiTrackerSpacePointFinder job += InDet__SiTrackerSpacePointFinder("PixelSpacePoints", ProcessSCTs = False) diff --git a/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_SimulationValidation.py b/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_SimulationValidation.py index 38406bcda0f..f671cb84298 100644 --- a/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_SimulationValidation.py +++ b/InnerDetector/InDetValidation/PixelRTT/share/PixelRTT_SimulationValidation.py @@ -178,9 +178,13 @@ if not hasattr(condSeq, 'PixelOfflineCalibCondAlg'): PixelOfflineCalibCondAlg.InputSource = 2 from InDetPrepRawDataFormation.InDetPrepRawDataFormationConf import InDet__PixelClusterization -job += InDet__PixelClusterization("PixelClusterization") +pixelClusterization = InDet__PixelClusterization("PixelClusterization") +from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel +pixelClusterization.RegSelTool = makeRegSelTool_Pixel() +job += pixelClusterization print job.PixelClusterization + from SiSpacePointFormation.SiSpacePointFormationConf import InDet__SiTrackerSpacePointFinder job += InDet__SiTrackerSpacePointFinder("PixelSpacePoints", ProcessSCTs = False) diff --git a/Reconstruction/TRT_Rec/TRT_Rec/TRT_Predictor.h b/Reconstruction/TRT_Rec/TRT_Rec/TRT_Predictor.h index a105d5edcfb..32c4d3de0f0 100755 --- a/Reconstruction/TRT_Rec/TRT_Rec/TRT_Predictor.h +++ b/Reconstruction/TRT_Rec/TRT_Rec/TRT_Predictor.h @@ -14,7 +14,7 @@ #include "AthenaBaseComps/AthAlgTool.h" #include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/ToolHandle.h" -#include "IRegionSelector/IRegSelSvc.h" +#include "IRegionSelector/IRegSelTool.h" #include "iPatInterfaces/ITRT_Predictor.h" //<<<<<< CLASS DECLARATIONS >>>>>> @@ -59,7 +59,7 @@ private: // helpers, managers, tools // SurfaceIntersector* m_intersector; - ServiceHandle<IRegSelSvc> m_regionSelector; + ToolHandle<IRegSelTool> m_regionSelector { this, "RegSelTool", "RegSelTool/RegSetTool_TRT" }; ToolHandle<Trk::IIntersector> m_rungeKuttaIntersector; const InDetDD::TRT_DetectorManager* m_manager; diff --git a/Reconstruction/TRT_Rec/src/TRT_Predictor.cxx b/Reconstruction/TRT_Rec/src/TRT_Predictor.cxx index d82abe5479d..1e58c807ba2 100755 --- a/Reconstruction/TRT_Rec/src/TRT_Predictor.cxx +++ b/Reconstruction/TRT_Rec/src/TRT_Predictor.cxx @@ -40,7 +40,6 @@ TRT_Predictor::TRT_Predictor (const std::string& type, const std::string& name, const IInterface* parent) : AthAlgTool (type, name, parent), - m_regionSelector ("RegSelSvc", name), m_rungeKuttaIntersector ("Trk::RungeKuttaIntersector/RungeKuttaIntersector"), m_manager (nullptr), m_barrelAcceptance (0.55), @@ -684,7 +683,7 @@ TRT_Predictor::setRegion(const TrackParameters& parameters) // get the detector element hashIDs from the RegionSelector. RoiDescriptor roi( etaMin, etaMax, phiMin, phiMax ); - m_regionSelector->DetHashIDList(TRT, roi, *m_hashIds); + m_regionSelector->HashIDList( roi, *m_hashIds); } diff --git a/Reconstruction/iPat/iPatRecExample/share/iPatRec_jobOptions.py b/Reconstruction/iPat/iPatRecExample/share/iPatRec_jobOptions.py index 18ec6fe20db..d65f219d642 100755 --- a/Reconstruction/iPat/iPatRecExample/share/iPatRec_jobOptions.py +++ b/Reconstruction/iPat/iPatRecExample/share/iPatRec_jobOptions.py @@ -92,10 +92,10 @@ if DetFlags.detdescr.ID_on() and (DetFlags.haveRIO.pixel_on() or DetFlags.haveRI # include the RegionSelector service if DetFlags.haveRIO.TRT_on(): from AthenaCommon.AppMgr import ServiceMgr - from RegionSelector.RegSelSvcDefault import RegSelSvcDefault - iPatRegSelSvc = RegSelSvcDefault() - iPatRegSelSvc.enableTRT = True - ServiceMgr += iPatRegSelSvc + # from RegionSelector.RegSelSvcDefault import RegSelSvcDefault + # iPatRegSelSvc = RegSelSvcDefault() + # iPatRegSelSvc.enableTRT = True + # ServiceMgr += iPatRegSelSvc # ------------------------------------------------------------- # Algorithm Private Options: iPatRec diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py index b42c63542a2..6a2e8ff95ba 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/InDetPT.py @@ -156,6 +156,9 @@ def makeInDetPrecisionTracking( config = None, TRT_DriftCircleTool = InDetTrigTRT_DriftCircleTool ) InDetTrigTRTRIOMaker.isRoI_Seeded = True InDetTrigTRTRIOMaker.RoIs = rois + + from RegionSelector.RegSelToolConfig import makeRegSelTool_TRT + InDetTrigTRTRIOMaker.RegSelTool = makeRegSelTool_TRT() from InDetTrigRecExample.InDetTrigConfigRecLoadTools import InDetTrigPatternPropagator, InDetTrigPatternUpdator diff --git a/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py b/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py index 6acaa889727..97993fa95ed 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/InDetSetup.py @@ -112,6 +112,10 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie InDetPixelRawDataProvider.RDOCacheKey = InDetCacheNames.PixRDOCacheKey InDetPixelRawDataProvider.BSErrorsCacheKey = InDetCacheNames.PixBSErrCacheKey + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + + InDetPixelRawDataProvider.RegSelTool = makeRegSelTool_Pixel() + viewAlgs.append(InDetPixelRawDataProvider) @@ -194,6 +198,9 @@ def makeInDetAlgs( config = None, rois = 'EMViewRoIs', doFTF = True, viewVerifie InDetPixelClusterization.RoIs = rois InDetPixelClusterization.ClusterContainerCacheKey = InDetCacheNames.Pixel_ClusterKey + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetPixelClusterization.RegSelTool = makeRegSelTool_Pixel() + viewAlgs.append(InDetPixelClusterization) # Create SCT_ConditionsSummaryTool diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py index 9099aac72f9..c35b373ab85 100644 --- a/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py +++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigInDetConfig.py @@ -484,11 +484,15 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ): PixelRawDataProvider=CompFactory.PixelRawDataProvider InDetPixelRawDataProvider = PixelRawDataProvider(name = "InDetPixelRawDataProvider"+ signature, RDOKey = InDetKeys.PixelRDOs(), - ProviderTool = InDetPixelRawDataProviderTool,) + ProviderTool = InDetPixelRawDataProviderTool ) InDetPixelRawDataProvider.isRoI_Seeded = True InDetPixelRawDataProvider.RoIs = roisKey InDetPixelRawDataProvider.RDOCacheKey = InDetCacheNames.PixRDOCacheKey + + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetPixelRawDataProvider.RegSelTool = makeRegSelTool_Pixel() + acc.addEventAlgo(InDetPixelRawDataProvider) @@ -575,10 +579,12 @@ def TrigInDetConfig( flags, roisKey="EMRoIs", signatureName='' ): DataObjectName = InDetKeys.PixelRDOs(), AmbiguitiesMap = 'TrigPixelClusterAmbiguitiesMap', ClustersName = "PixelTrigClusters",) - InDetPixelClusterization + InDetPixelClusterization.isRoI_Seeded = True InDetPixelClusterization.RoIs = roisKey InDetPixelClusterization.ClusterContainerCacheKey = InDetCacheNames.Pixel_ClusterKey + from RegionSelector.RegSelToolConfig import makeRegSelTool_Pixel + InDetPixelClusterization.RegSelTool = makeRegSelTool_Pixel() acc.addEventAlgo(InDetPixelClusterization) from InDetConfig.InDetRecToolConfig import InDetSCT_ConditionsSummaryToolCfg diff --git a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx index aefb54809a0..54eda180a1d 100644 --- a/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx +++ b/Trigger/TrigTools/TrigOnlineSpacePointTool/src/TrigSpacePointConversionTool.cxx @@ -30,7 +30,6 @@ TrigSpacePointConversionTool::TrigSpacePointConversionTool(const std::string& t, { declareInterface< ITrigSpacePointConversionTool >( this ); - // declareProperty( "RegionSelectorService", m_regionSelectorName = "RegSelSvc" ); declareProperty( "RegSel_Pixel", m_regsel_pix); declareProperty( "RegSel_SCT", m_regsel_sct); -- GitLab