CMS 3D CMS Logo

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...
 
 ~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 hwPtUnconstrained () 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...
 
const int muIdx () const
 Get muon index (i.e., 0, 1, or 2) 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 setHwPtUnconstrained (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 setMuIdx (int muIdx)
 
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 49 of file L1MuBMTrack.h.

Constructor & Destructor Documentation

◆ L1MuBMTrack() [1/3]

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:209
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201
TrackClass m_tc
Definition: L1MuBMTrack.h:204
void setHwSignValid(int bits)
Set whether charge measurement is valid (0 for high pT muons)
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208
std::string m_name
Definition: L1MuBMTrack.h:202
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ L1MuBMTrack() [2/3]

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:209
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201
const L1MuBMSecProcId & spid() const
return Sector Processor in which the muon candidate was found
Definition: L1MuBMTrack.h:94
TrackClass m_tc
Definition: L1MuBMTrack.h:204
void setHwSignValid(int bits)
Set whether charge measurement is valid (0 for high pT muons)
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208
std::string m_name
Definition: L1MuBMTrack.h:202
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ L1MuBMTrack() [3/3]

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:209
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201
TrackClass m_tc
Definition: L1MuBMTrack.h:204
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208
std::string m_name
Definition: L1MuBMTrack.h:202
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ ~L1MuBMTrack()

L1MuBMTrack::~L1MuBMTrack ( )
override

destructor

Definition at line 97 of file L1MuBMTrack.cc.

97 {}

Member Function Documentation

◆ address() [1/2]

L1MuBMAddressArray L1MuBMTrack::address ( ) const
inline

get address-array for this muon candidate

Definition at line 97 of file L1MuBMTrack.h.

References m_addArray.

97 { return m_addArray; }
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ address() [2/2]

int L1MuBMTrack::address ( int  stat) const
inline

get relative address of a given station

Definition at line 100 of file L1MuBMTrack.h.

References m_addArray, and L1MuBMAddressArray::station().

100 { 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:207

◆ bx()

int L1MuBMTrack::bx ( ) const
inline

get the bunch crossing for this muon candidate

Definition at line 103 of file L1MuBMTrack.h.

References m_bx.

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

103 { return m_bx; }

◆ charge()

int L1MuBMTrack::charge ( ) const
inline

get charge (1 bit)

Definition at line 82 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwSign().

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

82 { return hwSign(); }
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))

◆ disable()

void L1MuBMTrack::disable ( )
inline

disable muon candidate

Definition at line 136 of file L1MuBMTrack.h.

References m_empty.

136 { m_empty = true; }

◆ empty()

bool L1MuBMTrack::empty ( ) const
inline

is it an empty muon candidate?

Definition at line 91 of file L1MuBMTrack.h.

References m_empty.

Referenced by print().

91 { return m_empty; }

◆ enable()

void L1MuBMTrack::enable ( )
inline

enable muon candidate

Definition at line 130 of file L1MuBMTrack.h.

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

Referenced by L1MuBMAssignmentUnit::run().

130  {
131  m_empty = false;
133  };
void setTFIdentifiers(int processor, tftype trackFinder)
Set the processor ID, track-finder type. From these two, the link is set.
const L1MuBMSecProcId & spid() const
return Sector Processor in which the muon candidate was found
Definition: L1MuBMTrack.h:94

◆ eta()

int L1MuBMTrack::eta ( ) const
inline

get eta-code (6 bits)

Definition at line 76 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwEta().

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

76 { return hwEta(); }
const int hwEta() const
Get compressed eta (returned int * 0.010875 = eta)

◆ fineEtaBit()

bool L1MuBMTrack::fineEtaBit ( ) const
inline

get fine eta bit

Definition at line 79 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwHF().

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

79 { return hwHF(); }
const int hwHF() const
Get HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)

◆ getEndTSeta()

const L1MuBMTrackSegEta & L1MuBMTrack::getEndTSeta ( ) const

return end eta track segment of muon candidate

Definition at line 142 of file L1MuBMTrack.cc.

References m_tsetaList.

142 { return m_tsetaList.back(); }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:209

◆ getEndTSphi()

const L1MuBMTrackSegPhi & L1MuBMTrack::getEndTSphi ( ) const

return end phi track segment of muon candidate

Definition at line 132 of file L1MuBMTrack.cc.

References m_tsphiList.

132 { return m_tsphiList.back(); }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208

◆ getStartTSeta()

const L1MuBMTrackSegEta & L1MuBMTrack::getStartTSeta ( ) const

