CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
L1MuBMEtaProcessor Class Reference

#include <L1MuBMEtaProcessor.h>

Public Member Functions

int eta (int id) const
 return eta values, index [0,11] More...
 
bool fineBit (int id) const
 return fine bit, index [0,11] More...
 
int id () const
 return Eta Processor identifier (0-11) More...
 
 L1MuBMEtaProcessor (const L1MuBMTrackFinder &, int id, edm::ConsumesCollector &&iC)
 constructor More...
 
void print () const
 print muon candidates found by the Eta Processor More...
 
virtual void reset ()
 reset the Eta Processor More...
 
virtual void run (int bx, const edm::Event &e, const edm::EventSetup &c)
 run the Eta Processor More...
 
const L1MuBMTrackFindertf () const
 return reference to barrel MTTF More...
 
virtual ~L1MuBMEtaProcessor ()
 destructor More...
 

Private Member Functions

void assign ()
 assign eta and etaFineBit More...
 
void receiveAddresses ()
 receive addresses (from 6 Sector Processors) More...
 
void receiveData (int bx, const edm::Event &e, const edm::EventSetup &c)
 receive data (eta trigger primitives) More...
 
void runEtaMatchingUnit (const edm::EventSetup &c)
 run Eta Matching Unit (EMU) More...
 
void runEtaTrackFinder (const edm::EventSetup &c)
 run Eta Track Finder (ETF) More...
 

Static Private Member Functions

static int quality (int id, int stat)
 get quality code; id [0,26], stat [1,3] More...
 

Private Attributes

edm::ESHandle< L1TMuonBarrelParamsbmtfParamsHandle
 
int m_address [12]
 
edm::EDGetTokenT< L1MuDTChambThContainerm_DTDigiToken
 
int m_epid
 
int m_eta [12]
 
bool m_fine [12]
 
std::vector< int > m_foundPattern
 
int m_mask
 
int m_pattern [12]
 
const L1MuBMTrackFinderm_tf
 
L1MuBMTrackm_TrackCand [12]
 
L1MuBMTrackm_TracKCand [12]
 
std::vector< const L1MuBMTrackSegEta * > m_tseta
 
L1MuDTTFMasks msks
 
L1MuBMTEtaPatternLut theEtaPatternLUT
 
L1MuBMTQualPatternLut theQualPatternLUT
 

Detailed Description

Eta Processor:

An Eta Processor consists of :

N. Neumeister CERN EP J. Troconiz UAM Madrid

Definition at line 62 of file L1MuBMEtaProcessor.h.

Constructor & Destructor Documentation

◆ L1MuBMEtaProcessor()

L1MuBMEtaProcessor::L1MuBMEtaProcessor ( const L1MuBMTrackFinder tf,
int  id,
edm::ConsumesCollector &&  iC 
)

constructor

Definition at line 64 of file L1MuBMEtaProcessor.cc.

65  : m_tf(tf),
66  m_epid(id),
67  m_foundPattern(0),
68  m_tseta(15),
70  m_tseta.reserve(15);
71 }

References m_tseta.

◆ ~L1MuBMEtaProcessor()

L1MuBMEtaProcessor::~L1MuBMEtaProcessor ( )
virtual

destructor

Definition at line 77 of file L1MuBMEtaProcessor.cc.

77 {}

Member Function Documentation

◆ assign()

void L1MuBMEtaProcessor::assign ( )
private

assign eta and etaFineBit

Definition at line 429 of file L1MuBMEtaProcessor.cc.

429  {
430  for (int i = 0; i < 12; i++) {
431  if (m_TrackCand[i]) {
432  if (m_eta[i] != 99) {
433  m_TrackCand[i]->setEta(m_eta[i]);
434  m_TracKCand[i]->setEta(m_eta[i]);
435  } else {
436  // if ( i/2 != 2 ) cerr << "L1MuBMEtaProcessor: assign invalid eta" << " " << m_address[i] << endl;
437  }
438  if (m_fine[i]) {
441  // find all contributing track segments
443  vector<const L1MuBMTrackSegEta*> TSeta;
444  const L1MuBMTrackSegEta* ts = nullptr;
445  for (int stat = 0; stat < 3; stat++) {
446  int wh = p.wheel(stat + 1);
447  int pos = p.position(stat + 1);
448  if (pos == 0)
449  continue;
450  ts = m_tseta[wh + 2 + stat * 5];
451  TSeta.push_back(ts);
452  }
453  m_TrackCand[i]->setTSeta(TSeta);
454  m_TracKCand[i]->setTSeta(TSeta);
455  }
456  }
457  }
458 }

