CMS 3D CMS Logo

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

#include <L1MuBMAssignmentUnit.h>

Inheritance diagram for L1MuBMAssignmentUnit:
L1AbstractProcessor

Public Member Functions

 L1MuBMAssignmentUnit (L1MuBMSectorProcessor &sp, int id)
 constructor More...
 
void PhiAU (const edm::EventSetup &c)
 assign phi More...
 
void PtAU (const edm::EventSetup &c)
 assign pt and charge More...
 
void QuaAU ()
 assign quality More...
 
unsigned int Quality ()
 
void reset () override
 reset Assignment Unit More...
 
void run (const edm::EventSetup &c) override
 run Assignment Unit More...
 
 ~L1MuBMAssignmentUnit () override
 destructor More...
 
- Public Member Functions inherited from L1AbstractProcessor
virtual void run ()
 run processor logic More...
 
virtual void run ()
 run processor logic More...
 
virtual ~L1AbstractProcessor ()
 destructor More...
 
virtual ~L1AbstractProcessor ()
 destructor More...
 

Static Public Member Functions

static void setPrecision ()
 set precision of phi and phib More...
 

Private Member Functions

int getPt1Address (L1MuBMLUTHandler::PtAssMethod) const
 
L1MuBMLUTHandler::PtAssMethod getPt1Method (L1MuBMLUTHandler::PtAssMethod) const
 
int getPt2Address (L1MuBMLUTHandler::PtAssMethod) const
 
L1MuBMLUTHandler::PtAssMethod getPt2Method (L1MuBMLUTHandler::PtAssMethod) const
 
int getPtAddress (L1MuBMLUTHandler::PtAssMethod, int bendcharge=0) const
 calculate bend angle More...
 
L1MuBMLUTHandler::PtAssMethod getPtMethod () const
 determine pt assignment method More...
 
const L1MuBMTrackSegPhigetTSphi (int station) const
 get track segment from a given station More...
 
int phiDiff (int stat1, int stat2) const
 build difference of two phi values More...
 
void TSR ()
 Track Segment Router. More...
 

Static Private Member Functions

static int convertSector (int)
 convert sector Id to 8 bit code (= sector center) More...
 
static int getCharge (L1MuBMLUTHandler::PtAssMethod)
 determine charge More...
 

Private Attributes

edm::ESHandle< L1TMuonBarrelParamsbmtfParamsHandle
 
L1MuBMAddressArray m_addArray
 
int m_id
 
L1MuBMLUTHandler::PtAssMethod m_ptAssMethod
 
L1MuBMSectorProcessorm_sp
 
std::vector< const L1MuBMTrackSegPhi * > m_TSphi
 
L1MuBMLUTHandlerthePhiLUTs
 phi-assignment look-up tables More...
 
L1MuBMLUTHandlerthePtaLUTs
 pt-assignment look-up tables More...
 

Static Private Attributes

static unsigned short nbit_phi = 12
 
static unsigned short nbit_phib = 10
 

Detailed Description

Assignment Unit:

assigns pt, charge, phi and quality to a muon candidate found by the Track Assembler

N. Neumeister CERN EP J. Troconiz UAM Madrid

Definition at line 52 of file L1MuBMAssignmentUnit.h.

Constructor & Destructor Documentation

◆ L1MuBMAssignmentUnit()

L1MuBMAssignmentUnit::L1MuBMAssignmentUnit ( L1MuBMSectorProcessor sp,
int  id 
)

constructor

Definition at line 55 of file L1MuBMAssignmentUnit.cc.

57  m_TSphi.reserve(4); // a track candidate can consist of max 4 TS
58  reset();
59  setPrecision();
60 }

References m_TSphi, reset(), and setPrecision().

◆ ~L1MuBMAssignmentUnit()

L1MuBMAssignmentUnit::~L1MuBMAssignmentUnit ( )
override

destructor

Definition at line 66 of file L1MuBMAssignmentUnit.cc.

66 {}

Member Function Documentation

◆ convertSector()

int L1MuBMAssignmentUnit::convertSector ( int  sector)
staticprivate

convert sector Id to 8 bit code (= sector center)

Definition at line 415 of file L1MuBMAssignmentUnit.cc.

415  {
416  // assert( sector >=0 && sector < 12 );
417  const int sectorvalues[12] = {0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132};
418 
419  return sectorvalues[sector];
420 }

◆ getCharge()

int L1MuBMAssignmentUnit::getCharge ( L1MuBMLUTHandler::PtAssMethod  method)
staticprivate

determine charge

Definition at line 425 of file L1MuBMAssignmentUnit.cc.

425  {
426  int chargesign = 0;
427  switch (method) {
429  chargesign = -1;
430  break;
431  }
433  chargesign = -1;
434  break;
435  }
437  chargesign = -1;
438  break;
439  }
441  chargesign = -1;
442  break;
443  }
445  chargesign = -1;
446  break;
447  }
449  chargesign = -1;
450  break;
451  }
453  chargesign = -1;
454  break;
455  }
457  chargesign = -1;
458  break;
459  }
461  chargesign = -1;
462  break;
463  }
465  chargesign = -1;
466  break;
467  }
469  chargesign = 1;
470  break;
471  }
473  chargesign = 1;
474  break;
475  }
476 
478  chargesign = 0;
479  // cerr << "AssignmentUnit::getCharge : undefined PtAssMethod!"
480  // << endl;
481  break;
482  }
483  default: {
484  chargesign = 0;
485  }
486  }
487 
488  return chargesign;
489 }

References AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT12L, L1MuBMLUTHandler::PT13H, L1MuBMLUTHandler::PT13L, L1MuBMLUTHandler::PT14H, L1MuBMLUTHandler::PT14L, L1MuBMLUTHandler::PT23H, L1MuBMLUTHandler::PT23L, L1MuBMLUTHandler::PT24H, L1MuBMLUTHandler::PT24L, L1MuBMLUTHandler::PT34H, and L1MuBMLUTHandler::PT34L.

Referenced by PtAU().

◆ getPt1Address()

int L1MuBMAssignmentUnit::getPt1Address ( L1MuBMLUTHandler::PtAssMethod  method) const
private

Definition at line 761 of file L1MuBMAssignmentUnit.cc.

