#include <L1MuBMTrackAssembler.h>
Public Member Functions | |
int | address (int id, int stat) const |
get address of a single station of selected track candidate More... | |
L1MuBMAddressArray | address (int id) const |
get address-array of selected track candidate More... | |
bool | isEmpty (int id) const |
is it a valid Track Class? More... | |
L1MuBMTrackAssembler (const L1MuBMSectorProcessor &) | |
constructor More... | |
void | print () const |
print result of Track Assembler More... | |
void | reset () override |
reset Track Assembler More... | |
void | run () override |
run Track Assembler More... | |
const std::bitset< 4 > & | trackBitMap (int id) const |
return bitmap of found track More... | |
TrackClass | trackClass (int id) const |
return Track Class of found track More... | |
~L1MuBMTrackAssembler () override | |
destructor More... | |
Public Member Functions inherited from L1AbstractProcessor | |
virtual void | run (const edm::EventSetup &c) |
virtual void | run (const edm::EventSetup &c) |
virtual | ~L1AbstractProcessor () |
destructor More... | |
virtual | ~L1AbstractProcessor () |
destructor More... | |
Private Member Functions | |
void | runAddressAssignment1 (int global, int group) |
run the first Address Assignment Sub-Unit More... | |
void | runAddressAssignment2 (int global, int group) |
run the second Address Assignment Sub-Unit More... | |
void | runEncoderSubUnit1 (unsigned &global, unsigned &group, unsigned &priority) |
run the first Priority Encoder Sub-Unit More... | |
void | runEncoderSubUnit2 (unsigned &global, unsigned &group, unsigned &priority) |
run the second Priority Encoder Sub-Unit More... | |
Static Private Member Functions | |
static unsigned int | addressEncoder12 (const std::bitset< 12 > &input) |
12 bit address encoder More... | |
static unsigned int | addressEncoder12s (const std::bitset< 12 > &input) |
special 12 bit address encoder More... | |
static std::bitset< 56 > | getCancelationTable (unsigned int) |
cancel Out Table More... | |
static unsigned int | priorityEncoder12 (const std::bitset< 12 > &input) |
12 bit priority encoder More... | |
static unsigned int | priorityEncoder21 (const std::bitset< 21 > &input) |
21 bit priority encoder More... | |
static unsigned int | priorityEncoder22 (const std::bitset< 22 > &input) |
22 bit priority encoder More... | |
static unsigned int | priorityEncoder4 (const std::bitset< 4 > &input) |
4 bit priority encoder More... | |
static unsigned long | subBitset56 (const std::bitset< 56 > &input, int pos, int length) |
get sub-bitmap of a 56-bit word More... | |
static unsigned long | subBitset68 (const std::bitset< 68 > &input, int pos, int length) |
get sub-bitmap of a 68-bit word More... | |
Private Attributes | |
const L1MuBMSectorProcessor & | m_sp |
L1MuBMAddressArray | m_theAddresses [2] |
std::bitset< 4 > | m_theBitMaps [2] |
unsigned int | m_theLastAddress [68] |
unsigned int | m_theLastAddressI [12] |
std::bitset< 68 > | m_thePriorityTable1 |
std::bitset< 56 > | m_thePriorityTable2 |
TrackClass | m_theTCs [2] |
Track Assembler:
The Track Assembler gets the 18 Bitmap tables from the Quality Sorter Unit and links the corresponding track segments to full tracks
(this version corresponds to the VHDL model b_sts_7 version 7 )
N. Neumeister CERN EP
Definition at line 49 of file L1MuBMTrackAssembler.h.
L1MuBMTrackAssembler::L1MuBMTrackAssembler | ( | const L1MuBMSectorProcessor & | sp | ) |
|
override |
|
inline |
get address of a single station of selected track candidate
Definition at line 78 of file L1MuBMTrackAssembler.h.
References triggerObjects_cff::id, m_theAddresses, and L1MuBMAddressArray::station().
Referenced by L1MuBMAssignmentUnit::run().
|
inline |
get address-array of selected track candidate
Definition at line 81 of file L1MuBMTrackAssembler.h.
References addressEncoder12(), addressEncoder12s(), getCancelationTable(), edmIntegrityCheck::group, triggerObjects_cff::id, input, m_theAddresses, priorityEncoder12(), priorityEncoder21(), priorityEncoder22(), priorityEncoder4(), runAddressAssignment1(), runAddressAssignment2(), runEncoderSubUnit1(), runEncoderSubUnit2(), subBitset56(), and subBitset68().
|
staticprivate |
12 bit address encoder
Definition at line 1004 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and mps_fire::result.
Referenced by address(), and run().
|
staticprivate |
special 12 bit address encoder
Definition at line 1025 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and mps_fire::result.
Referenced by address(), and run().
|
staticprivate |
cancel Out Table
Definition at line 1078 of file L1MuBMTrackAssembler.cc.
References b.
Referenced by address(), and run().
|
inline |
is it a valid Track Class?
Definition at line 75 of file L1MuBMTrackAssembler.h.
References m_theTCs, and UNDEF.
Referenced by plotting.Plot::clone(), and L1MuBMSectorProcessor::run().
void L1MuBMTrackAssembler::print | ( | void | ) | const |
print result of Track Assembler
Definition at line 476 of file L1MuBMTrackAssembler.cc.
References gather_cfg::cout, m_theAddresses, m_theBitMaps, m_thePriorityTable1, m_thePriorityTable2, and m_theTCs.
Referenced by run(), and L1MuBMSectorProcessor::run().
|
staticprivate |
12 bit priority encoder
Definition at line 940 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and mps_fire::result.
Referenced by address(), runEncoderSubUnit1(), and runEncoderSubUnit2().
|
staticprivate |
21 bit priority encoder
Definition at line 988 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and mps_fire::result.
Referenced by address(), and runEncoderSubUnit2().
|
staticprivate |
22 bit priority encoder
Definition at line 972 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and mps_fire::result.
Referenced by address(), and runEncoderSubUnit1().
|
staticprivate |
4 bit priority encoder
Definition at line 956 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and mps_fire::result.
Referenced by address(), runEncoderSubUnit1(), and runEncoderSubUnit2().
|
overridevirtual |
reset Track Assembler
Implements L1AbstractProcessor.
Definition at line 457 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, m_theAddresses, m_theBitMaps, m_theLastAddress, m_theLastAddressI, m_thePriorityTable1, m_thePriorityTable2, m_theTCs, L1MuBMAddressArray::reset(), and UNDEF.
Referenced by L1MuBMSectorProcessor::reset().
|
overridevirtual |
run Track Assembler
Reimplemented from L1AbstractProcessor.
Definition at line 68 of file L1MuBMTrackAssembler.cc.
References addressEncoder12(), addressEncoder12s(), gather_cfg::cout, L1MuBMTFConfig::Debug(), L1MuBMSectorProcessor::EU(), EX12, EX13, EX14, EX23, EX24, EX34, getCancelationTable(), L1MuBMExtrapolationUnit::getQSTable(), mps_fire::i, m_sp, m_theAddresses, m_theBitMaps, m_theLastAddress, m_theLastAddressI, m_thePriorityTable1, m_thePriorityTable2, m_theTCs, p1, p2, print(), L1MuBMAddressArray::reset(), runAddressAssignment1(), runAddressAssignment2(), runEncoderSubUnit1(), runEncoderSubUnit2(), L1MuBMAddressArray::setStation(), relativeConstraints::station, L1MuBMAddressArray::station(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, and UNDEF.
Referenced by L1MuBMSectorProcessor::run().
|
private |
run the first Address Assignment Sub-Unit
Definition at line 687 of file L1MuBMTrackAssembler.cc.
References m_theAddresses, m_theBitMaps, m_theLastAddress, m_theTCs, L1MuBMAddressArray::setStations(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, tc2bitmap(), and UNDEF.
Referenced by address(), and run().
|
private |
run the second Address Assignment Sub-Unit
Definition at line 822 of file L1MuBMTrackAssembler.cc.
References m_theAddresses, m_theBitMaps, m_theLastAddress, m_theLastAddressI, m_theTCs, L1MuBMAddressArray::setStations(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, tc2bitmap(), and UNDEF.
Referenced by address(), and run().
|
private |
run the first Priority Encoder Sub-Unit
Definition at line 492 of file L1MuBMTrackAssembler.cc.
References edmIntegrityCheck::group, m_thePriorityTable1, priorityEncoder12(), priorityEncoder22(), priorityEncoder4(), subBitset68(), x, and y.
Referenced by address(), and run().
|
private |
run the second Priority Encoder Sub-Unit
Definition at line 594 of file L1MuBMTrackAssembler.cc.
References edmIntegrityCheck::group, m_thePriorityTable2, priorityEncoder12(), priorityEncoder21(), priorityEncoder4(), subBitset56(), x, and y.
Referenced by address(), and run().
|
staticprivate |
get sub-bitmap of a 56-bit word
Definition at line 1062 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and alignCSCRings::s.
Referenced by address(), and runEncoderSubUnit2().
|
staticprivate |
get sub-bitmap of a 68-bit word
Definition at line 1046 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, and alignCSCRings::s.
Referenced by address(), and runEncoderSubUnit1().
|
inline |
return bitmap of found track
Definition at line 72 of file L1MuBMTrackAssembler.h.
References triggerObjects_cff::id, and m_theBitMaps.
Referenced by L1MuBMAssignmentUnit::getPtMethod().
|
inline |
return Track Class of found track
Definition at line 69 of file L1MuBMTrackAssembler.h.
References triggerObjects_cff::id, and m_theTCs.
Referenced by L1MuBMAssignmentUnit::QuaAU(), L1MuBMAssignmentUnit::Quality(), and L1MuBMAssignmentUnit::run().
|
private |
Definition at line 126 of file L1MuBMTrackAssembler.h.
Referenced by run().
|
private |
Definition at line 135 of file L1MuBMTrackAssembler.h.
Referenced by address(), print(), reset(), run(), runAddressAssignment1(), and runAddressAssignment2().
|
private |
Definition at line 134 of file L1MuBMTrackAssembler.h.
Referenced by print(), reset(), run(), runAddressAssignment1(), runAddressAssignment2(), and trackBitMap().
|
private |
Definition at line 130 of file L1MuBMTrackAssembler.h.
Referenced by reset(), run(), runAddressAssignment1(), and runAddressAssignment2().
|
private |
Definition at line 131 of file L1MuBMTrackAssembler.h.
Referenced by reset(), run(), and runAddressAssignment2().
|
private |
Definition at line 128 of file L1MuBMTrackAssembler.h.
Referenced by print(), reset(), run(), and runEncoderSubUnit1().
|
private |
Definition at line 129 of file L1MuBMTrackAssembler.h.
Referenced by print(), reset(), run(), and runEncoderSubUnit2().
|
private |
Definition at line 133 of file L1MuBMTrackAssembler.h.
Referenced by isEmpty(), print(), reset(), run(), runAddressAssignment1(), runAddressAssignment2(), and trackClass().