CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes | Friends
L1MuDTTrack Class Reference

#include <L1MuDTTrack.h>

Inheritance diagram for L1MuDTTrack:
L1MuRegionalCand

Public Member Functions

L1MuDTAddressArray address () const
 get address-array for this muon candidate More...
 
int address (int stat) const
 get relative address of a given station More...
 
int charge () const
 get charge (1 bit) More...
 
void disable ()
 disable muon candidate More...
 
bool empty () const override
 is it an empty muon candidate? More...
 
void enable ()
 enable muon candidate More...
 
unsigned int eta () const
 get eta-code (6 bits) More...
 
bool fineEtaBit () const
 get fine eta bit More...
 
const L1MuDTTrackSegEtagetEndTSeta () const
 return end eta track segment of muon candidate More...
 
const L1MuDTTrackSegPhigetEndTSphi () const
 return end phi track segment of muon candidate More...
 
const L1MuDTTrackSegEtagetStartTSeta () const
 return start eta track segment of muon candidate More...
 
const L1MuDTTrackSegPhigetStartTSphi () const
 return start phi track segment of muon candidate More...
 
const std::vector< L1MuDTTrackSegEta > & getTSeta () const
 return all eta track segments of the muon candidate More...
 
const std::vector< L1MuDTTrackSegPhi > & getTSphi () const
 return all phi track segments of the muon candidate More...
 
 L1MuDTTrack ()
 default constructor More...
 
 L1MuDTTrack (const L1MuDTSecProcId &)
 constructor More...
 
 L1MuDTTrack (const L1MuDTTrack &)
 copy constructor More...
 
std::string name () const
 get name of object More...
 
int numberOfTSeta () const
 return number of eta track segments used to form the muon candidate More...
 
int numberOfTSphi () const
 return number of phi track segments used to form the muon candidate More...
 
bool operator!= (const L1MuDTTrack &) const
 unequal operator More...
 
L1MuDTTrackoperator= (const L1MuDTTrack &)
 assignment operator More...
 
bool operator== (const L1MuDTTrack &) const
 equal operator More...
 
unsigned int phi () const
 get phi-code (8 bits) More...
 
void print () const override
 print parameters of muon candidate More...
 
unsigned int pt () const
 get pt-code (5 bits) More...
 
void reset () override
 reset muon candidate More...
 
void setAddresses (const L1MuDTAddressArray &addr)
 set relative addresses of muon candidate More...
 
void setCharge (int charge)
 set charge of muon candidate More...
 
void setEta (int eta)
 set eta-code of muon candidate More...
 
void setFineEtaBit ()
 set fine eta bit More...
 
void setName (std::string name)
 set name of object More...
 
void setPhi (int phi)
 set phi-code of muon candidate More...
 
void setPt (int pt)
 set pt-code of muon candidate More...
 
void setQuality (unsigned int quality)
 set quality of muon candidate More...
 
void setTC (TrackClass tc)
 set track-class of muon candidate More...
 
void setTSeta (const std::vector< const L1MuDTTrackSegEta *> &tsList)
 set eta track segments used to form the muon candidate More...
 
void setTSphi (const std::vector< const L1MuDTTrackSegPhi *> &tsList)
 set phi track segments used to form the muon candidate More...
 
const L1MuDTSecProcIdspid () const
 return Sector Processor in which the muon candidate was found More...
 
TrackClass tc () const
 get track-class More...
 
 ~L1MuDTTrack () override
 destructor More...
 
- Public Member Functions inherited from L1MuRegionalCand
int bx () const
 return bunch crossing identifier More...
 
unsigned charge_packed () const
 return charge packed as in hardware (0=pos, 1=neg) More...
 
unsigned charge_valid_packed () const
 return charge valid packed as in hardware (1=valid, 0=not valid) More...
 
bool chargeValid () const
 is the charge valid ? More...
 
int chargeValue () const
 get charge More...
 
unsigned eta_packed () const
 return eta packed as in hardware More...
 