return start eta track segment of muon candidate

Definition at line 137 of file L1MuBMTrack.cc.

References m_tsetaList.

137 { return m_tsetaList.front(); }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:209

◆ getStartTSphi()

const L1MuBMTrackSegPhi & L1MuBMTrack::getStartTSphi ( ) const

return start phi track segment of muon candidate

Definition at line 127 of file L1MuBMTrack.cc.

References m_tsphiList.

127 { return m_tsphiList.front(); }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208

◆ getTSeta()

const std::vector<L1MuBMTrackSegEta>& L1MuBMTrack::getTSeta ( ) const
inline

return all eta track segments of the muon candidate

Definition at line 121 of file L1MuBMTrack.h.

References m_tsetaList.

121 { return m_tsetaList; }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:209

◆ getTSphi()

const std::vector<L1MuBMTrackSegPhi>& L1MuBMTrack::getTSphi ( ) const
inline

return all phi track segments of the muon candidate

Definition at line 112 of file L1MuBMTrack.h.

References m_tsphiList.

112 { return m_tsphiList; }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208

◆ name()

std::string L1MuBMTrack::name ( ) const
inline

get name of object

Definition at line 67 of file L1MuBMTrack.h.

References m_name.

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

67 { return m_name; }
std::string m_name
Definition: L1MuBMTrack.h:202

◆ numberOfTSeta()

int L1MuBMTrack::numberOfTSeta ( ) const
inline

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

Definition at line 109 of file L1MuBMTrack.h.

References m_tsetaList.

109 { return m_tsetaList.size(); }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:209

◆ numberOfTSphi()

int L1MuBMTrack::numberOfTSphi ( ) const
inline

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

Definition at line 106 of file L1MuBMTrack.h.

References m_tsphiList.

106 { return m_tsphiList.size(); }
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208

◆ operator!=()

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

unequal operator

Definition at line 220 of file L1MuBMTrack.cc.

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

220  {
221  if (m_spid != track.m_spid)
222  return true;
223  if (m_empty != track.m_empty)
224  return true;
225  if (m_tc != track.m_tc)
226  return true;
227  if (bx() != track.bx())
228  return true;
229  if (phi() != track.phi())
230  return true;
231  if (eta() != track.eta())
232  return true;
233  if (fineEtaBit() != track.fineEtaBit())
234  return true;
235  if (pt() != track.pt())
236  return true;
237  if (charge() != track.charge())
238  return true;
239  if (quality() != track.quality())
240  return true;
241  if (m_addArray != track.m_addArray)
242  return true;
243  return false;
244 }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:70
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201
bool fineEtaBit() const
get fine eta bit
Definition: L1MuBMTrack.h:79
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:85
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:103
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:82
TrackClass m_tc
Definition: L1MuBMTrack.h:204
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuBMTrack.h:73
int eta() const
get eta-code (6 bits)
Definition: L1MuBMTrack.h:76
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ operator=()

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

assignment operator

Definition at line 173 of file L1MuBMTrack.cc.

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

173  {
174  if (this != &track) {
175  this->setBx(track.bx());
176  //this->setDataWord(track.getDataWord());
177  m_spid = track.m_spid;
178  m_empty = track.m_empty;
179  m_name = track.m_name;
180  m_tc = track.m_tc;
181  m_addArray = track.m_addArray;
182  m_tsphiList = track.m_tsphiList;
183  m_tsetaList = track.m_tsetaList;
184  }
185  return *this;
186 }
std::vector< L1MuBMTrackSegEta > m_tsetaList
Definition: L1MuBMTrack.h:209
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:103
void setBx(int bx)
set charge of muon candidate
Definition: L1MuBMTrack.h:160
TrackClass m_tc
Definition: L1MuBMTrack.h:204
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208
std::string m_name
Definition: L1MuBMTrack.h:202
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ operator==()

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

equal operator

Definition at line 191 of file L1MuBMTrack.cc.

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

191  {
192  if (m_spid != track.m_spid)
193  return false;
194  if (m_empty != track.m_empty)
195  return false;
196  if (m_tc != track.m_tc)
197  return false;
198  if (bx() != track.bx())
199  return false;
200  if (phi() != track.phi())
201  return false;
202  if (eta() != track.eta())
203  return false;
204  if (fineEtaBit() != track.fineEtaBit())
205  return false;
206  if (pt() != track.pt())
207  return false;
208  if (charge() != track.charge())
209  return false;
210  if (quality() != track.quality())
211  return false;
212  if (m_addArray != track.m_addArray)
213  return false;
214  return true;
215 }
unsigned int pt() const
get pt-code (5 bits)
Definition: L1MuBMTrack.h:70
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201
bool fineEtaBit() const
get fine eta bit
Definition: L1MuBMTrack.h:79
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:85
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:103
int charge() const
get charge (1 bit)
Definition: L1MuBMTrack.h:82
TrackClass m_tc
Definition: L1MuBMTrack.h:204
unsigned int phi() const
get phi-code (8 bits)
Definition: L1MuBMTrack.h:73
int eta() const
get eta-code (6 bits)
Definition: L1MuBMTrack.h:76
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ phi()