References L1MuBMTEtaPatternLut::getPattern(), mps_fire::i, m_eta, m_fine, m_pattern, m_TrackCand, m_TracKCand, m_tseta, AlCaHLTBitMon_ParallelJobs::p, L1MuBMTrack::setEta(), L1MuBMTrack::setFineEtaBit(), L1MuBMTrack::setTSeta(), edm_modernize_messagelogger::stat, and theEtaPatternLUT.

Referenced by run().

◆ eta()

int L1MuBMEtaProcessor::eta ( int  id) const
inline

return eta values, index [0,11]

Definition at line 86 of file L1MuBMEtaProcessor.h.

86 { return m_eta[id]; }

References id(), and m_eta.

Referenced by Particle.Particle::__str__(), Jet.Jet::jetID(), and Jet.Jet::puJetId().

◆ fineBit()

bool L1MuBMEtaProcessor::fineBit ( int  id) const
inline

return fine bit, index [0,11]

Definition at line 89 of file L1MuBMEtaProcessor.h.

89 { return m_fine[id]; }

References id(), and m_fine.

◆ id()

int L1MuBMEtaProcessor::id ( void  ) const
inline

return Eta Processor identifier (0-11)

Definition at line 71 of file L1MuBMEtaProcessor.h.

71 { return m_epid; }

References m_epid.

Referenced by eta(), fineBit(), and quality().

◆ print()

void L1MuBMEtaProcessor::print ( void  ) const

print muon candidates found by the Eta Processor

Definition at line 130 of file L1MuBMEtaProcessor.cc.

130  {
131  bool empty1 = true;
132  for (int i = 0; i < 15; i++) {
133  empty1 &= (m_tseta[i] == nullptr || m_tseta[i]->empty());
134  }
135 
136  bool empty2 = true;
137  for (int i = 0; i < 12; i++) {
138  empty2 &= (m_address[i] == 0);
139  }
140 
141  if (!empty1 || !empty2) {
142  cout << "Eta processor " << m_epid << " : " << endl;
143 
144  // print local pattern
145  if (!empty1) {
146  cout << "Local pattern : " << endl;
147  for (int i = 0; i < 15; i++) {
148  if ((i + 5) % 5 == 0)
149  cout << "station " << m_tseta[i]->station() << " : ";
150  bitset<7> pos(m_tseta[i]->position());
151  bitset<7> qua(m_tseta[i]->quality());
152  for (int j = 6; j >= 0; j--) {
153  cout << pos[j] + qua[j];
154  }
155  cout << " ";
156  if ((i + 1) % 5 == 0)
157  cout << endl;
158  }
159  cout << "Found patterns :" << endl;
160  vector<int>::const_iterator iter;
161  for (iter = m_foundPattern.begin(); iter != m_foundPattern.end(); iter++) {
163  int qualitycode = p.quality();
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++) {
169  if (m_pattern[i] == p.id())
170  cout << " <--";
171  }
172  cout << endl;
173  }
174  }
175 
176  cout << "Received addresses : " << endl;
177  for (int i = 0; i < 12; i++)
178  cout << setw(3) << m_address[i] << " ";
179  cout << endl;
180 
181  if (!empty1) {
182  cout << "Matched patterns : " << endl;
183  for (int i = 0; i < 12; i++) {
184  if (m_fine[i]) {
186  int fineeta = p.eta();
187  int coarseeta = theQualPatternLUT.getCoarseEta(i / 2 + 1, m_address[i]);
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;
194  }
195  }
196  }
197 
198  cout << "Eta values and fine bits : " << endl;
199  for (int i = 0; i < 12; i++)
200  cout << setw(3) << m_eta[i] << " ";
201  cout << endl;
202  for (int i = 0; i < 12; i++)
203  cout << setw(3) << m_fine[i] << " ";
204  cout << endl;
205  }
206 }

References gather_cfg::cout, L1MuBMTQualPatternLut::getCoarseEta(), L1MuBMTEtaPatternLut::getPattern(), mps_fire::i, dqmiolumiharvest::j, m_address, m_epid, m_eta, m_fine, m_foundPattern, m_pattern, m_tseta, AlCaHLTBitMon_ParallelJobs::p, position, quality(), relativeConstraints::station, theEtaPatternLUT, and theQualPatternLUT.

◆ quality()

int L1MuBMEtaProcessor::quality ( int  id,
int  stat 
)
staticprivate

get quality code; id [0,26], stat [1,3]

Definition at line 463 of file L1MuBMEtaProcessor.cc.

