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...
 
unsigned int triggerScale (float value, const edm::EventSetup &c) const
 convert pt value in GeV to pt code 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 48 of file L1MuDTTrack.h.

Constructor & Destructor Documentation

L1MuDTTrack::L1MuDTTrack ( )

default constructor

Definition at line 48 of file L1MuDTTrack.cc.

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

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

constructor

Definition at line 63 of file L1MuDTTrack.cc.

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

63  :
64  L1MuRegionalCand(0,0),
65  m_spid(spid), m_name("L1MuDTTrack"), m_empty(true),
66  m_tc(UNDEF),
68 
69  m_tsphiList.reserve(4);
70  m_tsetaList.reserve(3);
71 
72  setType(0);
73  setChargeValid(true);
74 
75 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:193
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
void setChargeValid(bool valid)
Set Charge Valid.
TrackClass m_tc
Definition: L1MuDTTrack.h:195
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:192
L1MuDTTrack::L1MuDTTrack ( const L1MuDTTrack id)

copy constructor

Definition at line 78 of file L1MuDTTrack.cc.

78  :
79  L1MuRegionalCand(id),
80  m_spid(id.m_spid), m_name(id.m_name), m_empty(id.m_empty),
81  m_tc(id.m_tc),
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:193
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
TrackClass m_tc
Definition: L1MuDTTrack.h:195
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:192
L1MuDTTrack::~L1MuDTTrack ( )
override

destructor

Definition at line 89 of file L1MuDTTrack.cc.

89 {}

Member Function Documentation

L1MuDTAddressArray L1MuDTTrack::address ( ) const
inline

get address-array for this muon candidate

Definition at line 95 of file L1MuDTTrack.h.

References m_addArray.

Referenced by L1MuDTEtaProcessor::receiveAddresses(), L1MuDTWedgeSorter::run(), and L1MuDTTrackFinder::run().

95 { return m_addArray; }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
int L1MuDTTrack::address ( int  stat) const
inline

get relative address of a given station

Definition at line 98 of file L1MuDTTrack.h.

References m_addArray, and L1MuDTAddressArray::station().

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

get charge (1 bit)

Definition at line 83 of file L1MuDTTrack.h.

References L1MuRegionalCand::chargeValue().

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

83 { return chargeValue(); }
int chargeValue() const
get charge
void L1MuDTTrack::disable ( )
inline

disable muon candidate

Definition at line 128 of file L1MuDTTrack.h.

References m_empty.

128 { m_empty = true; }
bool L1MuDTTrack::empty ( void  ) const
inlineoverridevirtual

is it an empty muon candidate?

Reimplemented from L1MuRegionalCand.

Definition at line 89 of file L1MuDTTrack.h.

References m_empty.

Referenced by operator<<(), print(), L1MuDTEtaProcessor::receiveAddresses(), L1MuDTWedgeSorter::run(), and L1MuDTTrackFinder::run().

89 { return m_empty; }
void L1MuDTTrack::enable ( )
inline

enable muon candidate

Definition at line 125 of file L1MuDTTrack.h.

References m_empty, and L1MuRegionalCand::setType().

Referenced by L1MuDTAssignmentUnit::run().

125 { m_empty = false; setType(0); }
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
unsigned int L1MuDTTrack::eta ( void  ) const
inline

get eta-code (6 bits)

Definition at line 77 of file L1MuDTTrack.h.

References L1MuRegionalCand::eta_packed().

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

77 { return eta_packed(); }
unsigned eta_packed() const
return eta packed as in hardware
bool L1MuDTTrack::fineEtaBit ( ) const
inline

get fine eta bit

Definition at line 80 of file L1MuDTTrack.h.

References L1MuRegionalCand::isFineHalo().

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

80 { return isFineHalo(); }
bool isFineHalo() const
is it fine (DT) / halo (CSC) ?
const L1MuDTTrackSegEta & L1MuDTTrack::getEndTSeta ( ) const

return end eta track segment of muon candidate

