CMS 3D CMS Logo

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

#include <L1MuBMTrack.h>

Inheritance diagram for L1MuBMTrack:
l1t::RegionalMuonCand

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...
 
 ~L1MuBMTrack () override
 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 hwDXY () const
 Get compressed impact parameter (4 bits) 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 hwPt2 () const
 Get second compressed pT (returned int * 1.0 = 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...
 
bool operator!= (const RegionalMuonCand &rhs) const
 
bool operator== (const RegionalMuonCand &rhs) const
 
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)
 
 RegionalMuonCand (int pt, int phi, int eta, int sign, int signvalid, int quality, int processor, tftype trackFinder, std::map< int, int > trackAddress)
 
void setDataword (uint32_t msbs, uint32_t lsbs)
 
void setDataword (uint64_t bits)
 
void setHwDXY (int bits)
 Set compressed impact parameter with respect to beamspot (4 bits) More...
 
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 setHwPt2 (int bits)
 Set compressed second displaced pT as transmitted by hardware LSB = 1.0 (8 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 (omtfAddress subAddress, int value)
 Set a part of the muon candidates track address; specialised for OMTF. 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 (omtfAddress 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 ()
 

Static Public Member Functions

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

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
}
 
enum  omtfAddress { kLayers = 0, kZero = 1, kWeight = 2, kNumOmtfSubAddr = 3 }
 

Detailed Description

L1 Muon Track Candidate

N. Neumeister CERN EP J. Troconiz UAM Madrid

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

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

constructor

Definition at line 66 of file L1MuBMTrack.cc.

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

67  : //L1MuRegionalCand(0,0),-->
69  m_spid(spid),
70  m_name("L1MuBMTrack"),
71  m_empty(true),
72  m_tc(UNDEF),
73  m_addArray(),
74  m_tsphiList(),
75  m_tsetaList() {
76  m_tsphiList.reserve(4);
77  m_tsetaList.reserve(3);
78  //setType(0);
79  //setChargeValid(true);
80  setHwSignValid(1);
81 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:214
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:206
TrackClass m_tc
Definition: L1MuBMTrack.h:209
void setHwSignValid(int bits)
Set whether charge measurement is valid (0 for high pT muons)
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
std::string m_name
Definition: L1MuBMTrack.h:207
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:212
L1MuBMTrack::L1MuBMTrack ( const L1MuBMTrack id)

copy constructor

Definition at line 83 of file L1MuBMTrack.cc.

84  : //L1MuRegionalCand(id),-->
86  m_spid(id.m_spid),
87  m_name(id.m_name),
88  m_empty(id.m_empty),
89  m_tc(id.m_tc),
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:214
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:206
TrackClass m_tc
Definition: L1MuBMTrack.h:209
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
std::string m_name
Definition: L1MuBMTrack.h:207
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:212
L1MuBMTrack::~L1MuBMTrack ( )
override

destructor

Definition at line 97 of file L1MuBMTrack.cc.

97 {}

Member Function Documentation

L1MuBMAddressArray L1MuBMTrack::address ( ) const
inline

get address-array for this muon candidate

Definition at line 99 of file L1MuBMTrack.h.

References m_addArray.

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

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

get relative address of a given station

Definition at line 102 of file L1MuBMTrack.h.

References m_addArray, and L1MuBMAddressArray::station().

102 { 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:212
int L1MuBMTrack::bx ( ) const
inline

get the bunch crossing for this muon candidate

Definition at line 105 of file L1MuBMTrack.h.

References m_bx.

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

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

get charge (1 bit)

Definition at line 84 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwSign().

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

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

disable muon candidate

Definition at line 138 of file L1MuBMTrack.h.

References m_empty.

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

enable muon candidate

Definition at line 132 of file L1MuBMTrack.h.

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

Referenced by L1MuBMAssignmentUnit::run().

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

get eta-code (6 bits)

Definition at line 78 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwEta().

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

78 { 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 81 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwHF().

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

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

return end eta track segment of muon candidate

Definition at line 142 of file L1MuBMTrack.cc.

References m_tsetaList.

Referenced by getTSeta().

142 { return m_tsetaList.back(); }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:214
const L1MuBMTrackSegPhi & L1MuBMTrack::getEndTSphi ( ) const

return end phi track segment of muon candidate

Definition at line 132 of file L1MuBMTrack.cc.

References m_tsphiList.

Referenced by getTSphi().

132 { return m_tsphiList.back(); }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
const L1MuBMTrackSegEta & L1MuBMTrack::getStartTSeta ( ) const

return start eta track segment of muon candidate

Definition at line 137 of file L1MuBMTrack.cc.

References m_tsetaList.

Referenced by getTSeta().

137 { return m_tsetaList.front(); }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:214
const L1MuBMTrackSegPhi & L1MuBMTrack::getStartTSphi ( ) const

return start phi track segment of muon candidate

Definition at line 127 of file L1MuBMTrack.cc.

References m_tsphiList.

Referenced by getTSphi().

127 { return m_tsphiList.front(); }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
const std::vector<L1MuBMTrackSegEta>& L1MuBMTrack::getTSeta ( ) const
inline

return all eta track segments of the muon candidate

Definition at line 123 of file L1MuBMTrack.h.

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

Referenced by L1MuBMTrackFinder::run().

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

return all phi track segments of the muon candidate

Definition at line 114 of file L1MuBMTrack.h.

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

Referenced by L1MuBMTrackFinder::run().

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

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

Definition at line 111 of file L1MuBMTrack.h.

References m_tsetaList.

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

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

Definition at line 108 of file L1MuBMTrack.h.

References m_tsphiList.

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

unequal operator

Definition at line 234 of file L1MuBMTrack.cc.

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

Referenced by setAddresses().

234  {
235  if (m_spid != track.m_spid)
236  return true;
237  if (m_empty != track.m_empty)
238  return true;
239  if (m_tc != track.m_tc)
240  return true;
241  if (bx() != track.bx())
242  return true;
243  if (phi() != track.phi())
244  return true;
245  if (eta() != track.eta())
246  return true;
247  if (fineEtaBit() != track.fineEtaBit())
248  return true;
249  if (pt() != track.pt())
250  return true;
251  if (charge() != track.charge())
252  return true;
253  if (quality() != track.quality())
254  return true;
255  if (m_addArray != track.m_addArray)
256  return true;
257  return false;
258 }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:72
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:206
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:84
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuBMTrack.h:75
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:105
TrackClass m_tc
Definition: L1MuBMTrack.h:209
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:87
int eta() const
get eta-code (6 bits)
Definition: L1MuBMTrack.h:78
bool fineEtaBit() const
get fine eta bit
Definition: L1MuBMTrack.h:81
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:212
L1MuBMTrack & L1MuBMTrack::operator= ( const L1MuBMTrack track)

assignment operator

Definition at line 187 of file L1MuBMTrack.cc.

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

Referenced by setAddresses().

187  {
188  if (this != &track) {
189  this->setBx(track.bx());
190  //this->setDataWord(track.getDataWord());
191  m_spid = track.m_spid;
192  m_empty = track.m_empty;
193  m_name = track.m_name;
194  m_tc = track.m_tc;
195  m_addArray = track.m_addArray;
196  m_tsphiList = track.m_tsphiList;
197  m_tsetaList = track.m_tsetaList;
198  }
199  return *this;
200 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:214
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:206
void setBx(int bx)
set charge of muon candidate
Definition: L1MuBMTrack.h:162
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:105
TrackClass m_tc
Definition: L1MuBMTrack.h:209
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
std::string m_name
Definition: L1MuBMTrack.h:207
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:212
bool L1MuBMTrack::operator== ( const L1MuBMTrack track) const

equal operator

Definition at line 205 of file L1MuBMTrack.cc.

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

Referenced by setAddresses().

205  {
206  if (m_spid != track.m_spid)
207  return false;
208  if (m_empty != track.m_empty)
209  return false;
210  if (m_tc != track.m_tc)
211  return false;
212  if (bx() != track.bx())
213  return false;
214  if (phi() != track.phi())
215  return false;
216  if (eta() != track.eta())
217  return false;
218  if (fineEtaBit() != track.fineEtaBit())
219  return false;
220  if (pt() != track.pt())
221  return false;
222  if (charge() != track.charge())
223  return false;
224  if (quality() != track.quality())
225  return false;
226  if (m_addArray != track.m_addArray)
227  return false;
228  return true;
229 }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:72
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:206
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:84
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuBMTrack.h:75
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:105
TrackClass m_tc
Definition: L1MuBMTrack.h:209
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:87
int eta() const
get eta-code (6 bits)
Definition: L1MuBMTrack.h:78
bool fineEtaBit() const
get fine eta bit
Definition: L1MuBMTrack.h:81
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:212
unsigned int L1MuBMTrack::phi ( ) const
inline

get phi-code (8 bits)

Definition at line 75 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwPhi().

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

75 { 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 263 of file L1MuBMTrack.cc.

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

Referenced by setAddresses().

263  {
264  if (!empty()) {
265  cout.setf(ios::showpoint);
266  cout.setf(ios::right, ios::adjustfield);
267  cout << setiosflags(ios::showpoint | ios::fixed);
268  cout << "MUON : "
269  << "pt = " << setw(3) << hwPt() << " "
270  << "charge = " << setw(2) << hwSign() << " "
271  << "eta = " << setw(2)
272  << hwEta()
273  //<< " (" << setw(1) << finehalo_packed() << ") "
274  << "phi = " << setw(3) << hwPhi() << " "
275  << "quality = " << setw(1) << hwQual() << '\t' << "class = " << tc() << " "
276  << "bx = " << setw(2) << bx() << endl;
277  cout << " found in " << m_spid << " with phi track segments :" << endl;
278  vector<L1MuBMTrackSegPhi>::const_iterator iter;
279  for (iter = m_tsphiList.begin(); iter != m_tsphiList.end(); iter++) {
280  cout << " " << (*iter) << endl;
281  }
282  }
283 }
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:206
const int hwQual() const
Get quality code.
TrackClass tc() const
get track-class
Definition: L1MuBMTrack.h:90
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:105
const int hwPt() const
Get compressed pT (returned int * 0.5 = pT (GeV))
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
bool empty() const
is it an empty muon candidate?
Definition: L1MuBMTrack.h:93
unsigned int L1MuBMTrack::pt ( ) const
inline
unsigned int L1MuBMTrack::quality ( ) const
inline

get quality

Definition at line 87 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwQual().

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

87 { return hwQual(); }
const int hwQual() const
Get quality code.
static bool L1MuBMTrack::rank ( const L1MuBMTrack first,
const L1MuBMTrack second 
)
inlinestatic

define a rank for muon candidates

Definition at line 195 of file L1MuBMTrack.h.

References pt(), and quality().

Referenced by L1MuBMMuonSorter::run(), and L1MuBMWedgeSorter::run().

195  {
196  unsigned short int rank_f = 0; // rank of first
197  unsigned short int rank_s = 0; // rank of second
198  if (first)
199  rank_f = first->pt() + 512 * first->quality();
200  if (second)
201  rank_s = second->pt() + 512 * second->quality();
202  return rank_f > rank_s;
203  }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:72
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:87
void L1MuBMTrack::reset ( void  )

reset muon candidate

Definition at line 106 of file L1MuBMTrack.cc.

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

106  {
107  //L1MuRegionalCand::reset();
108  m_empty = true;
109  m_tc = UNDEF;
110  m_addArray.reset();
111  m_tsphiList.clear();
112  m_tsetaList.clear();
113 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:214
TrackClass m_tc
Definition: L1MuBMTrack.h:209
void reset()
reset address array
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:212
void L1MuBMTrack::setAddresses ( const L1MuBMAddressArray addr)
inline
void L1MuBMTrack::setBx ( int  bx)
inline

set charge of muon candidate

Definition at line 162 of file L1MuBMTrack.h.

References bx(), and m_bx.

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

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

set charge of muon candidate

Definition at line 159 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwSign().

Referenced by L1MuBMAssignmentUnit::PtAU().

159 { setHwSign(charge); }
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:84
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(), and setPhi().

118  {
119  // eta is a signed integer [-115,118],
120  setHwHF(false);
121  setHwEta(eta);
122 }
void setHwHF(bool bit)
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 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:78
void L1MuBMTrack::setFineEtaBit ( )
inline

set fine eta bit

Definition at line 153 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwHF().

Referenced by L1MuBMEtaProcessor::assign().

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

set name of object

Definition at line 141 of file L1MuBMTrack.h.

References m_name, and name().

Referenced by Vispa.Gui.PortWidget.PortWidget::__init__(), and Vispa.Views.PropertyView.Property::__init__().

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

set phi-code of muon candidate

Definition at line 147 of file L1MuBMTrack.h.

References eta(), setEta(), and l1t::RegionalMuonCand::setHwPhi().

Referenced by L1MuBMAssignmentUnit::PhiAU().

147 { 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:75
void L1MuBMTrack::setPt ( int  pt)
inline

set pt-code of muon candidate

Definition at line 156 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwPt().

Referenced by L1MuBMAssignmentUnit::PtAU().

156 { setHwPt(pt); }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:72
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 165 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwQual().

Referenced by L1MuBMAssignmentUnit::QuaAU().

165 { 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:87
void L1MuBMTrack::setTC ( TrackClass  tc)
inline

set track-class of muon candidate

Definition at line 144 of file L1MuBMTrack.h.

References m_tc, and tc().

Referenced by L1MuBMAssignmentUnit::run().

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

set eta track segments used to form the muon candidate

Definition at line 160 of file L1MuBMTrack.cc.

References m_tsetaList.

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

160  {
161  if (!tsList.empty()) {
162  vector<const L1MuBMTrackSegEta*>::const_iterator iter;
163  for (iter = tsList.begin(); iter != tsList.end(); iter++) {
164  if (*iter)
165  m_tsetaList.push_back(**iter);
166  }
167  }
168 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:214
void L1MuBMTrack::setTSphi ( const std::vector< const L1MuBMTrackSegPhi * > &  tsList)

set phi track segments used to form the muon candidate

Definition at line 147 of file L1MuBMTrack.cc.

References m_tsphiList.

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

147  {
148  if (!tsList.empty()) {
149  vector<const L1MuBMTrackSegPhi*>::const_iterator iter;
150  for (iter = tsList.begin(); iter != tsList.end(); iter++) {
151  if (*iter)
152  m_tsphiList.push_back(**iter);
153  }
154  }
155 }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:213
const L1MuBMSecProcId& L1MuBMTrack::spid ( ) const
inline

return Sector Processor in which the muon candidate was found

Definition at line 96 of file L1MuBMTrack.h.

References m_spid.

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

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

get track-class

Definition at line 90 of file L1MuBMTrack.h.

References m_tc.

Referenced by print(), and setTC().

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

convert pt value in GeV to pt code

Definition at line 173 of file L1MuBMTrack.cc.

Referenced by setAddresses().

173  {
174  /*const float eps = 1.e-5; // add an epsilon so that setting works with low edge value
175 
176  edm::ESHandle< L1MuTriggerPtScale > theTriggerScales;
177  c.get< L1MuTriggerPtScaleRcd >().get( theTriggerScales );
178  unsigned int t_Scale = theTriggerScales->getPtScale()->getPacked( value + eps );
179 
180  return t_Scale;*/
181  return (unsigned int)0.5;
182 }

Friends And Related Function Documentation

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

output stream operator

Referenced by setAddresses().

Member Data Documentation

L1MuBMAddressArray L1MuBMTrack::m_addArray
private

Definition at line 212 of file L1MuBMTrack.h.

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

int L1MuBMTrack::m_bx
private

Definition at line 210 of file L1MuBMTrack.h.

Referenced by bx(), and setBx().

bool L1MuBMTrack::m_empty
private

Definition at line 208 of file L1MuBMTrack.h.

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

std::string L1MuBMTrack::m_name
private

Definition at line 207 of file L1MuBMTrack.h.

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

L1MuBMSecProcId L1MuBMTrack::m_spid
private

Definition at line 206 of file L1MuBMTrack.h.

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

TrackClass L1MuBMTrack::m_tc
private

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