463  {
464  // quality codes as defined in CMS Note 2001/027
465  // This QualityPatterns are used to have a defined Quality-Identifier for
466  // all possible found tracks.
467  // Therefore three integer numbers ( Station 1, 2, 3 from left to right )
468  // can have numbers like 0, 1 or 2
469  // 0 ... no hit is given
470  // 1 ... a LTRG is given
471  // 2 ... a HTRG is given
472 
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}};
477 
478  return qualcode[id][stat - 1];
479 }

References id(), and edm_modernize_messagelogger::stat.

Referenced by print(), and runEtaTrackFinder().

◆ receiveAddresses()

void L1MuBMEtaProcessor::receiveAddresses ( )
private

receive addresses (from 6 Sector Processors)

Definition at line 282 of file L1MuBMEtaProcessor.cc.

282  {
283  // get track address code of all track segments
284  // 6*2 times 5 bits; valid range [1-22]
285 
286  int sector = m_epid;
287 
288  int i = 0;
289  for (int wheel = -3; wheel <= 3; wheel++) {
290  if (wheel == 0)
291  continue;
292  L1MuBMSecProcId tmpspid(wheel, sector);
293  for (int number = 0; number < 2; number++) {
294  const L1MuBMTrack* cand = m_tf.sp(tmpspid)->track(number);
295  const L1MuBMTrack* canD = m_tf.sp(tmpspid)->tracK(number);
296  if (cand) {
297  m_address[i] = cand->address().trackAddressCode();
298  if (!cand->empty()) {
299  m_TrackCand[i] = const_cast<L1MuBMTrack*>(cand);
300  m_TracKCand[i] = const_cast<L1MuBMTrack*>(canD);
301  }
302  i++;
303  }
304  }
305  }
306 }

References mps_fire::i, m_address, m_epid, m_tf, m_TrackCand, m_TracKCand, contentValuesFiles::number, L1MuBMTrackFinder::sp(), L1MuBMSectorProcessor::track(), L1MuBMSectorProcessor::tracK(), and makeMuonMisalignmentScenario::wheel.

Referenced by run().

◆ receiveData()

void L1MuBMEtaProcessor::receiveData ( int  bx,
const edm::Event e,
const edm::EventSetup c 
)
private

receive data (eta trigger primitives)

Definition at line 211 of file L1MuBMEtaProcessor.cc.

211  {
212  //c.get< L1MuDTTFMasksRcd >().get( msks );
213  const L1TMuonBarrelParamsRcd& bmtfParamsRcd = c.get<L1TMuonBarrelParamsRcd>();
214  bmtfParamsRcd.get(bmtfParamsHandle);
215  const L1TMuonBarrelParams& bmtfParams = *bmtfParamsHandle.product();
216  msks = bmtfParams.l1mudttfmasks;
217  theEtaPatternLUT.m_lut = bmtfParams.lutparams_.eta_lut_; //l1mudttfetaplut; // ETF look-up table
218  theQualPatternLUT.m_lut = bmtfParams.lutparams_.qp_lut_; //l1mudttfqualplut; // EMU look-up tables
219 
221  // e.getByLabel(L1MuBMTFConfig::getBMThetaDigiInputTag(),dttrig);
222  e.getByToken(m_DTDigiToken, dttrig);
223 
224  // const int bx_offset = dttrig->correctBX();
225  int bx_offset = 0;
226  bx = bx + bx_offset;
227 
228  //
229  // get 5*3 eta track segments
230  //
231  int sector = m_epid;
232  for (int stat = 1; stat <= 3; stat++) {
233  for (int wheel = -2; wheel <= 2; wheel++) {
234  L1MuDTChambThDigi const* tseta = dttrig->chThetaSegm(wheel, stat, sector, bx);
235  bitset<7> pos;
236  bitset<7> qual;
237 
238  int lwheel = wheel + 1;
239  if (wheel < 0)
240  lwheel = wheel - 1;
241 
242  bool masked = false;
243  if (stat == 1)
244  masked = msks.get_etsoc_chdis_st1(lwheel, sector);
245  if (stat == 2)
246  masked = msks.get_etsoc_chdis_st2(lwheel, sector);
247  if (stat == 3)
248  masked = msks.get_etsoc_chdis_st3(lwheel, sector);
249 
250  if (!masked)
251  m_mask = false;
252 
253  if (tseta && !masked) {
254  if (wheel == -2 || wheel == -1 ||
255  (wheel == 0 && (sector == 0 || sector == 3 || sector == 4 || sector == 7 || sector == 8 || sector == 11))) {
256  for (int i = 0; i < 7; i++) {
257  if (tseta->position(i))
258  pos.set(6 - i);
259  if (tseta->quality(i))
260  qual.set(6 - i);
261  }
262  } else {
263  for (int i = 0; i < 7; i++) {
264  if (tseta->position(i))
265  pos.set(i);
266  if (tseta->quality(i))
267  qual.set(i);
268  }
269  }
270  }
271 
272  const L1MuBMTrackSegEta* tmpts =
273  new L1MuBMTrackSegEta(wheel, sector, stat, pos.to_ulong(), qual.to_ulong(), bx - bx_offset);
274  m_tseta.push_back(tmpts);
275  }
276  }
277 }