unsigned int L1MuBMTrack::phi ( ) const
inline

get phi-code (8 bits)

Definition at line 73 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwPhi().

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

73 { return hwPhi(); }
const int hwPhi() const
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)

◆ print()

void L1MuBMTrack::print ( void  ) const

print parameters of muon candidate

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

249  {
250  if (!empty()) {
251  cout.setf(ios::showpoint);
252  cout.setf(ios::right, ios::adjustfield);
253  cout << setiosflags(ios::showpoint | ios::fixed);
254  cout << "MUON : "
255  << "pt = " << setw(3) << hwPt() << " "
256  << "charge = " << setw(2) << hwSign() << " "
257  << "eta = " << setw(2)
258  << hwEta()
259  //<< " (" << setw(1) << finehalo_packed() << ") "
260  << "phi = " << setw(3) << hwPhi() << " "
261  << "quality = " << setw(1) << hwQual() << '\t' << "class = " << tc() << " "
262  << "bx = " << setw(2) << bx() << endl;
263  cout << " found in " << m_spid << " with phi track segments :" << endl;
264  vector<L1MuBMTrackSegPhi>::const_iterator iter;
265  for (iter = m_tsphiList.begin(); iter != m_tsphiList.end(); iter++) {
266  cout << " " << (*iter) << endl;
267  }
268  }
269 }
const int hwPhi() const
Get compressed local phi (returned int * 2*pi/576 = local phi in rad)
TrackClass tc() const
get track-class
Definition: L1MuBMTrack.h:88
const int hwPt() const
Get compressed pT (returned int * 0.5 = pT (GeV))
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201
const int hwQual() const
Get quality code.
const int hwEta() const
Get compressed eta (returned int * 0.010875 = eta)
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:103
const int hwSign() const
Get charge sign bit (charge = (-1)^(sign))
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208
bool empty() const
is it an empty muon candidate?
Definition: L1MuBMTrack.h:91

◆ pt()

unsigned int L1MuBMTrack::pt ( ) const
inline

◆ quality()

unsigned int L1MuBMTrack::quality ( ) const
inline

get quality

Definition at line 85 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::hwQual().

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

85 { return hwQual(); }
const int hwQual() const
Get quality code.

◆ rank()

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

define a rank for muon candidates

Definition at line 190 of file L1MuBMTrack.h.

References dqmdumpme::first, and edm::second().

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

190  {
191  unsigned short int rank_f = 0; // rank of first
192  unsigned short int rank_s = 0; // rank of second
193  if (first)
194  rank_f = first->pt() + 512 * first->quality();
195  if (second)
196  rank_s = second->pt() + 512 * second->quality();
197  return rank_f > rank_s;
198  }
U second(std::pair< T, U > const &p)

◆ reset()

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 DiLeptonHelp::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:209
TrackClass m_tc
Definition: L1MuBMTrack.h:204
void reset()
reset address array
std::vector< L1MuBMTrackSegPhi > m_tsphiList
Definition: L1MuBMTrack.h:208
L1MuBMAddressArray m_addArray
Definition: L1MuBMTrack.h:207

◆ setAddresses()

void L1MuBMTrack::setAddresses ( const L1MuBMAddressArray addr)
inline

set relative addresses of muon candidate

Definition at line 166 of file L1MuBMTrack.h.

References generateTowerEtThresholdLUT::addr, and m_addArray.

Referenced by L1MuBMAssignmentUnit::run().

◆ setBx()

void L1MuBMTrack::setBx ( int  bx)
inline

set charge of muon candidate

Definition at line 160 of file L1MuBMTrack.h.

References bx(), and m_bx.

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

160 { m_bx = bx; }
int bx() const
get the bunch crossing for this muon candidate
Definition: L1MuBMTrack.h:103

◆ setCharge()

void L1MuBMTrack::setCharge ( int  charge)
inline

set charge of muon candidate

Definition at line 157 of file L1MuBMTrack.h.