761  {
762  // phib values of track segments from stations 1, 2 and 4
763  int phib1 = (getTSphi(1) != nullptr) ? getTSphi(1)->phib() : -999;
764  int phib2 = (getTSphi(2) != nullptr) ? getTSphi(2)->phib() : -999;
765  int phib4 = (getTSphi(4) != nullptr) ? getTSphi(4)->phib() : -999;
766 
767  int bendangle = -999;
768  switch (method) {
770  bendangle = phib1;
771  break;
772  }
774  bendangle = phib1;
775  break;
776  }
778  bendangle = phib1;
779  break;
780  }
782  bendangle = phib2;
783  break;
784  }
786  bendangle = phib2;
787  break;
788  }
790  bendangle = phib4;
791  break;
792  }
794  bendangle = -999;
795  break;
796  }
797  default: {
798  bendangle = -999;
799  }
800  }
801 
802  return bendangle;
803 }

References getTSphi(), AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMTrackSegPhi::phib(), L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT13H, L1MuBMLUTHandler::PT14H, L1MuBMLUTHandler::PT23H, L1MuBMLUTHandler::PT24H, and L1MuBMLUTHandler::PT34H.

Referenced by PtAU().

◆ getPt1Method()

L1MuBMLUTHandler::PtAssMethod L1MuBMAssignmentUnit::getPt1Method ( L1MuBMLUTHandler::PtAssMethod  method) const
private

Definition at line 674 of file L1MuBMAssignmentUnit.cc.

674  {
675  // quality values of track segments from stations 1, 2 and 4
676  int qual1 = (getTSphi(1) != nullptr) ? getTSphi(1)->quality() : 0;
677  int qual2 = (getTSphi(2) != nullptr) ? getTSphi(2)->quality() : 0;
678  int qual4 = (getTSphi(4) != nullptr) ? getTSphi(4)->quality() : 0;
679 
681 
682  switch (method) {
684  if (qual1 > 3)
686  break;
687  }
689  if (qual1 > 3)
691  break;
692  }
694  if (qual1 > 3)
696  break;
697  }
699  if (qual2 > 3)
701  break;
702  }
704  if (qual2 > 3)
706  break;
707  }
709  if (qual4 > 3)
711  break;
712  }
715  break;
716  }
717  default: {
719  }
720  }
721 
722  return pam;
723 }

References getTSphi(), AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMLUTHandler::PB12H, L1MuBMLUTHandler::PB13H, L1MuBMLUTHandler::PB14H, L1MuBMLUTHandler::PB23H, L1MuBMLUTHandler::PB24H, L1MuBMLUTHandler::PB34H, L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT13H, L1MuBMLUTHandler::PT14H, L1MuBMLUTHandler::PT23H, L1MuBMLUTHandler::PT24H, L1MuBMLUTHandler::PT34H, and L1MuBMTrackSegPhi::quality().

Referenced by PtAU().

◆ getPt2Address()

int L1MuBMAssignmentUnit::getPt2Address ( L1MuBMLUTHandler::PtAssMethod  method) const
private

Definition at line 808 of file L1MuBMAssignmentUnit.cc.

808  {
809  // phib values of track segments from stations 1, 2 and 4
810  int phib2 = (getTSphi(2) != nullptr) ? getTSphi(2)->phib() : -999;
811  int phib4 = (getTSphi(4) != nullptr) ? getTSphi(4)->phib() : -999;
812 
813  int bendangle = -999;
814  switch (method) {
816  bendangle = phib2;
817  break;
818  }
820  bendangle = phib4;
821  break;
822  }
824  bendangle = phib4;
825  break;
826  }
827  //case L1MuBMLUTHandler::PT12HO : { bendangle = phib2; break; }
828  //case L1MuBMLUTHandler::PT14HO : { bendangle = phib4; break; }
829  //case L1MuBMLUTHandler::PT24HO : { bendangle = phib4; break; }
831  bendangle = -999;
832  break;
833  }
834  default: {
835  bendangle = -999;
836  }
837  }
838 
839  return bendangle;
840 }

References getTSphi(), AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMTrackSegPhi::phib(), L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT14H, and L1MuBMLUTHandler::PT24H.

Referenced by PtAU().

◆ getPt2Method()

L1MuBMLUTHandler::PtAssMethod L1MuBMAssignmentUnit::getPt2Method ( L1MuBMLUTHandler::PtAssMethod  method) const
private

Definition at line 728 of file L1MuBMAssignmentUnit.cc.

728  {
729  // quality values of track segments from stations 2 and 4
730  int qual2 = (getTSphi(2) != nullptr) ? getTSphi(2)->quality() : 0;
731  // int qual4 = ( getTSphi(4) != 0 ) ? getTSphi(4)->quality() : 0;
732 
734 
735  switch (method) {
737  if (qual2 > 3)
739  break;
740  }
741  // case PT14H : { if (qual4 > 3) pam = PB34H; break; }
742  // case PT24H : { if (qual4 > 3) pam = PB34H; break; }
743  //case PT12HO : { if (qual2 > 3) pam = PB21HO; break; }
744  // case PT14HO : { if (qual4 > 3) pam = PB34HO; break; }
745  // case PT24HO : { if (qual4 > 3) pam = PB34HO; break; }
748  break;
749  }
750  default: {
752  }
753  }
754 
755  return pam;
756 }

References getTSphi(), AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMLUTHandler::PB21H, L1MuBMLUTHandler::PT12H, and L1MuBMTrackSegPhi::quality().

Referenced by PtAU().

◆ getPtAddress()

int L1MuBMAssignmentUnit::getPtAddress ( L1MuBMLUTHandler::PtAssMethod  method,
int  bendcharge = 0 
) const
private

calculate bend angle

Definition at line 561 of file L1MuBMAssignmentUnit.cc.