References bmtfParamsHandle, l1GtPatternGenerator_cfi::bx, c, L1MuDTChambThContainer::chThetaSegm(), MillePedeFileConverter_cfg::e, L1TMuonBarrelParams::LUTParams::eta_lut_, edm::eventsetup::EventSetupRecordImplementation< T >::get(), L1MuDTTFMasks::get_etsoc_chdis_st1(), L1MuDTTFMasks::get_etsoc_chdis_st2(), L1MuDTTFMasks::get_etsoc_chdis_st3(), mps_fire::i, L1TMuonBarrelParams::l1mudttfmasks, L1TMuonBarrelParams::lutparams_, m_DTDigiToken, m_epid, L1MuBMTEtaPatternLut::m_lut, L1MuBMTQualPatternLut::m_lut, m_mask, m_tseta, msks, L1MuDTChambThDigi::position(), edm::ESHandle< T >::product(), L1TMuonBarrelParams::LUTParams::qp_lut_, L1MuDTChambThDigi::quality(), edm_modernize_messagelogger::stat, theEtaPatternLUT, theQualPatternLUT, and makeMuonMisalignmentScenario::wheel.

Referenced by run().

◆ reset()

void L1MuBMEtaProcessor::reset ( void  )
virtual

reset the Eta Processor

Definition at line 101 of file L1MuBMEtaProcessor.cc.

101  {
102  vector<const L1MuBMTrackSegEta*>::iterator iter = m_tseta.begin();
103  while (iter != m_tseta.end()) {
104  if (*iter) {
105  delete *iter;
106  *iter = nullptr;
107  }
108  iter++;
109  }
110 
111  m_tseta.clear();
112 
113  for (int i = 0; i < 12; i++) {
114  m_eta[i] = 99;
115  m_fine[i] = false;
116  m_pattern[i] = 0;
117  m_address[i] = 0;
118  m_TrackCand[i] = nullptr;
119  m_TracKCand[i] = nullptr;
120  }
121 
122  m_foundPattern.clear();
123 
124  m_mask = true;
125 }

References mps_fire::i, m_address, m_eta, m_fine, m_foundPattern, m_mask, m_pattern, m_TrackCand, m_TracKCand, and m_tseta.

◆ run()

void L1MuBMEtaProcessor::run ( int  bx,
const edm::Event e,
const edm::EventSetup c 
)
virtual

◆ runEtaMatchingUnit()

void L1MuBMEtaProcessor::runEtaMatchingUnit ( const edm::EventSetup c)
private

run Eta Matching Unit (EMU)

Definition at line 361 of file L1MuBMEtaProcessor.cc.

361  {
362  //c.get< L1MuDTQualPatternLutRcd >().get( theQualPatternLUT );
363  const L1TMuonBarrelParamsRcd& bmtfParamsRcd = c.get<L1TMuonBarrelParamsRcd>();
364  bmtfParamsRcd.get(bmtfParamsHandle);
365  const L1TMuonBarrelParams& bmtfParams = *bmtfParamsHandle.product();
366  theQualPatternLUT.m_lut = bmtfParams.lutparams_.qp_lut_; //l1mudttfqualplut; // EMU look-up tables
367 
368  // loop over all addresses
369  for (int i = 0; i < 12; i++) {
370  int adr = m_address[i];
371  if (adr == 0)
372  continue;
373  int sp = i / 2 + 1; //sector processor [1,6]
374 
375  // assign coarse eta value
376  if (!m_mask)
378 
379  if (m_foundPattern.empty())
380  continue;
381 
382  // get list of qualified patterns ordered by quality
383  // and compare with found patterns
384  const vector<short>& qualifiedPatterns = theQualPatternLUT.getQualifiedPatterns(sp, adr);
385  vector<short>::const_iterator iter;
386  vector<int>::const_iterator f_iter;
387  for (iter = qualifiedPatterns.begin(); iter != qualifiedPatterns.end(); iter++) {
388  f_iter = find(m_foundPattern.begin(), m_foundPattern.end(), (*iter));
389  // found
390  if (f_iter != m_foundPattern.end()) {
392  // assign fine eta value
393  m_fine[i] = true;
394  m_eta[i] = p.eta(); // improved eta
395  ;
396  m_pattern[i] = (*f_iter);
397  break;
398  }
399  }
400  }
401 
402  // if both tracks from one sector processor deliver the same track address
403  // both tracks get only a coarse eta value!
404 
405  // loop over sector processors
406  for (int i = 0; i < 6; i++) {
407  int idx1 = 2 * i;
408  int idx2 = 2 * i + 1;
409  int adr1 = m_address[idx1];
410  int adr2 = m_address[idx2];
411  if (adr1 == 0 || adr2 == 0)
412  continue;
413  if (adr1 == adr2 && !m_mask) {
414  // both tracks get coarse (default) eta value
415  m_eta[idx1] = theQualPatternLUT.getCoarseEta(i + 1, adr1);
416  m_pattern[idx1] = 0;
417  m_fine[idx1] = false;
418  m_eta[idx2] = theQualPatternLUT.getCoarseEta(i + 1, adr2);
419 
420  m_pattern[idx2] = 0;
421  m_fine[idx2] = false;
422  }
423  }
424 }

