21 return StatusCode::SUCCESS;
30 return StatusCode::FAILURE;
36 return StatusCode::FAILURE;
40 ATH_MSG_DEBUG(
"Number of sTGC Digits: " << stgcDigits->size());
41 ATH_MSG_DEBUG(
"Number of NSW Digits: " << (mmDigits->size() + stgcDigits->size()));
50 auto container = std::make_unique<xAOD::NSWCandDataContainer>();
51 auto auxContainer = std::make_unique<xAOD::NSWCandDataAuxContainer>();
52 container->
setStore(auxContainer.get());
55 xAOD::NSWCandData* cand = container->push_back(std::make_unique<xAOD::NSWCandData>());
56 cand->
setBCID(ctx.eventID().bunch_crossing_id());
81 <<
"\n Seg0 -> Eta: " << eta0 <<
", Phi: " << phi0
82 <<
", DeltaTheta: " <<
static_cast<int>(dth0) <<
", Quality: " <<
static_cast<int>(qual0)
83 <<
"\n Seg1 -> Eta: " << eta1 <<
", Phi: " << phi1
84 <<
", DeltaTheta: " <<
static_cast<int>(dth1) <<
", Quality: " <<
static_cast<int>(qual1));
94 ATH_CHECK(output.record(std::move(container), std::move(auxContainer)));
96 ATH_MSG_DEBUG(
"Recorded NSW candidate container with " << output->size() <<
" candidate(s)");
98 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
SG::WriteHandleKey< xAOD::NSWCandDataContainer > m_outputKey
Output NSW trigger candidate container.
ToolHandle< GenericMonitoringTool > m_monTool
SG::ReadHandleKey< sTgcDigitContainer > m_keySTgcDigit
sTGC digits
virtual StatusCode initialize() override
SG::ReadHandleKey< MmDigitContainer > m_keyMmDigit
MM Digit container.
virtual StatusCode execute(const EventContext &ctx) const override
Group of local monitoring quantities and retain correlation when filling histograms
Declare a monitored scalar variable.
void setStore(SG::IAuxStore *store)
Set the store associated with this object.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
void setBCID(uint16_t bcid)
Setters.
void setFiberId(uint8_t fiber)
Set the fiber id.
uint16_t segEtaIndex(size_t i) const
Element-by-Element Index.
void setNSegments(uint8_t nseg)
Set the total number of segments sent from NSW-TP to Sector Logic.
void clearSegments()
Clear all recorded segment vectors.
void addSegment(uint16_t etaIndex, uint16_t phiIndex, uint8_t deltaThetaIndex, uint8_t quality)
Pack and append a single segment.
uint16_t segPhiIndex(size_t i) const
Retrieve the phi index for a specific segment.
uint8_t segDeltaThetaIndex(size_t i) const
Retrieve the delta theta index for a specific segment.
void setBoardId(uint8_t board)
Set the board id.
void setOverflow(bool ovf)
Set the segment total capacity overflow state flag.
uint8_t segQuality(size_t i) const
Retrieve the quality flag for a specific segment.
NSWCandData_v1 NSWCandData