561  {
562  // calculate bend angle as difference of two azimuthal positions
563 
564  int bendangle = 0;
565  switch (method) {
567  bendangle = phiDiff(1, 2);
568  break;
569  }
571  bendangle = phiDiff(1, 2);
572  break;
573  }
575  bendangle = phiDiff(1, 3);
576  break;
577  }
579  bendangle = phiDiff(1, 3);
580  break;
581  }
583  bendangle = phiDiff(1, 4);
584  break;
585  }
587  bendangle = phiDiff(1, 4);
588  break;
589  }
591  bendangle = phiDiff(2, 3);
592  break;
593  }
595  bendangle = phiDiff(2, 3);
596  break;
597  }
599  bendangle = phiDiff(2, 4);
600  break;
601  }
603  bendangle = phiDiff(2, 4);
604  break;
605  }
607  bendangle = phiDiff(4, 3);
608  break;
609  }
611  bendangle = phiDiff(4, 3);
612  break;
613  }
615  bendangle = 0;
616  // cerr << "AssignmentUnit::getPtAddress : undefined PtAssMethod" << endl;
617  break;
618  }
619  default: {
620  bendangle = 0;
621  }
622  }
623 
624  int signo = 1;
625  bendangle = (bendangle + 8192) % 4096;
626  if (bendangle > 2047)
627  bendangle -= 4096;
628  if (bendangle < 0)
629  signo = -1;
630 
631  if (bendcharge)
632  return signo;
633 
634  bendangle = (bendangle + 2048) % 1024;
635  if (bendangle > 511)
636  bendangle -= 1024;
637 
638  return bendangle;
639 }

References AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, phiDiff(), L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT12L, L1MuBMLUTHandler::PT13H, L1MuBMLUTHandler::PT13L, L1MuBMLUTHandler::PT14H, L1MuBMLUTHandler::PT14L, L1MuBMLUTHandler::PT23H, L1MuBMLUTHandler::PT23L, L1MuBMLUTHandler::PT24H, L1MuBMLUTHandler::PT24L, L1MuBMLUTHandler::PT34H, and L1MuBMLUTHandler::PT34L.

Referenced by PtAU().

◆ getPtMethod()

L1MuBMLUTHandler::PtAssMethod L1MuBMAssignmentUnit::getPtMethod ( ) const
private

determine pt assignment method

Definition at line 495 of file L1MuBMAssignmentUnit.cc.

495  {
496  // determine which pt-assignment method should be used as a function
497  // of the track class and
498  // of the phib values of the track segments making up this track candidate.
499 
500  // get bitmap of track candidate
501  const bitset<4> s = m_sp.TA()->trackBitMap(m_id);
502 
503  int method = -1;
504 
505  if (s.test(0) && s.test(3))
506  method = 2; // stations 1 and 4
507  if (s.test(0) && s.test(2))
508  method = 1; // stations 1 and 3
509  if (s.test(0) && s.test(1))
510  method = 0; // stations 1 and 2
511  if (!s.test(0) && s.test(1) && s.test(3))
512  method = 4; // stations 2 and 4
513  if (!s.test(0) && s.test(1) && s.test(2))
514  method = 3; // stations 2 and 3
515  if (!s.test(0) && !s.test(1) && s.test(2) && s.test(3))
516  method = 5; // stations 3 and 4
518 
519  // phib values of track segments from stations 1, 2 and 4
520  int phib1 = (getTSphi(1) != nullptr) ? getTSphi(1)->phib() : 0;
521  int phib2 = (getTSphi(2) != nullptr) ? getTSphi(2)->phib() : 0;
522  int phib4 = (getTSphi(4) != nullptr) ? getTSphi(4)->phib() : 0;
523 
525 
526  switch (method) {
527  case 0: {
529  break;
530  }
531  case 1: {
533  break;
534  }
535  case 2: {
537  break;
538  }
539  case 3: {
541  break;
542  }
543  case 4: {
545  break;
546  }
547  case 5: {
549  break;
550  }
551  default:;
552  //cout << "L1MuBMAssignmentUnit : Error in PT ass method evaluation" << endl;
553  }
554 
555  return pam;
556 }

References funct::abs(), L1MuBMLUTHandler::getPtLutThreshold(), getTSphi(), m_id, m_sp, AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMTrackSegPhi::phib(), L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT12L, L1MuBMLUTHandler::PT13H, L1MuBMLUTHandler::PT13L, L1MuBMLUTHandler::PT14H, L1MuBMLUTHandler::PT14L, L1MuBMLUTHandler::PT23H, L1MuBMLUTHandler::PT23L, L1MuBMLUTHandler::PT24H, L1MuBMLUTHandler::PT24L, L1MuBMLUTHandler::PT34H, L1MuBMLUTHandler::PT34L, alignCSCRings::s, L1MuBMSectorProcessor::TA(), thePtaLUTs, remoteMonitoring_LED_IterMethod_cfg::threshold, and L1MuBMTrackAssembler::trackBitMap().

Referenced by PtAU().

◆ getTSphi()

const L1MuBMTrackSegPhi * L1MuBMAssignmentUnit::getTSphi ( int  station) const
private

get track segment from a given station

Definition at line 399 of file L1MuBMAssignmentUnit.cc.

399  {
400  vector<const L1MuBMTrackSegPhi*>::const_iterator iter;
401  for (iter = m_TSphi.begin(); iter != m_TSphi.end(); iter++) {
402  int stat = (*iter)->station();
403  if (station == stat) {
404  return (*iter);
405  break;
406  }
407  }
408 
409  return nullptr;
410 }

References m_TSphi, edm_modernize_messagelogger::stat, and relativeConstraints::station.

Referenced by getPt1Address(), getPt1Method(), getPt2Address(), getPt2Method(), getPtMethod(), PhiAU(), and phiDiff().

◆ PhiAU()

void L1MuBMAssignmentUnit::PhiAU ( const edm::EventSetup c)

assign phi

< phi-assignment look-up tables

Definition at line 123 of file L1MuBMAssignmentUnit.cc.