References bmtfParamsHandle, c, spr::find(), edm::eventsetup::EventSetupRecordImplementation< T >::get(), L1MuBMTQualPatternLut::getCoarseEta(), L1MuBMTEtaPatternLut::getPattern(), L1MuBMTQualPatternLut::getQualifiedPatterns(), mps_fire::i, L1TMuonBarrelParams::lutparams_, m_address, m_eta, m_fine, m_foundPattern, L1MuBMTQualPatternLut::m_lut, m_mask, m_pattern, AlCaHLTBitMon_ParallelJobs::p, edm::ESHandle< T >::product(), L1TMuonBarrelParams::LUTParams::qp_lut_, theEtaPatternLUT, and theQualPatternLUT.

Referenced by run().

◆ runEtaTrackFinder()

void L1MuBMEtaProcessor::runEtaTrackFinder ( const edm::EventSetup c)
private

run Eta Track Finder (ETF)

Definition at line 311 of file L1MuBMEtaProcessor.cc.

311  {
312  //c.get< L1MuDTEtaPatternLutRcd >().get( theEtaPatternLUT );
313  const L1TMuonBarrelParamsRcd& bmtfParamsRcd = c.get<L1TMuonBarrelParamsRcd>();
314  bmtfParamsRcd.get(bmtfParamsHandle);
315  const L1TMuonBarrelParams& bmtfParams = *bmtfParamsHandle.product();
316  theEtaPatternLUT.m_lut = bmtfParams.lutparams_.eta_lut_; //l1mudttfetaplut; // ETF look-up table
317 
318  // check if there are any data
319  bool empty = true;
320  for (int i = 0; i < 15; i++) {
321  empty &= m_tseta[i]->empty();
322  }
323  if (empty)
324  return;
325 
326  // Pattern comparator:
327  // loop over all patterns and compare with local chamber pattern
328  // result : list of valid pattern IDs ( m_foundPattern )
330  while (it != theEtaPatternLUT.end()) {
331  const L1MuDTEtaPattern pattern = (*it).second;
332  int qualitycode = pattern.quality();
333 
334  bool good = true;
335 
336  for (int station = 0; station < 3; station++) {
337  int q = quality(qualitycode, station + 1);
338  int wheel = pattern.wheel(station + 1);
339  int bin = pattern.position(station + 1);
340  if (bin == 0)
341  continue;
342  bitset<7> pos = m_tseta[wheel + 2 + station * 5]->position();
343  bitset<7> qual = m_tseta[wheel + 2 + station * 5]->quality();
344  // compare position
345  good &= pos.test(bin - 1);
346  // compare quality
347  if (q == 2)
348  good &= qual.test(bin - 1);
349  }
350 
351  if (good)
352  m_foundPattern.push_back(pattern.id());
353 
354  it++;
355  }
356 }

References L1MuBMTEtaPatternLut::begin(), newFWLiteAna::bin, bmtfParamsHandle, c, relativeConstraints::empty, L1MuBMTEtaPatternLut::end(), L1TMuonBarrelParams::LUTParams::eta_lut_, edm::eventsetup::EventSetupRecordImplementation< T >::get(), good, mps_fire::i, L1TMuonBarrelParams::lutparams_, m_foundPattern, L1MuBMTEtaPatternLut::m_lut, m_tseta, topSingleLeptonDQM_PU_cfi::pattern, edm::ESHandle< T >::product(), submitPVResolutionJobs::q, quality(), relativeConstraints::station, theEtaPatternLUT, and makeMuonMisalignmentScenario::wheel.

Referenced by run().

◆ tf()

