ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
Muon
L0MuonEndcap
src
L0MuonEndcapAlg.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
L0MuonEndcapAlg.h
"
6
7
#include <cstdint>
8
#include <memory>
9
#include <vector>
10
11
#include "
StoreGate/ReadHandle.h
"
12
#include "
TgcL0SectorLogicWordEncoder.h
"
13
#include "
xAODMuonViews/FillContainer.h
"
14
15
namespace
L0Muon
{
16
namespace
{
17
18
constexpr
int
currentBcOffset = 0;
19
// Board and fiber identifiers remain unset until their conventions are defined.
20
constexpr
std::uint16_t unsetBoardId = 0U;
21
constexpr
std::uint16_t unsetFiberId = 0U;
22
23
}
// namespace
24
25
StatusCode
L0MuonEndcapAlg::initialize
() {
26
ATH_CHECK
(
m_inputKey
.initialize());
27
ATH_CHECK
(
m_outputKey
.initialize());
28
return
StatusCode::SUCCESS;
29
}
30
31
StatusCode
L0MuonEndcapAlg::execute
(
const
EventContext& ctx)
const
{
32
const
xAOD::TGCCandDataContainer
* inputHandle{};
33
ATH_CHECK
(
SG::get
(inputHandle,
m_inputKey
, ctx));
34
35
xAOD::FillContainer
<
xAOD::SectorLogicCandDataContainer
,
36
xAOD::SectorLogicCandDataAuxContainer
>
37
output{};
38
39
for
(
const
xAOD::TGCCandData
* candidate : *inputHandle) {
40
if
(candidate->tcId() == 0U)
continue
;
41
42
const
TgcL0SectorLogicWords
words =
43
TgcL0SectorLogicWordEncoder::encode
(*candidate);
44
xAOD::SectorLogicCandData
* outputCandidate =
45
output->push_back(std::make_unique<xAOD::SectorLogicCandData>());
46
outputCandidate->
initialize
(
47
std::vector<std::uint32_t>{words.candWord, words.candExtraWord},
48
currentBcOffset, unsetBoardId, unsetFiberId);
49
}
50
51
ATH_MSG_DEBUG
(
"Converted "
<< output->size() <<
" of "
52
<< inputHandle->
size
()
53
<<
" TGC candidates to Sector Logic output"
);
54
55
ATH_CHECK
(output.record(
m_outputKey
, ctx));
56
return
StatusCode::SUCCESS;
57
}
58
59
}
// namespace L0Muon
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
FillContainer.h
L0MuonEndcapAlg.h
ReadHandle.h
Handle class for reading from StoreGate.
TgcL0SectorLogicWordEncoder.h
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
L0Muon::L0MuonEndcapAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition
L0MuonEndcapAlg.cxx:31
L0Muon::L0MuonEndcapAlg::m_inputKey
SG::ReadHandleKey< xAOD::TGCCandDataContainer > m_inputKey
Definition
L0MuonEndcapAlg.h:32
L0Muon::L0MuonEndcapAlg::initialize
StatusCode initialize() override
Definition
L0MuonEndcapAlg.cxx:25
L0Muon::L0MuonEndcapAlg::m_outputKey
SG::WriteHandleKey< xAOD::SectorLogicCandDataContainer > m_outputKey
Definition
L0MuonEndcapAlg.h:36
L0Muon::TgcL0SectorLogicWordEncoder::encode
static TgcL0SectorLogicWords encode(const xAOD::TGCCandData &candidate)
Encode one TGC candidate without MDT or overlap information.
Definition
TgcL0SectorLogicWordEncoder.cxx:23
xAOD::FillContainer
Definition
FillContainer.h:39
xAOD::SectorLogicCandData_v1::initialize
void initialize(const std::vector< uint32_t > &data, int offset, uint16_t bID, uint16_t fID)
Initialise the object given some input data.
Definition
SectorLogicCandData_v1.cxx:27
L0Muon
Definition
NSWTPBits.h:7
SG::get
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
Definition
ReadCondHandle.h:281
xAOD::TGCCandDataContainer
TGCCandDataContainer_v1 TGCCandDataContainer
Definition
MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODL0MuonCand/xAODL0MuonCand/TGCCandDataContainer.h:13
xAOD::SectorLogicCandDataContainer
SectorLogicCandDataContainer_v1 SectorLogicCandDataContainer
Definition
SectorLogicCandDataContainer.h:13
xAOD::SectorLogicCandData
SectorLogicCandData_v1 SectorLogicCandData
Definition
SectorLogicCandData.h:12
xAOD::SectorLogicCandDataAuxContainer
SectorLogicCandDataAuxContainer_v1 SectorLogicCandDataAuxContainer
Definition
SectorLogicCandDataAuxContainer.h:12
xAOD::TGCCandData
TGCCandData_v1 TGCCandData
Definition
MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODL0MuonCand/xAODL0MuonCand/TGCCandData.h:12
L0Muon::TgcL0SectorLogicWords
MuCTPI candidate words produced from one TGC candidate.
Definition
TgcL0SectorLogicWordEncoder.h:15
Generated on
for ATLAS Offline Software by
1.17.0