float etaValue () const
 get eta-value of muon candidate More...
 
unsigned finehalo_packed () const
 return eta-fine (for DT) / halo (for CSC) bit More...
 
unsigned getDataWord () const
 return data word More...
 
bool isFineHalo () const
 is it fine (DT) / halo (CSC) ? More...
 
 L1MuRegionalCand (unsigned dataword=0, int bx=0)
 constructor from data word More...
 
 L1MuRegionalCand (unsigned type_idx, unsigned phi, unsigned eta, unsigned pt, unsigned charge, unsigned ch_valid, unsigned finehalo, unsigned quality, int bx)
 constructor from packed members More...
 
unsigned phi_packed () const
 return phi packed as in hardware More...
 
float phiValue () const
 get phi-value of muon candidate in radians (low edge of bin) More...
 
unsigned pt_packed () const
 return pt packed as in hardware More...
 
float ptValue () const
 get pt-value of muon candidate in GeV More...
 
unsigned int quality () const
 return quality More...
 
unsigned int quality_packed () const
 return quality packed as in hardware More...
 
void setBx (int bx)
 Set Bunch Crossing. More...
 
void setChargePacked (unsigned ch)
 Set Charge (0=pos, 1=neg) More...
 
void setChargeValid (bool valid)
 Set Charge Valid. More...
 
void setChargeValidPacked (unsigned valid)
 Set Charge Valid. More...
 
void setChargeValue (int charge)
 Set Charge Value: -1, 1. More...
 
void setDataWord (unsigned dataword)
 Set data word. More...
 
void setEtaPacked (unsigned eta)
 Set Eta: 6-bit code. More...
 
void setEtaValue (float etaVal)
 Set Eta Value (need to set type, first) More...
 
void setFineHalo (bool fh)
 Set Fine / Halo. More...
 
void setFineHaloPacked (unsigned fh)
 Set Fine / Halo. More...
 
void setPhiPacked (unsigned phi)
 Set Phi: 0..143. More...
 
void setPhiValue (float phiVal)
 Set Phi Value. More...
 
void setPtPacked (unsigned pt)
 Set Pt: 0..31. More...
 
void setPtValue (float ptVal)
 Set Pt Value. More...
 
void setQualityPacked (unsigned qual)
 Set Quality: 0..7. More...
 
void setType (unsigned type)
 Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC. More...
 
unsigned type_idx () const
 return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC More...
 
virtual ~L1MuRegionalCand ()
 destructor More...
 

Static Public Member Functions

static bool rank (const L1MuDTTrack *first, const L1MuDTTrack *second)
 define a rank for muon candidates More...
 

Private Attributes

L1MuDTAddressArray m_addArray
 
bool m_empty
 
std::string m_name
 
L1MuDTSecProcId m_spid
 
TrackClass m_tc
 
std::vector< L1MuDTTrackSegEtam_tsetaList
 
std::vector< L1MuDTTrackSegPhim_tsphiList
 

Friends

std::ostream & operator<< (std::ostream &, const L1MuDTTrack &)
 output stream operator More...
 

Additional Inherited Members

- Public Types inherited from L1MuRegionalCand
enum  { PHI_START = 0 }
 
enum  { PHI_LENGTH = 8 }
 
enum  { PT_START = 8 }
 
enum  { PT_LENGTH = 5 }
 
enum  { QUAL_START = 13 }
 
enum  { QUAL_LENGTH = 3 }
 
enum  { ETA_START = 16 }
 
enum  { ETA_LENGTH = 6 }
 
enum  { FINEHALO_START = 22 }
 
enum  { FINEHALO_LENGTH = 1 }
 
enum  { CHARGE_START = 23 }
 
enum  { CHARGE_LENGTH = 1 }
 
enum  { CHVALID_START = 24 }
 
enum  { CHVALID_LENGTH = 1 }
 
enum  { TYPE_START = 30 }
 
