#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 | hwPt2 () 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... | |
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 | setHwPt2 (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 | 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_hwPt2 |
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, and setTFIdentifiers().
|
inline |
Definition at line 36 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 51 of file RegionalMuonCand.h.
References setTFIdentifiers().
|
inlinevirtual |
Definition at line 58 of file RegionalMuonCand.h.
|
inline |
Get 64 bit data word.
Definition at line 129 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 LSBs of data word.
Definition at line 133 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get 32 MSBs of data word.
Definition at line 131 of file RegionalMuonCand.h.
References m_dataword.
|
inline |
Get compressed impact parameter (4 bits)
Definition at line 109 of file RegionalMuonCand.h.
References m_hwDXY.
|
inline |
Get compressed eta (returned int * 0.010875 = eta)
Definition at line 113 of file RegionalMuonCand.h.
References m_hwEta.
Referenced by L1MuBMTrack::eta(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwEta(), operator==(), 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 127 of file RegionalMuonCand.h.
References m_hwHF.
Referenced by L1MuBMTrack::fineEtaBit(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwHF(), operator==(), and L1MuBMTrackFinder::run().
|
inline |
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
Definition at line 111 of file RegionalMuonCand.h.
References m_hwPhi.
Referenced by L1TMuonProducer::convertMuons(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwLocalPhi(), operator==(), 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 105 of file RegionalMuonCand.h.
References m_hwPt.
Referenced by OMTFSorter::candidates(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwPt(), operator==(), L1MuBMTrack::print(), L1MuBMTrack::pt(), l1t::stage2::BMTFUnpackerOutput::unpack(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), omtf::MuonUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get second compressed pT (returned int * 1.0 = pT (GeV))
Definition at line 107 of file RegionalMuonCand.h.
References m_hwPt2.
|
inline |
Get quality code.
Definition at line 119 of file RegionalMuonCand.h.
References m_hwQuality.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwQual(), operator==(), 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 115 of file RegionalMuonCand.h.
References m_hwSign.
Referenced by L1MuBMTrack::charge(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwSign(), operator==(), 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 117 of file RegionalMuonCand.h.
References m_hwSignValid.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), l1t::GMTInternalMuon::hwSignValid(), operator==(), L1MuBMTrackFinder::run(), l1t::stage2::RegionalMuonGMTUnpacker::unpack(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get link on which the MicroGMT receives the candidate.
Definition at line 121 of file RegionalMuonCand.h.
References m_link.
Referenced by L1TMuonProducer::convertMuons(), l1t::GMTInternalMuon::link(), operator==(), setLink(), L1TMuonProducer::splitAndConvertMuons(), and XMLConfigWriter::writeCandMuon().
|
inline |
Definition at line 152 of file RegionalMuonCand.h.
References m_hwPt, and operator==().
bool l1t::RegionalMuonCand::operator== | ( | const RegionalMuonCand & | rhs | ) | const |
Definition at line 28 of file RegionalMuonCand.cc.
References electrons_cff::bool, hwEta(), hwHF(), hwPhi(), hwPt(), hwQual(), hwSign(), hwSignValid(), link(), m_hwEta, m_hwHF, m_hwPhi, m_hwPt, m_hwQuality, m_hwSign, m_hwSignValid, m_link, m_processor, m_trackAddress, m_trackFinder, processor(), trackAddress(), and trackFinderType().
Referenced by operator!=(), and trackSubAddress().
|
inline |
Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 for BMTF)
Definition at line 123 of file RegionalMuonCand.h.
References m_processor.
Referenced by L1TMicroGMTInputProducer::cmpProc(), L1TMicroGMTInputProducerFromGen::compareMuons(), L1TMuonProducer::convertMuons(), operator==(), l1t::GMTInternalMuon::processor(), setHwHF(), setTFIdentifiers(), L1TMuonProducer::splitAndConvertMuons(), and XMLConfigWriter::writeCandMuon().
|
inline |
Definition at line 83 of file RegionalMuonCand.h.
References m_dataword.
Referenced by L1TMuonBarrelKalmanAlgo::addBMTFMuon(), and l1t::RegionalMuonRawDigiTranslator::fillRegionalMuonCand().
|
inline |
Definition at line 85 of file RegionalMuonCand.h.
References bits, and m_dataword.
|
inline |
Set compressed impact parameter with respect to beamspot (4 bits)
Definition at line 65 of file RegionalMuonCand.h.
Referenced by L1TMuonBarrelKalmanAlgo::addBMTFMuon().
|
inline |
Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits)
Definition at line 69 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 77 of file RegionalMuonCand.h.
References m_hwHF, processor(), and setTFIdentifiers().
Referenced by L1TMuonBarrelKalmanAlgo::addBMTFMuon(), 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 67 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 61 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 second displaced pT as transmitted by hardware LSB = 1.0 (8 bits)
Definition at line 63 of file RegionalMuonCand.h.
Referenced by L1TMuonBarrelKalmanAlgo::addBMTFMuon().
|
inline |
Set compressed quality code as transmitted by hardware (4 bits)
Definition at line 75 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 71 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 73 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 81 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 99 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 87 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 91 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 95 of file RegionalMuonCand.h.
References m_trackAddress, and relativeConstraints::value.
|
inline |
Get the track address (identifies track primitives used for reconstruction)
Definition at line 135 of file RegionalMuonCand.h.
References m_trackAddress.
Referenced by l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), 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 125 of file RegionalMuonCand.h.
References m_trackFinder.
Referenced by L1TMuonProducer::convertMuons(), l1t::RegionalMuonRawDigiTranslator::generatePackedDataWords(), operator==(), L1TMuonProducer::splitAndConvertMuons(), l1t::GMTInternalMuon::trackFinderType(), and XMLConfigWriter::writeCandMuon().
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 139 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 143 of file RegionalMuonCand.h.
References m_trackAddress.
|
inline |
Get part of track address (identifies track primitives used for reconstruction)
Definition at line 147 of file RegionalMuonCand.h.
References m_trackAddress, and operator==().
|
private |
This is the 64 bit word as transmitted in HW.
Definition at line 170 of file RegionalMuonCand.h.
Referenced by dataword(), dataword32Lsb(), dataword32Msb(), and setDataword().
|
private |
Definition at line 157 of file RegionalMuonCand.h.
Referenced by hwDXY(), and setHwDXY().
|
private |
Definition at line 159 of file RegionalMuonCand.h.
Referenced by hwEta(), operator==(), and setHwEta().
|
private |
Definition at line 160 of file RegionalMuonCand.h.
Referenced by hwHF(), operator==(), and setHwHF().
|
private |
Definition at line 158 of file RegionalMuonCand.h.
Referenced by hwPhi(), operator==(), and setHwPhi().
|
private |
Definition at line 152 of file RegionalMuonCand.h.
Referenced by hwPt(), operator!=(), operator==(), and setHwPt().
|
private |
Definition at line 156 of file RegionalMuonCand.h.
Referenced by hwPt2(), and setHwPt2().
|
private |
Definition at line 163 of file RegionalMuonCand.h.
Referenced by hwQual(), operator==(), and setHwQual().
|
private |
Definition at line 161 of file RegionalMuonCand.h.
Referenced by hwSign(), operator==(), and setHwSign().
|
private |
Definition at line 162 of file RegionalMuonCand.h.
Referenced by hwSignValid(), operator==(), and setHwSignValid().
|
private |
Definition at line 164 of file RegionalMuonCand.h.
Referenced by link(), operator==(), setLink(), and setTFIdentifiers().
|
private |
Definition at line 165 of file RegionalMuonCand.h.
Referenced by operator==(), processor(), and setTFIdentifiers().
|
private |
Definition at line 167 of file RegionalMuonCand.h.
Referenced by operator==(), RegionalMuonCand(), setTrackAddress(), setTrackSubAddress(), trackAddress(), and trackSubAddress().
|
private |
Definition at line 166 of file RegionalMuonCand.h.
Referenced by operator==(), setTFIdentifiers(), and trackFinderType().