ATLAS Offline Software
RPCSimulation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef L0MuonS1RPC_RPCSIMULATION_H
5 #define L0MuonS1RPC_RPCSIMULATION_H
6 
10 
12 
15 
20 
23 
24 namespace L0Muon
25 {
26 
28  {
29  public:
30  using AthReentrantAlgorithm::AthReentrantAlgorithm;
31  virtual ~RPCSimulation() = default;
32 
33  virtual StatusCode initialize() override;
34  virtual StatusCode execute(const EventContext &ctx) const override;
35 
36  private:
39  const EventContext &ctx) const;
40 
41  std::vector<const xAOD::MuonSimHit*> collectHits(const xAOD::TruthParticle& truthPart,
42  const EventContext& ctx) const;
43 
44 
46  Gaudi::Property<bool> m_useTruth{this, "UseTruth", true, "Use truth information to build candidates"};
47  Gaudi::Property<bool> m_usePatterns{this, "UsePatterns", false, "Use patterns to build candidates"};
48 
50  SG::ReadHandleKey<xAOD::NRPCRDOContainer> m_keyRpcRdo{this, "NrpcRdoKey", "NRPCRDO", "Location of input RpcRDO"};
51 
53  SG::WriteHandleKey<L0Muon::RPCCandDataContainer> m_outputCandKey{this, "L0MuonRPCCandKey", "L0MuonRPCCand",
54  "LVL0 Barrel trigger candidates in the Muon RPC"};
55  ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "", "Monitoring Tool"};
56 
58  SG::ReadHandleKey<xAOD::TruthParticleContainer> m_truthPartKey{this, "TruthPartKey", "MuonTruthParticles"};
59 
61  "truthSegmentLinks"};
62 
64  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc",
65  "Muon Id Helper Service"};
66  SG::ReadHandleKey<ActsTrk::GeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
68  };
69 
70 } // end of namespace
71 
72 #endif // L0MUONRPCSIM_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
RPCCandDataContainer.h
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
L0Muon::RPCSimulation::m_truthPartKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthPartKey
truth containers
Definition: RPCSimulation.h:58
L0Muon::RPCSimulation::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: RPCSimulation.h:55
L0Muon::RPCSimulation::m_geoCtxKey
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
Definition: RPCSimulation.h:66
MuonRoIContainer.h
L0Muon::RPCSimulation::m_outputCandKey
SG::WriteHandleKey< L0Muon::RPCCandDataContainer > m_outputCandKey
Output Trigger candidates.
Definition: RPCSimulation.h:53
TruthParticleContainer.h
L0Muon::RPCSimulation::collectHits
std::vector< const xAOD::MuonSimHit * > collectHits(const xAOD::TruthParticle &truthPart, const EventContext &ctx) const
Definition: RPCSimulation.cxx:78
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
MuonSimHit.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
L0Muon::RPCSimulation::buildFromTruth
StatusCode buildFromTruth(L0Muon::RPCCandDataContainer &outputCands, const EventContext &ctx) const
build the candidates from the MC truth
Definition: RPCSimulation.cxx:104
L0Muon
Definition: L0MuonSmearingAlg.cxx:13
L0Muon::RPCSimulation::initialize
virtual StatusCode initialize() override
Definition: RPCSimulation.cxx:22
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
L0Muon::RPCSimulation::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
helper service
Definition: RPCSimulation.h:64
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
L0Muon::RPCSimulation::m_detMgr
const MuonGMR4::MuonDetectorManager * m_detMgr
Definition: RPCSimulation.h:67
MuonDetectorManager.h
L0Muon::RPCSimulation::m_useTruth
Gaudi::Property< bool > m_useTruth
configuration options
Definition: RPCSimulation.h:46
L0Muon::RPCSimulation
Definition: RPCSimulation.h:28
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
L0Muon::RPCSimulation::m_segmentLinkKey
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_segmentLinkKey
Definition: RPCSimulation.h:60
AthReentrantAlgorithm.h
L0Muon::RPCSimulation::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: RPCSimulation.cxx:43
L0Muon::RPCSimulation::m_keyRpcRdo
SG::ReadHandleKey< xAOD::NRPCRDOContainer > m_keyRpcRdo
RPC Rdo.
Definition: RPCSimulation.h:50
L0Muon::RPCSimulation::~RPCSimulation
virtual ~RPCSimulation()=default
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer >
IMuonIdHelperSvc.h
NRPCRDOContainer.h
IAthRNGSvc.h
ServiceHandle< Muon::IMuonIdHelperSvc >
L0Muon::RPCSimulation::m_usePatterns
Gaudi::Property< bool > m_usePatterns
Definition: RPCSimulation.h:47