102 vector<const L1MuBMTrackSegEta*>::iterator iter =
m_tseta.begin();
103 while (iter !=
m_tseta.end()) {
113 for (
int i = 0;
i < 12;
i++) {
132 for (
int i = 0;
i < 15;
i++) {
137 for (
int i = 0;
i < 12;
i++) {
141 if (!empty1 || !empty2) {
142 cout <<
"Eta processor " <<
m_epid <<
" : " << endl;
146 cout <<
"Local pattern : " << endl;
147 for (
int i = 0;
i < 15;
i++) {
148 if ((
i + 5) % 5 == 0)
152 for (
int j = 6;
j >= 0;
j--) {
156 if ((
i + 1) % 5 == 0)
159 cout <<
"Found patterns :" << endl;
160 vector<int>::const_iterator iter;
164 cout <<
"ID = " << setw(4) << p.
id() <<
" " 165 <<
"eta = " << setw(3) << p.
eta() <<
" " 166 <<
"quality = " << setw(2) << qualitycode <<
" (" <<
quality(qualitycode, 1) <<
" " 167 <<
quality(qualitycode, 2) <<
" " <<
quality(qualitycode, 3) <<
")";
168 for (
int i = 0;
i < 12;
i++) {
176 cout <<
"Received addresses : " << endl;
177 for (
int i = 0;
i < 12;
i++)
182 cout <<
"Matched patterns : " << endl;
183 for (
int i = 0;
i < 12;
i++) {
186 int fineeta = p.
eta();
188 cout <<
"Index = " << setw(2) << i <<
", " 189 <<
"address = " << setw(2) <<
m_address[
i] <<
" --> " 190 <<
"pattern = " << setw(4) <<
m_pattern[
i] <<
" " 191 <<
"eta (coarse) = " << setw(3) << coarseeta <<
" " 192 <<
"eta (fine) = " << setw(3) << fineeta <<
" " 193 <<
"quality = " << setw(2) << p.
quality() << endl;
198 cout <<
"Eta values and fine bits : " << endl;
199 for (
int i = 0;
i < 12;
i++)
202 for (
int i = 0;
i < 12;
i++)
238 int lwheel =
wheel + 1;
253 if (tseta && !masked) {
255 (
wheel == 0 && (sector == 0 || sector == 3 || sector == 4 || sector == 7 || sector == 8 || sector == 11))) {
256 for (
int i = 0;
i < 7;
i++) {
263 for (
int i = 0;
i < 7;
i++) {
298 if (!cand->
empty()) {
320 for (
int i = 0;
i < 15;
i++) {
332 int qualitycode = pattern.
quality();
345 good &= pos.test(bin - 1);
348 good &= qual.test(bin - 1);
369 for (
int i = 0;
i < 12;
i++) {
385 vector<short>::const_iterator iter;
386 vector<int>::const_iterator f_iter;
387 for (iter = qualifiedPatterns.begin(); iter != qualifiedPatterns.end(); iter++) {
406 for (
int i = 0;
i < 6;
i++) {
408 int idx2 = 2 *
i + 1;
411 if (adr1 == 0 || adr2 == 0)
413 if (adr1 == adr2 && !
m_mask) {
430 for (
int i = 0;
i < 12;
i++) {
432 if (
m_eta[i] != 99) {
443 vector<const L1MuBMTrackSegEta*> TSeta;
473 const int qualcode[27][3] = {{0, 0, 0}, {1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {2, 0, 0}, {0, 2, 0}, {0, 0, 2},
474 {1, 1, 0}, {1, 0, 1}, {0, 1, 1}, {2, 1, 0}, {1, 2, 0}, {2, 0, 1}, {1, 0, 2},
475 {0, 2, 1}, {0, 1, 2}, {2, 2, 0}, {2, 0, 2}, {0, 2, 2}, {1, 1, 1}, {2, 1, 1},
476 {1, 2, 1}, {1, 1, 2}, {2, 2, 1}, {2, 1, 2}, {1, 2, 2}, {2, 2, 2}};
478 return qualcode[
id][stat - 1];
int trackAddressCode() const
get track address code (for eta track finder)
int quality() const
return quality
const std::vector< short > & getQualifiedPatterns(int sp, int adr) const
get list of qualified patterns for a given sector processor [1-6] and address [1-22] ...
int getCoarseEta(int sp, int adr) const
get coarse eta value for a given sector processor [1-6] and address [1-22]
bool get_etsoc_chdis_st3(int wh, int sc) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
ETFLut_iter begin() const
return iterator which points to the first entry of the LUT
L1MuBMAddressArray address() const
get address-array for this muon candidate
L1MuDTEtaPattern getPattern(int id) const
get pattern with a given ID
int position(int station) const
return position in station [1,3]
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
int quality(const int i) const
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
int position(const int i) const
L1MuBMTrack * tracK(int id) const
return pointer to muon candidate, index [0,1]
int eta() const
return eta
void setTSeta(const std::vector< const L1MuBMTrackSegEta * > &tsList)
set eta track segments used to form the muon candidate
L1MuDTTFMasks l1mudttfmasks
const L1MuBMSectorProcessor * sp(const L1MuBMSecProcId &) const
get a pointer to a Sector Processor
bool get_etsoc_chdis_st2(int wh, int sc) const
L1MuBMTrack * track(int id) const
return pointer to muon candidate, index [0,1]
void setFineEtaBit()
set fine eta bit
L1MuDTChambThDigi const * chThetaSegm(int wheel, int stat, int sect, int bx) const
void setEta(int eta)
set eta-code of muon candidate
static int position[264][3]
int wheel(int station) const
return wheel number in station [1,3]
bool get_etsoc_chdis_st1(int wh, int sc) const
LUT::const_iterator ETFLut_iter
bool empty() const
is it an empty muon candidate?
T const * product() const
ETFLut_iter end() const
return iterator which points to the one-past-last entry of the LUT