51 m_name(
"L1MuDTTrack"),
67 m_name(
"L1MuDTTrack"),
86 m_addArray(
id.m_addArray),
87 m_tsphiList(
id.m_tsphiList),
88 m_tsetaList(
id.m_tsetaList) {}
146 if (!tsList.empty()) {
147 vector<const L1MuDTTrackSegPhi*>::const_iterator iter;
148 for (iter = tsList.begin(); iter != tsList.end(); iter++) {
159 if (!tsList.empty()) {
160 vector<const L1MuDTTrackSegEta*>::const_iterator iter;
161 for (iter = tsList.begin(); iter != tsList.end(); iter++) {
172 const float eps = 1.e-5;
185 if (
this != &
track) {
262 cout.setf(ios::showpoint);
263 cout.setf(ios::right, ios::adjustfield);
266 <<
"pt = " << setw(2) <<
pt_packed() <<
" " 270 <<
"quality = " << setw(1) <<
quality_packed() <<
'\t' <<
"class = " <<
tc() <<
" " 271 <<
"bx = " << setw(2) <<
bx() << endl;
272 cout <<
" found in " <<
m_spid <<
" with phi track segments :" << endl;
273 vector<L1MuDTTrackSegPhi>::const_iterator iter;
275 cout <<
" " << (*iter) << endl;
285 s << setiosflags(ios::showpoint |
ios::fixed) <<
"pt = " << setw(2) <<
id.pt_packed() <<
" " 286 <<
"charge = " << setw(2) <<
id.charge_packed() <<
" " 287 <<
"eta = " << setw(2) <<
id.eta_packed() <<
" (" << setw(1) <<
id.finehalo_packed() <<
") " 288 <<
"phi = " << setw(3) <<
id.phi_packed() <<
" " 289 <<
"quality = " << setw(1) <<
id.quality_packed() <<
'\t' <<
"bx = " << setw(2) <<
id.bx();
void print() const override
print parameters of muon candidate
std::vector< L1MuDTTrackSegEta > m_tsetaList
L1MuDTAddressArray m_addArray
unsigned int quality_packed() const
return quality packed as in hardware
~L1MuDTTrack() override
destructor
unsigned int eta() const
get eta-code (6 bits)
unsigned pt_packed() const
return pt packed as in hardware
unsigned int pt() const
get pt-code (5 bits)
const L1MuDTTrackSegEta & getStartTSeta() const
return start eta track segment of muon candidate
unsigned int quality() const
return quality
ostream & operator<<(ostream &s, const L1MuDTTrack &id)
void setTSeta(const std::vector< const L1MuDTTrackSegEta *> &tsList)
set eta track segments used to form the muon candidate
const L1MuDTTrackSegPhi & getEndTSphi() const
return end phi track segment of muon candidate
void reset()
reset address array
bool fineEtaBit() const
get fine eta bit
const L1MuDTTrackSegEta & getEndTSeta() const
return end eta track segment of muon candidate
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
unsigned getDataWord() const
return data word
unsigned phi_packed() const
return phi packed as in hardware
const L1MuScale * getPtScale() const
get the Pt scale
L1MuDTTrack & operator=(const L1MuDTTrack &)
assignment operator
void setEta(int eta)
set eta-code of muon candidate
void setBx(int bx)
Set Bunch Crossing.
void setDataWord(unsigned dataword)
Set data word.
void reset() override
reset muon candidate
unsigned int phi() const
get phi-code (8 bits)
void setTSphi(const std::vector< const L1MuDTTrackSegPhi *> &tsList)
set phi track segments used to form the muon candidate
unsigned int triggerScale(float value, const edm::EventSetup &c) const
convert pt value in GeV to pt code
unsigned eta_packed() const
return eta packed as in hardware
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
std::vector< L1MuDTTrackSegPhi > m_tsphiList
L1MuDTTrack()
default constructor
bool operator!=(const L1MuDTTrack &) const
unequal operator
int charge() const
get charge (1 bit)
unsigned packedFromIdx(int idx) const override
get the packed notation of a value, check range
bool empty() const override
is it an empty muon candidate?
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.
const L1MuDTTrackSegPhi & getStartTSphi() const
return start phi track segment of muon candidate
unsigned finehalo_packed() const
return eta-fine (for DT) / halo (for CSC) bit
virtual unsigned getPacked(float value) const =0
pack a value
virtual void reset()
reset
bool operator==(const L1MuDTTrack &) const
equal operator
void setChargeValid(bool valid)
Set Charge Valid.
TrackClass tc() const
get track-class
int bx() const
return bunch crossing identifier