#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 m_MuonCands.
Referenced by L1MuGMTSorter::run().
|
private |
Definition at line 306 of file L1MuGMTMerger.cc.
References L1MuGMTConfig::getLFEtaConvLUT(), amptDefaultParameters_cff::mu, and L1MuGMTLFEtaConvLUT::SpecificLookup_eta_gmt().
Referenced by createDTCSCCand(), createMergedCand(), and createRPCCand().
|
private |
Definition at line 220 of file L1MuGMTMerger.cc.
References nano_mu_digi_cff::bx, convertedEta(), dtcsc_mu, L1MuGMTSortRankUnit::getVeryLowQualityLevel(), L1MuGMTMipIsoAU::ISO(), m_gmt, m_id, m_MuonCands, L1MuGMTMipIsoAU::MIP(), L1MuGlobalMuonTrigger::MipIsoAU(), projectedPhi(), 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 merge().
|
private |
Definition at line 343 of file L1MuGMTMerger.cc.
References funct::abs(), nano_mu_digi_cff::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 merge().
|
private |
Definition at line 260 of file L1MuGMTMerger.cc.
References nano_mu_digi_cff::bx, convertedEta(), L1MuGMTSortRankUnit::getVeryLowQualityLevel(), L1MuGMTMipIsoAU::ISO(), m_gmt, m_id, m_MuonCands, L1MuGMTMipIsoAU::MIP(), L1MuGlobalMuonTrigger::MipIsoAU(), projectedPhi(), 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 merge().
|
private |
Definition at line 304 of file L1MuGMTMerger.cc.
Referenced by createMergedCand().
|
private |
Definition at line 302 of file L1MuGMTMerger.cc.
Referenced by createMergedCand().
|
inline |
|
private |
Definition at line 129 of file L1MuGMTMerger.cc.
References L1MuGMTPSB::CSCMuon(), L1MuGlobalMuonTrigger::Data(), L1MuGMTPSB::DTBXMuon(), dtcsc_mu, m_gmt, m_id, L1MuGMTConfig::MAXCSC, L1MuGMTConfig::MAXDTBX, L1MuGMTConfig::MAXRPCbarrel, L1MuGMTConfig::MAXRPCendcap, rpc_mu, and L1MuGMTPSB::RPCMuon().
Referenced by 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, 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(), L1MuGMTMatrix< T >::rowAny(), and rpc_mu.
Referenced by run().
|
private |
Definition at line 506 of file L1MuGMTMerger.cc.
References PVValHelper::eta, RemoveAddSevLevel::flag, L1MuGMTConfig::getLFMergeRankCombineLUT(), L1MuGMTConfig::getLFMergeRankEtaPhiLUT(), L1MuGMTConfig::getLFMergeRankEtaQLUT(), L1MuGMTConfig::getLFMergeRankPtQLUT(), phi, DiDispStaMuonMonitor_cfi::pt, submitPVResolutionJobs::q, L1MuGMTLFMergeRankEtaQLUT::SpecificLookup_flag(), L1MuGMTLFMergeRankCombineLUT::SpecificLookup_merge_rank(), L1MuGMTLFMergeRankEtaPhiLUT::SpecificLookup_rank_etaphi(), L1MuGMTLFMergeRankEtaQLUT::SpecificLookup_rank_etaq(), and L1MuGMTLFMergeRankPtQLUT::SpecificLookup_rank_ptq().
Referenced by 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 HLT_2023v12_cff::eta4, L1MuGMTConfig::getLFPhiProEtaConvLUT(), L1MuGMTConfig::getLFPhiProLUT(), L1MuSignedPacking< Bits >::idxFromPacked(), amptDefaultParameters_cff::mu, L1MuGMTLFPhiProLUT::SpecificLookup_dphi(), and L1MuGMTLFPhiProEtaConvLUT::SpecificLookup_eta_out().
Referenced by 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 createMergedCand().
|
private |
Definition at line 334 of file L1MuGMTMerger.cc.
References amptDefaultParameters_cff::mu.
Referenced by 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.