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 47 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().

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:203
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:197
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:202
void setChargeValid(bool valid)
Set Charge Valid.
TrackClass m_tc
Definition: L1MuDTTrack.h:199
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:196
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:203
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:197
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:202
void setChargeValid(bool valid)
Set Charge Valid.
TrackClass m_tc
Definition: L1MuDTTrack.h:199
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:196
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:203
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
std::string m_name
Definition: L1MuDTTrack.h:197
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:202
TrackClass m_tc
Definition: L1MuDTTrack.h:199
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:196
L1MuDTTrack::~L1MuDTTrack ( )
override

destructor

Definition at line 93 of file L1MuDTTrack.cc.

93 {}

Member Function Documentation

L1MuDTAddressArray L1MuDTTrack::address ( ) const
inline

get address-array for this muon candidate

Definition at line 92 of file L1MuDTTrack.h.

References m_addArray.

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

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

get relative address of a given station

Definition at line 95 of file L1MuDTTrack.h.

References m_addArray, and L1MuDTAddressArray::station().

95 { return m_addArray.station(stat); }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
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 80 of file L1MuDTTrack.h.

References L1MuRegionalCand::chargeValue().

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

80 { 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 86 of file L1MuDTTrack.h.

References m_empty.

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

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

enable muon candidate

Definition at line 122 of file L1MuDTTrack.h.

References m_empty, and L1MuRegionalCand::setType().

Referenced by L1MuDTAssignmentUnit::run().

122  {
123  m_empty = false;
124  setType(0);
125  }
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 74 of file L1MuDTTrack.h.

References L1MuRegionalCand::eta_packed().

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

74 { 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 77 of file L1MuDTTrack.h.

References L1MuRegionalCand::isFineHalo().

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

77 { 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 140 of file L1MuDTTrack.cc.

References m_tsetaList.

Referenced by getTSeta().

140 { return m_tsetaList.back(); }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:203
const L1MuDTTrackSegPhi & L1MuDTTrack::getEndTSphi ( ) const

return end phi track segment of muon candidate

Definition at line 130 of file L1MuDTTrack.cc.

References m_tsphiList.

Referenced by getTSphi().

130 { return m_tsphiList.back(); }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:202
const L1MuDTTrackSegEta & L1MuDTTrack::getStartTSeta ( ) const

return start eta track segment of muon candidate

Definition at line 135 of file L1MuDTTrack.cc.

References m_tsetaList.

Referenced by getTSeta().

135 { return m_tsetaList.front(); }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:203
const L1MuDTTrackSegPhi & L1MuDTTrack::getStartTSphi ( ) const

return start phi track segment of muon candidate

Definition at line 125 of file L1MuDTTrack.cc.

References m_tsphiList.

Referenced by getTSphi().

125 { return m_tsphiList.front(); }
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:202
const std::vector<L1MuDTTrackSegEta>& L1MuDTTrack::getTSeta ( ) const
inline

return all eta track segments of the muon candidate

Definition at line 113 of file L1MuDTTrack.h.

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

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

return all phi track segments of the muon candidate

Definition at line 104 of file L1MuDTTrack.h.

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

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

get name of object

Definition at line 65 of file L1MuDTTrack.h.

References m_name.

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

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

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

Definition at line 101 of file L1MuDTTrack.h.

References m_tsetaList.

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

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

Definition at line 98 of file L1MuDTTrack.h.

References m_tsphiList.

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

unequal operator

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

231  {
232  if (m_spid != track.m_spid)
233  return true;
234  if (m_empty != track.m_empty)
235  return true;
236  if (m_tc != track.m_tc)
237  return true;
238  if (bx() != track.bx())
239  return true;
240  if (phi() != track.phi())
241  return true;
242  if (eta() != track.eta())
243  return true;
244  if (fineEtaBit() != track.fineEtaBit())
245  return true;
246  if (pt() != track.pt())
247  return true;
248  if (charge() != track.charge())
249  return true;
250  if (quality() != track.quality())
251  return true;
252  if (m_addArray != track.m_addArray)
253  return true;
254  return false;
255 }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:80
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:74
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:71
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:68
unsigned int quality() const
return quality
int bx() const
return bunch crossing identifier
TrackClass m_tc
Definition: L1MuDTTrack.h:199
bool fineEtaBit() const
get fine eta bit
Definition: L1MuDTTrack.h:77
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:196
L1MuDTTrack & L1MuDTTrack::operator= ( const L1MuDTTrack track)

assignment operator

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

184  {
185  if (this != &track) {
186  this->setBx(track.bx());
187  this->setDataWord(track.getDataWord());
188  m_spid = track.m_spid;
189  m_empty = track.m_empty;
190  m_name = track.m_name;
191  m_tc = track.m_tc;
192  m_addArray = track.m_addArray;
193  m_tsphiList = track.m_tsphiList;
194  m_tsetaList = track.m_tsetaList;
195  }
196  return *this;
197 }
std::vector< L1MuDTTrackSegEta > m_tsetaList
Definition: L1MuDTTrack.h:203
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
std::string m_name
Definition: L1MuDTTrack.h:197
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:202
int bx() const
return bunch crossing identifier
TrackClass m_tc
Definition: L1MuDTTrack.h:199
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:196
bool L1MuDTTrack::operator== ( const L1MuDTTrack track) const

equal operator

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

202  {
203  if (m_spid != track.m_spid)
204  return false;
205  if (m_empty != track.m_empty)
206  return false;
207  if (m_tc != track.m_tc)
208  return false;
209  if (bx() != track.bx())
210  return false;
211  if (phi() != track.phi())
212  return false;
213  if (eta() != track.eta())
214  return false;
215  if (fineEtaBit() != track.fineEtaBit())
216  return false;
217  if (pt() != track.pt())
218  return false;
219  if (charge() != track.charge())
220  return false;
221  if (quality() != track.quality())
222  return false;
223  if (m_addArray != track.m_addArray)
224  return false;
225  return true;
226 }
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:80
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:74
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuDTTrack.h:71
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:68
unsigned int quality() const
return quality
int bx() const
return bunch crossing identifier
TrackClass m_tc
Definition: L1MuDTTrack.h:199
bool fineEtaBit() const
get fine eta bit
Definition: L1MuDTTrack.h:77
L1MuDTSecProcId m_spid
Definition: L1MuDTTrack.h:196
unsigned int L1MuDTTrack::phi ( void  ) const
inline

get phi-code (8 bits)

Definition at line 71 of file L1MuDTTrack.h.

References L1MuRegionalCand::phi_packed().

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

71 { 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 260 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().

260  {
261  if (!empty()) {
262  cout.setf(ios::showpoint);
263  cout.setf(ios::right, ios::adjustfield);
264  cout << setiosflags(ios::showpoint | ios::fixed);
265  cout << "MUON : "
266  << "pt = " << setw(2) << pt_packed() << " "
267  << "charge = " << setw(2) << charge_packed() << " "
268  << "eta = " << setw(2) << eta_packed() << " (" << setw(1) << finehalo_packed() << ") "
269  << "phi = " << setw(3) << phi_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;
274  for (iter = m_tsphiList.begin(); iter != m_tsphiList.end(); iter++) {
275  cout << " " << (*iter) << endl;
276  }
277  }
278 }
TrackClass tc() const
get track-class
Definition: L1MuDTTrack.h:83
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:86
unsigned eta_packed() const
return eta packed as in hardware
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:202
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:196
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 185 of file L1MuDTTrack.h.

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

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

185  {
186  unsigned short int rank_f = 0; // rank of first
187  unsigned short int rank_s = 0; // rank of second
188  if (first)
189  rank_f = 10 * first->pt() + first->quality();
190  if (second)
191  rank_s = 10 * second->pt() + second->quality();
192  return rank_f > rank_s;
193  }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuDTTrack.h:68
unsigned int quality() const
return quality
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 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:203
L1MuDTAddressArray m_addArray
Definition: L1MuDTTrack.h:201
void reset()
reset address array
std::vector< L1MuDTTrackSegPhi > m_tsphiList
Definition: L1MuDTTrack.h:202
virtual void reset()
reset
TrackClass m_tc
Definition: L1MuDTTrack.h:199
void L1MuDTTrack::setAddresses ( const L1MuDTAddressArray addr)
inline
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().

149  {
151  setChargeValid(true);
152  }
int charge() const
get charge (1 bit)
Definition: L1MuDTTrack.h:80
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  // 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 packedFromIdx(int idx) const override
get the packed notation of a value, check range
Definition: L1MuPacking.h:104
unsigned int eta() const
get eta-code (6 bits)
Definition: L1MuDTTrack.h:74
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:65
std::string m_name
Definition: L1MuDTTrack.h:197
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:71
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:68
void setPtPacked(unsigned pt)
Set Pt: 0..31.
void L1MuDTTrack::setQuality ( unsigned int  quality)
inline

set quality of muon candidate

Definition at line 155 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:83
TrackClass m_tc
Definition: L1MuDTTrack.h:199
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(), and setAddresses().

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:203
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(), and setAddresses().

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:202
const L1MuDTSecProcId& L1MuDTTrack::spid ( ) const
inline

return Sector Processor in which the muon candidate was found

Definition at line 89 of file L1MuDTTrack.h.

References m_spid.

Referenced by L1MuDTTrackFinder::run().

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

get track-class

Definition at line 83 of file L1MuDTTrack.h.

References m_tc.

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

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

convert pt value in GeV to pt code

Definition at line 171 of file L1MuDTTrack.cc.

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

Referenced by setAddresses().

171  {
172  const float eps = 1.e-5; // add an epsilon so that setting works with low edge value
173 
174  edm::ESHandle<L1MuTriggerPtScale> theTriggerScales;
175  c.get<L1MuTriggerPtScaleRcd>().get(theTriggerScales);
176  unsigned int t_Scale = theTriggerScales->getPtScale()->getPacked(value + eps);
177 
178  return t_Scale;
179 }
const L1MuScale * getPtScale() const
get the Pt scale
Definition: value.py:1
T get() const
Definition: EventSetup.h:73
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 201 of file L1MuDTTrack.h.

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

bool L1MuDTTrack::m_empty
private

Definition at line 198 of file L1MuDTTrack.h.

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

std::string L1MuDTTrack::m_name
private

Definition at line 197 of file L1MuDTTrack.h.

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

L1MuDTSecProcId L1MuDTTrack::m_spid
private

Definition at line 196 of file L1MuDTTrack.h.

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

TrackClass L1MuDTTrack::m_tc
private

Definition at line 199 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