#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTSortRankUnit.h>
Public Member Functions | |
L1MuGMTSortRankUnit () | |
constructor | |
virtual | ~L1MuGMTSortRankUnit () |
destructor | |
Static Public Member Functions | |
static unsigned | getVeryLowQualityLevel (const L1MuRegionalCand *) |
Very low quality bits. | |
static bool | isDisabled (const L1MuRegionalCand *) |
Diable bit. | |
static unsigned | sort_rank (const L1MuRegionalCand *) |
Sort Rank Table. |
Return sort rank based on look-up-tables.
Definition at line 45 of file L1MuGMTSortRankUnit.h.
L1MuGMTSortRankUnit::L1MuGMTSortRankUnit | ( | ) |
constructor
virtual L1MuGMTSortRankUnit::~L1MuGMTSortRankUnit | ( | ) | [virtual] |
destructor
unsigned L1MuGMTSortRankUnit::getVeryLowQualityLevel | ( | const L1MuRegionalCand * | muon | ) | [static] |
Very low quality bits.
Definition at line 75 of file L1MuGMTSortRankUnit.cc.
References L1MuRegionalCand::empty(), eta, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFSortRankEtaQLUT(), L1MuRegionalCand::quality_packed(), L1MuGMTLFSortRankEtaQLUT::SpecificLookup_vlq(), and L1MuRegionalCand::type_idx().
Referenced by L1MuGMTMerger::createDTCSCCand(), and L1MuGMTMerger::createRPCCand().
00075 { 00076 00077 if ( muon == 0 || muon->empty() ) return 0; 00078 00079 unsigned lut_idx= muon->type_idx(); 00080 00081 // obtain inputs as coded in HW 00082 unsigned eta = muon->eta_packed(); 00083 unsigned q = muon->quality_packed(); 00084 00085 // lookup eta-q 00086 L1MuGMTLFSortRankEtaQLUT* etaq_lut = L1MuGMTConfig::getLFSortRankEtaQLUT(); 00087 return etaq_lut->SpecificLookup_vlq (lut_idx, eta, q); 00088 }
bool L1MuGMTSortRankUnit::isDisabled | ( | const L1MuRegionalCand * | muon | ) | [static] |
Diable bit.
Definition at line 90 of file L1MuGMTSortRankUnit.cc.
References L1MuRegionalCand::empty(), eta, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFSortRankEtaPhiLUT(), phi, L1MuRegionalCand::phi_packed(), L1MuGMTLFSortRankEtaPhiLUT::SpecificLookup_rank_etaphi(), and L1MuRegionalCand::type_idx().
Referenced by L1MuGMTMatcher::lookup_mq(), and L1MuGMTMerger::merge().
00090 { 00091 00092 if ( muon == 0 || muon->empty() ) return 1; 00093 00094 unsigned lut_idx= muon->type_idx(); 00095 00096 // obtain inputs as coded in HW 00097 unsigned eta = muon->eta_packed(); 00098 unsigned phi = muon->phi_packed(); 00099 00100 // lookup eta-q 00101 L1MuGMTLFSortRankEtaPhiLUT* etaphi_lut = L1MuGMTConfig::getLFSortRankEtaPhiLUT(); 00102 00103 return etaphi_lut->SpecificLookup_rank_etaphi (lut_idx, eta, phi) == 3; 00104 }
unsigned L1MuGMTSortRankUnit::sort_rank | ( | const L1MuRegionalCand * | muon | ) | [static] |
Sort Rank Table.
Definition at line 44 of file L1MuGMTSortRankUnit.cc.
References L1MuRegionalCand::empty(), eta, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFSortRankCombineLUT(), L1MuGMTConfig::getLFSortRankEtaPhiLUT(), L1MuGMTConfig::getLFSortRankEtaQLUT(), L1MuGMTConfig::getLFSortRankPtQLUT(), phi, L1MuRegionalCand::phi_packed(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality_packed(), L1MuGMTLFSortRankEtaPhiLUT::SpecificLookup_rank_etaphi(), L1MuGMTLFSortRankEtaQLUT::SpecificLookup_rank_etaq(), L1MuGMTLFSortRankPtQLUT::SpecificLookup_rank_ptq(), L1MuGMTLFSortRankCombineLUT::SpecificLookup_sort_rank(), and L1MuRegionalCand::type_idx().
Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), and L1MuGMTMerger::createRPCCand().
00044 { 00045 00046 if ( muon == 0 || muon->empty() ) return 0; 00047 00048 unsigned lut_idx= muon->type_idx(); 00049 00050 // obtain inputs as coded in HW 00051 unsigned eta = muon->eta_packed(); 00052 unsigned q = muon->quality_packed(); 00053 unsigned pt = muon->pt_packed(); 00054 unsigned phi = muon->phi_packed(); 00055 00056 // lookup eta-q 00057 L1MuGMTLFSortRankEtaQLUT* etaq_lut = L1MuGMTConfig::getLFSortRankEtaQLUT(); 00058 unsigned rank_etaq = etaq_lut->SpecificLookup_rank_etaq (lut_idx, eta, q); 00059 00060 // lookup pt-q 00061 L1MuGMTLFSortRankPtQLUT* ptq_lut = L1MuGMTConfig::getLFSortRankPtQLUT(); 00062 unsigned rank_ptq = ptq_lut->SpecificLookup_rank_ptq (lut_idx, q, pt); 00063 00064 // lookup etaphi 00065 L1MuGMTLFSortRankEtaPhiLUT* etaphi_lut = L1MuGMTConfig::getLFSortRankEtaPhiLUT(); 00066 unsigned rank_etaphi = etaphi_lut->SpecificLookup_rank_etaphi (lut_idx, eta, phi); 00067 00068 // combine 00069 L1MuGMTLFSortRankCombineLUT* combine_lut = L1MuGMTConfig::getLFSortRankCombineLUT(); 00070 unsigned rank = combine_lut->SpecificLookup_sort_rank (lut_idx, rank_etaq, rank_ptq, rank_etaphi); 00071 00072 return rank; 00073 }