test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Attributes | Friends
L1MuBMTrack Class Reference

#include <L1MuBMTrack.h>

Inheritance diagram for L1MuBMTrack:
l1t::RegionalMuonCand

Classes

class  Rank
 define a rank for muon candidates More...
 

Public Member Functions

L1MuBMAddressArray address () const
 get address-array for this muon candidate More...
 
int address (int stat) const
 get relative address of a given station More...
 
int bx () const
 get the bunch crossing for this muon candidate More...
 
int charge () const
 get charge (1 bit) More...
 
void disable ()
 disable muon candidate More...
 
bool empty () const
 is it an empty muon candidate? More...
 
void enable ()
 enable muon candidate More...
 
int eta () const
 get eta-code (6 bits) More...
 
bool fineEtaBit () const
 get fine eta bit More...
 
const L1MuBMTrackSegEtagetEndTSeta () const
 return end eta track segment of muon candidate More...
 
const L1MuBMTrackSegPhigetEndTSphi () const
 return end phi track segment of muon candidate More...
 
const L1MuBMTrackSegEtagetStartTSeta () const
 return start eta track segment of muon candidate More...
 
const L1MuBMTrackSegPhigetStartTSphi () const
 return start phi track segment of muon candidate More...
 
const std::vector
< L1MuBMTrackSegEta > & 
getTSeta () const
 return all eta track segments of the muon candidate More...
 
const std::vector
< L1MuBMTrackSegPhi > & 
getTSphi () const
 return all phi track segments of the muon candidate More...
 
 L1MuBMTrack ()
 default constructor More...
 
 L1MuBMTrack (const L1MuBMSecProcId &)
 constructor More...
 
 L1MuBMTrack (const L1MuBMTrack &)
 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 L1MuBMTrack &) const
 unequal operator More...
 
L1MuBMTrackoperator= (const L1MuBMTrack &)
 assignment operator More...
 
bool operator== (const L1MuBMTrack &) const
 equal operator More...
 
unsigned int phi () const
 get phi-code (8 bits) More...
 
void print () const
 print parameters of muon candidate More...
 
unsigned int pt () const
 get pt-code (5 bits) More...
 
unsigned int quality () const
 get quality More...
 
void reset ()
 reset muon candidate More...
 
void setAddresses (const L1MuBMAddressArray &addr)
 set relative addresses of muon candidate More...
 
void setBx (int bx)
 set charge 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 L1MuBMTrackSegEta * > &tsList)
 set eta track segments used to form the muon candidate More...
 
void setTSphi (const std::vector< const L1MuBMTrackSegPhi * > &tsList)
 set phi track segments used to form the muon candidate More...
 
const L1MuBMSecProcIdspid () 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...
 
virtual ~L1MuBMTrack ()
 destructor More...
 
- Public Member Functions inherited from l1t::RegionalMuonCand
const uint64_t dataword () const
 Get 64 bit data word. More...
 
const uint32_t dataword32Lsb () const
 Get 32 LSBs of data word. More...
 
const uint32_t dataword32Msb () const
 Get 32 MSBs of data word. More...
 
const int hwEta () const
 Get compressed eta (returned int * 0.010875 = eta) More...
 
const int hwHF () const
 Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1) More...
 
const int hwPhi () const
 Get compressed local phi (returned int * 2*pi/576 = local phi in rad) More...
 
const int hwPt () const
 Get compressed pT (returned int * 0.5 = pT (GeV)) More...
 
const int hwQual () const
 Get quality code. More...
 
const int hwSign () const
 Get charge sign bit (charge = (-1)^(sign)) More...
 
const int hwSignValid () const
 Get charge sign valid bit (0 - not valid (high pT muon); 1 - valid) More...
 
const int link () const
 Get link on which the MicroGMT receives the candidate. More...
 
const int processor () const
 Get processor ID on which the candidate was found (0..5 for OMTF/EMTF; 0..11 for BMTF) More...
 
 RegionalMuonCand (uint64_t dataword)
 
 RegionalMuonCand ()
 
 RegionalMuonCand (int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder)
 
