#include <L1MuBMAssignmentUnit.h>
Public Member Functions | |
L1MuBMAssignmentUnit (L1MuBMSectorProcessor &sp, int id) | |
constructor More... | |
void | PhiAU (const L1TMuonBarrelParams &) |
assign phi More... | |
void | PtAU (const L1TMuonBarrelParams &) |
assign pt and charge More... | |
void | QuaAU () |
assign quality More... | |
unsigned int | Quality () |
void | reset () |
reset Assignment Unit More... | |
void | run (const L1TMuonBarrelParams &mbtfParams) |
run Assignment Unit More... | |
~L1MuBMAssignmentUnit () | |
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 L1MuBMTrackSegPhi * | getTSphi (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 | |
L1MuBMAddressArray | m_addArray |
int | m_id |
L1MuBMLUTHandler::PtAssMethod | m_ptAssMethod |
L1MuBMSectorProcessor & | m_sp |
std::vector< const L1MuBMTrackSegPhi * > | m_TSphi |
L1MuBMLUTHandler * | thePhiLUTs |
phi-assignment look-up tables More... | |
L1MuBMLUTHandler * | thePtaLUTs |
pt-assignment look-up tables More... | |
Static Private Attributes | |
static unsigned short | nbit_phi = 12 |
of bits used for pt-assignmentMore... | |
static unsigned short | nbit_phib = 10 |
of bits used for pt-assignmentMore... | |
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 51 of file L1MuBMAssignmentUnit.h.
L1MuBMAssignmentUnit::L1MuBMAssignmentUnit | ( | L1MuBMSectorProcessor & | sp, |
int | id | ||
) |
constructor
Definition at line 56 of file L1MuBMAssignmentUnit.cc.
References m_TSphi, reset(), and setPrecision().
L1MuBMAssignmentUnit::~L1MuBMAssignmentUnit | ( | ) |
|
staticprivate |
convert sector Id to 8 bit code (= sector center)
Definition at line 410 of file L1MuBMAssignmentUnit.cc.
References hgcalTBTopologyTester_cfi::sector.
|
staticprivate |
determine charge
Definition at line 420 of file L1MuBMAssignmentUnit.cc.
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().
|
private |
Definition at line 756 of file L1MuBMAssignmentUnit.cc.
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().
|
private |
Definition at line 669 of file L1MuBMAssignmentUnit.cc.
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().
|
private |
Definition at line 803 of file L1MuBMAssignmentUnit.cc.
References getTSphi(), AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMTrackSegPhi::phib(), L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT14H, and L1MuBMLUTHandler::PT24H.
Referenced by PtAU().
|
private |
Definition at line 723 of file L1MuBMAssignmentUnit.cc.
References getTSphi(), AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, L1MuBMLUTHandler::PB21H, L1MuBMLUTHandler::PT12H, and L1MuBMTrackSegPhi::quality().
Referenced by PtAU().
|
private |
calculate bend angle
Definition at line 556 of file L1MuBMAssignmentUnit.cc.
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().
|
private |
determine pt assignment method
Definition at line 490 of file L1MuBMAssignmentUnit.cc.
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_LASER_era2018_cfg::threshold, and L1MuBMTrackAssembler::trackBitMap().
Referenced by PtAU().
|
private |
get track segment from a given station
Definition at line 394 of file L1MuBMAssignmentUnit.cc.
References m_TSphi, and relativeConstraints::station.
Referenced by getPt1Address(), getPt1Method(), getPt2Address(), getPt2Method(), getPtMethod(), PhiAU(), and phiDiff().
void L1MuBMAssignmentUnit::PhiAU | ( | const L1TMuonBarrelParams & | bmtfParams | ) |
assign phi
< phi-assignment look-up tables
Definition at line 124 of file L1MuBMAssignmentUnit.cc.
References funct::abs(), l1t::bitShift(), dqmdumpme::first, L1MuBMLUTHandler::getDeltaPhi(), L1MuBMTFConfig::getNbitsPhiPhi(), L1MuBMTFConfig::getNbitsPhiPhib(), getTSphi(), L1MuBMSectorProcessor::id(), dqmdumpme::k, m_id, m_sp, phi, L1MuBMTrackSegPhi::phi(), L1MuBMTrackSegPhi::phib(), edm::second(), hgcalTBTopologyTester_cfi::sector, L1MuBMSecProcId::sector(), L1MuBMTrackSegPhi::sector(), L1MuBMTrack::setPhi(), thePhiLUTs, L1MuBMSectorProcessor::track(), and L1MuBMSectorProcessor::tracK().
Referenced by run().
|
private |
build difference of two phi values
Definition at line 639 of file L1MuBMAssignmentUnit.cc.
References l1t::bitShift(), getTSphi(), nbit_phi, hltrates_dqm_sourceclient-live_cfg::offset, L1MuBMTrackSegPhi::phi(), L1MuBMTrackSegPhi::sector(), hgcalTopologyTester_cfi::sector1, and hgcalTopologyTester_cfi::sector2.
Referenced by getPtAddress().
void L1MuBMAssignmentUnit::PtAU | ( | const L1TMuonBarrelParams & | bmtfParams1 | ) |
assign pt and charge
< pt-assignment look-up tables
Definition at line 199 of file L1MuBMAssignmentUnit.cc.
References funct::abs(), ALCARECOTkAlJpsiMuMu_cff::charge, L1TMuonBarrelParamsAllPublic::get_DisableNewAlgo(), getCharge(), L1MuBMLUTHandler::getPt(), getPt1Address(), getPt1Method(), getPt2Address(), getPt2Method(), getPtAddress(), getPtMethod(), m_id, m_ptAssMethod, m_sp, L1MuBMLUTHandler::NODEF, DiDispStaMuonMonitor_cfi::pt, Quality(), L1MuBMTrack::setCharge(), L1MuBMTrack::setPt(), thePtaLUTs, L1MuBMSectorProcessor::track(), and L1MuBMSectorProcessor::tracK().
Referenced by run().
void L1MuBMAssignmentUnit::QuaAU | ( | ) |
assign quality
Two LSBs of BMTF Q = Nstations-1
Two MSB of BMTF Q = 11
Definition at line 250 of file L1MuBMAssignmentUnit.cc.
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().
unsigned int L1MuBMAssignmentUnit::Quality | ( | ) |
Definition at line 317 of file L1MuBMAssignmentUnit.cc.
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().
void L1MuBMAssignmentUnit::reset | ( | void | ) |
reset Assignment Unit
Definition at line 115 of file L1MuBMAssignmentUnit.cc.
References m_addArray, m_ptAssMethod, m_TSphi, L1MuBMLUTHandler::NODEF, and L1MuBMAddressArray::reset().
Referenced by L1MuBMAssignmentUnit().
void L1MuBMAssignmentUnit::run | ( | const L1TMuonBarrelParams & | mbtfParams | ) |
run Assignment Unit
Definition at line 76 of file L1MuBMAssignmentUnit.cc.
References L1MuBMTrackAssembler::address(), simKBmtfDigis_cfi::bx, 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().
|
static |
set precision of phi and phib
Definition at line 841 of file L1MuBMAssignmentUnit.cc.
References L1MuBMTFConfig::getNbitsPtaPhi(), L1MuBMTFConfig::getNbitsPtaPhib(), nbit_phi, and nbit_phib.
Referenced by L1MuBMAssignmentUnit().
|
private |
Track Segment Router.
Definition at line 378 of file L1MuBMAssignmentUnit.cc.
References L1MuBMSectorProcessor::data(), L1MuBMDataBuffer::getTSphi(), m_addArray, m_sp, m_TSphi, and L1MuBMAddressArray::station().
Referenced by run().
|
private |
Definition at line 108 of file L1MuBMAssignmentUnit.h.
|
private |
Definition at line 106 of file L1MuBMAssignmentUnit.h.
Referenced by getPtMethod(), PhiAU(), PtAU(), QuaAU(), Quality(), and run().
|
private |
Definition at line 110 of file L1MuBMAssignmentUnit.h.
|
private |
Definition at line 105 of file L1MuBMAssignmentUnit.h.
Referenced by getPtMethod(), PhiAU(), PtAU(), QuaAU(), Quality(), run(), and TSR().
|
private |
Definition at line 109 of file L1MuBMAssignmentUnit.h.
Referenced by getTSphi(), L1MuBMAssignmentUnit(), reset(), run(), and TSR().
|
staticprivate |
Definition at line 114 of file L1MuBMAssignmentUnit.h.
Referenced by phiDiff(), and setPrecision().
|
staticprivate |
Definition at line 115 of file L1MuBMAssignmentUnit.h.
Referenced by setPrecision().
|
private |
phi-assignment look-up tables
Definition at line 113 of file L1MuBMAssignmentUnit.h.
Referenced by PhiAU().
|
private |
pt-assignment look-up tables
Definition at line 112 of file L1MuBMAssignmentUnit.h.
Referenced by getPtMethod(), and PtAU().