#include <RegionalMuonCand.h>
Public Types | |
enum | bmtfAddress { kWheelSide = 0, kWheelNum = 1, kStat1 = 2, kStat2 = 3, kStat3 = 4, kStat4 = 5, kSegSelStat1 = 6, kSegSelStat2 = 7, kSegSelStat3 = 8, kSegSelStat4 = 9, kNumBmtfSubAddr = 10 } |
enum | emtfAddress { kME1Seg = 0, kME1Ch = 1, kME2Seg = 2, kME2Ch = 3, kME3Seg = 4, kME3Ch = 5, kME4Seg = 6, kME4Ch = 7, kTrkNum = 8, kBX = 9, kNumEmtfSubAddr = 10 } |
enum | omtfAddress { kLayers = 0, kZero = 1, kWeight = 2, kNumOmtfSubAddr = 3 } |
Public Member Functions | |
const uint64_t | dataword () const |
Get 64 bit data word. More... | |
const uint32_t | dataword32Lsb () const |
Get 32 LSBs of data word. More... | |
const uint32_t | dataword32Msb () const |
Get 32 MSBs of data word. More... | |
const int | hwDXY () const |
Get compressed impact parameter (4 bits) More... | |
const int | hwEta () const |
Get compressed eta (returned int * 0.010875 = eta) More... | |
const int | hwHF () const |
Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1) More... | |
const int | hwPhi () const |
Get compressed local phi (returned int * 2*pi/576 = local phi in rad) More... | |
const int | hwPt () const |
Get compressed pT (returned int * 0.5 = pT (GeV)) More... | |
const int | hwPtUnconstrained () const |
Get second compressed pT (returned int * 1.0 = pT (GeV)) More... | |
const int | hwQual () const |
Get quality code. More... | |
const int | hwSign () const |
Get charge sign bit (charge = (-1)^(sign)) More... | |
const int | hwSignValid () const |
Get charge sign valid bit (0 - not valid (high pT muon); 1 - valid) More... | |
const int | link () const |
Get link on which the MicroGMT receives the candidate. More... | |
const int | muIdx () const |
Get muon index (i.e., 0, 1, or 2) More... | |
bool | operator!= (const RegionalMuonCand &rhs) const |
bool | operator== (const RegionalMuonCand &rhs) const |
const int | processor () const |
Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 for BMTF) More... | |
RegionalMuonCand (uint64_t dataword) | |
RegionalMuonCand () | |
RegionalMuonCand (int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder) | |
RegionalMuonCand (int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder, std::map< int, int > trackAddress) | |
void | setDataword (uint32_t msbs, uint32_t lsbs) |
void | setDataword (uint64_t bits) |
void | setHwDXY (int bits) |
Set compressed impact parameter with respect to beamspot (4 bits) More... | |
void | setHwEta (int bits) |
Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits) More... | |
void | setHwHF (bool bit) |
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1) More... | |
void | setHwPhi (int bits) |
Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits) More... | |
void | setHwPt (int bits) |
Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits) More... | |
void | setHwPtUnconstrained (int bits) |
Set compressed second displaced pT as transmitted by hardware LSB = 1.0 (8 bits) More... | |
void | setHwQual (int bits) |
Set compressed quality code as transmitted by hardware (4 bits) More... | |
void | setHwSign (int bits) |
Set charge sign bit (charge = (-1)^(sign)) More... | |
void | setHwSignValid (int bits) |
Set whether charge measurement is valid (0 for high pT muons) More... | |
void | setLink (int link) |
void | setMuIdx (int muIdx) |
void | setTFIdentifiers (int processor, tftype trackFinder) |
Set the processor ID, track-finder type. From these two, the link is set. More... | |
void | setTrackAddress (const std::map< int, int > &address) |
Set the whole track address. More... | |
void | setTrackSubAddress (bmtfAddress subAddress, int value) |
Set a part of the muon candidates track address; specialised for BMTF. More... | |
void | setTrackSubAddress (omtfAddress subAddress, int value) |
Set a part of the muon candidates track address; specialised for OMTF. More... | |
void | setTrackSubAddress (emtfAddress subAddress, int value) |
Set a part of the muon candidates track address; specialised for EMTF. More... | |
const std::map< int, int > & | trackAddress () const |
Get the track address (identifies track primitives used for reconstruction) More... | |
const tftype | trackFinderType () const |
Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg) More... | |
int | trackSubAddress (bmtfAddress subAddress) const |
Get part of track address (identifies track primitives used for reconstruction) More... | |
int | trackSubAddress (omtfAddress subAddress) const |
Get part of track address (identifies track primitives used for reconstruction) More... | |
int | trackSubAddress (emtfAddress subAddress) const |
Get part of track address (identifies track primitives used for reconstruction) More... | |
virtual | ~RegionalMuonCand () |
Private Attributes | |
uint64_t | m_dataword |
This is the 64 bit word as transmitted in HW. More... | |
int | m_hwDXY |
int | m_hwEta |
bool | m_hwHF |
int | m_hwPhi |
int | m_hwPt |
int | m_hwPtUnconstrained |
int | m_hwQuality |
int | m_hwSign |
int | m_hwSignValid |
int | m_link |
int | m_muIdx {-1} |
int | m_processor |
std::map< int, int > | m_trackAddress |
tftype | m_trackFinder |
Definition at line 8 of file RegionalMuonCand.h.
Enum to identify the individual parts of the BMTF track address Update kNumBmtfSubAddr if you add additional enums
Enumerator | |
---|---|
kWheelSide | |
kWheelNum | |
kStat1 | |
kStat2 | |
kStat3 | |
kStat4 | |
kSegSelStat1 | |
kSegSelStat2 | |
kSegSelStat3 | |
kSegSelStat4 | |
kNumBmtfSubAddr |
Definition at line 12 of file RegionalMuonCand.h.
Enum to identify the individual parts of the EMTF track address Update kNumEmtfSubAddr if you add additional enums
Enumerator | |
---|---|
kME1Seg | |
kME1Ch | |
kME2Seg | |
kME2Ch | |
kME3Seg | |
kME3Ch | |
kME4Seg | |
kME4Ch | |
kTrkNum | |
kBX | |
kNumEmtfSubAddr |
Definition at line 30 of file RegionalMuonCand.h.
Enum to identify the individual parts of the OMTF track address Update kNumOmtfSubAddr if you add additional enums
Enumerator | |
---|---|
kLayers | |
kZero | |
kWeight | |
kNumOmtfSubAddr |
Definition at line 27 of file RegionalMuonCand.h.
|
explicit |
|
inline |
Definition at line 46 of file RegionalMuonCand.h.
References l1t::bmtf, and setTFIdentifiers().
|
inline |
Definition at line 60 of file RegionalMuonCand.h.
References l1t::bmtf, l1t::emtf_neg, l1t::emtf_pos, kBX, kLayers, kME1Ch, kME1Seg, kME2Ch, kME2Seg, kME3Ch, kME3Seg, kME4Ch, kME4Seg, kSegSelStat1, kSegSelStat2, kSegSelStat3, kSegSelStat4, kStat1, kStat2, kStat3, kStat4, kTrkNum, kWeight, kWheelNum, kWheelSide, kZero, m_trackAddress, l1t::omtf_neg, l1t::omtf_pos, processor(), and setTFIdentifiers().
|
inline |
Definition at line 100 of file RegionalMuonCand.h.
References processor(), and setTFIdentifiers().
|
inlinevirtual |
Definition at line 123 of file RegionalMuonCand.h.
|
inline |
Get 64 bit data word.
Definition at line 189 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 LSBs of data word.
Definition at line 193 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 MSBs of data word.
Definition at line 191 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get compressed impact parameter (4 bits)
Definition at line 167 of file RegionalMuonCand.h.
References m_hwDXY.
Referenced by l1t::GMTInternalMuon::hwDXY(), and operator==().
|
inline |
Get compressed eta (returned int * 0.010875 = eta)
Definition at line 171 of file RegionalMuonCand.h.
References m_hwEta.
Referenced by L1MuBMTrack::eta(), l1t::GMTInternalMuon::hwEta(), CandidateSimMuonMatcher::match(), operator==(), L1MuBMTrack::print(), l1t::stage2::BMTFUnpackerOutput::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
Definition at line 187 of file RegionalMuonCand.h.
References m_hwHF.
Referenced by L1MuBMTrack::fineEtaBit(), l1t::GMTInternalMuon::hwHF(), and operator==().
|
inline |
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
Definition at line 169 of file RegionalMuonCand.h.
References m_hwPhi.
Referenced by l1t::GMTInternalMuon::hwLocalPhi(), CandidateSimMuonMatcher::match(), operator==(), L1MuBMTrack::phi(), L1MuBMTrack::print(), l1t::stage2::BMTFUnpackerOutput::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get compressed pT (returned int * 0.5 = pT (GeV))
Definition at line 163 of file RegionalMuonCand.h.
References m_hwPt.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), l1t::GMTInternalMuon::hwPt(), CandidateSimMuonMatcher::match(), operator==(), L1MuBMTrack::print(), L1MuBMTrack::pt(), omtf::MuonUnpacker::unpack(), l1t::stage2::BMTFUnpackerOutput::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get second compressed pT (returned int * 1.0 = pT (GeV))
Definition at line 165 of file RegionalMuonCand.h.
References m_hwPtUnconstrained.
Referenced by l1t::GMTInternalMuon::hwPtUnconstrained(), operator==(), and l1t::stage2::BMTFUnpackerOutput::unpack().
|
inline |
Get quality code.
Definition at line 177 of file RegionalMuonCand.h.
References m_hwQuality.
Referenced by l1t::GMTInternalMuon::hwQual(), CandidateSimMuonMatcher::match(), DataROOTDumper2::observeEventEnd(), operator==(), L1MuBMTrack::print(), L1MuBMTrack::quality(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get charge sign bit (charge = (-1)^(sign))
Definition at line 173 of file RegionalMuonCand.h.
References m_hwSign.
Referenced by L1MuBMTrack::charge(), l1t::GMTInternalMuon::hwSign(), DataROOTDumper2::observeEventEnd(), operator==(), L1MuBMTrack::print(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get charge sign valid bit (0 - not valid (high pT muon); 1 - valid)
Definition at line 175 of file RegionalMuonCand.h.
References m_hwSignValid.
Referenced by l1t::GMTInternalMuon::hwSignValid(), operator==(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get link on which the MicroGMT receives the candidate.
Definition at line 179 of file RegionalMuonCand.h.
References m_link.
Referenced by l1t::GMTInternalMuon::link(), operator==(), setLink(), omtf::MuonUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get muon index (i.e., 0, 1, or 2)
Definition at line 181 of file RegionalMuonCand.h.
References m_muIdx.
Referenced by operator==(), and setMuIdx().
|
inline |
Definition at line 204 of file RegionalMuonCand.h.
References operator==().
bool l1t::RegionalMuonCand::operator== | ( | const RegionalMuonCand & | rhs | ) | const |
Definition at line 27 of file RegionalMuonCand.cc.
References nano_mu_local_reco_cff::bool, hwDXY(), hwEta(), hwHF(), hwPhi(), hwPt(), hwPtUnconstrained(), hwQual(), hwSign(), hwSignValid(), link(), m_hwDXY, m_hwEta, m_hwHF, m_hwPhi, m_hwPt, m_hwPtUnconstrained, m_hwQuality, m_hwSign, m_hwSignValid, m_link, m_muIdx, m_processor, m_trackAddress, m_trackFinder, muIdx(), processor(), trackAddress(), and trackFinderType().
Referenced by operator!=().
|
inline |
Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 for BMTF)
Definition at line 183 of file RegionalMuonCand.h.
References m_processor.
Referenced by L1TMicroGMTInputProducer::cmpProc(), L1TMicroGMTInputProducerFromGen::compareMuons(), StubsSimHitsMatcher::match(), CandidateSimMuonMatcher::match(), operator==(), l1t::GMTInternalMuon::processor(), RegionalMuonCand(), setTFIdentifiers(), and XMLConfigWriter::writeCandMuon().
|
inline |
Definition at line 150 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Definition at line 152 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_dataword.
|
inline |
Set compressed impact parameter with respect to beamspot (4 bits)
Definition at line 130 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwDXY.
Referenced by MicroGMTConverter::convert(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits)
Definition at line 134 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwEta.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), MicroGMTConverter::convert(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), L1TBMTFConverter::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setEta(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
Definition at line 142 of file RegionalMuonCand.h.
References triggerObjects_cff::bit, and m_hwHF.
Referenced by MicroGMTConverter::convert(), L1MuBMTrackFinder::run(), L1MuBMTrack::setEta(), and L1MuBMTrack::setFineEtaBit().
|
inline |
Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits)
Definition at line 132 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwPhi.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), MicroGMTConverter::convert(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), L1MuBMTrackFinder::run(), L1MuBMTrack::setPhi(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits)
Definition at line 126 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwPt.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), MicroGMTConverter::convert(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), L1MuBMTrackFinder::run(), L1MuBMTrack::setPt(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set compressed second displaced pT as transmitted by hardware LSB = 1.0 (8 bits)
Definition at line 128 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwPtUnconstrained.
Referenced by MicroGMTConverter::convert(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set compressed quality code as transmitted by hardware (4 bits)
Definition at line 140 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwQuality.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), MicroGMTConverter::convert(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), L1TMuonQualityAdjuster::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setQuality(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set charge sign bit (charge = (-1)^(sign))
Definition at line 136 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwSign.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), MicroGMTConverter::convert(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), L1MuBMTrackFinder::run(), L1MuBMTrack::setCharge(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set whether charge measurement is valid (0 for high pT muons)
Definition at line 138 of file RegionalMuonCand.h.
References ALPAKA_ACCELERATOR_NAMESPACE::pixelClustering::pixelStatus::bits, and m_hwSignValid.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), MicroGMTConverter::convert(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), L1MuBMTrack::L1MuBMTrack(), L1MuBMTrackFinder::run(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Definition at line 146 of file RegionalMuonCand.h.
References link(), and m_link.
|
inline |
Definition at line 148 of file RegionalMuonCand.h.
References m_muIdx, and muIdx().
void l1t::RegionalMuonCand::setTFIdentifiers | ( | int | processor, |
tftype | trackFinder | ||
) |
Set the processor ID, track-finder type. From these two, the link is set.
Definition at line 5 of file RegionalMuonCand.cc.
References l1t::bmtf, l1t::emtf_neg, l1t::emtf_pos, m_link, m_processor, m_trackFinder, l1t::omtf_neg, l1t::omtf_pos, and processor().
Referenced by OMTFSorter< GoldenPatternType >::candidates(), MicroGMTConverter::convert(), L1MuBMTrack::enable(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), RegionalMuonCand(), L1MuBMTrackFinder::run(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set the whole track address.
Definition at line 160 of file RegionalMuonCand.h.
References m_trackAddress.
Referenced by OMTFSorter< GoldenPatternType >::candidates(), OMTFProcessor< GoldenPatternType >::getFinalcandidates(), and omtf::MuonUnpacker::unpack().
|
inline |
Set a part of the muon candidates track address; specialised for BMTF.
Definition at line 154 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
Referenced by MicroGMTConverter::convert(), L1MuBMTrackFinder::run(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set a part of the muon candidates track address; specialised for OMTF.
Definition at line 156 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
|
inline |
Set a part of the muon candidates track address; specialised for EMTF.
Definition at line 158 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
|
inline |
Get the track address (identifies track primitives used for reconstruction)
Definition at line 195 of file RegionalMuonCand.h.
References m_trackAddress.
Referenced by operator==(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg)
Definition at line 185 of file RegionalMuonCand.h.
References m_trackFinder.
Referenced by StubsSimHitsMatcher::match(), CandidateSimMuonMatcher::match(), operator==(), l1t::GMTInternalMuon::trackFinderType(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 197 of file RegionalMuonCand.h.
References m_trackAddress.
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 199 of file RegionalMuonCand.h.
References m_trackAddress.
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 201 of file RegionalMuonCand.h.
References m_trackAddress.
|
private |
This is the 64 bit word as transmitted in HW.
Definition at line 222 of file RegionalMuonCand.h.
Referenced by dataword(), dataword32Lsb(), dataword32Msb(), and setDataword().
|
private |
Definition at line 209 of file RegionalMuonCand.h.
Referenced by hwDXY(), operator==(), and setHwDXY().
|
private |
Definition at line 211 of file RegionalMuonCand.h.
Referenced by hwEta(), operator==(), and setHwEta().
|
private |
Definition at line 212 of file RegionalMuonCand.h.
Referenced by hwHF(), operator==(), and setHwHF().
|
private |
Definition at line 210 of file RegionalMuonCand.h.
Referenced by hwPhi(), operator==(), and setHwPhi().
|
private |
Definition at line 204 of file RegionalMuonCand.h.
Referenced by hwPt(), operator==(), and setHwPt().
|
private |
Definition at line 208 of file RegionalMuonCand.h.
Referenced by hwPtUnconstrained(), operator==(), and setHwPtUnconstrained().
|
private |
Definition at line 215 of file RegionalMuonCand.h.
Referenced by hwQual(), operator==(), and setHwQual().
|
private |
Definition at line 213 of file RegionalMuonCand.h.
Referenced by hwSign(), operator==(), and setHwSign().
|
private |
Definition at line 214 of file RegionalMuonCand.h.
Referenced by hwSignValid(), operator==(), and setHwSignValid().
|
private |
Definition at line 216 of file RegionalMuonCand.h.
Referenced by link(), operator==(), setLink(), and setTFIdentifiers().
|
private |
Definition at line 223 of file RegionalMuonCand.h.
Referenced by muIdx(), operator==(), and setMuIdx().
|
private |
Definition at line 217 of file RegionalMuonCand.h.
Referenced by operator==(), processor(), and setTFIdentifiers().
|
private |
Definition at line 219 of file RegionalMuonCand.h.
Referenced by operator==(), RegionalMuonCand(), setTrackAddress(), setTrackSubAddress(), trackAddress(), and trackSubAddress().
|
private |
Definition at line 218 of file RegionalMuonCand.h.
Referenced by operator==(), setTFIdentifiers(), and trackFinderType().