14 #ifndef L1MUBM_TRACK_H
15 #define L1MUBM_TRACK_H
70 inline unsigned int pt()
const {
return hwPt(); }
73 inline unsigned int phi()
const {
return hwPhi(); }
169 void setTSphi(
const std::vector<const L1MuBMTrackSegPhi*>& tsList);
172 void setTSeta(
const std::vector<const L1MuBMTrackSegEta*>& tsList);
191 unsigned short int rank_f = 0;
192 unsigned short int rank_s = 0;
194 rank_f = first->
pt() + 512 * first->
quality();
196 rank_s = second->
pt() + 512 * second->
quality();
197 return rank_f > rank_s;
const std::vector< L1MuBMTrackSegEta > & getTSeta() const
return all eta track segments of the muon candidate
unsigned int pt() const
get pt-code (5 bits)
void setTC(TrackClass tc)
set track-class of muon candidate
void setHwPhi(int bits)
Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits)
void setPt(int pt)
set pt-code of muon candidate
bool operator!=(const L1MuBMTrack &) const
unequal operator
L1MuBMTrack & operator=(const L1MuBMTrack &)
assignment operator
const L1MuBMTrackSegPhi & getStartTSphi() const
return start phi track segment of muon candidate
const L1MuBMTrackSegEta & getEndTSeta() const
return end eta track segment of muon candidate
L1MuBMAddressArray address() const
get address-array for this muon candidate
void setQuality(unsigned int quality)
set quality of muon candidate
void setPhi(int phi)
set phi-code of muon candidate
std::vector< L1MuBMTrack > L1MuBMTrackCollection
void setAddresses(const L1MuBMAddressArray &addr)
set relative addresses of muon candidate
void setName(std::string name)
set name of object
const L1MuBMSecProcId & spid() const
return Sector Processor in which the muon candidate was found
void setCharge(int charge)
set charge of muon candidate
void disable()
disable muon candidate
std::vector< L1MuBMTrackSegEta > m_tsetaList
unsigned short station(int stat) const
get address of a given station [1-4]
int charge() const
get charge (1 bit)
void enable()
enable muon candidate
U second(std::pair< T, U > const &p)
const int hwQual() const
Get quality code.
TrackClass tc() const
get track-class
void setTSeta(const std::vector< const L1MuBMTrackSegEta * > &tsList)
set eta track segments used to form the muon candidate
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
unsigned int phi() const
get phi-code (8 bits)
const int hwHF() const
Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
void setHwHF(bool bit)
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)
void setBx(int bx)
set charge of muon candidate
const int hwEta() const
Get compressed eta (returned int * 0.010875 = eta)
int numberOfTSeta() const
return number of eta track segments used to form the muon candidate
const int hwPhi() const
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
int bx() const
get the bunch crossing for this muon candidate
std::string name() const
get name of object
friend std::ostream & operator<<(std::ostream &, const L1MuBMTrack &)
output stream operator
void setHwQual(int bits)
Set compressed quality code as transmitted by hardware (4 bits)
void setHwPt(int bits)
Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits)
int numberOfTSphi() const
return number of phi track segments used to form the muon candidate
void setFineEtaBit()
set fine eta bit
unsigned int quality() const
get quality
static bool rank(const L1MuBMTrack *first, const L1MuBMTrack *second)
define a rank for muon candidates
void setTSphi(const std::vector< const L1MuBMTrackSegPhi * > &tsList)
set phi track segments used to form the muon candidate
int address(int stat) const
get relative address of a given station
void reset()
reset muon candidate
void setEta(int eta)
set eta-code of muon candidate
const L1MuBMTrackSegPhi & getEndTSphi() const
return end phi track segment of muon candidate
const int hwPt() const
Get compressed pT (returned int * 0.5 = pT (GeV))
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
bool operator==(const L1MuBMTrack &) const
equal operator
int eta() const
get eta-code (6 bits)
std::vector< L1MuBMTrackSegPhi > m_tsphiList
void print() const
print parameters of muon candidate
bool fineEtaBit() const
get fine eta bit
~L1MuBMTrack() override
destructor
bool empty() const
is it an empty muon candidate?
const std::vector< L1MuBMTrackSegPhi > & getTSphi() const
return all phi track segments of the muon candidate
void setHwSign(int bits)
Set charge sign bit (charge = (-1)^(sign))
const L1MuBMTrackSegEta & getStartTSeta() const
return start eta track segment of muon candidate
L1MuBMAddressArray m_addArray
L1MuBMTrack()
default constructor