Skip to content
Snippets Groups Projects
Commit 20a2eb05 authored by Edward Moyse's avatar Edward Moyse
Browse files

Merge branch 'atr22477' into 'master'

Migrate Muon Raw Data Decoding to use Region Selector Tool

See merge request atlas/athena!38922
parents 2239f272 99ba88e8
No related branches found
No related tags found
No related merge requests found
Showing with 35 additions and 36 deletions
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/ServiceHandle.h"
#include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ToolHandle.h"
#include "IRegionSelector/IRegSelSvc.h" #include "IRegionSelector/IRegSelTool.h"
#include "TrigSteeringEvent/TrigRoiDescriptor.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h"
#include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h" #include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h"
#include "MuonAlignmentData/CorrContainer.h" // for ALineMapContainer #include "MuonAlignmentData/CorrContainer.h" // for ALineMapContainer
...@@ -39,7 +39,7 @@ private: ...@@ -39,7 +39,7 @@ private:
ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::CSC_RawDataProviderToolMT/CscRawDataProviderTool"}; ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::CSC_RawDataProviderToolMT/CscRawDataProviderTool"};
/// Handle for region selector service /// Handle for region selector service
ServiceHandle<IRegSelSvc> m_regionSelector; ToolHandle<IRegSelTool> m_regsel_csc{this, "RegionSelectionTool", "RegSelTool/RegSelTool_CSC", "CSC Region Selector Tool"};
/// Property to decide whether or not to do RoI based decoding /// Property to decide whether or not to do RoI based decoding
Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"}; Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"};
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/ServiceHandle.h"
#include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ToolHandle.h"
#include "IRegionSelector/IRegSelSvc.h" #include "IRegionSelector/IRegSelTool.h"
#include "TrigSteeringEvent/TrigRoiDescriptor.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h"
#include "AthenaPoolUtilities/CondAttrListCollection.h" #include "AthenaPoolUtilities/CondAttrListCollection.h"
#include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h" #include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h"
...@@ -39,7 +39,7 @@ private: ...@@ -39,7 +39,7 @@ private:
ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::MDT_RawDataProviderToolMT/MdtRawDataProviderTool"}; ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::MDT_RawDataProviderToolMT/MdtRawDataProviderTool"};
/// Handle for region selector service /// Handle for region selector service
ServiceHandle<IRegSelSvc> m_regionSelector; ToolHandle<IRegSelTool> m_regsel_mdt{this, "RegionSelectionTool", "RegSelTool/RegSelTool_MDT", "MDT Region Selector Tool"};
/// Property to decide whether or not to do RoI based decoding /// Property to decide whether or not to do RoI based decoding
Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"}; Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"};
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/ServiceHandle.h"
#include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ToolHandle.h"
#include "IRegionSelector/IRegSelSvc.h" #include "IRegionSelector/IRegSelTool.h"
#include "TrigSteeringEvent/TrigRoiDescriptor.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h"
#include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h" #include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h"
...@@ -39,7 +39,7 @@ private: ...@@ -39,7 +39,7 @@ private:
ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::RPC_RawDataProviderToolMT/RpcRawDataProviderTool"}; ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::RPC_RawDataProviderToolMT/RpcRawDataProviderTool"};
/// Handle for region selector service /// Handle for region selector service
ServiceHandle<IRegSelSvc> m_regionSelector; ToolHandle<IRegSelTool> m_regsel_rpc{this, "RegionSelectionTool", "RegSelTool/RegSelTool_RPC", "RPC Region Selector Tool"};
/// Property to decide whether or not to do RoI based decoding /// Property to decide whether or not to do RoI based decoding
Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"}; Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"};
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "GaudiKernel/ServiceHandle.h" #include "GaudiKernel/ServiceHandle.h"
#include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/ToolHandle.h"
#include "IRegionSelector/IRegSelSvc.h" #include "IRegionSelector/IRegSelTool.h"
#include "TrigSteeringEvent/TrigRoiDescriptor.h" #include "TrigSteeringEvent/TrigRoiDescriptor.h"
#include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h" #include "MuonCnvToolInterfaces/IMuonRawDataProviderTool.h"
...@@ -38,7 +38,7 @@ private: ...@@ -38,7 +38,7 @@ private:
ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::TGC_RawDataProviderToolMT/TgcRawDataProviderTool"}; ToolHandle<Muon::IMuonRawDataProviderTool> m_rawDataTool{this,"ProviderTool","Muon::TGC_RawDataProviderToolMT/TgcRawDataProviderTool"};
/// Handle for region selector service /// Handle for region selector service
ServiceHandle<IRegSelSvc> m_regionSelector; ToolHandle<IRegSelTool> m_regsel_tgc{this, "RegionSelectionTool", "RegSelTool/RegSelTool_TGC", "TGC Region Selector Tool"};
/// Property to decide whether or not to do RoI based decoding /// Property to decide whether or not to do RoI based decoding
Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"}; Gaudi::Property< bool > m_seededDecoding { this, "DoSeededDecoding", false, "If true do decoding in RoIs"};
......
...@@ -11,10 +11,8 @@ ...@@ -11,10 +11,8 @@
Muon::CscRawDataProvider::CscRawDataProvider(const std::string& name, Muon::CscRawDataProvider::CscRawDataProvider(const std::string& name,
ISvcLocator* pSvcLocator) : ISvcLocator* pSvcLocator) :
AthReentrantAlgorithm(name, pSvcLocator), AthReentrantAlgorithm(name, pSvcLocator)
m_regionSelector ("RegSelSvc",name)
{ {
declareProperty ("RegionSelectionSvc", m_regionSelector, "Region Selector");
} }
// -------------------------------------------------------------------- // --------------------------------------------------------------------
...@@ -29,7 +27,8 @@ StatusCode Muon::CscRawDataProvider::initialize() { ...@@ -29,7 +27,8 @@ StatusCode Muon::CscRawDataProvider::initialize() {
ATH_CHECK( m_rawDataTool.retrieve() ); ATH_CHECK( m_rawDataTool.retrieve() );
// We only need the region selector in RoI seeded mode // We only need the region selector in RoI seeded mode
if(m_seededDecoding) ATH_CHECK( m_regionSelector.retrieve() ); if(m_seededDecoding) ATH_CHECK( m_regsel_csc.retrieve() );
else m_regsel_csc.disable();
ATH_CHECK( m_ALineKey.initialize(m_seededDecoding) ); // !!! REMOVEME: when MuonDetectorManager in cond store ATH_CHECK( m_ALineKey.initialize(m_seededDecoding) ); // !!! REMOVEME: when MuonDetectorManager in cond store
...@@ -62,7 +61,7 @@ StatusCode Muon::CscRawDataProvider::execute(const EventContext& ctx) const { ...@@ -62,7 +61,7 @@ StatusCode Muon::CscRawDataProvider::execute(const EventContext& ctx) const {
for(auto roi : *muonRoI){ for(auto roi : *muonRoI){
ATH_MSG_DEBUG("Get has IDs for RoI " << *roi); ATH_MSG_DEBUG("Get has IDs for RoI " << *roi);
// get list of hash IDs from region selection // get list of hash IDs from region selection
m_regionSelector->DetHashIDList(CSC, *roi, csc_hash_ids); m_regsel_csc->HashIDList(*roi, csc_hash_ids);
// decode the ROBs // decode the ROBs
if(m_rawDataTool->convert(csc_hash_ids, ctx).isFailure()) { if(m_rawDataTool->convert(csc_hash_ids, ctx).isFailure()) {
......
...@@ -8,10 +8,8 @@ ...@@ -8,10 +8,8 @@
Muon::MdtRawDataProvider::MdtRawDataProvider(const std::string& name, Muon::MdtRawDataProvider::MdtRawDataProvider(const std::string& name,
ISvcLocator* pSvcLocator) : ISvcLocator* pSvcLocator) :
AthReentrantAlgorithm(name, pSvcLocator), AthReentrantAlgorithm(name, pSvcLocator)
m_regionSelector ("RegSelSvc",name)
{ {
declareProperty ("RegionSelectionSvc", m_regionSelector, "Region Selector");
} }
StatusCode Muon::MdtRawDataProvider::initialize() { StatusCode Muon::MdtRawDataProvider::initialize() {
...@@ -25,11 +23,12 @@ StatusCode Muon::MdtRawDataProvider::initialize() { ...@@ -25,11 +23,12 @@ StatusCode Muon::MdtRawDataProvider::initialize() {
if(m_seededDecoding) { if(m_seededDecoding) {
// We only need the region selector in RoI seeded mode // We only need the region selector in RoI seeded mode
if (m_regionSelector.retrieve().isFailure()) { if (m_regsel_mdt.retrieve().isFailure()) {
ATH_MSG_FATAL("Unable to retrieve RegionSelector Svc"); ATH_MSG_FATAL("Unable to retrieve RegionSelector Tool");
return StatusCode::FAILURE; return StatusCode::FAILURE;
} }
}//seededDecoding }//seededDecoding
else m_regsel_mdt.disable();
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
...@@ -54,7 +53,7 @@ StatusCode Muon::MdtRawDataProvider::execute(const EventContext& ctx) const { ...@@ -54,7 +53,7 @@ StatusCode Muon::MdtRawDataProvider::execute(const EventContext& ctx) const {
for(auto roi : *muonRoI){ for(auto roi : *muonRoI){
ATH_MSG_DEBUG("Get ROBs for RoI " << *roi); ATH_MSG_DEBUG("Get ROBs for RoI " << *roi);
// get list of ROBs from region selector // get list of ROBs from region selector
m_regionSelector->DetROBIDListUint(MDT,*roi,robs); m_regsel_mdt->ROBIDList(*roi,robs);
// decode the ROBs // decode the ROBs
if(m_rawDataTool->convert(robs, ctx).isFailure()) { if(m_rawDataTool->convert(robs, ctx).isFailure()) {
......
...@@ -10,10 +10,8 @@ ...@@ -10,10 +10,8 @@
Muon::RpcRawDataProvider::RpcRawDataProvider(const std::string& name, Muon::RpcRawDataProvider::RpcRawDataProvider(const std::string& name,
ISvcLocator* pSvcLocator) : ISvcLocator* pSvcLocator) :
AthReentrantAlgorithm(name, pSvcLocator), AthReentrantAlgorithm(name, pSvcLocator)
m_regionSelector ("RegSelSvc",name)
{ {
declareProperty ("RegionSelectionSvc", m_regionSelector, "Region Selector");
} }
StatusCode Muon::RpcRawDataProvider::initialize() { StatusCode Muon::RpcRawDataProvider::initialize() {
...@@ -25,11 +23,12 @@ StatusCode Muon::RpcRawDataProvider::initialize() { ...@@ -25,11 +23,12 @@ StatusCode Muon::RpcRawDataProvider::initialize() {
if(m_seededDecoding) { if(m_seededDecoding) {
// We only need the region selector in RoI seeded mode // We only need the region selector in RoI seeded mode
if (m_regionSelector.retrieve().isFailure()) { if (m_regsel_rpc.retrieve().isFailure()) {
ATH_MSG_FATAL("Unable to retrieve RegionSelector Svc"); ATH_MSG_FATAL("Unable to retrieve RegionSelector Tool");
return StatusCode::FAILURE; return StatusCode::FAILURE;
} }
}//seededDecoding }//seededDecoding
else m_regsel_rpc.disable();
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
...@@ -54,7 +53,7 @@ StatusCode Muon::RpcRawDataProvider::execute(const EventContext& ctx) const { ...@@ -54,7 +53,7 @@ StatusCode Muon::RpcRawDataProvider::execute(const EventContext& ctx) const {
for(auto roi : *muonRoI){ for(auto roi : *muonRoI){
ATH_MSG_DEBUG("Get ROBs for RoI " << *roi); ATH_MSG_DEBUG("Get ROBs for RoI " << *roi);
// get list of ROBs from region selector // get list of ROBs from region selector
m_regionSelector->DetROBIDListUint(RPC,*roi,rpcrobs); m_regsel_rpc->ROBIDList(*roi,rpcrobs);
// decode the ROBs // decode the ROBs
if(m_rawDataTool->convert(rpcrobs, ctx).isFailure()) { if(m_rawDataTool->convert(rpcrobs, ctx).isFailure()) {
......
...@@ -11,10 +11,8 @@ using eformat::helper::SourceIdentifier; ...@@ -11,10 +11,8 @@ using eformat::helper::SourceIdentifier;
Muon::TgcRawDataProvider::TgcRawDataProvider(const std::string& name, Muon::TgcRawDataProvider::TgcRawDataProvider(const std::string& name,
ISvcLocator* pSvcLocator) : ISvcLocator* pSvcLocator) :
AthReentrantAlgorithm(name, pSvcLocator), AthReentrantAlgorithm(name, pSvcLocator)
m_regionSelector ("RegSelSvc",name)
{ {
declareProperty ("RegionSelectionSvc", m_regionSelector, "Region Selector");
} }
StatusCode Muon::TgcRawDataProvider::initialize() StatusCode Muon::TgcRawDataProvider::initialize()
...@@ -28,11 +26,12 @@ StatusCode Muon::TgcRawDataProvider::initialize() ...@@ -28,11 +26,12 @@ StatusCode Muon::TgcRawDataProvider::initialize()
if(m_seededDecoding) { if(m_seededDecoding) {
// We only need the region selector in RoI seeded mode // We only need the region selector in RoI seeded mode
if (m_regionSelector.retrieve().isFailure()) { if (m_regsel_tgc.retrieve().isFailure()) {
ATH_MSG_FATAL("Unable to retrieve RegionSelector Svc"); ATH_MSG_FATAL("Unable to retrieve RegionSelector Tool");
return StatusCode::FAILURE; return StatusCode::FAILURE;
} }
}//seededDecoding }//seededDecoding
else m_regsel_tgc.disable();
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
...@@ -58,7 +57,7 @@ StatusCode Muon::TgcRawDataProvider::execute(const EventContext& ctx) const ...@@ -58,7 +57,7 @@ StatusCode Muon::TgcRawDataProvider::execute(const EventContext& ctx) const
for(auto roi : *muonRoI){ for(auto roi : *muonRoI){
ATH_MSG_DEBUG("Get ROBs for RoI " << *roi); ATH_MSG_DEBUG("Get ROBs for RoI " << *roi);
// get list of hash IDs from region selection // get list of hash IDs from region selection
m_regionSelector->DetHashIDList(TGC, *roi, tgc_hash_ids); m_regsel_tgc->HashIDList(*roi, tgc_hash_ids);
// decode the ROBs // decode the ROBs
if(m_rawDataTool->convert(tgc_hash_ids, ctx).isFailure()) { if(m_rawDataTool->convert(tgc_hash_ids, ctx).isFailure()) {
......
...@@ -162,7 +162,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False): ...@@ -162,7 +162,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False):
CscRawDataProvider = Muon__CscRawDataProvider(name = "CscRawDataProvider" + postFix, CscRawDataProvider = Muon__CscRawDataProvider(name = "CscRawDataProvider" + postFix,
ProviderTool = MuonCscRawDataProviderTool, ProviderTool = MuonCscRawDataProviderTool,
DoSeededDecoding = not forFullScan, DoSeededDecoding = not forFullScan,
RoIs = RoIs) RoIs = RoIs,
RegionSelectionTool=makeRegSelTool_CSC())
from CscClusterization.CscClusterizationConf import CscThresholdClusterBuilderTool from CscClusterization.CscClusterizationConf import CscThresholdClusterBuilderTool
CscClusterBuilderTool = CscThresholdClusterBuilderTool(name = "CscThresholdClusterBuilderTool" ) CscClusterBuilderTool = CscThresholdClusterBuilderTool(name = "CscThresholdClusterBuilderTool" )
...@@ -219,8 +220,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False): ...@@ -219,8 +220,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False):
MdtRawDataProvider = Muon__MdtRawDataProvider(name = "MdtRawDataProvider" + postFix, MdtRawDataProvider = Muon__MdtRawDataProvider(name = "MdtRawDataProvider" + postFix,
ProviderTool = MuonMdtRawDataProviderTool, ProviderTool = MuonMdtRawDataProviderTool,
DoSeededDecoding = not forFullScan, DoSeededDecoding = not forFullScan,
RoIs = RoIs RoIs = RoIs,
) RegionSelectionTool=makeRegSelTool_MDT())
if globalflags.InputFormat.is_bytestream(): if globalflags.InputFormat.is_bytestream():
viewAlgs_MuonPRD.append( MdtRawDataProvider ) viewAlgs_MuonPRD.append( MdtRawDataProvider )
...@@ -269,7 +270,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False): ...@@ -269,7 +270,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False):
RpcRawDataProvider = Muon__RpcRawDataProvider(name = "RpcRawDataProvider" + postFix, RpcRawDataProvider = Muon__RpcRawDataProvider(name = "RpcRawDataProvider" + postFix,
ProviderTool = MuonRpcRawDataProviderTool, ProviderTool = MuonRpcRawDataProviderTool,
DoSeededDecoding = not forFullScan, DoSeededDecoding = not forFullScan,
RoIs = RoIs) RoIs = RoIs,
RegionSelectionTool=makeRegSelTool_RPC())
if globalflags.InputFormat.is_bytestream(): if globalflags.InputFormat.is_bytestream():
viewAlgs_MuonPRD.append( RpcRawDataProvider ) viewAlgs_MuonPRD.append( RpcRawDataProvider )
...@@ -308,7 +310,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False): ...@@ -308,7 +310,8 @@ def makeMuonPrepDataAlgs(RoIs="MURoIs", forFullScan=False):
TgcRawDataProvider = Muon__TgcRawDataProvider(name = "TgcRawDataProvider" + postFix, TgcRawDataProvider = Muon__TgcRawDataProvider(name = "TgcRawDataProvider" + postFix,
ProviderTool = MuonTgcRawDataProviderTool, ProviderTool = MuonTgcRawDataProviderTool,
DoSeededDecoding = not forFullScan, DoSeededDecoding = not forFullScan,
RoIs = RoIs ) RoIs = RoIs,
RegionSelectionTool = makeRegSelTool_TGC() )
if globalflags.InputFormat.is_bytestream(): if globalflags.InputFormat.is_bytestream():
viewAlgs_MuonPRD.append( TgcRawDataProvider ) viewAlgs_MuonPRD.append( TgcRawDataProvider )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment