Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TGCSimulation.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "TGCSimulation.h"
6 
8 
9 namespace L0Muon {
10 
12  ATH_MSG_DEBUG("Initializing " << name() << "...");
13 
15 
17  ATH_CHECK(m_outputMuonRoIKey.initialize());
18 
19  // TGC cabling service
20  if (!m_cabling) {
21  ATH_CHECK(m_cabling.retrieve());
22  }
23 
25  if (!m_monTool.empty()) ATH_CHECK(m_monTool.retrieve());
26 
27  return StatusCode::SUCCESS;
28 }
29 
30 
31 StatusCode TGCSimulation::execute(const EventContext& ctx) const {
32  ATH_MSG_DEBUG ("Executing " << name() << "...");
33 
34  SG::ReadHandle tgcDigitContainer(m_keyTgcDigit, ctx);
35  ATH_CHECK(tgcDigitContainer.isPresent());
36  ATH_MSG_DEBUG("Number of TGC Digits: " << tgcDigitContainer->size());
37 
38  // monitor some quantities
39  auto nTgcDigits = Monitored::Scalar<unsigned int>("nTgcDigits", tgcDigitContainer->size());
40  Monitored::Group(m_monTool, nTgcDigits);
41 
42 
43  // output RoIs container
44  SG::WriteHandle roiCont(m_outputMuonRoIKey, ctx);
45  ATH_CHECK(roiCont.record(std::make_unique<xAOD::MuonRoIContainer>(),
46  std::make_unique<xAOD::MuonRoIAuxContainer>()));
47 
48  xAOD::MuonRoI* roi = roiCont->push_back(std::make_unique<xAOD::MuonRoI>());
49  uint32_t roiword = 0x0;
50  float roi_eta = 0.0;
51  float roi_phi = 0.0;
52  std::string thrname = "L0_MUx";
53  float thrvalue = 0.0;
54  roi->initialize(roiword, roi_eta, roi_phi, thrname, thrvalue, 0x1); // TODO: roiExtraWord is 1 for the time being.
55 
56 
57  return StatusCode::SUCCESS;
58 }
59 
60 } // end of namespace
xAOD::MuonRoI_v1::initialize
void initialize(uint32_t roiword, float eta, float phi, const std::string &thrname, float thrvalue, uint32_t extraword=0u)
Initialise the object with all its properties.
Definition: MuonRoI_v1.cxx:31
L0Muon::TGCSimulation::initialize
virtual StatusCode initialize() override
Definition: TGCSimulation.cxx:11
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
TGCSimulation.h
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
MuonRoIAuxContainer.h
L0Muon::TGCSimulation::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TGCSimulation.h:35
L0Muon
Definition: L0MuonSmearingAlg.cxx:13
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAOD::MuonRoI_v1
Class describing a LVL1 muon region of interest.
Definition: MuonRoI_v1.h:29
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
L0Muon::TGCSimulation::m_outputMuonRoIKey
SG::WriteHandleKey< xAOD::MuonRoIContainer > m_outputMuonRoIKey
Output RoIs.
Definition: TGCSimulation.h:30
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
L0Muon::TGCSimulation::m_keyTgcDigit
SG::ReadHandleKey< TgcDigitContainer > m_keyTgcDigit
RPC Digit container.
Definition: TGCSimulation.h:28
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:73
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
L0Muon::TGCSimulation::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: TGCSimulation.cxx:31
SG::VarHandleBase::isPresent
bool isPresent() const
Is the referenced object present in SG?
Definition: StoreGate/src/VarHandleBase.cxx:400
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
L0Muon::TGCSimulation::m_cabling
ServiceHandle< MuonTGC_CablingSvc > m_cabling
TGC cabling map.
Definition: TGCSimulation.h:33