Definition at line 158 of file L1MuDTTrack.cc.

References m_tsetaList.

Referenced by getTSeta().

158  {
159 
160  return m_tsetaList.back();
161 
162 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
const L1MuDTTrackSegPhi & L1MuDTTrack::getEndTSphi ( ) const

return end phi track segment of muon candidate

Definition at line 138 of file L1MuDTTrack.cc.

References m_tsphiList.

Referenced by getTSphi().

138  {
139 
140  return m_tsphiList.back();
141 
142 }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
const L1MuDTTrackSegEta & L1MuDTTrack::getStartTSeta ( ) const

return start eta track segment of muon candidate

Definition at line 148 of file L1MuDTTrack.cc.

References m_tsetaList.

Referenced by getTSeta().

148  {
149 
150  return m_tsetaList.front();
151 
152 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
const L1MuDTTrackSegPhi & L1MuDTTrack::getStartTSphi ( ) const

return start phi track segment of muon candidate

Definition at line 128 of file L1MuDTTrack.cc.

References m_tsphiList.

Referenced by getTSphi().

128  {
129 
130  return m_tsphiList.front();
131 
132 }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
const std::vector<L1MuDTTrackSegEta>& L1MuDTTrack::getTSeta ( ) const
inline

return all eta track segments of the muon candidate

Definition at line 116 of file L1MuDTTrack.h.

References getEndTSeta(), getStartTSeta(), and m_tsetaList.

116 { return m_tsetaList; }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
const std::vector<L1MuDTTrackSegPhi>& L1MuDTTrack::getTSphi ( ) const
inline

return all phi track segments of the muon candidate

Definition at line 107 of file L1MuDTTrack.h.

References getEndTSphi(), getStartTSphi(), and m_tsphiList.

107 { return m_tsphiList; }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
std::string L1MuDTTrack::name ( void  ) const
inline

get name of object

Definition at line 68 of file L1MuDTTrack.h.

References m_name.

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

68 { return m_name; }
std::string m_name
Definition: L1MuDTTrack.h:193
int L1MuDTTrack::numberOfTSeta ( ) const
inline

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

Definition at line 104 of file L1MuDTTrack.h.

References m_tsetaList.

104 { return m_tsetaList.size(); }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
int L1MuDTTrack::numberOfTSphi ( ) const
inline

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

Definition at line 101 of file L1MuDTTrack.h.

References m_tsphiList.

101 { return m_tsphiList.size(); }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
bool L1MuDTTrack::operator!= ( const L1MuDTTrack track) const

unequal operator

Definition at line 255 of file L1MuDTTrack.cc.

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

Referenced by setAddresses().

255  {
256 
257  if ( m_spid != track.m_spid ) return true;
258  if ( m_empty != track.m_empty ) return true;
259  if ( m_tc != track.m_tc ) return true;
260  if ( bx() != track.bx() ) return true;
261  if ( phi() != track.phi() ) return true;
262  if ( eta() != track.eta() ) return true;
263  if ( fineEtaBit() != track.fineEtaBit() ) return true;
264  if ( pt() != track.pt() ) return true;
265  if ( charge() != track.charge() ) return true;
266  if ( quality() != track.quality() ) return true;
267  if ( m_addArray != track.m_addArray ) return true;
268  return false;
269 
270 }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:83
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:77
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:74
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:71
unsigned int quality() const
return quality
int bx() const
return bunch crossing identifier
TrackClass m_tc
Definition: L1MuDTTrack.h:195
bool fineEtaBit() const
get fine eta bit
Definition: L1MuDTTrack.h:80
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:192
L1MuDTTrack & L1MuDTTrack::operator= ( const L1MuDTTrack track)

assignment operator

Definition at line 213 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(), and L1MuRegionalCand::setDataWord().

Referenced by setAddresses().

213  {
214 
215  if ( this != &track ) {
216  this->setBx(track.bx());
217  this->setDataWord(track.getDataWord());
218  m_spid = track.m_spid;
219  m_empty = track.m_empty;
220  m_name = track.m_name;
221  m_tc = track.m_tc;
222  m_addArray = track.m_addArray;
223  m_tsphiList = track.m_tsphiList;
224  m_tsetaList = track.m_tsetaList;
225  }
226  return *this;
227 
228 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
std::string m_name
Definition: L1MuDTTrack.h:193
void setBx(int bx)
Set Bunch Crossing.
void setDataWord(unsigned dataword)
Set data word.
unsigned getDataWord() const
return data word
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
int bx() const
return bunch crossing identifier
TrackClass m_tc
Definition: L1MuDTTrack.h:195
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:192
bool L1MuDTTrack::operator== ( const L1MuDTTrack track) const

equal operator

Definition at line 234 of file L1MuDTTrack.cc.

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

Referenced by setAddresses().

234  {
235 
236  if ( m_spid != track.m_spid ) return false;
237  if ( m_empty != track.m_empty ) return false;
238  if ( m_tc != track.m_tc ) return false;
239  if ( bx() != track.bx() ) return false;
240  if ( phi() != track.phi() ) return false;
241  if ( eta() != track.eta() ) return false;
242  if ( fineEtaBit() != track.fineEtaBit() ) return false;
243  if ( pt() != track.pt() ) return false;
244  if ( charge() != track.charge() ) return false;
245  if ( quality() != track.quality() ) return false;
246  if ( m_addArray != track.m_addArray ) return false;
247  return true;
248 
249 }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:83
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:77
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:74
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:71
unsigned int quality() const
return quality
int bx() const
return bunch crossing identifier
TrackClass m_tc
Definition: L1MuDTTrack.h:195
bool fineEtaBit() const
get fine eta bit
Definition: L1MuDTTrack.h:80
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:192
unsigned int L1MuDTTrack::phi ( void  ) const
inline

get phi-code (8 bits)

Definition at line 74 of file L1MuDTTrack.h.

References L1MuRegionalCand::phi_packed().

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

74 { return phi_packed(); }
unsigned phi_packed() const
return phi packed as in hardware
void L1MuDTTrack::print ( void  ) const
overridevirtual

print parameters of muon candidate

Reimplemented from L1MuRegionalCand.

Definition at line 276 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().

Referenced by setAddresses().

276  {
277 
278  if ( !empty() ) {
279  cout.setf(ios::showpoint);
280  cout.setf(ios::right,ios::adjustfield);
281  cout << setiosflags(ios::showpoint | ios::fixed);
282  cout << "MUON : "
283  << "pt = " << setw(2) << pt_packed() << " "
284  << "charge = " << setw(2) << charge_packed() << " "
285  << "eta = " << setw(2) << eta_packed()
286  << " (" << setw(1) << finehalo_packed() << ") "
287  << "phi = " << setw(3) << phi_packed() << " "
288  << "quality = " << setw(1) << quality_packed() << '\t'
289  << "class = " << tc() << " "
290  << "bx = " << setw(2) << bx() << endl;
291  cout << " found in " << m_spid << " with phi track segments :" << endl;
292  vector<L1MuDTTrackSegPhi>::const_iterator iter;
293  for ( iter = m_tsphiList.begin(); iter != m_tsphiList.end(); iter++ ) {
294  cout << " " << (*iter) << endl;
295  }
296  }
297 
298 }
TrackClass tc() const
get track-class
Definition: L1MuDTTrack.h:86
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
bool empty() const override
is it an empty muon candidate?
Definition: L1MuDTTrack.h:89
unsigned eta_packed() const
return eta packed as in hardware
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
unsigned finehalo_packed() const
return eta-fine (for DT) / halo (for CSC) bit
unsigned int quality_packed() const
return quality packed as in hardware
int bx() const
return bunch crossing identifier
unsigned pt_packed() const
return pt packed as in hardware
unsigned phi_packed() const
return phi packed as in hardware
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:192
unsigned int L1MuDTTrack::pt ( ) const
inline
static bool L1MuDTTrack::rank ( const L1MuDTTrack first,
const L1MuDTTrack second 
)
inlinestatic

define a rank for muon candidates

Definition at line 182 of file L1MuDTTrack.h.

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

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

182  {
183  unsigned short int rank_f = 0; // rank of first
184  unsigned short int rank_s = 0; // rank of second
185  if ( first ) rank_f = 10 * first->pt() + first->quality();
186  if ( second ) rank_s = 10 * second->pt() + second->quality();
187  return rank_f > rank_s;
188  }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:71
unsigned int quality() const
return quality
void L1MuDTTrack::reset ( void  )
overridevirtual

reset muon candidate

Reimplemented from L1MuRegionalCand.

Definition at line 99 of file L1MuDTTrack.cc.

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

99  {
100 
102  m_empty = true;
103  m_tc = UNDEF;
104  m_addArray.reset();
105  m_tsphiList.clear();
106  m_tsetaList.clear();
107 
108 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
void reset()
reset address array
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
virtual void reset()
reset
TrackClass m_tc
Definition: L1MuDTTrack.h:195
void L1MuDTTrack::setAddresses ( const L1MuDTAddressArray addr)
inline

set relative addresses of muon candidate

Definition at line 155 of file L1MuDTTrack.h.

References EnergyCorrector::c, m_addArray, operator!=(), operator<<, operator=(), operator==(), print(), setTSeta(), setTSphi(), and triggerScale().

Referenced by L1MuDTAssignmentUnit::run().

155 { m_addArray = addr; }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:197
void L1MuDTTrack::setCharge ( int  charge)
inline

set charge of muon candidate

Definition at line 149 of file L1MuDTTrack.h.

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

Referenced by L1MuDTAssignmentUnit::PtAU().

int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:83
void setChargeValue(int charge)
Set Charge Value: -1, 1.
void setChargeValid(bool valid)
Set Charge Valid.
void L1MuDTTrack::setEta ( int  eta)

set eta-code of muon candidate

Definition at line 114 of file L1MuDTTrack.cc.

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

Referenced by L1MuDTEtaProcessor::assign(), and setPhi().

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

set fine eta bit

Definition at line 143 of file L1MuDTTrack.h.

References L1MuRegionalCand::setFineHalo().

Referenced by L1MuDTEtaProcessor::assign().

143 { setFineHalo(true); }
void setFineHalo(bool fh)
Set Fine / Halo.
void L1MuDTTrack::setName ( std::string  name)
inline

set name of object

Definition at line 131 of file L1MuDTTrack.h.

References m_name, and name().

131 { m_name = name; }
std::string name() const
get name of object
Definition: L1MuDTTrack.h:68
std::string m_name
Definition: L1MuDTTrack.h:193
void L1MuDTTrack::setPhi ( int  phi)
inline

set phi-code of muon candidate

Definition at line 137 of file L1MuDTTrack.h.

References eta(), setEta(), and L1MuRegionalCand::setPhiPacked().

Referenced by L1MuDTAssignmentUnit::PhiAU().

137 { setPhiPacked(phi); }
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:74
void setPhiPacked(unsigned phi)
Set Phi: 0..143.
void L1MuDTTrack::setPt ( int  pt)
inline

set pt-code of muon candidate

Definition at line 146 of file L1MuDTTrack.h.

References L1MuRegionalCand::setPtPacked().

Referenced by L1MuDTAssignmentUnit::PtAU().

146 { setPtPacked(pt); }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:71
void setPtPacked(unsigned pt)
Set Pt: 0..31.
void L1MuDTTrack::setQuality ( unsigned int  quality)
inline

set quality of muon candidate

Definition at line 152 of file L1MuDTTrack.h.

References L1MuRegionalCand::setQualityPacked().

Referenced by L1MuDTAssignmentUnit::QuaAU().

unsigned int quality() const
return quality
void setQualityPacked(unsigned qual)
Set Quality: 0..7.
void L1MuDTTrack::setTC ( TrackClass  tc)
inline

set track-class of muon candidate

Definition at line 134 of file L1MuDTTrack.h.

References m_tc, and tc().

Referenced by L1MuDTAssignmentUnit::run().

134 { m_tc = tc; }
TrackClass tc() const
get track-class
Definition: L1MuDTTrack.h:86
TrackClass m_tc
Definition: L1MuDTTrack.h:195
void L1MuDTTrack::setTSeta ( const std::vector< const L1MuDTTrackSegEta * > &  tsList)

set eta track segments used to form the muon candidate

Definition at line 183 of file L1MuDTTrack.cc.

References m_tsetaList.

Referenced by L1MuDTEtaProcessor::assign(), and setAddresses().

183  {
184 
185  if ( !tsList.empty() ) {
186  vector<const L1MuDTTrackSegEta*>::const_iterator iter;
187  for ( iter = tsList.begin(); iter != tsList.end(); iter++ ) {
188  if ( *iter ) m_tsetaList.push_back(**iter);
189  }
190  }
191 
192 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:199
void L1MuDTTrack::setTSphi ( const std::vector< const L1MuDTTrackSegPhi * > &  tsList)

set phi track segments used to form the muon candidate

Definition at line 168 of file L1MuDTTrack.cc.

References m_tsphiList.

Referenced by L1MuDTAssignmentUnit::run(), and setAddresses().

168  {
169 
170  if ( !tsList.empty() ) {
171  vector<const L1MuDTTrackSegPhi*>::const_iterator iter;
172  for ( iter = tsList.begin(); iter != tsList.end(); iter++ ) {
173  if ( *iter ) m_tsphiList.push_back(**iter);
174  }
175  }
176 
177 }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:198
const L1MuDTSecProcId& L1MuDTTrack::spid ( ) const
inline

return Sector Processor in which the muon candidate was found

Definition at line 92 of file L1MuDTTrack.h.

References m_spid.

Referenced by L1MuDTTrackFinder::run().

92 { return m_spid; }
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:192
TrackClass L1MuDTTrack::tc ( ) const
inline

get track-class

Definition at line 86 of file L1MuDTTrack.h.

References m_tc.

Referenced by print(), L1MuDTTrackFinder::run(), and setTC().

86 { return m_tc; }
TrackClass m_tc
Definition: L1MuDTTrack.h:195
unsigned int L1MuDTTrack::triggerScale ( float  value,
const edm::EventSetup c 
) const

convert pt value in GeV to pt code

Definition at line 198 of file L1MuDTTrack.cc.

References edm::EventSetup::get(), L1MuScale::getPacked(), and L1MuTriggerPtScale::getPtScale().

Referenced by setAddresses().

198  {
199 
200  const float eps = 1.e-5; // add an epsilon so that setting works with low edge value
201 
202  edm::ESHandle< L1MuTriggerPtScale > theTriggerScales;
203  c.get< L1MuTriggerPtScaleRcd >().get( theTriggerScales );
204  unsigned int t_Scale = theTriggerScales->getPtScale()->getPacked( value + eps );
205 
206  return t_Scale;
207 }
const L1MuScale * getPtScale() const
get the Pt scale
Definition: value.py:1
T get() const
Definition: EventSetup.h:68
virtual unsigned getPacked(float value) const =0
pack a value

Friends And Related Function Documentation

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

output stream operator

Referenced by setAddresses().

Member Data Documentation

L1MuDTAddressArray L1MuDTTrack::m_addArray
private

Definition at line 197 of file L1MuDTTrack.h.

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

bool L1MuDTTrack::m_empty
private

Definition at line 194 of file L1MuDTTrack.h.

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

std::string L1MuDTTrack::m_name
private

Definition at line 193 of file L1MuDTTrack.h.

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

L1MuDTSecProcId L1MuDTTrack::m_spid
private

Definition at line 192 of file L1MuDTTrack.h.

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

TrackClass L1MuDTTrack::m_tc
private

Definition at line 195 of file L1MuDTTrack.h.

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

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