#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 | 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 | 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 | 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) | |
void | setDataword (uint32_t msbs, uint32_t lsbs) |
void | setDataword (uint64_t bits) |
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 | 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 | 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_hwEta |
bool | m_hwHF |
int | m_hwPhi |
int | m_hwPt |
int | m_hwQuality |
int | m_hwSign |
int | m_hwSignValid |
int | m_link |
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 22 of file RegionalMuonCand.h.
Enum to identify the individual parts of the OMTF track address Update kNumEmtfSubAddr if you add additional enums
Enumerator | |
---|---|
kLayers | |
kZero | |
kWeight | |
kNumOmtfSubAddr |
Definition at line 17 of file RegionalMuonCand.h.
|
explicit |
|
inline |
Definition at line 29 of file RegionalMuonCand.h.
References l1t::bmtf, and setTFIdentifiers().
|
inline |
Definition at line 35 of file RegionalMuonCand.h.
References setTFIdentifiers().
|
inlinevirtual |
Definition at line 42 of file RegionalMuonCand.h.
|
inline |
Get 64 bit data word.
Definition at line 105 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 LSBs of data word.
Definition at line 109 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 MSBs of data word.
Definition at line 107 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get compressed eta (returned int * 0.010875 = eta)
Definition at line 89 of file RegionalMuonCand.h.
References m_hwEta.
Referenced by L1MuBMTrack::eta(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwEta(), L1MuBMTrack::print(), L1TMuonEndCapTrackProducer::produce(), L1MuBMTrackFinder::run(), L1TMuonProducer::splitAndConvertMuons(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), l1t::stage2::BMTFUnpackerOutput::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
Definition at line 103 of file RegionalMuonCand.h.
References m_hwHF.
Referenced by L1MuBMTrack::fineEtaBit(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwHF(), and L1MuBMTrackFinder::run().
|
inline |
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
Definition at line 87 of file RegionalMuonCand.h.
References m_hwPhi.
Referenced by L1TMuonProducer::convertMuons(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwLocalPhi(), L1MuBMTrack::phi(), L1MuBMTrack::print(), L1TMuonEndCapTrackProducer::produce(), L1MuBMTrackFinder::run(), L1TMuonProducer::splitAndConvertMuons(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), l1t::stage2::BMTFUnpackerOutput::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get compressed pT (returned int * 0.5 = pT (GeV))
Definition at line 85 of file RegionalMuonCand.h.
References m_hwPt.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwPt(), L1MuBMTrack::print(), L1TMuonEndCapTrackProducer::produce(), L1MuBMTrack::pt(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), l1t::stage2::BMTFUnpackerOutput::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get quality code.
Definition at line 95 of file RegionalMuonCand.h.
References m_hwQuality.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwQual(), L1MuBMTrack::print(), L1TMuonEndCapTrackProducer::produce(), L1MuBMTrack::quality(), L1MuBMTrackFinder::run(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), l1t::stage2::BMTFUnpackerOutput::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get charge sign bit (charge = (-1)^(sign))
Definition at line 91 of file RegionalMuonCand.h.
References m_hwSign.
Referenced by L1MuBMTrack::charge(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwSign(), L1MuBMTrack::print(), L1MuBMTrackFinder::run(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get charge sign valid bit (0 - not valid (high pT muon); 1 - valid)
Definition at line 93 of file RegionalMuonCand.h.
References m_hwSignValid.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwSignValid(), L1MuBMTrackFinder::run(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get link on which the MicroGMT receives the candidate.
Definition at line 97 of file RegionalMuonCand.h.
References m_link.
Referenced by L1TMuonProducer::convertMuons(), l1t::GMTInternalMuon::link(), setLink(), L1TMuonProducer::splitAndConvertMuons(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 for BMTF)
Definition at line 99 of file RegionalMuonCand.h.
References m_processor.
Referenced by L1TMicroGMTInputProducer::cmpProc(), L1TMicroGMTInputProducerFromGen::compareMuons(), L1TMuonProducer::convertMuons(), l1t::GMTInternalMuon::processor(), setHwHF(), setTFIdentifiers(), L1TMuonProducer::splitAndConvertMuons(), and XMLConfigWriter::writeCandMuon().
|
inline |
Definition at line 63 of file RegionalMuonCand.h.
References m_dataword.
Referenced by l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand().
|
inline |
Definition at line 65 of file RegionalMuonCand.h.
References bits, and m_dataword.
|
inline |
Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits)
Definition at line 49 of file RegionalMuonCand.h.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), MakeRegionalCand(), L1TBMTFConverter::produce(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setEta(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
Definition at line 57 of file RegionalMuonCand.h.
References m_hwHF, processor(), and setTFIdentifiers().
Referenced by l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), 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 47 of file RegionalMuonCand.h.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), MakeRegionalCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setPhi(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits)
Definition at line 45 of file RegionalMuonCand.h.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), MakeRegionalCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setPt(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set compressed quality code as transmitted by hardware (4 bits)
Definition at line 55 of file RegionalMuonCand.h.
References bits, and m_hwQuality.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), MakeRegionalCand(), L1TMuonQualityAdjuster::produce(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setQuality(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set charge sign bit (charge = (-1)^(sign))
Definition at line 51 of file RegionalMuonCand.h.
References bits, and m_hwSign.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), MakeRegionalCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setCharge(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set whether charge measurement is valid (0 for high pT muons)
Definition at line 53 of file RegionalMuonCand.h.
References bits, and m_hwSignValid.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1MuBMTrack::L1MuBMTrack(), MakeRegionalCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Definition at line 61 of file RegionalMuonCand.h.
References link(), and m_link.
Referenced by l1t::stage2::BMTFUnpackerOutput::unpack().
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 6 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::candidates(), L1MuBMTrack::enable(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), MakeRegionalCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), RegionalMuonCand(), L1MuBMTrackFinder::run(), setHwHF(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set the whole track address.
Definition at line 79 of file RegionalMuonCand.h.
References m_trackAddress.
Referenced by OMTFSorter::candidates(), and l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand().
|
inline |
Set a part of the muon candidates track address; specialised for BMTF.
Definition at line 67 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
Referenced by l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1MuBMTrackFinder::run(), and l1t::stage2::emtf::SPBlockUnpacker::unpack().
|
inline |
Set a part of the muon candidates track address; specialised for OMTF.
Definition at line 71 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 75 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
|
inline |
Get the track address (identifies track primitives used for reconstruction)
Definition at line 111 of file RegionalMuonCand.h.
References m_trackAddress.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg)
Definition at line 101 of file RegionalMuonCand.h.
References m_trackFinder.
Referenced by L1TMuonProducer::convertMuons(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), L1TMuonProducer::splitAndConvertMuons(), l1t::GMTInternalMuon::trackFinderType(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 115 of file RegionalMuonCand.h.
References m_trackAddress.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords().
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 119 of file RegionalMuonCand.h.
References m_trackAddress.
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 123 of file RegionalMuonCand.h.
References m_trackAddress.
|
private |
This is the 64 bit word as transmitted in HW.
Definition at line 142 of file RegionalMuonCand.h.
Referenced by dataword(), dataword32Lsb(), dataword32Msb(), and setDataword().
|
private |
Definition at line 131 of file RegionalMuonCand.h.
Referenced by hwEta(), and setHwEta().
|
private |
Definition at line 132 of file RegionalMuonCand.h.
|
private |
Definition at line 130 of file RegionalMuonCand.h.
Referenced by hwPhi(), and setHwPhi().
|
private |
Definition at line 129 of file RegionalMuonCand.h.
|
private |
Definition at line 135 of file RegionalMuonCand.h.
Referenced by hwQual(), and setHwQual().
|
private |
Definition at line 133 of file RegionalMuonCand.h.
Referenced by hwSign(), and setHwSign().
|
private |
Definition at line 134 of file RegionalMuonCand.h.
Referenced by hwSignValid(), and setHwSignValid().
|
private |
Definition at line 136 of file RegionalMuonCand.h.
Referenced by link(), setLink(), and setTFIdentifiers().
|
private |
Definition at line 137 of file RegionalMuonCand.h.
Referenced by processor(), and setTFIdentifiers().
|
private |
Definition at line 139 of file RegionalMuonCand.h.
Referenced by setTrackAddress(), setTrackSubAddress(), trackAddress(), and trackSubAddress().
|
private |
Definition at line 138 of file RegionalMuonCand.h.
Referenced by setTFIdentifiers(), and trackFinderType().