void setDataword (uint32_t msbs, uint32_t lsbs)
 
void setDataword (uint64_t bits)
 
void setHwEta (int bits)
 Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits) More...
 
void setHwHF (bool bit)
 Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1) More...
 
void setHwPhi (int bits)
 Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits) More...
 
void setHwPt (int bits)
 Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits) More...
 
void setHwQual (int bits)
 Set compressed quality code as transmitted by hardware (4 bits) More...
 
void setHwSign (int bits)
 Set charge sign bit (charge = (-1)^(sign)) More...
 
void setHwSignValid (int bits)
 Set whether charge measurement is valid (0 for high pT muons) More...
 
void setLink (int link)
 
void setTFIdentifiers (int processor, tftype trackFinder)
 Set the processor ID, track-finder type. From these two, the link is set. More...
 
void setTrackAddress (const std::map< int, int > &address)
 Set the whole track address. More...
 
void setTrackSubAddress (bmtfAddress subAddress, int value)
 Set a part of the muon candidates track address; specialised for BMTF. More...
 
void setTrackSubAddress (emtfAddress subAddress, int value)
 Set a part of the muon candidates track address; specialised for EMTF. More...
 
const std::map< int, int > & trackAddress () const
 Get the track address (identifies track primitives used for reconstruction) More...
 
const tftype trackFinderType () const
 Get track-finder which found the muon (bmtf, emtf_pos/emtf_neg or omtf_pos/omtf_neg) More...
 
int trackSubAddress (bmtfAddress subAddress) const
 Get part of track address (identifies track primitives used for reconstruction) More...
 
int trackSubAddress (emtfAddress subAddress) const
 Get part of track address (identifies track primitives used for reconstruction) More...
 
virtual ~RegionalMuonCand ()
 

Private Attributes

L1MuBMAddressArray m_addArray
 
int m_bx
 
bool m_empty
 
std::string m_name
 
L1MuBMSecProcId m_spid
 
TrackClass m_tc
 
std::vector< L1MuBMTrackSegEtam_tsetaList
 
std::vector< L1MuBMTrackSegPhim_tsphiList
 

Friends

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

Additional Inherited Members

- Public Types inherited from l1t::RegionalMuonCand
enum  bmtfAddress {
  kWheelSide =0, kWheelNum =1, kStat1 =2, kStat2 =3,
  kStat3 =4, kStat4 =5, kSegSelStat1 =6, kSegSelStat2 =7,
  kSegSelStat3 =8, kSegSelStat4 =9, kNumBmtfSubAddr =10
}
 
enum  emtfAddress {
  kME1Seg =0, kME1Ch =1, kME2Seg =2, kME2Ch =3,
  kME3Seg =4, kME3Ch =5, kME4Seg =6, kME4Ch =7,
  kTrkNum =8, kBX =9, kNumEmtfSubAddr =10
}
 

Detailed Description

L1 Muon Track Candidate

N. Neumeister CERN EP J. Troconiz UAM Madrid

Definition at line 53 of file L1MuBMTrack.h.

Constructor & Destructor Documentation

L1MuBMTrack::L1MuBMTrack ( )

default constructor

Definition at line 48 of file L1MuBMTrack.cc.

References m_tsetaList, m_tsphiList, and l1t::RegionalMuonCand::setHwSignValid().

48  :
49  //L1MuRegionalCand(0,0),-->
51  m_spid(L1MuBMSecProcId()), m_name("L1MuBMTrack"), m_empty(true),
52  m_tc(UNDEF),
54 
55  m_tsphiList.reserve(4);
56  m_tsetaList.reserve(3);
57 
58  //setType(0);
59  //setChargeValid(true);
60  setHwSignValid(1);
61 
62 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
TrackClass m_tc
Definition: L1MuBMTrack.h:213
void setHwSignValid(int bits)
Set whether charge measurement is valid (0 for high pT muons)
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
std::string m_name
Definition: L1MuBMTrack.h:211
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
L1MuBMTrack::L1MuBMTrack ( const L1MuBMSecProcId spid)

constructor