enum  { TYPE_LENGTH = 2 }
 

Detailed Description

L1 Muon Track Candidate

N. Neumeister CERN EP J. Troconiz UAM Madrid

Definition at line 45 of file L1MuDTTrack.h.

Constructor & Destructor Documentation

◆ L1MuDTTrack() [1/3]

L1MuDTTrack::L1MuDTTrack ( )

default constructor

Definition at line 48 of file L1MuDTTrack.cc.

References m_tsetaList, m_tsphiList, L1MuRegionalCand::setChargeValid(), and L1MuRegionalCand::setType().

49  : L1MuRegionalCand(0, 0),
51  m_name("L1MuDTTrack"),
52  m_empty(true),
53  m_tc(UNDEF),
54  m_addArray(),
55  m_tsphiList(),
56  m_tsetaList() {
57  m_tsphiList.reserve(4);
58  m_tsetaList.reserve(3);
59 
60  setType(0);
61  setChargeValid(true);
62 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:192
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197
void setChargeValid(bool valid)
Set Charge Valid.
TrackClass m_tc
Definition: L1MuDTTrack.h:194
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ L1MuDTTrack() [2/3]

L1MuDTTrack::L1MuDTTrack ( const L1MuDTSecProcId spid)

constructor

Definition at line 64 of file L1MuDTTrack.cc.

References m_tsetaList, m_tsphiList, L1MuRegionalCand::setChargeValid(), and L1MuRegionalCand::setType().

65  : L1MuRegionalCand(0, 0),
66  m_spid(spid),
67  m_name("L1MuDTTrack"),
68  m_empty(true),
69  m_tc(UNDEF),
70  m_addArray(),
71  m_tsphiList(),
72  m_tsetaList() {
73  m_tsphiList.reserve(4);
74  m_tsetaList.reserve(3);
75 
76  setType(0);
77  setChargeValid(true);
78 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:192
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197
const L1MuDTSecProcId & spid() const
return Sector Processor in which the muon candidate was found
Definition: L1MuDTTrack.h:87
void setChargeValid(bool valid)
Set Charge Valid.
TrackClass m_tc
Definition: L1MuDTTrack.h:194
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ L1MuDTTrack() [3/3]

L1MuDTTrack::L1MuDTTrack ( const L1MuDTTrack id)

copy constructor

Definition at line 80 of file L1MuDTTrack.cc.

81  : L1MuRegionalCand(id),
82  m_spid(id.m_spid),
83  m_name(id.m_name),
84  m_empty(id.m_empty),
85  m_tc(id.m_tc),
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:192
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197
TrackClass m_tc
Definition: L1MuDTTrack.h:194
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ ~L1MuDTTrack()

L1MuDTTrack::~L1MuDTTrack ( )
override

destructor

Definition at line 93 of file L1MuDTTrack.cc.

93 {}

Member Function Documentation

◆ address() [1/2]

L1MuDTAddressArray L1MuDTTrack::address ( ) const
inline

get address-array for this muon candidate

Definition at line 90 of file L1MuDTTrack.h.

References m_addArray.

90 { return m_addArray; }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196

◆ address() [2/2]

int L1MuDTTrack::address ( int  stat) const
inline

get relative address of a given station

Definition at line 93 of file L1MuDTTrack.h.

References m_addArray, and L1MuDTAddressArray::station().

93 { return m_addArray.station(stat); }
unsigned short station(int stat) const
get address of a given station [1-4]
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196

◆ charge()

int L1MuDTTrack::charge ( void  ) const
inline

get charge (1 bit)

Definition at line 78 of file L1MuDTTrack.h.

References L1MuRegionalCand::chargeValue().

Referenced by operator!=(), operator==(), and setCharge().

78 { return chargeValue(); }
int chargeValue() const
get charge

◆ disable()

void L1MuDTTrack::disable ( )
inline

disable muon candidate

Definition at line 126 of file L1MuDTTrack.h.

References m_empty.

126 { m_empty = true; }

◆ empty()

bool L1MuDTTrack::empty ( void  ) const
inlineoverridevirtual

is it an empty muon candidate?

Reimplemented from L1MuRegionalCand.

Definition at line 84 of file L1MuDTTrack.h.

References m_empty.

Referenced by print().

84 { return m_empty; }

◆ enable()

void L1MuDTTrack::enable ( )
inline

enable muon candidate

Definition at line 120 of file L1MuDTTrack.h.

References m_empty, and L1MuRegionalCand::setType().

Referenced by L1MuDTAssignmentUnit::run().

120  {
121  m_empty = false;
122  setType(0);
123  }
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.

◆ eta()

unsigned int L1MuDTTrack::eta ( void  ) const
inline

get eta-code (6 bits)

Definition at line 72 of file L1MuDTTrack.h.

References L1MuRegionalCand::eta_packed().

Referenced by Particle.Particle::__str__(), Jet.Jet::jetID(), operator!=(), operator==(), Jet.Jet::puJetId(), and setEta().

72 { return eta_packed(); }
unsigned eta_packed() const
return eta packed as in hardware

◆ fineEtaBit()

bool L1MuDTTrack::fineEtaBit ( ) const
inline

get fine eta bit

Definition at line 75 of file L1MuDTTrack.h.

References L1MuRegionalCand::isFineHalo().

Referenced by operator!=(), and operator==().

75 { return isFineHalo(); }
bool isFineHalo() const
is it fine (DT) / halo (CSC) ?

◆ getEndTSeta()

const L1MuDTTrackSegEta & L1MuDTTrack::getEndTSeta ( ) const

return end eta track segment of muon candidate

Definition at line 140 of file L1MuDTTrack.cc.

References m_tsetaList.

140 { return m_tsetaList.back(); }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198

◆ getEndTSphi()

const L1MuDTTrackSegPhi & L1MuDTTrack::getEndTSphi ( ) const

return end phi track segment of muon candidate

Definition at line 130 of file L1MuDTTrack.cc.

References m_tsphiList.

130 { return m_tsphiList.back(); }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197

◆ getStartTSeta()

const L1MuDTTrackSegEta & L1MuDTTrack::getStartTSeta ( ) const

return start eta track segment of muon candidate

Definition at line 135 of file L1MuDTTrack.cc.

References m_tsetaList.

135 { return m_tsetaList.front(); }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198

◆ getStartTSphi()

const L1MuDTTrackSegPhi & L1MuDTTrack::getStartTSphi ( ) const

return start phi track segment of muon candidate

Definition at line 125 of file L1MuDTTrack.cc.

References m_tsphiList.

125 { return m_tsphiList.front(); }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197

◆ getTSeta()

const std::vector<L1MuDTTrackSegEta>& L1MuDTTrack::getTSeta ( ) const
inline

return all eta track segments of the muon candidate

Definition at line 111 of file L1MuDTTrack.h.

References m_tsetaList.

111 { return m_tsetaList; }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198

◆ getTSphi()

const std::vector<L1MuDTTrackSegPhi>& L1MuDTTrack::getTSphi ( ) const
inline

return all phi track segments of the muon candidate

Definition at line 102 of file L1MuDTTrack.h.

References m_tsphiList.

102 { return m_tsphiList; }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197

◆ name()

std::string L1MuDTTrack::name ( void  ) const
inline

get name of object

Definition at line 63 of file L1MuDTTrack.h.

References m_name.

Referenced by config.CFG::__str__(), validation.Sample::digest(), VIDSelectorBase.VIDSelectorBase::initialize(), and setName().

63 { return m_name; }
std::string m_name
Definition: L1MuDTTrack.h:192

◆ numberOfTSeta()

int L1MuDTTrack::numberOfTSeta ( ) const
inline

return number of eta track segments used to form the muon candidate

Definition at line 99 of file L1MuDTTrack.h.

References m_tsetaList.

99 { return m_tsetaList.size(); }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198

◆ numberOfTSphi()

int L1MuDTTrack::numberOfTSphi ( ) const
inline

return number of phi track segments used to form the muon candidate

Definition at line 96 of file L1MuDTTrack.h.

References m_tsphiList.

96 { return m_tsphiList.size(); }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197

◆ operator!=()

bool L1MuDTTrack::operator!= ( const L1MuDTTrack track) const

unequal operator

Definition at line 218 of file L1MuDTTrack.cc.

References L1MuRegionalCand::bx(), charge(), eta(), fineEtaBit(), m_addArray, m_empty, m_spid, m_tc, phi(), pt(), L1MuRegionalCand::quality(), and HLT_2022v15_cff::track.

218  {
219  if (m_spid != track.m_spid)
220  return true;
221  if (m_empty != track.m_empty)
222  return true;
223  if (m_tc != track.m_tc)
224  return true;
225  if (bx() != track.bx())
226  return true;
227  if (phi() != track.phi())
228  return true;
229  if (eta() != track.eta())
230  return true;
231  if (fineEtaBit() != track.fineEtaBit())
232  return true;
233  if (pt() != track.pt())
234  return true;
235  if (charge() != track.charge())
236  return true;
237  if (quality() != track.quality())
238  return true;
239  if (m_addArray != track.m_addArray)
240  return true;
241  return false;
242 }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:72
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:66
unsigned int quality() const
return quality
bool fineEtaBit() const
get fine eta bit
Definition: L1MuDTTrack.h:75
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:69
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:78
TrackClass m_tc
Definition: L1MuDTTrack.h:194
int bx() const
return bunch crossing identifier
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ operator=()

L1MuDTTrack & L1MuDTTrack::operator= ( const L1MuDTTrack track)

assignment operator

Definition at line 171 of file L1MuDTTrack.cc.

References L1MuRegionalCand::bx(), L1MuRegionalCand::getDataWord(), m_addArray, m_empty, m_name, m_spid, m_tc, m_tsetaList, m_tsphiList, L1MuRegionalCand::setBx(), L1MuRegionalCand::setDataWord(), and HLT_2022v15_cff::track.

171  {
172  if (this != &track) {
173  this->setBx(track.bx());
174  this->setDataWord(track.getDataWord());
175  m_spid = track.m_spid;
176  m_empty = track.m_empty;
177  m_name = track.m_name;
178  m_tc = track.m_tc;
179  m_addArray = track.m_addArray;
180  m_tsphiList = track.m_tsphiList;
181  m_tsetaList = track.m_tsetaList;
182  }
183  return *this;
184 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196
unsigned getDataWord() const
return data word
std::string m_name
Definition: L1MuDTTrack.h:192
void setBx(int bx)
Set Bunch Crossing.
void setDataWord(unsigned dataword)
Set data word.
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197
TrackClass m_tc
Definition: L1MuDTTrack.h:194
int bx() const
return bunch crossing identifier
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ operator==()

bool L1MuDTTrack::operator== ( const L1MuDTTrack track) const

equal operator

Definition at line 189 of file L1MuDTTrack.cc.

References L1MuRegionalCand::bx(), charge(), eta(), fineEtaBit(), m_addArray, m_empty, m_spid, m_tc, phi(), pt(), L1MuRegionalCand::quality(), and HLT_2022v15_cff::track.

189  {
190  if (m_spid != track.m_spid)
191  return false;
192  if (m_empty != track.m_empty)
193  return false;
194  if (m_tc != track.m_tc)
195  return false;
196  if (bx() != track.bx())
197  return false;
198  if (phi() != track.phi())
199  return false;
200  if (eta() != track.eta())
201  return false;
202  if (fineEtaBit() != track.fineEtaBit())
203  return false;
204  if (pt() != track.pt())
205  return false;
206  if (charge() != track.charge())
207  return false;
208  if (quality() != track.quality())
209  return false;
210  if (m_addArray != track.m_addArray)
211  return false;
212  return true;
213 }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:72
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:66
unsigned int quality() const
return quality
bool fineEtaBit() const
get fine eta bit
Definition: L1MuDTTrack.h:75
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:69
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:78
TrackClass m_tc
Definition: L1MuDTTrack.h:194
int bx() const
return bunch crossing identifier
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ phi()

unsigned int L1MuDTTrack::phi ( void  ) const
inline

get phi-code (8 bits)

Definition at line 69 of file L1MuDTTrack.h.

References L1MuRegionalCand::phi_packed().

Referenced by Particle.Particle::__str__(), operator!=(), operator==(), ntupleDataFormat.Track::phiPull(), and setPhi().

69 { return phi_packed(); }
unsigned phi_packed() const
return phi packed as in hardware

◆ print()

void L1MuDTTrack::print ( void  ) const
overridevirtual

print parameters of muon candidate

Reimplemented from L1MuRegionalCand.

Definition at line 247 of file L1MuDTTrack.cc.

References L1MuRegionalCand::bx(), L1MuRegionalCand::charge_packed(), gather_cfg::cout, empty(), L1MuRegionalCand::eta_packed(), L1MuRegionalCand::finehalo_packed(), alignBH_cfg::fixed, m_spid, m_tsphiList, L1MuRegionalCand::phi_packed(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality_packed(), and tc().

247  {
248  if (!empty()) {
249  cout.setf(ios::showpoint);
250  cout.setf(ios::right, ios::adjustfield);
251  cout << setiosflags(ios::showpoint | ios::fixed);
252  cout << "MUON : "
253  << "pt = " << setw(2) << pt_packed() << " "
254  << "charge = " << setw(2) << charge_packed() << " "
255  << "eta = " << setw(2) << eta_packed() << " (" << setw(1) << finehalo_packed() << ") "
256  << "phi = " << setw(3) << phi_packed() << " "
257  << "quality = " << setw(1) << quality_packed() << '\t' << "class = " << tc() << " "
258  << "bx = " << setw(2) << bx() << endl;
259  cout << " found in " << m_spid << " with phi track segments :" << endl;
260  vector<L1MuDTTrackSegPhi>::const_iterator iter;
261  for (iter = m_tsphiList.begin(); iter != m_tsphiList.end(); iter++) {
262  cout << " " << (*iter) << endl;
263  }
264  }
265 }
unsigned int quality_packed() const
return quality packed as in hardware
unsigned pt_packed() const
return pt packed as in hardware
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
unsigned phi_packed() const
return phi packed as in hardware
unsigned eta_packed() const
return eta packed as in hardware
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197
bool empty() const override
is it an empty muon candidate?
Definition: L1MuDTTrack.h:84
unsigned finehalo_packed() const
return eta-fine (for DT) / halo (for CSC) bit
TrackClass tc() const
get track-class
Definition: L1MuDTTrack.h:81
int bx() const
return bunch crossing identifier
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ pt()

unsigned int L1MuDTTrack::pt ( ) const
inline

◆ rank()

static bool L1MuDTTrack::rank ( const L1MuDTTrack first,
const L1MuDTTrack second 
)
inlinestatic

define a rank for muon candidates

Definition at line 180 of file L1MuDTTrack.h.

References first, and edm::second().

Referenced by L1MuDTMuonSorter::run(), and L1MuDTWedgeSorter::run().

180  {
181  unsigned short int rank_f = 0; // rank of first
182  unsigned short int rank_s = 0; // rank of second
183  if (first)
184  rank_f = 10 * first->pt() + first->quality();
185  if (second)
186  rank_s = 10 * second->pt() + second->quality();
187  return rank_f > rank_s;
188  }
U second(std::pair< T, U > const &p)

◆ reset()

void L1MuDTTrack::reset ( void  )
overridevirtual

reset muon candidate

Reimplemented from L1MuRegionalCand.

Definition at line 102 of file L1MuDTTrack.cc.

References m_addArray, m_empty, m_tc, m_tsetaList, m_tsphiList, L1MuDTAddressArray::reset(), L1MuRegionalCand::reset(), and DiLeptonHelp::UNDEF.

102  {
104  m_empty = true;
105  m_tc = UNDEF;
106  m_addArray.reset();
107  m_tsphiList.clear();
108  m_tsetaList.clear();
109 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:196
void reset()
reset address array
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197
virtual void reset()
reset
TrackClass m_tc
Definition: L1MuDTTrack.h:194

◆ setAddresses()

void L1MuDTTrack::setAddresses ( const L1MuDTAddressArray addr)
inline

set relative addresses of muon candidate

Definition at line 156 of file L1MuDTTrack.h.

References generateTowerEtThresholdLUT::addr, and m_addArray.

Referenced by L1MuDTAssignmentUnit::run().

◆ setCharge()

void L1MuDTTrack::setCharge ( int  charge)
inline

set charge of muon candidate

Definition at line 147 of file L1MuDTTrack.h.

References charge(), L1MuRegionalCand::setChargeValid(), and L1MuRegionalCand::setChargeValue().

Referenced by L1MuDTAssignmentUnit::PtAU().

147  {
149  setChargeValid(true);
150  }
void setChargeValue(int charge)
Set Charge Value: -1, 1.
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:78
void setChargeValid(bool valid)
Set Charge Valid.

◆ setEta()

void L1MuDTTrack::setEta ( int  eta)

set eta-code of muon candidate

Definition at line 114 of file L1MuDTTrack.cc.

References eta(), L1MuSignedPacking< Bits >::packedFromIdx(), and L1MuRegionalCand::setEtaPacked().

Referenced by L1MuDTEtaProcessor::assign().

114  {
115  // eta is a signed integer [-32,31],
116  // representing 64 bins in an interval [-1.2,+1.2]
117  // first convert eta into an unsigned integer
120 }
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:72
unsigned packedFromIdx(int idx) const override
get the packed notation of a value, check range
Definition: L1MuPacking.h:104
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.

◆ setFineEtaBit()

void L1MuDTTrack::setFineEtaBit ( )
inline

set fine eta bit

Definition at line 141 of file L1MuDTTrack.h.

References L1MuRegionalCand::setFineHalo().

Referenced by L1MuDTEtaProcessor::assign().

141 { setFineHalo(true); }
void setFineHalo(bool fh)
Set Fine / Halo.

◆ setName()

void L1MuDTTrack::setName ( std::string  name)
inline

set name of object

Definition at line 129 of file L1MuDTTrack.h.

References m_name, and name().

129 { m_name = name; }
std::string name() const
get name of object
Definition: L1MuDTTrack.h:63
std::string m_name
Definition: L1MuDTTrack.h:192

◆ setPhi()

void L1MuDTTrack::setPhi ( int  phi)
inline

set phi-code of muon candidate

Definition at line 135 of file L1MuDTTrack.h.

References phi(), and L1MuRegionalCand::setPhiPacked().

Referenced by L1MuDTAssignmentUnit::PhiAU().

135 { setPhiPacked(phi); }
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:69
void setPhiPacked(unsigned phi)
Set Phi: 0..143.

◆ setPt()

void L1MuDTTrack::setPt ( int  pt)
inline

set pt-code of muon candidate

Definition at line 144 of file L1MuDTTrack.h.

References pt(), and L1MuRegionalCand::setPtPacked().

Referenced by L1MuDTAssignmentUnit::PtAU().

144 { setPtPacked(pt); }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:66
void setPtPacked(unsigned pt)
Set Pt: 0..31.

◆ setQuality()

void L1MuDTTrack::setQuality ( unsigned int  quality)
inline

set quality of muon candidate

Definition at line 153 of file L1MuDTTrack.h.

References L1MuRegionalCand::quality(), and L1MuRegionalCand::setQualityPacked().

Referenced by L1MuDTAssignmentUnit::QuaAU().

unsigned int quality() const
return quality
void setQualityPacked(unsigned qual)
Set Quality: 0..7.

◆ setTC()

void L1MuDTTrack::setTC ( TrackClass  tc)
inline

set track-class of muon candidate

Definition at line 132 of file L1MuDTTrack.h.

References m_tc, and tc().

Referenced by L1MuDTAssignmentUnit::run().

132 { m_tc = tc; }
TrackClass tc() const
get track-class
Definition: L1MuDTTrack.h:81
TrackClass m_tc
Definition: L1MuDTTrack.h:194

◆ setTSeta()

void L1MuDTTrack::setTSeta ( const std::vector< const L1MuDTTrackSegEta *> &  tsList)

set eta track segments used to form the muon candidate

Definition at line 158 of file L1MuDTTrack.cc.

References m_tsetaList.

Referenced by L1MuDTEtaProcessor::assign().

158  {
159  if (!tsList.empty()) {
160  vector<const L1MuDTTrackSegEta*>::const_iterator iter;
161  for (iter = tsList.begin(); iter != tsList.end(); iter++) {
162  if (*iter)
163  m_tsetaList.push_back(**iter);
164  }
165  }
166 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:198

◆ setTSphi()

void L1MuDTTrack::setTSphi ( const std::vector< const L1MuDTTrackSegPhi *> &  tsList)

set phi track segments used to form the muon candidate

Definition at line 145 of file L1MuDTTrack.cc.

References m_tsphiList.

Referenced by L1MuDTAssignmentUnit::run().

145  {
146  if (!tsList.empty()) {
147  vector<const L1MuDTTrackSegPhi*>::const_iterator iter;
148  for (iter = tsList.begin(); iter != tsList.end(); iter++) {
149  if (*iter)
150  m_tsphiList.push_back(**iter);
151  }
152  }
153 }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:197

◆ spid()

const L1MuDTSecProcId& L1MuDTTrack::spid ( ) const
inline

return Sector Processor in which the muon candidate was found

Definition at line 87 of file L1MuDTTrack.h.

References m_spid.

87 { return m_spid; }
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:191

◆ tc()

TrackClass L1MuDTTrack::tc ( ) const
inline

get track-class

Definition at line 81 of file L1MuDTTrack.h.

References m_tc.

Referenced by print(), and setTC().

81 { return m_tc; }
TrackClass m_tc
Definition: L1MuDTTrack.h:194

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  ,
const L1MuDTTrack  
)
friend

output stream operator

Member Data Documentation

◆ m_addArray

L1MuDTAddressArray L1MuDTTrack::m_addArray
private

Definition at line 196 of file L1MuDTTrack.h.

Referenced by address(), operator!=(), operator=(), operator==(), reset(), and setAddresses().

◆ m_empty

bool L1MuDTTrack::m_empty
private

Definition at line 193 of file L1MuDTTrack.h.

Referenced by disable(), empty(), enable(), operator!=(), operator=(), operator==(), and reset().

◆ m_name

std::string L1MuDTTrack::m_name
private

Definition at line 192 of file L1MuDTTrack.h.

Referenced by name(), operator=(), and setName().

◆ m_spid

L1MuDTSecProcId L1MuDTTrack::m_spid
private

Definition at line 191 of file L1MuDTTrack.h.

Referenced by operator!=(), operator=(), operator==(), print(), and spid().

◆ m_tc

TrackClass L1MuDTTrack::m_tc
private

Definition at line 194 of file L1MuDTTrack.h.

Referenced by operator!=(), operator=(), operator==(), reset(), setTC(), and tc().

◆ m_tsetaList

std::vector<L1MuDTTrackSegEta> L1MuDTTrack::m_tsetaList
private

◆ m_tsphiList

std::vector<L1MuDTTrackSegPhi> L1MuDTTrack::m_tsphiList
private