123  {
124  const L1TMuonBarrelParamsRcd& bmtfParamsRcd = c.get<L1TMuonBarrelParamsRcd>();
125  bmtfParamsRcd.get(bmtfParamsHandle);
126  const L1TMuonBarrelParams& bmtfParams = *bmtfParamsHandle.product();
127  thePhiLUTs = new L1MuBMLUTHandler(bmtfParams);
128  //thePhiLUTs->print();
129  // calculate phi at station 2 using 8 bits (precision = 0.625 degrees)
130  int sh_phi = 12 - L1MuBMTFConfig::getNbitsPhiPhi();
131  int sh_phib = 10 - L1MuBMTFConfig::getNbitsPhiPhib();
132 
133  const L1MuBMTrackSegPhi* second = getTSphi(2); // track segment at station 2
134  const L1MuBMTrackSegPhi* first = getTSphi(1); // track segment at station 1
135  const L1MuBMTrackSegPhi* forth = getTSphi(4); // track segment at station 4
136 
137  int phi2 = 0; // phi-value at station 2
138  int sector = 0;
139  if (second) {
140  phi2 = second->phi() >> sh_phi;
141  sector = second->sector();
142  } else if (second == nullptr && first) {
143  phi2 = first->phi() >> sh_phi;
144  sector = first->sector();
145  } else if (second == nullptr && forth) {
146  phi2 = forth->phi() >> sh_phi;
147  sector = forth->sector();
148  }
149 
150  int sector0 = m_sp.id().sector();
151 
152  // convert sector difference to values in the range -6 to +5
153 
154  int sectordiff = (sector - sector0) % 12;
155  if (sectordiff >= 6)
156  sectordiff -= 12;
157  if (sectordiff < -6)
158  sectordiff += 12;
159 
160  // convert phi to 0.625 degree precision
161  int phi_precision = 4096 >> sh_phi;
162  const double k = 57.2958 / 0.625 / static_cast<float>(phi_precision);
163  double phi_f = static_cast<double>(phi2);
164  int bit_div_phi = static_cast<int>(phi2) % 4;
165  if (bit_div_phi < 0)
166  bit_div_phi += 4;
167  phi_f = phi_f - std::abs(bit_div_phi);
168  int phi_8 = static_cast<int>(floor(phi_f * k));
169 
170  if (second == nullptr && first) {
171  int bend_angle = (first->phib() >> sh_phib) << sh_phib;
172  phi_8 = phi_8 + thePhiLUTs->getDeltaPhi(0, bend_angle);
173  //phi_8 = phi_8 + getDeltaPhi(0, bend_angle, bmtfParams->phi_lut());
174  } else if (second == nullptr && forth) {
175  int bend_angle = (forth->phib() >> sh_phib) << sh_phib;
176  phi_8 = phi_8 + thePhiLUTs->getDeltaPhi(1, bend_angle);
177  //phi_8 = phi_8 + getDeltaPhi(1, bend_angle, bmtfParams->phi_lut());
178  }
179 
180  //If muon is found at the neighbour sector - second station
181  //a shift is needed by 48
182  phi_8 += sectordiff * 48;
183 
184  int phi = phi_8 + 24;
185  // 78 phi bins (-8 to 69) correspond 30 degree sector plus
186  // additional lower and higher bins for neighboring sectors.
187  if (phi > 69)
188  phi = 69;
189  if (phi < -8)
190  phi = -8;
191 
192  m_sp.track(m_id)->setPhi(phi); // Regional
193  m_sp.tracK(m_id)->setPhi(phi);
194 
195  delete thePhiLUTs;
196 }

References funct::abs(), bmtfParamsHandle, c, first, edm::eventsetup::EventSetupRecordImplementation< T >::get(), L1MuBMLUTHandler::getDeltaPhi(), L1MuBMTFConfig::getNbitsPhiPhi(), L1MuBMTFConfig::getNbitsPhiPhib(), getTSphi(), L1MuBMSectorProcessor::id(), dqmdumpme::k, m_id, m_sp, phi, L1MuBMTrackSegPhi::phi(), L1MuBMTrackSegPhi::phib(), edm::ESHandle< T >::product(), edm::second(), L1MuBMSecProcId::sector(), L1MuBMTrackSegPhi::sector(), L1MuBMTrack::setPhi(), thePhiLUTs, L1MuBMSectorProcessor::track(), and L1MuBMSectorProcessor::tracK().

Referenced by run().

◆ phiDiff()

int L1MuBMAssignmentUnit::phiDiff ( int  stat1,
int  stat2 
) const
private

build difference of two phi values

Definition at line 644 of file L1MuBMAssignmentUnit.cc.

644  {
645  // calculate bit shift
646 
647  int sh_phi = 12 - nbit_phi;
648 
649  // get 2 phi values and add offset (30 degrees ) for adjacent sector
650  int sector1 = getTSphi(stat1)->sector();
651  int sector2 = getTSphi(stat2)->sector();
652  int phi1 = getTSphi(stat1)->phi() >> sh_phi;
653  int phi2 = getTSphi(stat2)->phi() >> sh_phi;
654 
655  // convert sector difference to values in the range -6 to +5
656 
657  int sectordiff = (sector2 - sector1) % 12;
658  if (sectordiff >= 6)
659  sectordiff -= 12;
660  if (sectordiff < -6)
661  sectordiff += 12;
662 
663  // assert( abs(sectordiff) <= 1 );
664 
665  int offset = (2144 >> sh_phi) * sectordiff;
666  int bendangle = (phi2 - phi1 + offset) << sh_phi;
667 
668  return bendangle;
669 }

References getTSphi(), nbit_phi, hltrates_dqm_sourceclient-live_cfg::offset, L1MuBMTrackSegPhi::phi(), L1MuBMTrackSegPhi::sector(), hgcalTopologyTester_cfi::sector1, and hgcalTopologyTester_cfi::sector2.

Referenced by getPtAddress().

◆ PtAU()

void L1MuBMAssignmentUnit::PtAU ( const edm::EventSetup c)

assign pt and charge

< pt-assignment look-up tables

Definition at line 201 of file L1MuBMAssignmentUnit.cc.