const L1MuBMTrackFinder& L1MuBMEtaProcessor::tf ( ) const
inline

return reference to barrel MTTF

Definition at line 83 of file L1MuBMEtaProcessor.h.

83 { return m_tf; }

References m_tf.

Member Data Documentation

◆ bmtfParamsHandle

edm::ESHandle<L1TMuonBarrelParams> L1MuBMEtaProcessor::bmtfParamsHandle
private

Definition at line 130 of file L1MuBMEtaProcessor.h.

Referenced by receiveData(), runEtaMatchingUnit(), and runEtaTrackFinder().

◆ m_address

int L1MuBMEtaProcessor::m_address[12]
private

Definition at line 122 of file L1MuBMEtaProcessor.h.

Referenced by print(), receiveAddresses(), reset(), and runEtaMatchingUnit().

◆ m_DTDigiToken

edm::EDGetTokenT<L1MuDTChambThContainer> L1MuBMEtaProcessor::m_DTDigiToken
private

Definition at line 135 of file L1MuBMEtaProcessor.h.

Referenced by receiveData().

◆ m_epid

int L1MuBMEtaProcessor::m_epid
private

Definition at line 112 of file L1MuBMEtaProcessor.h.

Referenced by id(), print(), receiveAddresses(), and receiveData().

◆ m_eta

int L1MuBMEtaProcessor::m_eta[12]
private

Definition at line 116 of file L1MuBMEtaProcessor.h.

Referenced by assign(), eta(), print(), reset(), and runEtaMatchingUnit().

◆ m_fine

bool L1MuBMEtaProcessor::m_fine[12]
private

Definition at line 117 of file L1MuBMEtaProcessor.h.

Referenced by assign(), fineBit(), print(), reset(), and runEtaMatchingUnit().

◆ m_foundPattern

std::vector<int> L1MuBMEtaProcessor::m_foundPattern
private

Definition at line 119 of file L1MuBMEtaProcessor.h.

Referenced by print(), reset(), runEtaMatchingUnit(), and runEtaTrackFinder().

◆ m_mask

int L1MuBMEtaProcessor::m_mask
private

Definition at line 114 of file L1MuBMEtaProcessor.h.

Referenced by receiveData(), reset(), and runEtaMatchingUnit().

◆ m_pattern

int L1MuBMEtaProcessor::m_pattern[12]
private

Definition at line 120 of file L1MuBMEtaProcessor.h.

Referenced by assign(), print(), reset(), and runEtaMatchingUnit().

◆ m_tf

const L1MuBMTrackFinder& L1MuBMEtaProcessor::m_tf
private

Definition at line 111 of file L1MuBMEtaProcessor.h.

Referenced by receiveAddresses(), and tf().

◆ m_TrackCand

L1MuBMTrack* L1MuBMEtaProcessor::m_TrackCand[12]
private

Definition at line 123 of file L1MuBMEtaProcessor.h.

Referenced by assign(), receiveAddresses(), and reset().

◆ m_TracKCand

L1MuBMTrack* L1MuBMEtaProcessor::m_TracKCand[12]
private

Definition at line 124 of file L1MuBMEtaProcessor.h.

Referenced by assign(), receiveAddresses(), and reset().

◆ m_tseta

std::vector<const L1MuBMTrackSegEta*> L1MuBMEtaProcessor::m_tseta
private

◆ msks

L1MuDTTFMasks L1MuBMEtaProcessor::msks
private

Definition at line 131 of file L1MuBMEtaProcessor.h.

Referenced by receiveData().

◆ theEtaPatternLUT

L1MuBMTEtaPatternLut L1MuBMEtaProcessor::theEtaPatternLUT
private

◆ theQualPatternLUT

L1MuBMTQualPatternLut L1MuBMEtaProcessor::theQualPatternLUT
private

Definition at line 133 of file L1MuBMEtaProcessor.h.

