#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) | |
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 | 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 kNumOmtfSubAddr 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, kSegSelStat1, kSegSelStat2, kSegSelStat3, kSegSelStat4, kStat1, kStat2, kStat3, kStat4, kWheelNum, kWheelSide, m_dataword, and setTFIdentifiers().
|
inline |
Definition at line 37 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, and setTFIdentifiers().
|
inline |
Definition at line 52 of file RegionalMuonCand.h.
References setTFIdentifiers().
|
inlinevirtual |
Definition at line 59 of file RegionalMuonCand.h.
|
inline |
Get 64 bit data word.
Definition at line 122 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 LSBs of data word.
Definition at line 126 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 MSBs of data word.
Definition at line 124 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get compressed eta (returned int * 0.010875 = eta)
Definition at line 106 of file RegionalMuonCand.h.
References m_hwEta.
Referenced by L1MuBMTrack::eta(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwEta(), L1MuBMTrack::print(), L1MuBMTrackFinder::run(), L1TMuonProducer::splitAndConvertMuons(), l1t::stage2::BMTFUnpackerOutput::unpack(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
Definition at line 120 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 104 of file RegionalMuonCand.h.
References m_hwPhi.
Referenced by L1TMuonProducer::convertMuons(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwLocalPhi(), L1MuBMTrack::phi(), L1MuBMTrack::print(), L1MuBMTrackFinder::run(), L1TMuonProducer::splitAndConvertMuons(), l1t::stage2::BMTFUnpackerOutput::unpack(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get compressed pT (returned int * 0.5 = pT (GeV))
Definition at line 102 of file RegionalMuonCand.h.
References m_hwPt.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwPt(), L1MuBMTrack::print(), L1MuBMTrack::pt(), l1t::stage2::BMTFUnpackerOutput::unpack(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), omtf::MuonUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get quality code.
Definition at line 112 of file RegionalMuonCand.h.
References m_hwQuality.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwQual(), L1MuBMTrack::print(), L1MuBMTrack::quality(), L1MuBMTrackFinder::run(), l1t::stage2::BMTFUnpackerOutput::unpack(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get charge sign bit (charge = (-1)^(sign))
Definition at line 108 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 110 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 114 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 116 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 80 of file RegionalMuonCand.h.
References m_dataword.
Referenced by l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand().
|
inline |
Definition at line 82 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 66 of file RegionalMuonCand.h.
Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TBMTFConverter::produce(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::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 74 of file RegionalMuonCand.h.
References m_hwHF, processor(), and setTFIdentifiers().
Referenced by MicroGMTConverter::convert(), 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 64 of file RegionalMuonCand.h.
Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), 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 62 of file RegionalMuonCand.h.
Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), L1MuBMTrack::setPt(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set compressed quality code as transmitted by hardware (4 bits)
Definition at line 72 of file RegionalMuonCand.h.
References bits, and m_hwQuality.
Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMuonQualityAdjuster::produce(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::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 68 of file RegionalMuonCand.h.
References bits, and m_hwSign.
Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), 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 70 of file RegionalMuonCand.h.
References bits, and m_hwSignValid.
Referenced by OMTFSorter::candidates(), MicroGMTConverter::convert(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1MuBMTrack::L1MuBMTrack(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), L1MuBMTrackFinder::run(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Definition at line 78 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(), MicroGMTConverter::convert(), L1MuBMTrack::enable(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), L1TMicroGMTInputProducer::produce(), L1TMicroGMTInputProducerFromGen::produce(), RegionalMuonCand(), L1MuBMTrackFinder::run(), setHwHF(), l1t::stage2::emtf::SPBlockUnpacker::unpack(), and omtf::MuonUnpacker::unpack().
|
inline |
Set the whole track address.
Definition at line 96 of file RegionalMuonCand.h.
References m_trackAddress.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand(), and omtf::MuonUnpacker::unpack().
|
inline |
Set a part of the muon candidates track address; specialised for BMTF.
Definition at line 84 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
Referenced by MicroGMTConverter::convert(), 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 88 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 92 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
|
inline |
Get the track address (identifies track primitives used for reconstruction)
Definition at line 128 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 118 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 132 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 136 of file RegionalMuonCand.h.
References m_trackAddress.
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 140 of file RegionalMuonCand.h.
References m_trackAddress.
|
private |
This is the 64 bit word as transmitted in HW.
Definition at line 159 of file RegionalMuonCand.h.
Referenced by dataword(), dataword32Lsb(), dataword32Msb(), RegionalMuonCand(), and setDataword().
|
private |
Definition at line 148 of file RegionalMuonCand.h.
Referenced by hwEta(), and setHwEta().
|
private |
Definition at line 149 of file RegionalMuonCand.h.
|
private |
Definition at line 147 of file RegionalMuonCand.h.
Referenced by hwPhi(), and setHwPhi().
|
private |
Definition at line 146 of file RegionalMuonCand.h.
|
private |
Definition at line 152 of file RegionalMuonCand.h.
Referenced by hwQual(), and setHwQual().
|
private |
Definition at line 150 of file RegionalMuonCand.h.
Referenced by hwSign(), and setHwSign().
|
private |
Definition at line 151 of file RegionalMuonCand.h.
Referenced by hwSignValid(), and setHwSignValid().
|
private |
Definition at line 153 of file RegionalMuonCand.h.
Referenced by link(), setLink(), and setTFIdentifiers().
|
private |
Definition at line 154 of file RegionalMuonCand.h.
Referenced by processor(), and setTFIdentifiers().
|
private |
Definition at line 156 of file RegionalMuonCand.h.
Referenced by RegionalMuonCand(), setTrackAddress(), setTrackSubAddress(), trackAddress(), and trackSubAddress().
|
private |
Definition at line 155 of file RegionalMuonCand.h.
Referenced by setTFIdentifiers(), and trackFinderType().