Go to the documentation of this file.
52 : m_gmt(gmt), m_id(
id), m_matcher(gmt,
id + 2), m_MyChipCancelbits(4), m_OtherChipCancelbits(4) {}
81 for (
int i = 0;
i < 4;
i++) {
91 std::stringstream outmy;
106 outmy <<
"(my chip) cancel-bits : ";
107 for (
int i = 0;
i < 4;
i++)
111 std::stringstream outother;
113 outother << (
m_id == 2 ?
"CSC" :
"DT") <<
"(other chip) cancel-bits : ";
114 for (
int i = 0;
i < 4;
i++)
116 outother << std::endl;
131 for (
int imine = 0; imine < 4; imine++) {
133 if (idxother != -1) {
134 int mine_is_matched = 0;
152 unsigned addr = (unsigned)(2 * mine_is_matched + other_is_matched);
153 unsigned mask = (unsigned)1 <<
addr;
161 for (
int iother = 0; iother < 4; iother++) {
164 int mine_is_matched = 0;
182 unsigned addr = (unsigned)(2 * other_is_matched + mine_is_matched);
183 unsigned mask = (unsigned)1 << (
addr + 4);
int colAny(int c) const
is any element in column c > 0 ? return index or -1
std::vector< bool > m_MyChipCancelbits
L1MuGMTDebugBlock * DebugBlockForFill() const
for debug: return the debug block (in order to fill it)
void run()
run cancel-out unit
static L1MuGMTRegCDLConfig * getRegCDLConfig()
const L1MuGMTMatrix< bool > & pairM() const
return pair matrix
virtual ~L1MuGMTCancelOutUnit()
destructor
void SetCancelBits(int idx, const std::vector< bool > &mine, const std::vector< bool > &others)
Set cancel bits.
int rowAny(int r) const
is any element in row r > 0 ? return index or -1
const L1MuGMTMatcher * Matcher(int id) const
return pointer to Matcher
const L1MuGlobalMuonTrigger & m_gmt
unsigned getValue(int idx)
get Value
void print()
print matching results
void reset()
clear Matcher
Log< level::Info, true > LogVerbatim
std::vector< bool > m_OtherChipCancelbits
void reset()
clear cancel-out unit
void print()
print cancel-out bits
L1MuGMTCancelOutUnit(const L1MuGlobalMuonTrigger &gmt, int id)
constructor