#include <L1MuGMTMerger.h>
Public Member Functions | |
const std::vector< L1MuGMTExtendedCand * > & | Cands () const |
return std::vector with all muon candidates More... | |
int | id () const |
return identifier More... | |
L1MuGMTMerger (const L1MuGlobalMuonTrigger &gmt, int id) | |
constructor More... | |
void | print () const |
print results after selection More... | |
void | reset () |
clear Merger More... | |
void | run () |
run GMT Merger More... | |
virtual | ~L1MuGMTMerger () |
destructor More... | |
Private Member Functions | |
unsigned | convertedEta (const L1MuRegionalCand *mu) const |
void | createDTCSCCand (int idx_dtcsc) |
void | createMergedCand (int idx_dtcsc, int idx_rpc) |
void | createRPCCand (int idx_rpc) |
int | doANDMerge (unsigned MMconfig) const |
int | doSpecialMerge (unsigned MMconfig) const |
void | load () |
void | merge () |
int | merge_rank (const L1MuRegionalCand *) const |
Merge Rank Table. More... | |
unsigned | projectedPhi (const L1MuRegionalCand *mu) const |
int | selectDTCSC (unsigned MMconfig, int by_rank, int by_pt, int by_combi) const |
unsigned | sysign (const L1MuRegionalCand *mu) const |
Private Attributes | |
std::vector< const L1MuRegionalCand * > | dtcsc_mu |
const L1MuGlobalMuonTrigger & | m_gmt |
int | m_id |
std::vector< L1MuGMTExtendedCand * > | m_MuonCands |
std::vector< const L1MuRegionalCand * > | rpc_mu |
std::vector< int > | singleRank |
L1 Global Muon Trigger Merger.
There are two GMT Mergers. One for the barrel (id=0) and one for the forward (id=1) part.
The merger receives four DT(CSC) muons and four RPC muons. Each DT(CSC) muon is either merged with an RPC one or passed through.
To simplify the C++ model, the merger conatians also the conversion units and sort rank units as well as the MergeMethodSelection unit which are separate units in the hardware.
Definition at line 58 of file L1MuGMTMerger.h.
L1MuGMTMerger::L1MuGMTMerger | ( | const L1MuGlobalMuonTrigger & | gmt, |
int | id | ||
) |
constructor
Definition at line 70 of file L1MuGMTMerger.cc.
References dtcsc_mu, and rpc_mu.
|
virtual |
|
inline |
return std::vector with all muon candidates
Definition at line 79 of file L1MuGMTMerger.h.
References convertedEta(), createDTCSCCand(), createMergedCand(), createRPCCand(), doANDMerge(), doSpecialMerge(), load(), m_MuonCands, merge(), merge_rank(), amptDefaultParameters_cff::mu, projectedPhi(), selectDTCSC(), and sysign().
Referenced by L1MuGMTSorter::run().
|
private |
Definition at line 306 of file L1MuGMTMerger.cc.
References L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFEtaConvLUT(), L1MuGMTLFEtaConvLUT::SpecificLookup_eta_gmt(), and L1MuRegionalCand::type_idx().
Referenced by Cands(), createDTCSCCand(), createMergedCand(), and createRPCCand().
|
private |
Definition at line 220 of file L1MuGMTMerger.cc.
References l1GtPatternGenerator_cfi::bx, convertedEta(), dtcsc_mu, L1MuGMTSortRankUnit::getVeryLowQualityLevel(), L1MuGMTMipIsoAU::ISO(), m_gmt, m_id, m_MuonCands, L1MuGMTMipIsoAU::MIP(), L1MuGlobalMuonTrigger::MipIsoAU(), projectedPhi(), qcdUeDQM_cfi::quality, L1MuGMTCand::setBx(), L1MuGMTCand::setChargePacked(), L1MuGMTExtendedCand::setDTCSCIndex(), L1MuGMTCand::setEtaPacked(), L1MuGMTExtendedCand::setFwdBit(), L1MuGMTCand::setIsolation(), L1MuGMTCand::setMIP(), L1MuGMTCand::setPhiPacked(), L1MuGMTCand::setPtPacked(), L1MuGMTCand::setQuality(), L1MuGMTExtendedCand::setRank(), L1MuGMTExtendedCand::setRPCBit(), L1MuGMTExtendedCand::setRPCIndex(), L1MuGMTSortRankUnit::sort_rank(), and sysign().
Referenced by Cands(), and merge().
|
private |
Definition at line 343 of file L1MuGMTMerger.cc.
References funct::abs(), l1GtPatternGenerator_cfi::bx, convertedEta(), doANDMerge(), doSpecialMerge(), dtcsc_mu, PVValHelper::eta, L1MuGMTConfig::getLFPtMixLUT(), L1MuGMTConfig::getRegMMConfigCharge(), L1MuGMTConfig::getRegMMConfigEta(), L1MuGMTConfig::getRegMMConfigISO(), L1MuGMTConfig::getRegMMConfigMIP(), L1MuGMTConfig::getRegMMConfigPhi(), L1MuGMTConfig::getRegMMConfigPt(), L1MuGMTConfig::getRegMMConfigSRK(), L1MuGMTConfig::getRegSortRankOffset(), L1MuGMTReg::getValue(), L1MuGMTMipIsoAU::ISO(), m_gmt, m_id, m_MuonCands, merge_rank(), L1MuGMTMipIsoAU::MIP(), L1MuGlobalMuonTrigger::MipIsoAU(), phi, projectedPhi(), DiDispStaMuonMonitor_cfi::pt, rpc_mu, selectDTCSC(), L1MuGMTCand::setBx(), L1MuGMTCand::setChargePacked(), L1MuGMTExtendedCand::setDTCSCIndex(), L1MuGMTCand::setEtaPacked(), L1MuGMTExtendedCand::setFwdBit(), L1MuGMTCand::setIsolation(), L1MuGMTCand::setMIP(), L1MuGMTCand::setPhiPacked(), L1MuGMTCand::setPtPacked(), L1MuGMTCand::setQuality(), L1MuGMTExtendedCand::setRank(), L1MuGMTExtendedCand::setRPCBit(), L1MuGMTExtendedCand::setRPCIndex(), L1MuGMTSortRankUnit::sort_rank(), L1MuGMTLFPtMixLUT::SpecificLookup_pt_mixed(), and sysign().
Referenced by Cands(), and merge().
|
private |
Definition at line 260 of file L1MuGMTMerger.cc.
References l1GtPatternGenerator_cfi::bx, convertedEta(), L1MuGMTSortRankUnit::getVeryLowQualityLevel(), L1MuGMTMipIsoAU::ISO(), m_gmt, m_id, m_MuonCands, L1MuGMTMipIsoAU::MIP(), L1MuGlobalMuonTrigger::MipIsoAU(), projectedPhi(), qcdUeDQM_cfi::quality, rpc_mu, L1MuGMTCand::setBx(), L1MuGMTCand::setChargePacked(), L1MuGMTExtendedCand::setDTCSCIndex(), L1MuGMTCand::setEtaPacked(), L1MuGMTExtendedCand::setFwdBit(), L1MuGMTCand::setIsolation(), L1MuGMTCand::setMIP(), L1MuGMTCand::setPhiPacked(), L1MuGMTCand::setPtPacked(), L1MuGMTCand::setQuality(), L1MuGMTExtendedCand::setRank(), L1MuGMTExtendedCand::setRPCBit(), L1MuGMTExtendedCand::setRPCIndex(), L1MuGMTSortRankUnit::sort_rank(), and sysign().
Referenced by Cands(), and merge().
|
private |
Definition at line 304 of file L1MuGMTMerger.cc.
Referenced by Cands(), and createMergedCand().
|
private |
Definition at line 302 of file L1MuGMTMerger.cc.
Referenced by Cands(), and createMergedCand().
|
inline |
|
private |
Definition at line 129 of file L1MuGMTMerger.cc.
References L1MuGMTPSB::CSCMuon(), L1MuGlobalMuonTrigger::Data(), L1MuGMTPSB::DTBXMuon(), dtcsc_mu, irpc, m_gmt, m_id, L1MuGMTConfig::MAXCSC, L1MuGMTConfig::MAXDTBX, L1MuGMTConfig::MAXRPCbarrel, L1MuGMTConfig::MAXRPCendcap, rpc_mu, and L1MuGMTPSB::RPCMuon().
Referenced by Cands(), and run().
|
private |
Definition at line 151 of file L1MuGMTMerger.cc.
References L1MuGMTCancelOutUnit::cancelMyChipMuon(), L1MuGMTCancelOutUnit::cancelOtherChipMuon(), L1MuGlobalMuonTrigger::CancelOutUnit(), L1MuGMTMatrix< T >::colAny(), createDTCSCCand(), createMergedCand(), createRPCCand(), dtcsc_mu, L1MuGMTCand::etaIndex(), L1MuScale::getCenter(), L1MuTriggerScales::getGMTEtaScale(), L1MuScale::getLowEdge(), L1MuTriggerScales::getPhiScale(), L1MuTriggerPtScale::getPtScale(), L1MuGMTConfig::getTriggerPtScale(), L1MuGMTConfig::getTriggerScales(), mps_fire::i, L1MuGMTSortRankUnit::isDisabled(), dqmiolumiharvest::j, m_gmt, m_id, m_MuonCands, L1MuGlobalMuonTrigger::Matcher(), L1MuGMTMatcher::pairM(), L1MuGMTCand::phiIndex(), L1MuGMTCand::ptIndex(), L1MuGMTMatrix< T >::rowAny(), rpc_mu, L1MuGMTCand::setEtaValue(), L1MuGMTCand::setPhiValue(), and L1MuGMTCand::setPtValue().
Referenced by Cands(), and run().
|
private |
Definition at line 506 of file L1MuGMTMerger.cc.
References L1MuRegionalCand::empty(), PVValHelper::eta, L1MuRegionalCand::eta_packed(), RemoveAddSevLevel::flag, L1MuGMTConfig::getLFMergeRankCombineLUT(), L1MuGMTConfig::getLFMergeRankEtaPhiLUT(), L1MuGMTConfig::getLFMergeRankEtaQLUT(), L1MuGMTConfig::getLFMergeRankPtQLUT(), phi, L1MuRegionalCand::phi_packed(), DiDispStaMuonMonitor_cfi::pt, L1MuRegionalCand::pt_packed(), data-class-funcs::q, L1MuRegionalCand::quality_packed(), L1MuGMTLFMergeRankEtaQLUT::SpecificLookup_flag(), L1MuGMTLFMergeRankCombineLUT::SpecificLookup_merge_rank(), L1MuGMTLFMergeRankEtaPhiLUT::SpecificLookup_rank_etaphi(), L1MuGMTLFMergeRankEtaQLUT::SpecificLookup_rank_etaq(), L1MuGMTLFMergeRankPtQLUT::SpecificLookup_rank_ptq(), and L1MuRegionalCand::type_idx().
Referenced by Cands(), and createMergedCand().
void L1MuGMTMerger::print | ( | void | ) | const |
print results after selection
Definition at line 114 of file L1MuGMTMerger.cc.
References m_MuonCands.
Referenced by L1MuGlobalMuonTrigger::produce().
|
private |
Definition at line 311 of file L1MuGMTMerger.cc.
References L1MuRegionalCand::charge_packed(), HLT_2018_cff::eta4, L1MuRegionalCand::eta_packed(), L1MuGMTConfig::getLFPhiProEtaConvLUT(), L1MuGMTConfig::getLFPhiProLUT(), L1MuSignedPacking< Bits >::idxFromPacked(), L1MuRegionalCand::phi_packed(), L1MuRegionalCand::pt_packed(), L1MuGMTLFPhiProLUT::SpecificLookup_dphi(), L1MuGMTLFPhiProEtaConvLUT::SpecificLookup_eta_out(), and L1MuRegionalCand::type_idx().
Referenced by Cands(), createDTCSCCand(), createMergedCand(), and createRPCCand().
void L1MuGMTMerger::reset | ( | void | ) |
clear Merger
Definition at line 95 of file L1MuGMTMerger.cc.
References dtcsc_mu, mps_fire::i, m_MuonCands, and rpc_mu.
Referenced by L1MuGlobalMuonTrigger::reset(), and ~L1MuGMTMerger().
void L1MuGMTMerger::run | ( | ) |
run GMT Merger
Definition at line 87 of file L1MuGMTMerger.cc.
References load(), and merge().
Referenced by L1MuGlobalMuonTrigger::produce().
|
private |
Definition at line 297 of file L1MuGMTMerger.cc.
Referenced by Cands(), and createMergedCand().
|
private |
Definition at line 334 of file L1MuGMTMerger.cc.
References L1MuRegionalCand::charge_packed(), and L1MuRegionalCand::charge_valid_packed().
Referenced by Cands(), createDTCSCCand(), createMergedCand(), and createRPCCand().
|
private |
Definition at line 104 of file L1MuGMTMerger.h.
Referenced by createDTCSCCand(), createMergedCand(), L1MuGMTMerger(), load(), merge(), and reset().
|
private |
Definition at line 101 of file L1MuGMTMerger.h.
Referenced by createDTCSCCand(), createMergedCand(), createRPCCand(), load(), and merge().
|
private |
Definition at line 102 of file L1MuGMTMerger.h.
Referenced by createDTCSCCand(), createMergedCand(), createRPCCand(), id(), load(), and merge().
|
private |
Definition at line 107 of file L1MuGMTMerger.h.
Referenced by Cands(), createDTCSCCand(), createMergedCand(), createRPCCand(), merge(), print(), and reset().
|
private |
Definition at line 105 of file L1MuGMTMerger.h.
Referenced by createMergedCand(), createRPCCand(), L1MuGMTMerger(), load(), merge(), and reset().
|
private |
Definition at line 109 of file L1MuGMTMerger.h.