Go to the documentation of this file. 1 #ifndef __l1t_regional_muon_candidate_h__
2 #define __l1t_regional_muon_candidate_h__
const int processor() const
Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 for BMTF)
const int link() const
Get link on which the MicroGMT receives the candidate.
const int hwPhi() const
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
int trackSubAddress(omtfAddress subAddress) const
Get part of track address (identifies track primitives used for reconstruction)
uint64_t m_dataword
This is the 64 bit word as transmitted in HW.
bool operator==(const RegionalMuonCand &rhs) const
const uint32_t dataword32Msb() const
Get 32 MSBs of data word.
void setHwSign(int bits)
Set charge sign bit (charge = (-1)^(sign))
const int hwHF() const
Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
void setTrackAddress(const std::map< int, int > &address)
Set the whole track address.
void setTrackSubAddress(emtfAddress subAddress, int value)
Set a part of the muon candidates track address; specialised for EMTF.
const uint64_t dataword() const
Get 64 bit data word.
virtual ~RegionalMuonCand()
const int hwQual() const
Get quality code.
const int hwEta() const
Get compressed eta (returned int * 0.010875 = eta)
std::map< int, int > m_trackAddress
const uint32_t *__restrict__ Quality * quality
const int hwPt() const
Get compressed pT (returned int * 0.5 = pT (GeV))
void setDataword(uint32_t msbs, uint32_t lsbs)
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
const tftype trackFinderType() const
Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg)
const uint32_t dataword32Lsb() const
Get 32 LSBs of data word.
void setHwPt(int bits)
Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits)
void setHwHF(bool bit)
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
void setDataword(uint64_t bits)
const int hwDXY() const
Get compressed impact parameter (4 bits)
void setHwEta(int bits)
Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits)
void setTrackSubAddress(omtfAddress subAddress, int value)
Set a part of the muon candidates track address; specialised for OMTF.
const int hwPtUnconstrained() const
Get second compressed pT (returned int * 1.0 = pT (GeV))
RegionalMuonCand(int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder)
void setTrackSubAddress(bmtfAddress subAddress, int value)
Set a part of the muon candidates track address; specialised for BMTF.
void setHwQual(int bits)
Set compressed quality code as transmitted by hardware (4 bits)
void setHwSignValid(int bits)
Set whether charge measurement is valid (0 for high pT muons)
bool operator!=(const RegionalMuonCand &rhs) const
const std::map< int, int > & trackAddress() const
Get the track address (identifies track primitives used for reconstruction)
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
void setHwDXY(int bits)
Set compressed impact parameter with respect to beamspot (4 bits)
RegionalMuonCand(int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder, std::map< int, int > trackAddress)
unsigned long long uint64_t
const int hwSignValid() const
Get charge sign valid bit (0 - not valid (high pT muon); 1 - valid)
void setHwPtUnconstrained(int bits)
Set compressed second displaced pT as transmitted by hardware LSB = 1.0 (8 bits)
void setHwPhi(int bits)
Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits)
int trackSubAddress(bmtfAddress subAddress) const
Get part of track address (identifies track primitives used for reconstruction)
int trackSubAddress(emtfAddress subAddress) const
Get part of track address (identifies track primitives used for reconstruction)