diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.cxx b/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.cxx index aba92d2a958506a2df0c46647dc211a587cf250c..971f7e7483d33aac511ba9a1e981876515e3ba63 100644 --- a/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.cxx +++ b/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration */ #include "MuonInputProvider.h" @@ -11,10 +11,8 @@ #include "L1TopoEvent/ClusterTOB.h" #include "L1TopoEvent/TopoInputEvent.h" #include "TrigT1Interfaces/RecMuonRoI.h" -#include "TrigT1Interfaces/RecMuonRoiSvc.h" #include "TrigT1Interfaces/MuCTPIL1Topo.h" #include "TrigT1Interfaces/MuCTPIL1TopoCandidate.h" -#include "TrigT1Interfaces/IMuctpiSimTool.h" #include "TrigT1Result/MuCTPIRoI.h" #include "TrigT1Result/Header.h" @@ -30,31 +28,16 @@ using namespace LVL1; MuonInputProvider::MuonInputProvider( const std::string& type, const std::string& name, const IInterface* parent) : base_class(type, name, parent), - m_histSvc("THistSvc", name), - m_recRPCRoiSvc( LVL1::ID_RecRpcRoiSvc, name ), - m_recTGCRoiSvc( LVL1::ID_RecTgcRoiSvc, name ), - m_MuctpiSimTool("LVL1MUCTPI::L1MuctpiTool/LVL1MUCTPI__L1MuctpiTool") + m_histSvc("THistSvc", name) { declareInterface<LVL1::IInputTOBConverter>( this ); - declareProperty( "RecRpcRoiSvc", m_recRPCRoiSvc, "RPC Rec Roi Service"); - declareProperty( "RecTgcRoiSvc", m_recTGCRoiSvc, "TGC Rec Roi Service"); - declareProperty( "MuctpiSimTool", m_MuctpiSimTool,"Tool for MUCTPIsimulation"); } -MuonInputProvider::~MuonInputProvider() -{} - StatusCode MuonInputProvider::initialize() { ATH_MSG_DEBUG("Retrieving LVL1ConfigSvc " << m_configSvc); CHECK( m_configSvc.retrieve() ); - ATH_MSG_DEBUG("Retrieving RPC RoI Service " << m_recRPCRoiSvc); - CHECK( m_recRPCRoiSvc.retrieve() ); - - ATH_MSG_DEBUG("Retrieving TGC RoI Service " << m_recTGCRoiSvc); - CHECK( m_recTGCRoiSvc.retrieve() ); - // Get the RPC and TGC RecRoI tool ATH_CHECK( m_recRPCRoiTool.retrieve() ); ATH_CHECK( m_recTGCRoiTool.retrieve() ); @@ -122,14 +105,13 @@ MuonInputProvider::handle(const Incident& incident) { TCS::MuonTOB MuonInputProvider::createMuonTOB(uint32_t roiword, const TrigConf::L1Menu * l1menu) const { + LVL1::RecMuonRoI roi; if(m_useNewConfig) { - LVL1::RecMuonRoI roi( roiword, m_recRPCRoiTool.get(), m_recTGCRoiTool.operator->(), l1menu ); + roi.construct( roiword, m_recRPCRoiTool.get(), m_recTGCRoiTool.operator->(), l1menu ); } else { - LVL1::RecMuonRoI roi( roiword, m_recRPCRoiSvc.operator->(), m_recTGCRoiSvc.operator->(), &m_MuonThresholds ); + roi.construct( roiword, m_recRPCRoiTool.operator->(), m_recTGCRoiTool.operator->(), &m_MuonThresholds ); } - LVL1::RecMuonRoI roi( roiword, m_recRPCRoiSvc.operator->(), m_recTGCRoiSvc.operator->(), &m_MuonThresholds ); - ATH_MSG_DEBUG("Muon ROI: thrvalue = " << roi.getThresholdValue() << " eta = " << roi.eta() << " phi = " << roi.phi() << ", w = " << MSG::hex << std::setw( 8 ) << roi.roiWord() << MSG::dec); TCS::MuonTOB muon( roi.getThresholdValue(), 0, int(10*roi.eta()), int(10*roi.phi()), roi.roiWord() ); diff --git a/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h b/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h index 3960cada372da4d59cdb7b02dcf30532684b9789..9164b87b4c5be64f8f4bde66adfe29e2ab7913ba 100644 --- a/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h +++ b/Trigger/TrigT1/L1Topo/L1TopoSimulation/src/MuonInputProvider.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration */ #ifndef L1TopoSimulation_MuonInputProvider @@ -11,16 +11,18 @@ #include "GaudiKernel/ToolHandle.h" #include "GaudiKernel/LockedHandle.h" #include "TrigT1Interfaces/MuCTPIL1Topo.h" -#include <vector> #include "TrigT1Result/RoIBResult.h" #include "TrigT1Interfaces/MuCTPIToRoIBSLink.h" #include "TrigT1Interfaces/TrigT1StoreGateKeys.h" #include "TrigT1Interfaces/ITrigT1MuonRecRoiTool.h" +#include "TrigT1Interfaces/IMuctpiSimTool.h" #include "TrigConfInterfaces/ILVL1ConfigSvc.h" #include "TH1.h" #include "TH2.h" +#include <vector> + class ITHistSvc; namespace TrigConf @@ -34,13 +36,8 @@ namespace TCS { class LateMuonTOB; } -namespace LVL1MUCTPI { - class IMuctpiSimTool; -} - namespace LVL1 { - class RecMuonRoiSvc; class MuCTPIL1TopoCandidate; class MuonInputProvider : public extends2<AthAlgTool, IInputTOBConverter, IIncidentListener> { @@ -48,8 +45,6 @@ namespace LVL1 { MuonInputProvider(const std::string& type, const std::string& name, const IInterface* parent); - virtual ~MuonInputProvider(); - virtual StatusCode initialize() override; virtual StatusCode fillTopoInputEvent(TCS::TopoInputEvent& ) const override; @@ -78,15 +73,10 @@ namespace LVL1 { Gaudi::Property<bool> m_useNewConfig{this, "UseNewConfig", false, "When true, read the menu from detector store, when false use the L1ConfigSvc"}; ServiceHandle<TrigConf::ILVL1ConfigSvc> m_configSvc{this, "LVL1ConfigSvc", "LVL1ConfigSvc", "The LVL1ConfigSvc providing L1 configuration for Run 2"}; - ServiceHandle<LVL1::RecMuonRoiSvc> m_recRPCRoiSvc; - ServiceHandle<LVL1::RecMuonRoiSvc> m_recTGCRoiSvc; - - /// The RPC RoI reconstruction tool ToolHandle<LVL1::ITrigT1MuonRecRoiTool> m_recRPCRoiTool{this, "RecRpcRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool", "RPC RoI reconstruction tool"}; - /// The TGC RoI reconstruction service ToolHandle<LVL1::ITrigT1MuonRecRoiTool> m_recTGCRoiTool{this, "RecTgcRoiTool", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool", "TGC RoI reconstruction tool"}; - ToolHandle<LVL1MUCTPI::IMuctpiSimTool> m_MuctpiSimTool; + ToolHandle<LVL1MUCTPI::IMuctpiSimTool> m_MuctpiSimTool{this, "MuctpiSimTool", "LVL1MUCTPI::L1MuctpiTool/LVL1MUCTPI__L1MuctpiTool", "Tool for MUCTPIsimulation"}; std::vector< TrigConf::TriggerThreshold* > m_MuonThresholds;