ATLAS Offline Software
Loading...
Searching...
No Matches
CMMRoI.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7namespace LVL1 {
8
9// Static constants
10
11const unsigned int CMMRoI::s_jetEtWordIdVal;
12const unsigned int CMMRoI::s_wordIdVal0;
13const unsigned int CMMRoI::s_wordIdVal1;
14const unsigned int CMMRoI::s_wordIdVal2;
15
17const int CMMRoI::s_wordIdBit;
22const int CMMRoI::s_energyBit;
24const int CMMRoI::s_parityBit;
25const int CMMRoI::s_overflowBit;
26
28const int CMMRoI::s_wordIdMask;
33const int CMMRoI::s_energyMask;
34
35
36
45
47 int missingEtSigHits, int ex, int ey, int et,
49 int missingEtSigError, int exError, int eyError, int etError)
50{
54
58 m_energyRoiWord0 |= ((exError>>1) & 0x1) << s_parityBit;
62
66 m_energyRoiWord1 |= ((eyError>>1) & 0x1) << s_parityBit;
68 m_energyRoiWord1 |= ((sumEtError>>1) & 0x1) << s_parityBit;
69
73 m_energyRoiWord2 |= ((etError>>1) & 0x1) << s_parityBit;
77}
78
79
80// Set RoI word with ID check
81
82bool CMMRoI::setRoiWord(uint32_t roiWord)
83{
84 bool valid = true;
85 int wordId = (roiWord >> s_jetEtWordIdBit) & s_jetEtWordIdMask;
86 if (wordId == s_jetEtWordIdVal) m_jetEtRoiWord = roiWord;
87 else {
88 wordId = (roiWord >> s_wordIdBit) & s_wordIdMask;
89 if (wordId == s_wordIdVal0) m_energyRoiWord0 = roiWord;
90 else if (wordId == s_wordIdVal1) m_energyRoiWord1 = roiWord;
91 else if (wordId == s_wordIdVal2) m_energyRoiWord2 = roiWord;
92 else valid = false;
93 }
94 return valid;
95}
96
97} // end namespace
CMMRoI()=default
uint32_t energyRoiWord1() const
Return packed Energy RoI word 1.
int missingEtSigHits() const
Return Missing-ET-Sig hits.
uint32_t energyRoiWord2() const
Return packed Energy RoI word 2.
int jetEtError() const
Return Jet-ET error flag (bit 1 Parity)
bool setRoiWord(uint32_t roiWord)
Set RoI word with ID check.
Definition CMMRoI.cxx:82
int missingEtError() const
Return Missing-ET error flag (bit 1 Parity)
int missingEtHits() const
Return Missing-ET hits.
int sumEtError() const
Return Sum-ET error flag (bit 1 Parity)
int missingEtSigError() const
Return Missing-ET-Sig error flag (bit 1 Parity)
uint32_t jetEtRoiWord() const
Return packed Jet-Et RoI word.
int etError() const
Return Et error flags (bit 0 Overflow, bit 1 Parity)
int exError() const
Return Ex error flags (bit 0 Overflow, bit 1 Parity)
uint32_t energyRoiWord0() const
Return packed Energy RoI word 0.
int eyError() const
Return Ey error flags (bit 0 Overflow, bit 1 Parity)
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...