Referenced by print(), receiveData(), and runEtaMatchingUnit().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
L1MuDTEtaPattern
Definition: L1MuDTEtaPattern.h:46
L1MuBMEtaProcessor::m_TrackCand
L1MuBMTrack * m_TrackCand[12]
Definition: L1MuBMEtaProcessor.h:123
L1MuBMTrackSegEta
Definition: L1MuBMTrackSegEta.h:41
good
const auto good
min quality of good
Definition: CAHitNtupletGeneratorKernelsImpl.h:760
mps_fire.i
i
Definition: mps_fire.py:428
L1MuDTChambThDigi::position
int position(const int i) const
Definition: L1MuDTChambThDigi.cc:90
L1MuBMEtaProcessor::id
int id() const
return Eta Processor identifier (0-11)
Definition: L1MuBMEtaProcessor.h:71
L1MuBMTEtaPatternLut::begin
ETFLut_iter begin() const
return iterator which points to the first entry of the LUT
Definition: L1MuBMTEtaPatternLut.h:71
L1TMuonBarrelParams::lutparams_
LUTParams lutparams_
Definition: L1TMuonBarrelParams.h:110
L1MuDTTFMasks::get_etsoc_chdis_st3
bool get_etsoc_chdis_st3(int wh, int sc) const
Definition: L1MuDTTFMasks.cc:153
L1MuBMEtaProcessor::m_tseta
std::vector< const L1MuBMTrackSegEta * > m_tseta
Definition: L1MuBMEtaProcessor.h:125
relativeConstraints.station
station
Definition: relativeConstraints.py:67
L1MuBMSecProcId
Definition: L1MuBMSecProcId.h:40
gather_cfg.cout
cout
Definition: gather_cfg.py:144
pos
Definition: PixelAliasList.h:18
L1MuBMEtaProcessor::theQualPatternLUT
L1MuBMTQualPatternLut theQualPatternLUT
Definition: L1MuBMEtaProcessor.h:133
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
L1MuBMEtaProcessor::runEtaTrackFinder
void runEtaTrackFinder(const edm::EventSetup &c)
run Eta Track Finder (ETF)
Definition: L1MuBMEtaProcessor.cc:311
L1MuBMEtaProcessor::bmtfParamsHandle
edm::ESHandle< L1TMuonBarrelParams > bmtfParamsHandle
Definition: L1MuBMEtaProcessor.h:130
L1MuBMEtaProcessor::m_DTDigiToken
edm::EDGetTokenT< L1MuDTChambThContainer > m_DTDigiToken
Definition: L1MuBMEtaProcessor.h:135
L1MuBMEtaProcessor::tf
const L1MuBMTrackFinder & tf() const
return reference to barrel MTTF
Definition: L1MuBMEtaProcessor.h:83
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
edm::Handle< L1MuDTChambThContainer >
L1MuBMEtaProcessor::m_TracKCand
L1MuBMTrack * m_TracKCand[12]
Definition: L1MuBMEtaProcessor.h:124
L1TMuonBarrelParams::l1mudttfmasks
L1MuDTTFMasks l1mudttfmasks
Definition: L1TMuonBarrelParams.h:66
contentValuesFiles.number
number
Definition: contentValuesFiles.py:53
L1MuBMTEtaPatternLut::m_lut
LUT m_lut
Definition: L1MuBMTEtaPatternLut.h:77
L1MuBMEtaProcessor::m_mask
int m_mask
Definition: L1MuBMEtaProcessor.h:114
L1MuBMEtaProcessor::m_epid
int m_epid
Definition: L1MuBMEtaProcessor.h:112
L1MuBMEtaProcessor::m_pattern
int m_pattern[12]
Definition: L1MuBMEtaProcessor.h:120
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
L1MuBMEtaProcessor::msks
L1MuDTTFMasks msks
Definition: L1MuBMEtaProcessor.h:131
L1MuBMEtaProcessor::quality
static int quality(int id, int stat)
get quality code; id [0,26], stat [1,3]
Definition: L1MuBMEtaProcessor.cc:463
L1MuBMTEtaPatternLut::ETFLut_iter
LUT::const_iterator ETFLut_iter
Definition: L1MuBMTEtaPatternLut.h:44
L1TMuonBarrelParams::LUTParams::qp_lut_
qpLUT qp_lut_
Definition: L1TMuonBarrelParams.h:85
L1MuBMTFConfig::getEtaTF
static bool getEtaTF()
Definition: L1MuBMTFConfig.h:63
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
L1MuBMEtaProcessor::m_tf
const L1MuBMTrackFinder & m_tf
Definition: L1MuBMEtaProcessor.h:111
L1TMuonBarrelParams::LUTParams::eta_lut_
etaLUT eta_lut_
Definition: L1TMuonBarrelParams.h:86
L1MuDTTFMasks::get_etsoc_chdis_st2
bool get_etsoc_chdis_st2(int wh, int sc) const
Definition: L1MuDTTFMasks.cc:141
L1MuBMTrack::setTSeta
void setTSeta(const std::vector< const L1MuBMTrackSegEta * > &tsList)
set eta track segments used to form the muon candidate
Definition: L1MuBMTrack.cc:160
L1MuBMEtaProcessor::m_eta
int m_eta[12]
Definition: L1MuBMEtaProcessor.h:116
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
cand
Definition: decayParser.h:32
L1MuBMEtaProcessor::m_address
int m_address[12]
Definition: L1MuBMEtaProcessor.h:122
L1MuBMTQualPatternLut::getQualifiedPatterns
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]
Definition: L1MuBMTQualPatternLut.cc:187
L1MuBMTrack
Definition: L1MuBMTrack.h:49
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
L1MuBMTQualPatternLut::m_lut
LUT m_lut
Definition: L1MuBMTQualPatternLut.h:82
topSingleLeptonDQM_PU_cfi.pattern
pattern
Definition: topSingleLeptonDQM_PU_cfi.py:39
L1MuBMTrack::setEta
void setEta(int eta)
set eta-code of muon candidate
Definition: L1MuBMTrack.cc:118
L1MuBMEtaProcessor::receiveAddresses
void receiveAddresses()
receive addresses (from 6 Sector Processors)
Definition: L1MuBMEtaProcessor.cc:282
submitPVResolutionJobs.q
q
Definition: submitPVResolutionJobs.py:84
L1MuBMSectorProcessor::track
L1MuBMTrack * track(int id) const
return pointer to muon candidate, index [0,1]
Definition: L1MuBMSectorProcessor.h:100
L1MuDTChambThDigi::quality
int quality(const int i) const
Definition: L1MuDTChambThDigi.cc:97
L1MuBMTFConfig::getBMThetaDigiInputTag
static edm::InputTag getBMThetaDigiInputTag()
Definition: L1MuBMTFConfig.h:50
L1MuBMEtaProcessor::receiveData
void receiveData(int bx, const edm::Event &e, const edm::EventSetup &c)
receive data (eta trigger primitives)
Definition: L1MuBMEtaProcessor.cc:211
L1MuBMEtaProcessor::m_fine
bool m_fine[12]
Definition: L1MuBMEtaProcessor.h:117
L1MuBMEtaProcessor::m_foundPattern
std::vector< int > m_foundPattern
Definition: L1MuBMEtaProcessor.h:119
L1MuBMTrack::setFineEtaBit
void setFineEtaBit()
set fine eta bit
Definition: L1MuBMTrack.h:151
L1MuBMTEtaPatternLut::getPattern
L1MuDTEtaPattern getPattern(int id) const
get pattern with a given ID
Definition: L1MuBMTEtaPatternLut.cc:149
L1MuDTChambThContainer::chThetaSegm
L1MuDTChambThDigi const * chThetaSegm(int wheel, int stat, int sect, int bx) const
Definition: L1MuDTChambThContainer.cc:65
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
L1MuBMTQualPatternLut::getCoarseEta
int getCoarseEta(int sp, int adr) const
get coarse eta value for a given sector processor [1-6] and address [1-22]
Definition: L1MuBMTQualPatternLut.cc:174
L1MuBMEtaProcessor::assign
void assign()
assign eta and etaFineBit
Definition: L1MuBMEtaProcessor.cc:429
L1MuDTChambThDigi
Definition: L1MuDTChambThDigi.h:33
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
L1MuDTTFMasks::get_etsoc_chdis_st1
bool get_etsoc_chdis_st1(int wh, int sc) const
Definition: L1MuDTTFMasks.cc:129
L1MuBMEtaProcessor::runEtaMatchingUnit
void runEtaMatchingUnit(const edm::EventSetup &c)
run Eta Matching Unit (EMU)
Definition: L1MuBMEtaProcessor.cc:361
L1MuBMEtaProcessor::theEtaPatternLUT
L1MuBMTEtaPatternLut theEtaPatternLUT
Definition: L1MuBMEtaProcessor.h:132
edm::eventsetup::EventSetupRecordImplementation::get
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
Definition: EventSetupRecordImplementation.h:74
L1TMuonBarrelParams
Definition: L1TMuonBarrelParams.h:23
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
edm_modernize_messagelogger.stat
stat
Definition: edm_modernize_messagelogger.py:27
L1MuDTChambThContainer
Definition: L1MuDTChambThContainer.h:33
L1MuBMSectorProcessor::tracK
L1MuBMTrack * tracK(int id) const
return pointer to muon candidate, index [0,1]
Definition: L1MuBMSectorProcessor.h:103
L1MuBMTrackFinder::sp
const L1MuBMSectorProcessor * sp(const L1MuBMSecProcId &) const
get a pointer to a Sector Processor
Definition: L1MuBMTrackFinder.cc:409
L1TMuonBarrelParamsRcd
Definition: L1TMuonBarrelParamsRcd.h:14
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
L1MuBMTEtaPatternLut::end
ETFLut_iter end() const
return iterator which points to the one-past-last entry of the LUT
Definition: L1MuBMTEtaPatternLut.h:74