Definition at line 65 of file L1MuBMTrack.cc.

References m_tsetaList, m_tsphiList, and l1t::RegionalMuonCand::setHwSignValid().

65  :
66  //L1MuRegionalCand(0,0),-->
68  m_spid(spid), m_name("L1MuBMTrack"), m_empty(true),
69  m_tc(UNDEF),
71 
72  m_tsphiList.reserve(4);
73  m_tsetaList.reserve(3);
74  //setType(0);
75  //setChargeValid(true);
76  setHwSignValid(1);
77 
78 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
TrackClass m_tc
Definition: L1MuBMTrack.h:213
void setHwSignValid(int bits)
Set whether charge measurement is valid (0 for high pT muons)
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
std::string m_name
Definition: L1MuBMTrack.h:211
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
L1MuBMTrack::L1MuBMTrack ( const L1MuBMTrack id)

copy constructor

Definition at line 81 of file L1MuBMTrack.cc.

81  :
82  //L1MuRegionalCand(id),-->
84  m_spid(id.m_spid), m_name(id.m_name), m_empty(id.m_empty),
85  m_tc(id.m_tc),
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
TrackClass m_tc
Definition: L1MuBMTrack.h:213
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
std::string m_name
Definition: L1MuBMTrack.h:211
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
L1MuBMTrack::~L1MuBMTrack ( )
virtual

destructor

Definition at line 93 of file L1MuBMTrack.cc.

93 {}

Member Function Documentation

L1MuBMAddressArray L1MuBMTrack::address ( ) const
inline

get address-array for this muon candidate

Definition at line 103 of file L1MuBMTrack.h.

References m_addArray.

Referenced by L1MuBMEtaProcessor::receiveAddresses(), L1MuBMWedgeSorter::run(), and L1MuBMTrackFinder::run().

103 { return m_addArray; }
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
int L1MuBMTrack::address ( int  stat) const
inline

get relative address of a given station

Definition at line 106 of file L1MuBMTrack.h.

References m_addArray, and L1MuBMAddressArray::station().

106 { return m_addArray.station(stat); }
unsigned short station(int stat) const
get address of a given station [1-4]
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
int L1MuBMTrack::bx ( ) const
inline

get the bunch crossing for this muon candidate

Definition at line 109 of file L1MuBMTrack.h.

References m_bx.

Referenced by operator!=(), operator=(), operator==(), print(), L1MuBMTrackFinder::run(), and setBx().

109 { return m_bx; }
int L1MuBMTrack::charge ( void  ) const
inline

get charge (1 bit)

Definition at line 88 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwSign().

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

88 { return hwSign(); }
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
void L1MuBMTrack::disable ( )
inline

disable muon candidate

Definition at line 139 of file L1MuBMTrack.h.

References m_empty.

139 { m_empty = true; }
bool L1MuBMTrack::empty ( void  ) const
inline

is it an empty muon candidate?

Definition at line 97 of file L1MuBMTrack.h.

References m_empty.

Referenced by print(), L1MuBMEtaProcessor::receiveAddresses(), L1MuBMWedgeSorter::run(), and L1MuBMTrackFinder::run().

97 { return m_empty; }
void L1MuBMTrack::enable ( )
inline

enable muon candidate

Definition at line 136 of file L1MuBMTrack.h.

References l1t::bmtf, m_empty, l1t::RegionalMuonCand::setTFIdentifiers(), and spid().

Referenced by L1MuBMAssignmentUnit::run().

136 { m_empty = false; setTFIdentifiers(this->spid().sector(),l1t::tftype::bmtf); };
const L1MuBMSecProcId & spid() const
return Sector Processor in which the muon candidate was found
Definition: L1MuBMTrack.h:100
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
int L1MuBMTrack::eta ( void  ) const
inline

get eta-code (6 bits)

Definition at line 82 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwEta().

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

82 { return hwEta(); }
const int hwEta() const
Get compressed eta (returned int * 0.010875 = eta)
bool L1MuBMTrack::fineEtaBit ( ) const
inline

get fine eta bit

Definition at line 85 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwHF().

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