References charge(), and l1t::RegionalMuonCand::setHwSign().

Referenced by L1MuBMAssignmentUnit::PtAU().

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

◆ setEta()

void L1MuBMTrack::setEta ( int  eta)

set eta-code of muon candidate

Definition at line 118 of file L1MuBMTrack.cc.

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

Referenced by L1MuBMEtaProcessor::assign().

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:76

◆ setFineEtaBit()

void L1MuBMTrack::setFineEtaBit ( )
inline

set fine eta bit

Definition at line 151 of file L1MuBMTrack.h.

References l1t::RegionalMuonCand::setHwHF().

Referenced by L1MuBMEtaProcessor::assign().

151 { setHwHF(true); }
void setHwHF(bool bit)
Set HF (halo / fine eta) bit (EMTF: halo -> 1; BMTF: fine eta -> 1)

◆ setName()

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

set name of object

Definition at line 139 of file L1MuBMTrack.h.

References m_name, and name().

139 { m_name = name; }
std::string name() const
get name of object
Definition: L1MuBMTrack.h:67
std::string m_name
Definition: L1MuBMTrack.h:202

◆ setPhi()

void L1MuBMTrack::setPhi ( int  phi)
inline

set phi-code of muon candidate

Definition at line 145 of file L1MuBMTrack.h.

References phi(), and l1t::RegionalMuonCand::setHwPhi().

Referenced by L1MuBMAssignmentUnit::PhiAU().

145 { 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:73

◆ setPt()

void L1MuBMTrack::setPt ( int  pt)
inline

set pt-code of muon candidate

Definition at line 154 of file L1MuBMTrack.h.

References pt(), and l1t::RegionalMuonCand::setHwPt().

Referenced by L1MuBMAssignmentUnit::PtAU().

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

◆ setQuality()

void L1MuBMTrack::setQuality ( unsigned int  quality)
inline

set quality of muon candidate

Definition at line 163 of file L1MuBMTrack.h.

References quality(), and l1t::RegionalMuonCand::setHwQual().

Referenced by L1MuBMAssignmentUnit::QuaAU().

163 { setHwQual(quality); }
unsigned int quality() const
get quality
Definition: L1MuBMTrack.h:85
void setHwQual(int bits)
Set compressed quality code as transmitted by hardware (4 bits)

◆ setTC()

void L1MuBMTrack::setTC ( TrackClass  tc)
inline

set track-class of muon candidate

Definition at line 142 of file L1MuBMTrack.h.

References m_tc, and tc().

Referenced by L1MuBMAssignmentUnit::run().

142 { m_tc = tc; }
TrackClass tc() const
get track-class
Definition: L1MuBMTrack.h:88
TrackClass m_tc
Definition: L1MuBMTrack.h:204

◆ setTSeta()

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

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:209

◆ setTSphi()

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

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:208

◆ spid()

const L1MuBMSecProcId& L1MuBMTrack::spid ( ) const
inline

return Sector Processor in which the muon candidate was found

Definition at line 94 of file L1MuBMTrack.h.

References m_spid.

Referenced by enable().

94 { return m_spid; }
L1MuBMSecProcId m_spid
Definition: L1MuBMTrack.h:201

◆ tc()

TrackClass L1MuBMTrack::tc ( ) const
inline

get track-class

Definition at line 88 of file L1MuBMTrack.h.

References m_tc.

Referenced by print(), and setTC().

88 { return m_tc; }
TrackClass m_tc
Definition: L1MuBMTrack.h:204

Friends And Related Function Documentation

◆ operator<<

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

output stream operator

Member Data Documentation

◆ m_addArray

L1MuBMAddressArray L1MuBMTrack::m_addArray
private

Definition at line 207 of file L1MuBMTrack.h.

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

◆ m_bx

int L1MuBMTrack::m_bx
private

Definition at line 205 of file L1MuBMTrack.h.

Referenced by bx(), and setBx().

◆ m_empty

bool L1MuBMTrack::m_empty
private

Definition at line 203 of file L1MuBMTrack.h.

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

◆ m_name

std::string L1MuBMTrack::m_name
private

Definition at line 202 of file L1MuBMTrack.h.

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

◆ m_spid

L1MuBMSecProcId L1MuBMTrack::m_spid
private

Definition at line 201 of file L1MuBMTrack.h.

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

◆ m_tc

TrackClass L1MuBMTrack::m_tc
private

Definition at line 204 of file L1MuBMTrack.h.

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

◆ m_tsetaList

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

◆ m_tsphiList

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