#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 () |
reset Track Assembler More... | |
void | run () |
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 () | |
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 47 of file L1MuBMTrackAssembler.h.
L1MuBMTrackAssembler::L1MuBMTrackAssembler | ( | const L1MuBMSectorProcessor & | sp | ) |
L1MuBMTrackAssembler::~L1MuBMTrackAssembler | ( | ) |
|
inline |
get address of a single station of selected track candidate
Definition at line 74 of file L1MuBMTrackAssembler.h.
References EcalPhiSymFlatTableProducers_cfi::id, m_theAddresses, and L1MuBMAddressArray::station().
Referenced by L1MuBMAssignmentUnit::run().
|
inline |
get address-array of selected track candidate
Definition at line 77 of file L1MuBMTrackAssembler.h.
References EcalPhiSymFlatTableProducers_cfi::id, and m_theAddresses.
|
staticprivate |
12 bit address encoder
Definition at line 1359 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and mps_fire::result.
Referenced by run().
|
staticprivate |
special 12 bit address encoder
Definition at line 1377 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and mps_fire::result.
Referenced by run().
|
staticprivate |
cancel Out Table
Definition at line 1426 of file L1MuBMTrackAssembler.cc.
References b, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by run().
|
inline |
is it a valid Track Class?
Definition at line 71 of file L1MuBMTrackAssembler.h.
References m_theTCs, and DiLeptonHelp::UNDEF.
Referenced by plotting.Plot::clone(), and L1MuBMSectorProcessor::run().
void L1MuBMTrackAssembler::print | ( | void | ) | const |
print result of Track Assembler
Definition at line 479 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 1303 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and mps_fire::result.
Referenced by runEncoderSubUnit1(), and runEncoderSubUnit2().
|
staticprivate |
21 bit priority encoder
Definition at line 1345 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and mps_fire::result.
Referenced by runEncoderSubUnit2().
|
staticprivate |
22 bit priority encoder
Definition at line 1331 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and mps_fire::result.
Referenced by runEncoderSubUnit1().
|
staticprivate |
4 bit priority encoder
Definition at line 1317 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and mps_fire::result.
Referenced by runEncoderSubUnit1(), and runEncoderSubUnit2().
void L1MuBMTrackAssembler::reset | ( | void | ) |
reset Track Assembler
Definition at line 461 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, dqmiolumiharvest::j, m_theAddresses, m_theBitMaps, m_theLastAddress, m_theLastAddressI, m_thePriorityTable1, m_thePriorityTable2, m_theTCs, L1MuBMAddressArray::reset(), and DiLeptonHelp::UNDEF.
Referenced by L1MuBMSectorProcessor::reset().
void L1MuBMTrackAssembler::run | ( | ) |
run Track Assembler
Definition at line 60 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, LaserDQM_cfg::p1, SiStripOfflineCRack_cfg::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 DiLeptonHelp::UNDEF.
Referenced by L1MuBMSectorProcessor::run().
|
private |
run the first Address Assignment Sub-Unit
Definition at line 741 of file L1MuBMTrackAssembler.cc.
References watchdog::group, m_theAddresses, m_theBitMaps, m_theLastAddress, m_theTCs, L1MuBMAddressArray::setStations(), T12, T123, T1234, T124, T13, T134, T14, T23, T234, T24, T34, tc2bitmap(), and DiLeptonHelp::UNDEF.
Referenced by run().
|
private |
run the second Address Assignment Sub-Unit
Definition at line 1043 of file L1MuBMTrackAssembler.cc.
References watchdog::group, 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 DiLeptonHelp::UNDEF.
Referenced by run().
|
private |
run the first Priority Encoder Sub-Unit
Definition at line 493 of file L1MuBMTrackAssembler.cc.
References watchdog::group, m_thePriorityTable1, priorityEncoder12(), priorityEncoder22(), priorityEncoder4(), subBitset68(), x, and y.
Referenced by run().
|
private |
run the second Priority Encoder Sub-Unit
Definition at line 622 of file L1MuBMTrackAssembler.cc.
References watchdog::group, m_thePriorityTable2, priorityEncoder12(), priorityEncoder21(), priorityEncoder4(), subBitset56(), x, and y.
Referenced by run().
|
staticprivate |
get sub-bitmap of a 56-bit word
Definition at line 1412 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and alignCSCRings::s.
Referenced by runEncoderSubUnit2().
|
staticprivate |
get sub-bitmap of a 68-bit word
Definition at line 1398 of file L1MuBMTrackAssembler.cc.
References mps_fire::i, input, and alignCSCRings::s.
Referenced by runEncoderSubUnit1().
|
inline |
return bitmap of found track
Definition at line 68 of file L1MuBMTrackAssembler.h.
References EcalPhiSymFlatTableProducers_cfi::id, and m_theBitMaps.
Referenced by L1MuBMAssignmentUnit::getPtMethod().
|
inline |
return Track Class of found track
Definition at line 65 of file L1MuBMTrackAssembler.h.
References EcalPhiSymFlatTableProducers_cfi::id, and m_theTCs.
Referenced by L1MuBMAssignmentUnit::QuaAU(), L1MuBMAssignmentUnit::Quality(), and L1MuBMAssignmentUnit::run().
|
private |
Definition at line 120 of file L1MuBMTrackAssembler.h.
Referenced by run().
|
private |
Definition at line 129 of file L1MuBMTrackAssembler.h.
Referenced by address(), print(), reset(), run(), runAddressAssignment1(), and runAddressAssignment2().
|
private |
Definition at line 128 of file L1MuBMTrackAssembler.h.
Referenced by print(), reset(), run(), runAddressAssignment1(), runAddressAssignment2(), and trackBitMap().
|
private |
Definition at line 124 of file L1MuBMTrackAssembler.h.
Referenced by reset(), run(), runAddressAssignment1(), and runAddressAssignment2().
|
private |
Definition at line 125 of file L1MuBMTrackAssembler.h.
Referenced by reset(), run(), and runAddressAssignment2().
|
private |
Definition at line 122 of file L1MuBMTrackAssembler.h.
Referenced by print(), reset(), run(), and runEncoderSubUnit1().
|
private |
Definition at line 123 of file L1MuBMTrackAssembler.h.
Referenced by print(), reset(), run(), and runEncoderSubUnit2().
|
private |
Definition at line 127 of file L1MuBMTrackAssembler.h.
Referenced by isEmpty(), print(), reset(), run(), runAddressAssignment1(), runAddressAssignment2(), and trackClass().