14 #ifndef L1MUBM_TRACK_H
15 #define L1MUBM_TRACK_H
76 inline unsigned int pt()
const {
return hwPt(); }
79 inline unsigned int phi()
const {
return hwPhi(); }
172 void setTSphi(
const std::vector<const L1MuBMTrackSegPhi*>& tsList);
175 void setTSeta(
const std::vector<const L1MuBMTrackSegEta*>& tsList);
196 class Rank : std::binary_function< const L1MuBMTrack*, const L1MuBMTrack*, bool> {
199 unsigned short int rank_f = 0;
200 unsigned short int rank_s = 0;
201 if ( first ) rank_f = first->
pt() + 512 * first->
quality();
202 if ( second ) rank_s = second->
pt() + 512 * second->
quality();
203 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
define a rank for muon candidates
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
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
unsigned int triggerScale(float value, const edm::EventSetup &c) const
convert pt value in GeV to pt code
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.
virtual ~L1MuBMTrack()
destructor
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
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
bool operator()(const L1MuBMTrack *first, const L1MuBMTrack *second) const
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
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