#include <L1MuBMAssignmentUnit.h>
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 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 | |
edm::ESHandle< L1TMuonBarrelParams > | bmtfParamsHandle |
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 52 of file L1MuBMAssignmentUnit.h.
L1MuBMAssignmentUnit::L1MuBMAssignmentUnit | ( | L1MuBMSectorProcessor & | sp, |
int | id | ||
) |
constructor
Definition at line 55 of file L1MuBMAssignmentUnit.cc.
References m_TSphi, reset(), and setPrecision().
|
override |
|
staticprivate |
convert sector Id to 8 bit code (= sector center)
Definition at line 369 of file L1MuBMAssignmentUnit.cc.
|
staticprivate |
determine charge
Definition at line 383 of file L1MuBMAssignmentUnit.cc.
References 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 593 of file L1MuBMAssignmentUnit.cc.
References getTSphi(), L1MuBMLUTHandler::NODEF, nullptr, L1MuBMTrackSegPhi::phib(), L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT13H, L1MuBMLUTHandler::PT14H, L1MuBMLUTHandler::PT23H, L1MuBMLUTHandler::PT24H, and L1MuBMLUTHandler::PT34H.
Referenced by PtAU().
|
private |
Definition at line 538 of file L1MuBMAssignmentUnit.cc.
References getTSphi(), L1MuBMLUTHandler::NODEF, nullptr, 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 621 of file L1MuBMAssignmentUnit.cc.
References getTSphi(), L1MuBMLUTHandler::NODEF, nullptr, L1MuBMTrackSegPhi::phib(), L1MuBMLUTHandler::PT12H, L1MuBMLUTHandler::PT14H, and L1MuBMLUTHandler::PT24H.
Referenced by PtAU().
|
private |
Definition at line 566 of file L1MuBMAssignmentUnit.cc.
References getTSphi(), L1MuBMLUTHandler::NODEF, nullptr, L1MuBMLUTHandler::PB21H, L1MuBMLUTHandler::PT12H, and L1MuBMTrackSegPhi::quality().
Referenced by PtAU().
|
private |
calculate bend angle
Definition at line 462 of file L1MuBMAssignmentUnit.cc.
References 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 417 of file L1MuBMAssignmentUnit.cc.
References funct::abs(), L1MuBMLUTHandler::getPtLutThreshold(), getTSphi(), m_id, m_sp, AlcaSiPixelAliHarvester0T_cff::method, L1MuBMLUTHandler::NODEF, nullptr, 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, electronIdCutBased_cfi::threshold, and L1MuBMTrackAssembler::trackBitMap().
Referenced by PtAU().
|
private |
get track segment from a given station
Definition at line 350 of file L1MuBMAssignmentUnit.cc.
References m_TSphi.
Referenced by getPt1Address(), getPt1Method(), getPt2Address(), getPt2Method(), getPtMethod(), PhiAU(), and phiDiff().
void L1MuBMAssignmentUnit::PhiAU | ( | const edm::EventSetup & | c | ) |
assign phi
< phi-assignment look-up tables
Definition at line 135 of file L1MuBMAssignmentUnit.cc.
References funct::abs(), bmtfParamsHandle, plotBeamSpotDB::first, edm::EventSetup::get(), edm::eventsetup::EventSetupRecord::get(), L1MuBMLUTHandler::getDeltaPhi(), L1MuBMTFConfig::getNbitsPhiPhi(), L1MuBMTFConfig::getNbitsPhiPhib(), getTSphi(), L1MuBMSectorProcessor::id(), gen::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().
|
private |
build difference of two phi values
Definition at line 506 of file L1MuBMAssignmentUnit.cc.
References getTSphi(), nbit_phi, PFRecoTauDiscriminationByIsolation_cfi::offset, L1MuBMTrackSegPhi::phi(), and L1MuBMTrackSegPhi::sector().
Referenced by getPtAddress().
void L1MuBMAssignmentUnit::PtAU | ( | const edm::EventSetup & | c | ) |
assign pt and charge
< pt-assignment look-up tables
Definition at line 214 of file L1MuBMAssignmentUnit.cc.
References funct::abs(), bmtfParamsHandle, ALCARECOTkAlJpsiMuMu_cff::charge, edm::EventSetup::get(), edm::eventsetup::EventSetupRecord::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(), EnergyCorrector::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 270 of file L1MuBMAssignmentUnit.cc.
References m_id, m_sp, btvTracks_cfi::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 304 of file L1MuBMAssignmentUnit.cc.
References m_id, m_sp, btvTracks_cfi::quality, T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, L1MuBMSectorProcessor::TA(), and L1MuBMTrackAssembler::trackClass().
Referenced by PtAU().
|
overridevirtual |
reset Assignment Unit
Implements L1AbstractProcessor.
Definition at line 123 of file L1MuBMAssignmentUnit.cc.
References m_addArray, m_ptAssMethod, m_TSphi, L1MuBMLUTHandler::NODEF, and L1MuBMAddressArray::reset().
Referenced by L1MuBMAssignmentUnit().
|
overridevirtual |
run Assignment Unit
Reimplemented from L1AbstractProcessor.
Definition at line 81 of file L1MuBMAssignmentUnit.cc.
References L1MuBMTrackAssembler::address(), 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 648 of file L1MuBMAssignmentUnit.cc.
References L1MuBMTFConfig::getNbitsPtaPhi(), L1MuBMTFConfig::getNbitsPtaPhib(), nbit_phi, and nbit_phib.
Referenced by L1MuBMAssignmentUnit().
|
private |
Track Segment Router.
Definition at line 332 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 117 of file L1MuBMAssignmentUnit.h.
|
private |
Definition at line 113 of file L1MuBMAssignmentUnit.h.
|
private |
Definition at line 111 of file L1MuBMAssignmentUnit.h.
Referenced by getPtMethod(), PhiAU(), PtAU(), QuaAU(), Quality(), and run().
|
private |
Definition at line 115 of file L1MuBMAssignmentUnit.h.
|
private |
Definition at line 110 of file L1MuBMAssignmentUnit.h.
Referenced by getPtMethod(), PhiAU(), PtAU(), QuaAU(), Quality(), run(), and TSR().
|
private |
Definition at line 114 of file L1MuBMAssignmentUnit.h.
Referenced by getTSphi(), L1MuBMAssignmentUnit(), reset(), run(), and TSR().
|
staticprivate |
Definition at line 120 of file L1MuBMAssignmentUnit.h.
Referenced by phiDiff(), and setPrecision().
|
staticprivate |
Definition at line 121 of file L1MuBMAssignmentUnit.h.
Referenced by setPrecision().
|
private |
phi-assignment look-up tables
Definition at line 119 of file L1MuBMAssignmentUnit.h.
Referenced by PhiAU().
|
private |
pt-assignment look-up tables
Definition at line 118 of file L1MuBMAssignmentUnit.h.
Referenced by getPtMethod(), and PtAU().