85 { return hwHF();}
const int hwHF() const
Get HF (halo / fine eta) bit (EMTF: halo -&gt; 1; BMTF: fine eta -&gt; 1)
const L1MuBMTrackSegEta & L1MuBMTrack::getEndTSeta ( ) const

return end eta track segment of muon candidate

Definition at line 161 of file L1MuBMTrack.cc.

References m_tsetaList.

161  {
162 
163  return m_tsetaList.back();
164 
165 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
const L1MuBMTrackSegPhi & L1MuBMTrack::getEndTSphi ( ) const

return end phi track segment of muon candidate

Definition at line 141 of file L1MuBMTrack.cc.

References m_tsphiList.

141  {
142 
143  return m_tsphiList.back();
144 
145 }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
const L1MuBMTrackSegEta & L1MuBMTrack::getStartTSeta ( ) const

return start eta track segment of muon candidate

Definition at line 151 of file L1MuBMTrack.cc.

References m_tsetaList.

151  {
152 
153  return m_tsetaList.front();
154 
155 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
const L1MuBMTrackSegPhi & L1MuBMTrack::getStartTSphi ( ) const

return start phi track segment of muon candidate

Definition at line 131 of file L1MuBMTrack.cc.

References m_tsphiList.

131  {
132 
133  return m_tsphiList.front();
134 
135 }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
const std::vector<L1MuBMTrackSegEta>& L1MuBMTrack::getTSeta ( ) const
inline

return all eta track segments of the muon candidate

Definition at line 127 of file L1MuBMTrack.h.

References m_tsetaList.

127 { return m_tsetaList; }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
const std::vector<L1MuBMTrackSegPhi>& L1MuBMTrack::getTSphi ( ) const
inline

return all phi track segments of the muon candidate

Definition at line 118 of file L1MuBMTrack.h.

References m_tsphiList.

118 { return m_tsphiList; }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
std::string L1MuBMTrack::name ( void  ) const
inline
int L1MuBMTrack::numberOfTSeta ( ) const
inline

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

Definition at line 115 of file L1MuBMTrack.h.

References m_tsetaList.

115 { return m_tsetaList.size(); }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
int L1MuBMTrack::numberOfTSphi ( ) const
inline

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

Definition at line 112 of file L1MuBMTrack.h.

References m_tsphiList.

112 { return m_tsphiList.size(); }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
bool L1MuBMTrack::operator!= ( const L1MuBMTrack track) const

unequal operator

Definition at line 258 of file L1MuBMTrack.cc.

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

258  {
259 
260  if ( m_spid != track.m_spid ) return true;
261  if ( m_empty != track.m_empty ) return true;
262  if ( m_tc != track.m_tc ) return true;
263  if ( bx() != track.bx() ) return true;
264  if ( phi() != track.phi() ) return true;
265  if ( eta() != track.eta() ) return true;
266  if ( fineEtaBit() != track.fineEtaBit() ) return true;
267  if ( pt() != track.pt() ) return true;
268  if ( charge() != track.charge() ) return true;
269  if ( quality() != track.quality() ) return true;
270  if ( m_addArray != track.m_addArray ) return true;
271  return false;
272 
273 }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:76
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:88
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuBMTrack.h:79
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:109
TrackClass m_tc
Definition: L1MuBMTrack.h:213
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:91
int eta() const
get eta-code (6 bits)
Definition: L1MuBMTrack.h:82
bool fineEtaBit() const
get fine eta bit
Definition: L1MuBMTrack.h:85
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
L1MuBMTrack & L1MuBMTrack::operator= ( const L1MuBMTrack track)

assignment operator

Definition at line 216 of file L1MuBMTrack.cc.

References bx(), m_addArray, m_empty, m_name, m_spid, m_tc, m_tsetaList, m_tsphiList, and setBx().

216  {
217 
218  if ( this != &track ) {
219  this->setBx(track.bx());
220  //this->setDataWord(track.getDataWord());
221  m_spid = track.m_spid;
222  m_empty = track.m_empty;
223  m_name = track.m_name;
224  m_tc = track.m_tc;
225  m_addArray = track.m_addArray;
226  m_tsphiList = track.m_tsphiList;
227  m_tsetaList = track.m_tsetaList;
228  }
229  return *this;
230 
231 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
void setBx(int bx)
set charge of muon candidate
Definition: L1MuBMTrack.h:163
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:109
TrackClass m_tc
Definition: L1MuBMTrack.h:213
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
std::string m_name
Definition: L1MuBMTrack.h:211
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
bool L1MuBMTrack::operator== ( const L1MuBMTrack track) const

equal operator

Definition at line 237 of file L1MuBMTrack.cc.

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

237  {
238 
239  if ( m_spid != track.m_spid ) return false;
240  if ( m_empty != track.m_empty ) return false;
241  if ( m_tc != track.m_tc ) return false;
242  if ( bx() != track.bx() ) return false;
243  if ( phi() != track.phi() ) return false;
244  if ( eta() != track.eta() ) return false;
245  if ( fineEtaBit() != track.fineEtaBit() ) return false;
246  if ( pt() != track.pt() ) return false;
247  if ( charge() != track.charge() ) return false;
248  if ( quality() != track.quality() ) return false;
249  if ( m_addArray != track.m_addArray ) return false;
250  return true;
251 
252 }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:76
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:88
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuBMTrack.h:79
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:109
TrackClass m_tc
Definition: L1MuBMTrack.h:213
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:91
int eta() const
get eta-code (6 bits)
Definition: L1MuBMTrack.h:82
bool fineEtaBit() const
get fine eta bit
Definition: L1MuBMTrack.h:85
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
unsigned int L1MuBMTrack::phi ( void  ) const
inline

get phi-code (8 bits)

Definition at line 79 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwPhi().

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

79 { return hwPhi(); }
const int hwPhi() const
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
void L1MuBMTrack::print ( void  ) const

print parameters of muon candidate

Definition at line 279 of file L1MuBMTrack.cc.

References bx(), gather_cfg::cout, empty(), l1t::RegionalMuonCand::hwEta(), l1t::RegionalMuonCand::hwPhi(), l1t::RegionalMuonCand::hwPt(), l1t::RegionalMuonCand::hwQual(), l1t::RegionalMuonCand::hwSign(), m_spid, m_tsphiList, and tc().

279  {
280 
281  if ( !empty() ) {
282  cout.setf(ios::showpoint);
283  cout.setf(ios::right,ios::adjustfield);
284  cout << setiosflags(ios::showpoint | ios::fixed);
285  cout << "MUON : "
286  << "pt = " << setw(3) << hwPt() << " "
287  << "charge = " << setw(2) << hwSign() << " "
288  << "eta = " << setw(2) << hwEta()
289  //<< " (" << setw(1) << finehalo_packed() << ") "
290  << "phi = " << setw(3) << hwPhi() << " "
291  << "quality = " << setw(1) << hwQual() << '\t'
292  << "class = " << tc() << " "
293  << "bx = " << setw(2) << bx() << endl;
294  cout << " found in " << m_spid << " with phi track segments :" << endl;
295  vector<L1MuBMTrackSegPhi>::const_iterator iter;
296  for ( iter = m_tsphiList.begin(); iter != m_tsphiList.end(); iter++ ) {
297  cout << " " << (*iter) << endl;
298  }
299  }
300 
301 }
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
const int hwQual() const
Get quality code.
TrackClass tc() const
get track-class
Definition: L1MuBMTrack.h:94
const int hwEta() const
Get compressed eta (returned int * 0.010875 = eta)
const int hwPhi() const
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:109
const int hwPt() const
Get compressed pT (returned int * 0.5 = pT (GeV))
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
tuple cout
Definition: gather_cfg.py:145
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
bool empty() const
is it an empty muon candidate?
Definition: L1MuBMTrack.h:97
unsigned int L1MuBMTrack::pt ( void  ) const
inline
unsigned int L1MuBMTrack::quality ( void  ) const
inline

get quality

Definition at line 91 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwQual().

Referenced by operator!=(), L1MuBMTrack::Rank::operator()(), and operator==().

91 { return hwQual(); }
const int hwQual() const
Get quality code.
void L1MuBMTrack::reset ( void  )

reset muon candidate

Definition at line 103 of file L1MuBMTrack.cc.

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

103  {
104 
105  //L1MuRegionalCand::reset();
106  m_empty = true;
107  m_tc = UNDEF;
108  m_addArray.reset();
109  m_tsphiList.clear();
110  m_tsetaList.clear();
111 
112 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
TrackClass m_tc
Definition: L1MuBMTrack.h:213
void reset()
reset address array
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
void L1MuBMTrack::setAddresses ( const L1MuBMAddressArray addr)
inline

set relative addresses of muon candidate

Definition at line 169 of file L1MuBMTrack.h.

References m_addArray.

Referenced by L1MuBMAssignmentUnit::run().

169 { m_addArray = addr; }
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:216
void L1MuBMTrack::setBx ( int  bx)
inline

set charge of muon candidate

Definition at line 163 of file L1MuBMTrack.h.

References bx(), and m_bx.

Referenced by operator=(), and L1MuBMAssignmentUnit::run().

163 { m_bx = bx; }
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:109
void L1MuBMTrack::setCharge ( int  charge)
inline

set charge of muon candidate

Definition at line 160 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwSign().

Referenced by L1MuBMAssignmentUnit::PtAU().

160 { setHwSign(charge);}
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:88
void setHwSign(int bits)
Set charge sign bit (charge = (-1)^(sign))
void L1MuBMTrack::setEta ( int  eta)

set eta-code of muon candidate

Definition at line 118 of file L1MuBMTrack.cc.

References l1t::RegionalMuonCand::setHwEta(), and l1t::RegionalMuonCand::setHwHF().

Referenced by L1MuBMEtaProcessor::assign().

118  {
119 
120  // eta is a signed integer [-115,118],
121  setHwHF(false);
122  setHwEta(eta);
123 
124 
125 }
void setHwHF(bool bit)
Set HF (halo / fine eta) bit (EMTF: halo -&gt; 1; BMTF: fine eta -&gt; 1)
void setHwEta(int bits)
Set compressed eta as transmitted by hardware LSB = 0.010875 (9 bits)
int eta() const
get eta-code (6 bits)
Definition: L1MuBMTrack.h:82
void L1MuBMTrack::setFineEtaBit ( )
inline

set fine eta bit

Definition at line 154 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwHF().

Referenced by L1MuBMEtaProcessor::assign().

154 { setHwHF(1); }
void setHwHF(bool bit)
Set HF (halo / fine eta) bit (EMTF: halo -&gt; 1; BMTF: fine eta -&gt; 1)
void L1MuBMTrack::setName ( std::string  name)
inline

set name of object

Definition at line 142 of file L1MuBMTrack.h.

References m_name, and name().

142 { m_name = name; }
std::string name() const
get name of object
Definition: L1MuBMTrack.h:73
std::string m_name
Definition: L1MuBMTrack.h:211
void L1MuBMTrack::setPhi ( int  phi)
inline

set phi-code of muon candidate

Definition at line 148 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwPhi().

Referenced by L1MuBMAssignmentUnit::PhiAU().

148 { setHwPhi(phi); }
void setHwPhi(int bits)
Set compressed relative phi as transmitted by hardware LSB = 2*pi/576 (8 bits)
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuBMTrack.h:79
void L1MuBMTrack::setPt ( int  pt)
inline

set pt-code of muon candidate

Definition at line 157 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwPt().

Referenced by L1MuBMAssignmentUnit::PtAU().

157 { setHwPt(pt); }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:76
void setHwPt(int bits)
Set compressed pT as transmitted by hardware LSB = 0.5 (9 bits)
void L1MuBMTrack::setQuality ( unsigned int  quality)
inline

set quality of muon candidate

Definition at line 166 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwQual().

Referenced by L1MuBMAssignmentUnit::QuaAU().

166 { setHwQual(quality); }
void setHwQual(int bits)
Set compressed quality code as transmitted by hardware (4 bits)
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:91
void L1MuBMTrack::setTC ( TrackClass  tc)
inline

set track-class of muon candidate

Definition at line 145 of file L1MuBMTrack.h.

References m_tc, and tc().

Referenced by L1MuBMAssignmentUnit::run().

145 { m_tc = tc; }
TrackClass tc() const
get track-class
Definition: L1MuBMTrack.h:94
TrackClass m_tc
Definition: L1MuBMTrack.h:213
void L1MuBMTrack::setTSeta ( const std::vector< const L1MuBMTrackSegEta * > &  tsList)

set eta track segments used to form the muon candidate

Definition at line 186 of file L1MuBMTrack.cc.

References m_tsetaList.

Referenced by L1MuBMEtaProcessor::assign().

186  {
187 
188  if ( !tsList.empty() ) {
189  vector<const L1MuBMTrackSegEta*>::const_iterator iter;
190  for ( iter = tsList.begin(); iter != tsList.end(); iter++ ) {
191  if ( *iter ) m_tsetaList.push_back(**iter);
192  }
193  }
194 
195 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:218
void L1MuBMTrack::setTSphi ( const std::vector< const L1MuBMTrackSegPhi * > &  tsList)

set phi track segments used to form the muon candidate

Definition at line 171 of file L1MuBMTrack.cc.

References m_tsphiList.

Referenced by L1MuBMAssignmentUnit::run().

171  {
172 
173  if ( !tsList.empty() ) {
174  vector<const L1MuBMTrackSegPhi*>::const_iterator iter;
175  for ( iter = tsList.begin(); iter != tsList.end(); iter++ ) {
176  if ( *iter ) m_tsphiList.push_back(**iter);
177  }
178  }
179 
180 }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:217
const L1MuBMSecProcId& L1MuBMTrack::spid ( ) const
inline

return Sector Processor in which the muon candidate was found

Definition at line 100 of file L1MuBMTrack.h.

References m_spid.

Referenced by enable(), and L1MuBMTrackFinder::run().

100 { return m_spid; }
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:210
TrackClass L1MuBMTrack::tc ( ) const
inline

get track-class

Definition at line 94 of file L1MuBMTrack.h.

References m_tc.

Referenced by print(), and setTC().

94 { return m_tc; }
TrackClass m_tc
Definition: L1MuBMTrack.h:213
unsigned int L1MuBMTrack::triggerScale ( float  value,
const edm::EventSetup c 
) const

convert pt value in GeV to pt code

Definition at line 201 of file L1MuBMTrack.cc.

References edm::EventSetup::get().

201  {
202 
203  const float eps = 1.e-5; // add an epsilon so that setting works with low edge value
204 
205  edm::ESHandle< L1MuTriggerPtScale > theTriggerScales;
206  c.get< L1MuTriggerPtScaleRcd >().get( theTriggerScales );
207  unsigned int t_Scale = theTriggerScales->getPtScale()->getPacked( value + eps );
208 
209  return t_Scale;
210 }
const T & get() const
Definition: EventSetup.h:56

Friends And Related Function Documentation

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

output stream operator

Member Data Documentation

L1MuBMAddressArray L1MuBMTrack::m_addArray
private

Definition at line 216 of file L1MuBMTrack.h.

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

int L1MuBMTrack::m_bx
private

Definition at line 214 of file L1MuBMTrack.h.

Referenced by bx(), and setBx().

bool L1MuBMTrack::m_empty
private

Definition at line 212 of file L1MuBMTrack.h.

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

std::string L1MuBMTrack::m_name
private

Definition at line 211 of file L1MuBMTrack.h.

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

L1MuBMSecProcId L1MuBMTrack::m_spid
private

Definition at line 210 of file L1MuBMTrack.h.

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

TrackClass L1MuBMTrack::m_tc
private

Definition at line 213 of file L1MuBMTrack.h.

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

std::vector<L1MuBMTrackSegEta> L1MuBMTrack::m_tsetaList
private
std::vector<L1MuBMTrackSegPhi> L1MuBMTrack::m_tsphiList
private