22 for (std::vector<uint32_t>::const_iterator it =
tobWords.begin(); it !=
tobWords.end(); ++it) {
23 if (m_tobWords.size() < s_maxTOBsPerLink) m_tobWords.push_back( (*it) );
24 else m_overflow = true;
36 for (std::vector<JetTopoTOB>::const_iterator it =
tobs.begin(); it !=
tobs.end(); ++it) {
37 if (m_tobWords.size() < s_maxTOBsPerLink) m_tobWords.push_back( (*it).tobWord() );
38 else m_overflow = true;
52 for (std::vector<uint32_t>::const_iterator it = roiWords.begin(); it != roiWords.end(); ++it) {
53 JetTopoTOB tob((*it));
54 if (tob.crate() == m_crate) m_tobWords.push_back( tob.tobWord() );
130 std::vector< uint32_t >::const_iterator it =
m_tobWords.begin();
139 const size_t max_jem_index = 15;
140 std::vector<uint32_t> counters_tob_per_jem(max_jem_index+1, 0);
143 const size_t iJem = tob.
jem();
144 counters_tob_per_jem[iJem] += 1;
147 std::any_of(counters_tob_per_jem.begin(),
148 counters_tob_per_jem.end(),
149 [](
const uint32_t &c) { return (c >= s_maxTOBsPerJem); }));
void tobs(std::vector< JetTopoTOB > &tobs) const
Return vector of TOBs.
void addTOB(const JetTopoTOB tob)
Add TOB to record.
int crate() const
Return crate number (0-1)
void setOverflow(bool overflow)
Set overflow flag.
JetCMXTopoData(int crate, bool overflow, const std::vector< uint32_t > &tobWords)
Constructor with Crate number, overflow flag and vector of TOB words.
static const unsigned int s_maxTOBsPerLink
Static constants.
bool m_overflow
overflow on CMX -> L1Topo transmission
void addRoI(uint32_t roiWord)
Add TOB from RoI word.
bool overflow() const
Return overflow flag.
static const unsigned int s_maxTOBsPerJem
as specified in BackplaneFormats_v3.xlsx
~JetCMXTopoData()
Destructor.
const std::vector< uint32_t > & tobWords() const
Return vector of TOB words.
bool m_jem_overflow
overflow on JEM -> CMX transmission
JetCMXTopoData()
Default constructor.
JetCMXTopoData & checkJemOverflow()
count whether any transmission JEM -> CMX had too many TOBs
std::vector< uint32_t > m_tobWords
int jem() const
Return JEM number (0-15)
int crate() const
Return crate number (0-3)
uint32_t tobWord() const
Return packed TOB word.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...