201  {
202  const L1TMuonBarrelParamsRcd& bmtfParamsRcd = c.get<L1TMuonBarrelParamsRcd>();
203  bmtfParamsRcd.get(bmtfParamsHandle);
204  const L1TMuonBarrelParams& bmtfParams1 = *bmtfParamsHandle.product();
205  const L1TMuonBarrelParamsAllPublic& bmtfParams = L1TMuonBarrelParamsAllPublic(bmtfParams1);
206  thePtaLUTs = new L1MuBMLUTHandler(bmtfParams);
207  //thePtaLUTs->print();
208  // get pt-assignment method as function of track class and TS phib values
209  //m_ptAssMethod = getPtMethod(bmtfParams);
211  // get input address for look-up table
212  int bend_angle = getPtAddress(m_ptAssMethod);
213  int bend_carga = getPtAddress(m_ptAssMethod, 1);
214 
215  // retrieve pt value from look-up table
216  int lut_idx = m_ptAssMethod;
217  int pt = thePtaLUTs->getPt(lut_idx, bend_angle);
218  //int pt = getPt(lut_idx, bend_angle, bmtfParams->pta_lut());
219 
220  if (!bmtfParams.get_DisableNewAlgo()) {
221  if (Quality() < 4) {
222  int ptj = pt;
225  if (jj1 != L1MuBMLUTHandler::NODEF) {
226  lut_idx = jj1;
227  bend_angle = getPt1Address(m_ptAssMethod);
228  if (abs(bend_angle) < 512)
229  ptj = thePtaLUTs->getPt(lut_idx, bend_angle);
230  } else if (jj2 != L1MuBMLUTHandler::NODEF) {
231  lut_idx = jj2;
232  bend_angle = getPt2Address(m_ptAssMethod);
233  if (abs(bend_angle) < 512)
234  ptj = thePtaLUTs->getPt(lut_idx, bend_angle);
235  }
236  if (ptj < pt)
237  pt = ptj;
238  }
239  }
240 
241  m_sp.track(m_id)->setPt(pt);
242  m_sp.tracK(m_id)->setPt(pt);
243 
244  // assign charge
245  int chsign = getCharge(m_ptAssMethod);
246  int charge = (bend_carga >= 0) ? chsign : -1 * chsign;
249  delete thePtaLUTs;
250 }

References funct::abs(), bmtfParamsHandle, c, ALCARECOTkAlJpsiMuMu_cff::charge, edm::eventsetup::EventSetupRecordImplementation< T >::get(), L1TMuonBarrelParamsAllPublic::get_DisableNewAlgo(), getCharge(), L1MuBMLUTHandler::getPt(), getPt1Address(), getPt1Method(), getPt2Address(), getPt2Method(), getPtAddress(), getPtMethod(), m_id, m_ptAssMethod, m_sp, L1MuBMLUTHandler::NODEF, edm::ESHandle< T >::product(), DiDispStaMuonMonitor_cfi::pt, Quality(), L1MuBMTrack::setCharge(), L1MuBMTrack::setPt(), thePtaLUTs, L1MuBMSectorProcessor::track(), and L1MuBMSectorProcessor::tracK().

Referenced by run().

◆ QuaAU()

void L1MuBMAssignmentUnit::QuaAU ( )

assign quality

Two LSBs of BMTF Q = Nstations-1

Two MSB of BMTF Q = 11

Definition at line 255 of file L1MuBMAssignmentUnit.cc.

255  {
256  unsigned int quality = 0;
257 
258  const TrackClass tc = m_sp.TA()->trackClass(m_id);
259 
261  switch (tc) {
262  case T1234: {
263  quality = 3;
264  break;
265  }
266  case T123: {
267  quality = 2;
268  break;
269  }
270  case T124: {
271  quality = 2;
272  break;
273  }
274  case T134: {
275  quality = 2;
276  break;
277  }
278  case T234: {
279  quality = 2;
280  break;
281  }
282  case T12: {
283  quality = 1;
284  break;
285  }
286  case T13: {
287  quality = 1;
288  break;
289  }
290  case T14: {
291  quality = 1;
292  break;
293  }
294  case T23: {
295  quality = 0;
296  break;
297  }
298  case T24: {
299  quality = 0;
300  break;
301  }
302  case T34: {
303  quality = 0;
304  break;
305  }
306  default: {
307  quality = 0;
308  break;
309  }
310  }
311 
313  quality += 12;
314 
317 }

