56 : m_sp(sp), m_SEUs(), m_paramsToken(cc.
esConsumes()) {
57 for (
int ext_idx = 0; ext_idx <
MAX_EXT; ext_idx++) {
61 unsigned int maxaddr = 4;
66 for (
unsigned int startAddress = 0; startAddress < maxaddr; startAddress++) {
67 SEUId id = make_pair(
ext, startAddress);
70 cout <<
" creating SEU " <<
ext <<
" " << startAddress << endl;
81 for (SEUmap::iterator iter =
m_SEUs.begin(); iter !=
m_SEUs.end(); iter++) {
82 delete (*iter).second;
83 (*iter).second =
nullptr;
99 SEUmap::const_iterator iter;
100 for (iter =
m_SEUs.begin(); iter !=
m_SEUs.end(); iter++) {
101 pair<int, int> ext_pair =
which_ext(((*iter).second)->ext());
102 int start = ext_pair.first;
109 if (ts !=
nullptr && !ts->
empty()) {
110 ((*iter).second)->
load(ts);
111 ((*iter).second)->
run(bmtfParams);
121 for (
unsigned int startAdr = 0; startAdr < 2; startAdr++) {
125 for (
int eux = 0; eux < 12; eux++) {
126 if (extab12.test(eux) && !extab21.test(eux)) {
131 cout <<
" EX12 - EX21 mismatch : " 132 <<
" EX12 : " << extab12 <<
" , " 133 <<
" EX21 : " << extab21 << endl
134 <<
" Cancel: " << SEU12->
ext() <<
" start addr = " << SEU12->
tsId() <<
" target addr = " << eux
147 SEUmap::const_iterator iter;
148 for (iter =
m_SEUs.begin(); iter !=
m_SEUs.end(); iter++) {
149 ((*iter).second)->
reset();
160 SEUId seuid = make_pair(
ext, startAdr);
161 SEUmap::const_iterator iter =
m_SEUs.find(seuid);
163 ((*iter).second)->reset(relAdr);
177 unsigned short int address = 15;
179 SEUId seuid = make_pair(
ext, startAdr);
180 SEUmap::const_iterator iter =
m_SEUs.find(seuid);
182 address = ((*iter).second)->ers()->address(
id);
198 unsigned short int quality = 0;
200 SEUId seuid = make_pair(
ext, startAdr);
201 SEUmap::const_iterator iter =
m_SEUs.find(seuid);
203 quality = ((*iter).second)->ers()->quality(
id);
217 SEUId seuid = make_pair(
ext, startAdr);
218 return m_SEUs[seuid]->exTable();
230 SEUId seuid = make_pair(
ext, startAdr);
231 return m_SEUs[seuid]->qsTable();
239 SEUmap::const_iterator iter;
240 for (iter =
m_SEUs.begin(); iter !=
m_SEUs.end(); iter++) {
251 SEUmap::const_iterator iter_seu;
254 for (iter_seu =
m_SEUs.begin(); iter_seu !=
m_SEUs.end(); iter_seu++) {
255 vector<L1MuBMEUX*> vec_eux = ((*iter_seu).second)->eux();
256 vector<L1MuBMEUX*>::const_iterator iter_eux;
257 for (iter_eux = vec_eux.begin(); iter_eux != vec_eux.end(); iter_eux++) {
258 if ((*iter_eux)->result()) {
259 cout << ((*iter_seu).second)->
ext() <<
" " << ((*iter_seu).second)->tsId() <<
" " << (*iter_eux)->id()
261 cout <<
"start : " << *(*iter_eux)->ts().first << endl;
262 cout <<
"target : " << *(*iter_eux)->ts().second << endl;
264 <<
"quality = " << (*iter_eux)->quality() <<
'\t' <<
"address = " << (*iter_eux)->address() << endl;
274 cout <<
"Results from Extrapolator and Quality Sorter of " <<
m_sp.
id() <<
" : \n" << endl;
276 cout <<
" EXT QSU " << endl;
277 cout <<
" S E U 11 11 " << endl;
278 cout <<
" 109876543210 109876543210 " << endl;
279 cout <<
"-------------------------------------" << endl;
280 for (iter_seu =
m_SEUs.begin(); iter_seu !=
m_SEUs.end(); iter_seu++) {
281 cout << ((*iter_seu).second)->
ext() <<
"_ " << ((*iter_seu).second)->tsId() <<
": " 282 << ((*iter_seu).second)->exTable() <<
" " << ((*iter_seu).second)->qsTable() << endl;
const L1MuBMSecProcId & id() const
return Sector Processor identifier
L1MuDTTFParameters l1mudttfparams
int wheel() const
return wheel number
unsigned int tsId() const
return start track segment identifier (relative address)
const L1MuBMDataBuffer * data() const
return pointer to Data Buffer
const TSPhivector & getTSphi() const
get all track segments from the buffer
int sector() const
return sector number
bool get_soc_run_21(int wh, int sc) const
bool empty() const
is it an empty phi track segment?
static std::string const source
Extrapolation ext() const
return extrapolation type