References m_id, m_sp, quality, L1MuBMTrack::setQuality(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, L1MuBMSectorProcessor::TA(), L1MuBMSectorProcessor::track(), L1MuBMSectorProcessor::tracK(), and L1MuBMTrackAssembler::trackClass().

Referenced by run().

◆ Quality()

unsigned int L1MuBMAssignmentUnit::Quality ( )

Definition at line 322 of file L1MuBMAssignmentUnit.cc.

322  {
323  unsigned int quality = 0;
324 
325  const TrackClass tc = m_sp.TA()->trackClass(m_id);
326 
327  switch (tc) {
328  case T1234: {
329  quality = 7;
330  break;
331  }
332  case T123: {
333  quality = 6;
334  break;
335  }
336  case T124: {
337  quality = 6;
338  break;
339  }
340  case T134: {
341  quality = 5;
342  break;
343  }
344  case T234: {
345  quality = 4;
346  break;
347  }
348  case T12: {
349  quality = 3;
350  break;
351  }
352  case T13: {
353  quality = 3;
354  break;
355  }
356  case T14: {
357  quality = 3;
358  break;
359  }
360  case T23: {
361  quality = 2;
362  break;
363  }
364  case T24: {
365  quality = 2;
366  break;
367  }
368  case T34: {
369  quality = 1;
370  break;
371  }
372  default: {
373  quality = 0;
374  }
375  }
376 
377  return quality;
378 }

References m_id, m_sp, quality, T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, L1MuBMSectorProcessor::TA(), and L1MuBMTrackAssembler::trackClass().

Referenced by PtAU().

◆ reset()

void L1MuBMAssignmentUnit::reset ( void  )
overridevirtual

reset Assignment Unit

Implements L1AbstractProcessor.

Definition at line 114 of file L1MuBMAssignmentUnit.cc.

114  {
115  m_addArray.reset();
116  m_TSphi.clear();
118 }

References m_addArray, m_ptAssMethod, m_TSphi, L1MuBMLUTHandler::NODEF, and L1MuBMAddressArray::reset().

Referenced by L1MuBMAssignmentUnit().

◆ run()

void L1MuBMAssignmentUnit::run ( const edm::EventSetup c)
overridevirtual

run Assignment Unit

Reimplemented from L1AbstractProcessor.

Definition at line 75 of file L1MuBMAssignmentUnit.cc.

75  {
76  // enable track candidate
77  m_sp.track(m_id)->enable();
78  m_sp.tracK(m_id)->enable();
79 
80  // set track class
81  TrackClass tc = m_sp.TA()->trackClass(m_id);
82  m_sp.track(m_id)->setTC(tc);
83  m_sp.tracK(m_id)->setTC(tc);
84 
85  // get relative addresses of matching track segments
89 
90  // get track segments (track segment router)
91  TSR();
94 
95  // set bunch-crossing (use first track segment)
96  vector<const L1MuBMTrackSegPhi*>::const_iterator iter = m_TSphi.begin();
97  int bx = (*iter)->bx();
98  m_sp.track(m_id)->setBx(bx);
99  m_sp.tracK(m_id)->setBx(bx);
100 
101  // assign phi
102  PhiAU(c);
103 
104  // assign pt and charge
105  PtAU(c);
106 
107  // assign quality
108  QuaAU();
109 }

References L1MuBMTrackAssembler::address(), l1GtPatternGenerator_cfi::bx, c, L1MuBMTrack::enable(), m_addArray, m_id, m_sp, m_TSphi, PhiAU(), PtAU(), QuaAU(), L1MuBMTrack::setAddresses(), L1MuBMTrack::setBx(), L1MuBMTrack::setTC(), L1MuBMTrack::setTSphi(), L1MuBMSectorProcessor::TA(), L1MuBMSectorProcessor::track(), L1MuBMSectorProcessor::tracK(), L1MuBMTrackAssembler::trackClass(), and TSR().

◆ setPrecision()

void L1MuBMAssignmentUnit::setPrecision ( )
static

set precision of phi and phib

Definition at line 846 of file L1MuBMAssignmentUnit.cc.

References L1MuBMTFConfig::getNbitsPtaPhi(), L1MuBMTFConfig::getNbitsPtaPhib(), nbit_phi, and nbit_phib.

Referenced by L1MuBMAssignmentUnit().

◆ TSR()

void L1MuBMAssignmentUnit::TSR ( )
private

Track Segment Router.

Definition at line 383 of file L1MuBMAssignmentUnit.cc.

383  {
384  // get the track segments from the data buffer
385  const L1MuBMTrackSegPhi* ts = nullptr;
386  for (int stat = 1; stat <= 4; stat++) {
387  int adr = m_addArray.station(stat);
388  if (adr != 15) {
389  ts = m_sp.data()->getTSphi(stat, adr);
390  if (ts != nullptr)
391  m_TSphi.push_back(ts);
392  }
393  }
394 }

References L1MuBMSectorProcessor::data(), L1MuBMDataBuffer::getTSphi(), m_addArray, m_sp, m_TSphi, edm_modernize_messagelogger::stat, and L1MuBMAddressArray::station().

Referenced by run().

Member Data Documentation

◆ bmtfParamsHandle

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

Definition at line 113 of file L1MuBMAssignmentUnit.h.

Referenced by PhiAU(), and PtAU().

◆ m_addArray

L1MuBMAddressArray L1MuBMAssignmentUnit::m_addArray
private

Definition at line 109 of file L1MuBMAssignmentUnit.h.

Referenced by reset(), run(), and TSR().

◆ m_id

int L1MuBMAssignmentUnit::m_id
private

Definition at line 107 of file L1MuBMAssignmentUnit.h.

Referenced by getPtMethod(), PhiAU(), PtAU(), QuaAU(), Quality(), and run().

◆ m_ptAssMethod

L1MuBMLUTHandler::PtAssMethod L1MuBMAssignmentUnit::m_ptAssMethod
private

Definition at line 111 of file L1MuBMAssignmentUnit.h.

Referenced by PtAU(), and reset().

◆ m_sp

L1MuBMSectorProcessor& L1MuBMAssignmentUnit::m_sp
private

Definition at line 106 of file L1MuBMAssignmentUnit.h.

Referenced by getPtMethod(), PhiAU(), PtAU(), QuaAU(), Quality(), run(), and TSR().

◆ m_TSphi

std::vector<const L1MuBMTrackSegPhi*> L1MuBMAssignmentUnit::m_TSphi
private

Definition at line 110 of file L1MuBMAssignmentUnit.h.

Referenced by getTSphi(), L1MuBMAssignmentUnit(), reset(), run(), and TSR().

◆ nbit_phi

unsigned short int L1MuBMAssignmentUnit::nbit_phi = 12
staticprivate

of bits used for pt-assignment

Definition at line 116 of file L1MuBMAssignmentUnit.h.

Referenced by phiDiff(), and setPrecision().

◆ nbit_phib

unsigned short int L1MuBMAssignmentUnit::nbit_phib = 10
staticprivate

of bits used for pt-assignment

Definition at line 117 of file L1MuBMAssignmentUnit.h.

Referenced by setPrecision().

◆ thePhiLUTs

L1MuBMLUTHandler* L1MuBMAssignmentUnit::thePhiLUTs
private

phi-assignment look-up tables

Definition at line 115 of file L1MuBMAssignmentUnit.h.

Referenced by PhiAU().

◆ thePtaLUTs

L1MuBMLUTHandler* L1MuBMAssignmentUnit::thePtaLUTs
private

pt-assignment look-up tables

Definition at line 114 of file L1MuBMAssignmentUnit.h.

Referenced by getPtMethod(), and PtAU().

edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
L1MuBMLUTHandler::PT34L
Definition: L1MuBMLUTHandler.h:88
L1MuBMTrackAssembler::address
int address(int id, int stat) const
get address of a single station of selected track candidate
Definition: L1MuBMTrackAssembler.h:76
L1MuBMDataBuffer::getTSphi
const TSPhivector & getTSphi() const
get all track segments from the buffer
Definition: L1MuBMDataBuffer.h:56
L1MuBMLUTHandler::PB21H
Definition: L1MuBMLUTHandler.h:93
L1MuBMAssignmentUnit::thePtaLUTs
L1MuBMLUTHandler * thePtaLUTs
pt-assignment look-up tables
Definition: L1MuBMAssignmentUnit.h:114
L1MuBMAssignmentUnit::QuaAU
void QuaAU()
assign quality
Definition: L1MuBMAssignmentUnit.cc:255
L1MuBMTrackSegPhi
Definition: L1MuBMTrackSegPhi.h:41
L1MuBMLUTHandler::PB34H
Definition: L1MuBMLUTHandler.h:96
L1MuBMAssignmentUnit::nbit_phib
static unsigned short nbit_phib
Definition: L1MuBMAssignmentUnit.h:117
L1MuBMLUTHandler::PB14H
Definition: L1MuBMLUTHandler.h:92
L1MuBMLUTHandler::PT23H
Definition: L1MuBMLUTHandler.h:85
L1MuBMAssignmentUnit::getPt1Method
L1MuBMLUTHandler::PtAssMethod getPt1Method(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:674
L1MuBMAssignmentUnit::phiDiff
int phiDiff(int stat1, int stat2) const
build difference of two phi values
Definition: L1MuBMAssignmentUnit.cc:644
L1MuBMTrack::setTC
void setTC(TrackClass tc)
set track-class of muon candidate
Definition: L1MuBMTrack.h:142
L1MuBMLUTHandler::PT12L
Definition: L1MuBMLUTHandler.h:78
T14
Definition: L1MuBMTrackAssParam.h:21
L1MuBMTFConfig::getNbitsPtaPhib
static int getNbitsPtaPhib()
Definition: L1MuBMTFConfig.h:71
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
L1MuBMTrack::setPt
void setPt(int pt)
set pt-code of muon candidate
Definition: L1MuBMTrack.h:154
L1MuBMLUTHandler::getPt
int getPt(int pta_ind, int address) const
get pt-value for a given address
Definition: L1MuBMLUTHandler.cc:131
relativeConstraints.station
station
Definition: relativeConstraints.py:67
hgcalTopologyTester_cfi.sector1
sector1
Definition: hgcalTopologyTester_cfi.py:9
L1MuBMLUTHandler::PB13H
Definition: L1MuBMLUTHandler.h:91
L1MuBMAssignmentUnit::PhiAU
void PhiAU(const edm::EventSetup &c)
assign phi
Definition: L1MuBMAssignmentUnit.cc:123
L1MuBMTrack::setAddresses
void setAddresses(const L1MuBMAddressArray &addr)
set relative addresses of muon candidate
Definition: L1MuBMTrack.h:166
L1MuBMAssignmentUnit::getTSphi
const L1MuBMTrackSegPhi * getTSphi(int station) const
get track segment from a given station
Definition: L1MuBMAssignmentUnit.cc:399
AlcaSiPixelAliHarvester0T_cff.method
method
Definition: AlcaSiPixelAliHarvester0T_cff.py:41
T123
Definition: L1MuBMTrackAssParam.h:21
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
L1MuBMAssignmentUnit::m_id
int m_id
Definition: L1MuBMAssignmentUnit.h:107
L1MuBMLUTHandler::PtAssMethod
PtAssMethod
Definition: L1MuBMLUTHandler.h:77
L1MuBMAddressArray::station
unsigned short station(int stat) const
get address of a given station [1-4]
Definition: L1MuBMAddressArray.h:80
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
L1MuBMLUTHandler
Definition: L1MuBMLUTHandler.h:26
T12
Definition: L1MuBMTrackAssParam.h:21
L1MuBMAssignmentUnit::getPtMethod
L1MuBMLUTHandler::PtAssMethod getPtMethod() const
determine pt assignment method
Definition: L1MuBMAssignmentUnit.cc:495
T134
Definition: L1MuBMTrackAssParam.h:21
L1MuBMTrack::setPhi
void setPhi(int phi)
set phi-code of muon candidate
Definition: L1MuBMTrack.h:145
L1MuBMAssignmentUnit::bmtfParamsHandle
edm::ESHandle< L1TMuonBarrelParams > bmtfParamsHandle
Definition: L1MuBMAssignmentUnit.h:113
L1MuBMAssignmentUnit::nbit_phi
static unsigned short nbit_phi
Definition: L1MuBMAssignmentUnit.h:116
L1TMuonBarrelParamsAllPublic::get_DisableNewAlgo
bool get_DisableNewAlgo() const
Definition: L1TMuonBarrelParamsAllPublic.h:73
L1MuBMTrack::enable
void enable()
enable muon candidate
Definition: L1MuBMTrack.h:130
L1MuBMSecProcId::sector
int sector() const
return sector number
Definition: L1MuBMSecProcId.h:58
L1MuBMLUTHandler::getDeltaPhi
int getDeltaPhi(int idx, int address) const
get delta-phi for a given address (bend-angle)
Definition: L1MuBMLUTHandler.cc:161
L1MuBMLUTHandler::getPtLutThreshold
int getPtLutThreshold(int pta_ind) const
get pt-assignment LUT threshold
Definition: L1MuBMLUTHandler.cc:148
L1MuBMTFConfig::getNbitsPhiPhib
static int getNbitsPhiPhib()
Definition: L1MuBMTFConfig.h:73
L1MuBMAddressArray::reset
void reset()
reset address array
Definition: L1MuBMAddressArray.cc:100
L1MuBMTFConfig::getNbitsPtaPhi
static int getNbitsPtaPhi()
Definition: L1MuBMTFConfig.h:70
L1MuBMAssignmentUnit::reset
void reset() override
reset Assignment Unit
Definition: L1MuBMAssignmentUnit.cc:114
quality
const uint32_t *__restrict__ Quality * quality
Definition: CAHitNtupletGeneratorKernelsImpl.h:109
L1MuBMTrackSegPhi::quality
int quality() const
return quality code
Definition: L1MuBMTrackSegPhi.h:103
L1MuBMTrack::setQuality
void setQuality(unsigned int quality)
set quality of muon candidate
Definition: L1MuBMTrack.h:163
alignCSCRings.s
s
Definition: alignCSCRings.py:92
T234
Definition: L1MuBMTrackAssParam.h:21
L1MuBMAssignmentUnit::getCharge
static int getCharge(L1MuBMLUTHandler::PtAssMethod)
determine charge
Definition: L1MuBMAssignmentUnit.cc:425
L1MuBMAssignmentUnit::setPrecision
static void setPrecision()
set precision of phi and phib
Definition: L1MuBMAssignmentUnit.cc:846
L1MuBMTrackAssembler::trackBitMap
const std::bitset< 4 > & trackBitMap(int id) const
return bitmap of found track
Definition: L1MuBMTrackAssembler.h:70
L1MuBMTrack::setCharge
void setCharge(int charge)
set charge of muon candidate
Definition: L1MuBMTrack.h:157
L1MuBMAssignmentUnit::Quality
unsigned int Quality()
Definition: L1MuBMAssignmentUnit.cc:322
L1MuBMAssignmentUnit::getPt2Method
L1MuBMLUTHandler::PtAssMethod getPt2Method(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:728
dqmdumpme.k
k
Definition: dqmdumpme.py:60
L1MuBMAssignmentUnit::thePhiLUTs
L1MuBMLUTHandler * thePhiLUTs
phi-assignment look-up tables
Definition: L1MuBMAssignmentUnit.h:115
L1MuBMLUTHandler::PT13L
Definition: L1MuBMLUTHandler.h:80
L1MuBMLUTHandler::PT24H
Definition: L1MuBMLUTHandler.h:87
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:112
L1MuBMAssignmentUnit::getPtAddress
int getPtAddress(L1MuBMLUTHandler::PtAssMethod, int bendcharge=0) const
calculate bend angle
Definition: L1MuBMAssignmentUnit.cc:561
T13
Definition: L1MuBMTrackAssParam.h:21
L1MuBMAssignmentUnit::PtAU
void PtAU(const edm::EventSetup &c)
assign pt and charge
Definition: L1MuBMAssignmentUnit.cc:201
T34
Definition: L1MuBMTrackAssParam.h:21
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
L1MuBMAssignmentUnit::getPt1Address
int getPt1Address(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:761
L1MuBMSectorProcessor::id
const L1MuBMSecProcId & id() const
return Sector Processor identifier
Definition: L1MuBMSectorProcessor.h:75
TrackClass
TrackClass
Definition: L1MuBMTrackAssParam.h:21
L1MuBMLUTHandler::PB12H
Definition: L1MuBMLUTHandler.h:90
L1MuBMAssignmentUnit::m_TSphi
std::vector< const L1MuBMTrackSegPhi * > m_TSphi
Definition: L1MuBMAssignmentUnit.h:110
L1MuBMLUTHandler::PT34H
Definition: L1MuBMLUTHandler.h:89
L1MuBMLUTHandler::NODEF
Definition: L1MuBMLUTHandler.h:97
L1MuBMLUTHandler::PT23L
Definition: L1MuBMLUTHandler.h:84
T124
Definition: L1MuBMTrackAssParam.h:21
T1234
Definition: L1MuBMTrackAssParam.h:21
L1MuBMAssignmentUnit::TSR
void TSR()
Track Segment Router.
Definition: L1MuBMAssignmentUnit.cc:383
L1MuBMTrack::setTSphi
void setTSphi(const std::vector< const L1MuBMTrackSegPhi * > &tsList)
set phi track segments used to form the muon candidate
Definition: L1MuBMTrack.cc:147
L1MuBMSectorProcessor::track
L1MuBMTrack * track(int id) const
return pointer to muon candidate, index [0,1]
Definition: L1MuBMSectorProcessor.h:100
L1MuBMTrackAssembler::trackClass
TrackClass trackClass(int id) const
return Track Class of found track
Definition: L1MuBMTrackAssembler.h:67
L1MuBMTrack::setBx
void setBx(int bx)
set charge of muon candidate
Definition: L1MuBMTrack.h:160
L1MuBMLUTHandler::PB23H
Definition: L1MuBMLUTHandler.h:94
L1MuBMAssignmentUnit::m_sp
L1MuBMSectorProcessor & m_sp
Definition: L1MuBMAssignmentUnit.h:106
L1MuBMTrackSegPhi::phib
int phib() const
return phib
Definition: L1MuBMTrackSegPhi.h:100
L1MuBMLUTHandler::PT14L
Definition: L1MuBMLUTHandler.h:82
DDAxes::phi
hgcalTopologyTester_cfi.sector2
sector2
Definition: hgcalTopologyTester_cfi.py:10
L1MuBMSectorProcessor::data
const L1MuBMDataBuffer * data() const
return pointer to Data Buffer
Definition: L1MuBMSectorProcessor.h:87
L1MuBMLUTHandler::PT24L
Definition: L1MuBMLUTHandler.h:86
L1MuBMAssignmentUnit::m_addArray
L1MuBMAddressArray m_addArray
Definition: L1MuBMAssignmentUnit.h:109
T24
Definition: L1MuBMTrackAssParam.h:21
L1TMuonBarrelParamsAllPublic
Definition: L1TMuonBarrelParamsAllPublic.h:8
L1MuBMAssignmentUnit::getPt2Address
int getPt2Address(L1MuBMLUTHandler::PtAssMethod) const
Definition: L1MuBMAssignmentUnit.cc:808
L1MuBMSectorProcessor::TA
const L1MuBMTrackAssembler * TA() const
return pointer to Track Assembler
Definition: L1MuBMSectorProcessor.h:94
T23
Definition: L1MuBMTrackAssParam.h:21
L1MuBMLUTHandler::PB24H
Definition: L1MuBMLUTHandler.h:95
L1MuBMLUTHandler::PT12H
Definition: L1MuBMLUTHandler.h:79
edm::eventsetup::EventSetupRecordImplementation::get
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
Definition: EventSetupRecordImplementation.h:74
L1TMuonBarrelParams
Definition: L1TMuonBarrelParams.h:23
L1MuBMTrackSegPhi::sector
int sector() const
return sector
Definition: L1MuBMTrackSegPhi.h:88
L1MuBMTrackSegPhi::phi
int phi() const
return phi
Definition: L1MuBMTrackSegPhi.h:97
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
L1MuBMAssignmentUnit::m_ptAssMethod
L1MuBMLUTHandler::PtAssMethod m_ptAssMethod
Definition: L1MuBMAssignmentUnit.h:111
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
edm_modernize_messagelogger.stat
stat
Definition: edm_modernize_messagelogger.py:27
remoteMonitoring_LED_IterMethod_cfg.threshold
threshold
Definition: remoteMonitoring_LED_IterMethod_cfg.py:430
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
L1MuBMSectorProcessor::tracK
L1MuBMTrack * tracK(int id) const
return pointer to muon candidate, index [0,1]
Definition: L1MuBMSectorProcessor.h:103
L1MuBMLUTHandler::PT13H
Definition: L1MuBMLUTHandler.h:81
L1MuBMTFConfig::getNbitsPhiPhi
static int getNbitsPhiPhi()
Definition: L1MuBMTFConfig.h:72
L1TMuonBarrelParamsRcd
Definition: L1TMuonBarrelParamsRcd.h:13
L1MuBMLUTHandler::PT14H
Definition: L1MuBMLUTHandler.h:83