CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes | Friends
csc::L1Track Class Reference

#include <L1Track.h>

Inheritance diagram for csc::L1Track:
L1MuRegionalCand

Public Member Functions

unsigned addressEta (void) const
 
bool bc0 (void) const
 
int BX () const
 
bool bx0 (void) const
 
unsigned cscid () const
 
unsigned deltaPhi12 (void) const
 
unsigned deltaPhi23 (void) const
 
unsigned endcap () const
 
unsigned front_rear () const
 
 L1Track ()
 
 L1Track (const csc::L1TrackId &)
 
 L1Track (const csc::L1Track &)
 
unsigned localPhi () const
 
unsigned mb1ID () const
 
unsigned mb1Tbin (void) const
 
unsigned me1ID () const
 
unsigned me1Tbin (void) const
 
unsigned me2ID () const
 
unsigned me2Tbin (void) const
 
unsigned me3ID () const
 
unsigned me3Tbin (void) const
 
unsigned me4ID () const
 
unsigned me4Tbin (void) const
 
unsigned mode (void) const
 
unsigned modeExtended (void) const
 
bool operator!= (const csc::L1Track &) const
 
bool operator< (const csc::L1Track &) const
 
bool operator<= (const csc::L1Track &) const
 
const csc::L1Trackoperator= (const csc::L1Track &)
 
bool operator== (const csc::L1Track &) const
 
bool operator> (const csc::L1Track &) const
 
bool operator>= (const csc::L1Track &) const
 
unsigned outputLink () const
 
void Print () const
 
unsigned ptLUTAddress () const
 
unsigned rank () const
 
unsigned sector () const
 
void set_front_rear (unsigned fr)
 
void setBits (bool se, bool bx0, bool bc0)
 
void setLocalPhi (const unsigned &lphi)
 
void setOutputLink (unsigned oPL)
 
void setPtLUTAddress (const unsigned &adr)
 
void setRank (const unsigned &rank)
 
void setStationIds (const unsigned &me1, const unsigned &me2, const unsigned &me3, const unsigned &me4, const unsigned &mb1)
 
void setTbins (unsigned me1, unsigned me2, unsigned me3, unsigned me4, unsigned mb)
 
bool sign (void) const
 
unsigned station () const
 
unsigned subsector () const
 
bool synch_err (void) const
 
bool winner () const
 
 ~L1Track () override
 
- Public Member Functions inherited from L1MuRegionalCand
int bx () const
 return bunch crossing identifier More...
 
unsigned charge_packed () const
 return charge packed as in hardware (0=pos, 1=neg) More...
 
unsigned charge_valid_packed () const
 return charge valid packed as in hardware (1=valid, 0=not valid) More...
 
bool chargeValid () const
 is the charge valid ? More...
 
int chargeValue () const
 get charge More...
 
virtual bool empty () const
 return empty flag More...
 
unsigned eta_packed () const
 return eta packed as in hardware More...
 
float etaValue () const
 get eta-value of muon candidate More...
 
unsigned finehalo_packed () const
 return eta-fine (for DT) / halo (for CSC) bit More...
 
unsigned getDataWord () const
 return data word More...
 
bool isFineHalo () const
 is it fine (DT) / halo (CSC) ? More...
 
 L1MuRegionalCand (unsigned dataword=0, int bx=0)
 constructor from data word More...
 
 L1MuRegionalCand (unsigned type_idx, unsigned phi, unsigned eta, unsigned pt, unsigned charge, unsigned ch_valid, unsigned finehalo, unsigned quality, int bx)
 constructor from packed members More...
 
unsigned phi_packed () const
 return phi packed as in hardware More...
 
float phiValue () const
 get phi-value of muon candidate in radians (low edge of bin) More...
 
virtual void print () const
 print candidate More...
 
unsigned pt_packed () const
 return pt packed as in hardware More...
 
float ptValue () const
 get pt-value of muon candidate in GeV More...
 
unsigned int quality () const
 return quality More...
 
unsigned int quality_packed () const
 return quality packed as in hardware More...
 
virtual void reset ()
 reset More...
 
void setBx (int bx)
 Set Bunch Crossing. More...
 
void setChargePacked (unsigned ch)
 Set Charge (0=pos, 1=neg) More...
 
void setChargeValid (bool valid)
 Set Charge Valid. More...
 
void setChargeValidPacked (unsigned valid)
 Set Charge Valid. More...
 
void setChargeValue (int charge)
 Set Charge Value: -1, 1. More...
 
void setDataWord (unsigned dataword)
 Set data word. More...
 
void setEtaPacked (unsigned eta)
 Set Eta: 6-bit code. More...
 
void setEtaValue (float etaVal)
 Set Eta Value (need to set type, first) More...
 
void setFineHalo (bool fh)
 Set Fine / Halo. More...
 
void setFineHaloPacked (unsigned fh)
 Set Fine / Halo. More...
 
void setPhiPacked (unsigned phi)
 Set Phi: 0..143. More...
 
void setPhiValue (float phiVal)
 Set Phi Value. More...
 
void setPtPacked (unsigned pt)
 Set Pt: 0..31. More...
 
void setPtValue (float ptVal)
 Set Pt Value. More...
 
void setQualityPacked (unsigned qual)
 Set Quality: 0..7. More...
 
void setType (unsigned type)
 Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC. More...
 
unsigned type_idx () const
 return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC More...
 
virtual ~L1MuRegionalCand ()
 destructor More...
 

Static Public Member Functions

static void decodeRank (const unsigned &rank, unsigned &pt, unsigned &quality)
 
static unsigned encodeRank (const unsigned &pt, const unsigned &quality)
 

Private Attributes

bool m_bc0 = true
 
bool m_bx0 = true
 
bool m_empty = true
 
unsigned m_endcap = 0
 
unsigned m_fr = 0
 
unsigned m_lphi = 0
 
unsigned m_mbTbin = 0
 
unsigned m_me1Tbin = 0
 
unsigned m_me2Tbin = 0
 
unsigned m_me3Tbin = 0
 
unsigned m_me4Tbin = 0
 
std::string m_name
 
unsigned m_output_link = 0
 
unsigned m_ptAddress = 0
 
unsigned m_rank = 0
 
bool m_se = true
 
unsigned m_sector = 0
 
bool m_winner = false
 
unsigned mb1_id = 0
 
unsigned me1_id = 0
 
unsigned me2_id = 0
 
unsigned me3_id = 0
 
unsigned me4_id = 0
 

Friends

class ::CSCTFSPCoreLogic
 
class ::CSCTFUnpacker
 
class CSCTFSectorProcessor
 

Additional Inherited Members

- Public Types inherited from L1MuRegionalCand
enum  { PHI_START = 0 }
 
enum  { PHI_LENGTH = 8 }
 
enum  { PT_START = 8 }
 
enum  { PT_LENGTH = 5 }
 
enum  { QUAL_START = 13 }
 
enum  { QUAL_LENGTH = 3 }
 
enum  { ETA_START = 16 }
 
enum  { ETA_LENGTH = 6 }
 
enum  { FINEHALO_START = 22 }
 
enum  { FINEHALO_LENGTH = 1 }
 
enum  { CHARGE_START = 23 }
 
enum  { CHARGE_LENGTH = 1 }
 
enum  { CHVALID_START = 24 }
 
enum  { CHVALID_LENGTH = 1 }
 
enum  { TYPE_START = 30 }
 
enum  { TYPE_LENGTH = 2 }
 

Detailed Description

Definition at line 21 of file L1Track.h.

Constructor & Destructor Documentation

◆ L1Track() [1/3]

csc::L1Track::L1Track ( )
inline

Definition at line 23 of file L1Track.h.

References L1MuRegionalCand::setPtPacked(), and L1MuRegionalCand::setType().

23  : L1MuRegionalCand(), m_name("csc::L1Track") {
24  setType(2);
25  setPtPacked(0);
26  }
std::string m_name
Definition: L1Track.h:118
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
void setPtPacked(unsigned pt)
Set Pt: 0..31.

◆ L1Track() [2/3]

L1Track::L1Track ( const csc::L1TrackId id)

Definition at line 6 of file L1Track.cc.

References m_endcap, m_sector, L1MuRegionalCand::setPtPacked(), and L1MuRegionalCand::setType().

6  : m_name("csc::L1Track") {
7  m_endcap = id.endcap();
8  m_sector = id.sector();
9  setType(2);
10  setPtPacked(0);
11  }
std::string m_name
Definition: L1Track.h:118
unsigned m_sector
Definition: L1Track.h:120
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
void setPtPacked(unsigned pt)
Set Pt: 0..31.
unsigned m_endcap
Definition: L1Track.h:120

◆ L1Track() [3/3]

L1Track::L1Track ( const csc::L1Track rhs)

Definition at line 13 of file L1Track.cc.

References L1MuRegionalCand::bx(), L1MuRegionalCand::charge_packed(), L1MuRegionalCand::charge_valid_packed(), L1MuRegionalCand::eta_packed(), L1MuRegionalCand::finehalo_packed(), L1MuRegionalCand::getDataWord(), m_bc0, m_bx0, m_empty, m_endcap, m_fr, m_lphi, m_mbTbin, m_me1Tbin, m_me2Tbin, m_me3Tbin, m_me4Tbin, m_name, m_output_link, m_ptAddress, m_rank, m_se, m_sector, m_winner, mb1_id, me1_id, me2_id, me3_id, me4_id, L1MuRegionalCand::phi_packed(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality_packed(), L1MuRegionalCand::setBx(), L1MuRegionalCand::setChargePacked(), L1MuRegionalCand::setChargeValidPacked(), L1MuRegionalCand::setDataWord(), L1MuRegionalCand::setEtaPacked(), L1MuRegionalCand::setFineHaloPacked(), L1MuRegionalCand::setPhiPacked(), L1MuRegionalCand::setPtPacked(), L1MuRegionalCand::setQualityPacked(), L1MuRegionalCand::setType(), and L1MuRegionalCand::type_idx().

14  : L1MuRegionalCand(rhs.type_idx(),
15  rhs.phi_packed(),
16  rhs.eta_packed(),
17  rhs.pt_packed(),
18  rhs.charge_packed(),
19  rhs.charge_valid_packed(),
20  rhs.finehalo_packed(),
21  rhs.quality_packed(),
22  rhs.bx()),
23  m_name(rhs.m_name) {
24  this->setBx(rhs.bx());
25  this->setDataWord(rhs.getDataWord());
26  m_name = rhs.m_name;
27  this->setType(rhs.type_idx());
28  this->setPhiPacked(rhs.phi_packed());
29  this->setEtaPacked(rhs.eta_packed());
30  this->setPtPacked(rhs.pt_packed());
31  this->setChargePacked(rhs.charge_packed());
34  this->setQualityPacked(rhs.quality_packed());
35  m_empty = rhs.m_empty;
36  m_lphi = rhs.m_lphi;
37  m_endcap = rhs.m_endcap;
38  m_sector = rhs.m_sector;
40  m_rank = rhs.m_rank;
41  me1_id = rhs.me1_id;
42  me2_id = rhs.me2_id;
43  me3_id = rhs.me3_id;
44  me4_id = rhs.me4_id;
45  mb1_id = rhs.mb1_id;
46  m_me1Tbin = rhs.m_me1Tbin;
47  m_me2Tbin = rhs.m_me2Tbin;
48  m_me3Tbin = rhs.m_me3Tbin;
49  m_me4Tbin = rhs.m_me4Tbin;
50  m_mbTbin = rhs.m_mbTbin;
52  m_winner = rhs.m_winner;
53  m_fr = rhs.m_fr;
54  m_se = rhs.m_se;
55  m_bx0 = rhs.m_bx0;
56  m_bc0 = rhs.m_bc0;
57  }
unsigned m_me2Tbin
Definition: L1Track.h:133
std::string m_name
Definition: L1Track.h:118
unsigned int quality_packed() const
return quality packed as in hardware
unsigned m_ptAddress
Definition: L1Track.h:123
unsigned pt_packed() const
return pt packed as in hardware
bool m_bc0
Definition: L1Track.h:132
unsigned m_me3Tbin
Definition: L1Track.h:133
unsigned me3_id
Definition: L1Track.h:125
bool m_se
Definition: L1Track.h:132
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
L1MuRegionalCand(unsigned dataword=0, int bx=0)
constructor from data word
unsigned m_mbTbin
Definition: L1Track.h:133
unsigned getDataWord() const
return data word
unsigned phi_packed() const
return phi packed as in hardware
unsigned mb1_id
Definition: L1Track.h:125
void setChargeValidPacked(unsigned valid)
Set Charge Valid.
void setBx(int bx)
Set Bunch Crossing.
unsigned m_me1Tbin
Definition: L1Track.h:133
unsigned me2_id
Definition: L1Track.h:125
unsigned me1_id
Definition: L1Track.h:125
unsigned m_sector
Definition: L1Track.h:120
void setDataWord(unsigned dataword)
Set data word.
unsigned m_output_link
Definition: L1Track.h:127
unsigned m_me4Tbin
Definition: L1Track.h:133
unsigned charge_valid_packed() const
return charge valid packed as in hardware (1=valid, 0=not valid)
unsigned m_rank
Definition: L1Track.h:126
unsigned eta_packed() const
return eta packed as in hardware
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
void setChargePacked(unsigned ch)
Set Charge (0=pos, 1=neg)
unsigned m_fr
Definition: L1Track.h:124
void setPtPacked(unsigned pt)
Set Pt: 0..31.
unsigned m_lphi
Definition: L1Track.h:122
unsigned me4_id
Definition: L1Track.h:125
void setPhiPacked(unsigned phi)
Set Phi: 0..143.
bool m_bx0
Definition: L1Track.h:132
void setQualityPacked(unsigned qual)
Set Quality: 0..7.
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.
unsigned finehalo_packed() const
return eta-fine (for DT) / halo (for CSC) bit
void setFineHaloPacked(unsigned fh)
Set Fine / Halo.
unsigned m_endcap
Definition: L1Track.h:120
int bx() const
return bunch crossing identifier
bool m_winner
Definition: L1Track.h:129
bool m_empty
Definition: L1Track.h:128
unsigned type_idx() const
return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC

◆ ~L1Track()

L1Track::~L1Track ( )
override

Definition at line 59 of file L1Track.cc.

59 {}

Member Function Documentation

◆ addressEta()

unsigned csc::L1Track::addressEta ( void  ) const
inline

Definition at line 89 of file L1Track.h.

References m_ptAddress.

89 { return (m_ptAddress >> 12) & 0xF; }
unsigned m_ptAddress
Definition: L1Track.h:123

◆ bc0()

bool csc::L1Track::bc0 ( void  ) const
inline

Definition at line 94 of file L1Track.h.

References m_bc0.

Referenced by setBits().

94 { return m_bc0; }
bool m_bc0
Definition: L1Track.h:132

◆ BX()

int csc::L1Track::BX ( ) const
inline

Definition at line 53 of file L1Track.h.

References L1MuRegionalCand::bx().

Referenced by CSCTFanalyzer::analyze(), and Print().

53 { return bx(); }
int bx() const
return bunch crossing identifier

◆ bx0()

bool csc::L1Track::bx0 ( void  ) const
inline

Definition at line 93 of file L1Track.h.

References m_bx0.

Referenced by setBits().

93 { return m_bx0; }
bool m_bx0
Definition: L1Track.h:132

◆ cscid()

unsigned csc::L1Track::cscid ( ) const
inline

Definition at line 51 of file L1Track.h.

51 { return 0; }

◆ decodeRank()

void L1Track::decodeRank ( const unsigned &  rank,
unsigned &  pt,
unsigned &  quality 
)
static

Definition at line 117 of file L1Track.cc.

References DiDispStaMuonMonitor_cfi::pt, L1MuRegionalCand::PT_LENGTH, L1MuRegionalCand::quality(), and rank().

117  {
118  if (rank == 0) {
119  quality = 0;
120  pt = 0;
121  } else {
123  pt = rank & ((1 << L1MuRegionalCand::PT_LENGTH) - 1);
124  }
125  }
unsigned rank() const
Definition: L1Track.cc:100
unsigned int quality() const
return quality

◆ deltaPhi12()

unsigned csc::L1Track::deltaPhi12 ( void  ) const
inline

Definition at line 87 of file L1Track.h.

References m_ptAddress.

87 { return m_ptAddress & 0xFF; }
unsigned m_ptAddress
Definition: L1Track.h:123

◆ deltaPhi23()

unsigned csc::L1Track::deltaPhi23 ( void  ) const
inline

Definition at line 88 of file L1Track.h.

References m_ptAddress.

88 { return (m_ptAddress >> 8) & 0xF; }
unsigned m_ptAddress
Definition: L1Track.h:123

◆ encodeRank()

unsigned L1Track::encodeRank ( const unsigned &  pt,
const unsigned &  quality 
)
static

Definition at line 111 of file L1Track.cc.

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

111  {
112  if (pt == 0)
113  return 0;
114  return pt | (quality << L1MuRegionalCand::PT_LENGTH);
115  }
unsigned int quality() const
return quality

◆ endcap()

unsigned csc::L1Track::endcap ( ) const
inline

Definition at line 46 of file L1Track.h.

References m_endcap.

Referenced by CSCTFanalyzer::analyze(), geometryXMLparser.CSCAlignable::index(), and Print().

46 { return m_endcap; }
unsigned m_endcap
Definition: L1Track.h:120

◆ front_rear()

unsigned csc::L1Track::front_rear ( ) const
inline

Definition at line 59 of file L1Track.h.

References m_fr.

59 { return m_fr; }
unsigned m_fr
Definition: L1Track.h:124

◆ localPhi()

unsigned csc::L1Track::localPhi ( ) const
inline

Definition at line 37 of file L1Track.h.

References m_lphi.

Referenced by CSCTFanalyzer::analyze().

37 { return m_lphi; }
unsigned m_lphi
Definition: L1Track.h:122

◆ mb1ID()

unsigned csc::L1Track::mb1ID ( ) const
inline

Definition at line 44 of file L1Track.h.

References mb1_id.

Referenced by CSCTFanalyzer::analyze().

44 { return mb1_id; }
unsigned mb1_id
Definition: L1Track.h:125

◆ mb1Tbin()

unsigned csc::L1Track::mb1Tbin ( void  ) const
inline

Definition at line 99 of file L1Track.h.

References m_mbTbin.

99 { return m_mbTbin; }
unsigned m_mbTbin
Definition: L1Track.h:133

◆ me1ID()

unsigned csc::L1Track::me1ID ( ) const
inline

Definition at line 40 of file L1Track.h.

References me1_id.

Referenced by CSCTFanalyzer::analyze().

40 { return me1_id; }
unsigned me1_id
Definition: L1Track.h:125

◆ me1Tbin()

unsigned csc::L1Track::me1Tbin ( void  ) const
inline

Definition at line 95 of file L1Track.h.

References m_me1Tbin.

95 { return m_me1Tbin; }
unsigned m_me1Tbin
Definition: L1Track.h:133

◆ me2ID()

unsigned csc::L1Track::me2ID ( ) const
inline

Definition at line 41 of file L1Track.h.

References me2_id.

Referenced by CSCTFanalyzer::analyze().

41 { return me2_id; }
unsigned me2_id
Definition: L1Track.h:125

◆ me2Tbin()

unsigned csc::L1Track::me2Tbin ( void  ) const
inline

Definition at line 96 of file L1Track.h.

References m_me2Tbin.

96 { return m_me2Tbin; }
unsigned m_me2Tbin
Definition: L1Track.h:133

◆ me3ID()

unsigned csc::L1Track::me3ID ( ) const
inline

Definition at line 42 of file L1Track.h.

References me3_id.

Referenced by CSCTFanalyzer::analyze().

42 { return me3_id; }
unsigned me3_id
Definition: L1Track.h:125

◆ me3Tbin()

unsigned csc::L1Track::me3Tbin ( void  ) const
inline

Definition at line 97 of file L1Track.h.

References m_me3Tbin.

97 { return m_me3Tbin; }
unsigned m_me3Tbin
Definition: L1Track.h:133

◆ me4ID()

unsigned csc::L1Track::me4ID ( ) const
inline

Definition at line 43 of file L1Track.h.

References me4_id.

Referenced by CSCTFanalyzer::analyze().

43 { return me4_id; }
unsigned me4_id
Definition: L1Track.h:125

◆ me4Tbin()

unsigned csc::L1Track::me4Tbin ( void  ) const
inline

Definition at line 98 of file L1Track.h.

References m_me4Tbin.

98 { return m_me4Tbin; }
unsigned m_me4Tbin
Definition: L1Track.h:133

◆ mode()

unsigned csc::L1Track::mode ( void  ) const
inline

Definition at line 90 of file L1Track.h.

References m_ptAddress.

Referenced by CSCTFanalyzer::analyze(), and modeExtended().

90 { return (m_ptAddress >> 16) & 0xF; }
unsigned m_ptAddress
Definition: L1Track.h:123

◆ modeExtended()

unsigned L1Track::modeExtended ( void  ) const

Definition at line 168 of file L1Track.cc.

References m_ptAddress, mode(), and testProducerWithPsetDescEmpty_cfi::x1.

168  {
169  unsigned modeExt = mode();
170  unsigned fr = (m_ptAddress >> 21) & 0x1;
171 
172  if (modeExt == 11 && fr == 1)
173  modeExt = 17;
174  else if (modeExt == 12 && fr == 1)
175  modeExt = 18;
176  else if (modeExt == 14 && fr == 1)
177  modeExt = 16;
178  return modeExt;
179  }
unsigned m_ptAddress
Definition: L1Track.h:123
unsigned mode(void) const
Definition: L1Track.h:90

◆ operator!=()

bool L1Track::operator!= ( const csc::L1Track rhs) const

Definition at line 137 of file L1Track.cc.

References rank().

137 { return (rank() != rhs.rank()); }
unsigned rank() const
Definition: L1Track.cc:100

◆ operator<()

bool L1Track::operator< ( const csc::L1Track rhs) const

Definition at line 129 of file L1Track.cc.

References rank().

129 { return (rank() < rhs.rank()); }
unsigned rank() const
Definition: L1Track.cc:100

◆ operator<=()

bool L1Track::operator<= ( const csc::L1Track rhs) const

Definition at line 133 of file L1Track.cc.

References rank().

133 { return (rank() <= rhs.rank()); }
unsigned rank() const
Definition: L1Track.cc:100

◆ operator=()

const csc::L1Track & L1Track::operator= ( const csc::L1Track rhs)

Definition at line 61 of file L1Track.cc.

References L1MuRegionalCand::bx(), L1MuRegionalCand::charge_packed(), L1MuRegionalCand::charge_valid_packed(), L1MuRegionalCand::eta_packed(), L1MuRegionalCand::finehalo_packed(), L1MuRegionalCand::getDataWord(), m_bc0, m_bx0, m_empty, m_endcap, m_fr, m_lphi, m_mbTbin, m_me1Tbin, m_me2Tbin, m_me3Tbin, m_me4Tbin, m_name, m_output_link, m_ptAddress, m_rank, m_se, m_sector, m_winner, mb1_id, me1_id, me2_id, me3_id, me4_id, L1MuRegionalCand::phi_packed(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality_packed(), L1MuRegionalCand::setBx(), L1MuRegionalCand::setChargePacked(), L1MuRegionalCand::setChargeValidPacked(), L1MuRegionalCand::setDataWord(), L1MuRegionalCand::setEtaPacked(), L1MuRegionalCand::setFineHaloPacked(), L1MuRegionalCand::setPhiPacked(), L1MuRegionalCand::setPtPacked(), L1MuRegionalCand::setQualityPacked(), L1MuRegionalCand::setType(), and L1MuRegionalCand::type_idx().

61  {
62  if (this != &rhs) {
63  m_fr = rhs.m_fr;
64  m_se = rhs.m_se;
65  m_bx0 = rhs.m_bx0;
66  m_bc0 = rhs.m_bc0;
67  m_empty = rhs.m_empty;
68  this->setBx(rhs.bx());
69  this->setDataWord(rhs.getDataWord());
70  m_name = rhs.m_name;
71  m_lphi = rhs.m_lphi;
72  this->setType(rhs.type_idx());
73  this->setPhiPacked(rhs.phi_packed());
74  this->setEtaPacked(rhs.eta_packed());
75  this->setPtPacked(rhs.pt_packed());
76  this->setChargePacked(rhs.charge_packed());
79  this->setQualityPacked(rhs.quality_packed());
80  m_endcap = rhs.m_endcap;
81  m_sector = rhs.m_sector;
83  m_rank = rhs.m_rank;
84  me1_id = rhs.me1_id;
85  me2_id = rhs.me2_id;
86  me3_id = rhs.me3_id;
87  me4_id = rhs.me4_id;
88  mb1_id = rhs.mb1_id;
89  m_me1Tbin = rhs.m_me1Tbin;
90  m_me2Tbin = rhs.m_me2Tbin;
91  m_me3Tbin = rhs.m_me3Tbin;
92  m_me4Tbin = rhs.m_me4Tbin;
93  m_mbTbin = rhs.m_mbTbin;
95  m_winner = rhs.m_winner;
96  }
97  return *this;
98  }
unsigned m_me2Tbin
Definition: L1Track.h:133
std::string m_name
Definition: L1Track.h:118
unsigned int quality_packed() const
return quality packed as in hardware
unsigned m_ptAddress
Definition: L1Track.h:123
unsigned pt_packed() const
return pt packed as in hardware
bool m_bc0
Definition: L1Track.h:132
unsigned m_me3Tbin
Definition: L1Track.h:133
unsigned me3_id
Definition: L1Track.h:125
bool m_se
Definition: L1Track.h:132
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
unsigned m_mbTbin
Definition: L1Track.h:133
unsigned getDataWord() const
return data word
unsigned phi_packed() const
return phi packed as in hardware
unsigned mb1_id
Definition: L1Track.h:125
void setChargeValidPacked(unsigned valid)
Set Charge Valid.
void setBx(int bx)
Set Bunch Crossing.
unsigned m_me1Tbin
Definition: L1Track.h:133
unsigned me2_id
Definition: L1Track.h:125
unsigned me1_id
Definition: L1Track.h:125
unsigned m_sector
Definition: L1Track.h:120
void setDataWord(unsigned dataword)
Set data word.
unsigned m_output_link
Definition: L1Track.h:127
unsigned m_me4Tbin
Definition: L1Track.h:133
unsigned charge_valid_packed() const
return charge valid packed as in hardware (1=valid, 0=not valid)
unsigned m_rank
Definition: L1Track.h:126
unsigned eta_packed() const
return eta packed as in hardware
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
void setChargePacked(unsigned ch)
Set Charge (0=pos, 1=neg)
unsigned m_fr
Definition: L1Track.h:124
void setPtPacked(unsigned pt)
Set Pt: 0..31.
unsigned m_lphi
Definition: L1Track.h:122
unsigned me4_id
Definition: L1Track.h:125
void setPhiPacked(unsigned phi)
Set Phi: 0..143.
bool m_bx0
Definition: L1Track.h:132
void setQualityPacked(unsigned qual)
Set Quality: 0..7.
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.
unsigned finehalo_packed() const
return eta-fine (for DT) / halo (for CSC) bit
void setFineHaloPacked(unsigned fh)
Set Fine / Halo.
unsigned m_endcap
Definition: L1Track.h:120
int bx() const
return bunch crossing identifier
bool m_winner
Definition: L1Track.h:129
bool m_empty
Definition: L1Track.h:128
unsigned type_idx() const
return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC

◆ operator==()

bool L1Track::operator== ( const csc::L1Track rhs) const

Definition at line 135 of file L1Track.cc.

References rank().

135 { return (rank() == rhs.rank()); }
unsigned rank() const
Definition: L1Track.cc:100

◆ operator>()

bool L1Track::operator> ( const csc::L1Track rhs) const

Definition at line 127 of file L1Track.cc.

References rank().

127 { return (rank() > rhs.rank()); }
unsigned rank() const
Definition: L1Track.cc:100

◆ operator>=()

bool L1Track::operator>= ( const csc::L1Track rhs) const

Definition at line 131 of file L1Track.cc.

References rank().

131 { return (rank() >= rhs.rank()); }
unsigned rank() const
Definition: L1Track.cc:100

◆ outputLink()

unsigned csc::L1Track::outputLink ( ) const
inline

Definition at line 63 of file L1Track.h.

References m_output_link.

Referenced by CSCTFanalyzer::analyze().

63 { return m_output_link; }
unsigned m_output_link
Definition: L1Track.h:127

◆ Print()

void L1Track::Print ( void  ) const

Definition at line 139 of file L1Track.cc.

References BX(), L1MuRegionalCand::charge_packed(), gather_cfg::cout, L1MuRegionalCand::empty(), endcap(), L1MuRegionalCand::eta_packed(), L1MuRegionalCand::phi_packed(), L1MuRegionalCand::pt_packed(), L1MuRegionalCand::quality_packed(), and winner().

139  {
140  if (!empty()) {
141  std::cout << "\t Pt(int): "
142  << " " << pt_packed() << " Phi(int): "
143  << " " << phi_packed() << " Eta(int): "
144  << " " << eta_packed() << " Quality: "
145  << " " << quality_packed() << " charge: "
146  << " " << charge_packed() << " side: "
147  << " " << endcap() << " bx: "
148  << " " << BX() << " Winner: "
149  << " " << winner() << std::endl;
150  } else {
151  std::cout << "\t Empty track!\n";
152  std::cout << "\t Pt(int): "
153  << " "
154  << "unassigned or zero"
155  << " Phi(int): "
156  << " " << phi_packed() << " Eta(int): "
157  << " " << eta_packed() << " Quality: "
158  << " "
159  << "unassigned or zero"
160  << " charge: "
161  << " " << charge_packed() << " side: "
162  << " " << endcap() << " bx: "
163  << " " << BX() << " Winner: "
164  << " " << winner() << std::endl;
165  }
166  }
unsigned int quality_packed() const
return quality packed as in hardware
unsigned pt_packed() const
return pt packed as in hardware
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
unsigned phi_packed() const
return phi packed as in hardware
int BX() const
Definition: L1Track.h:53
unsigned eta_packed() const
return eta packed as in hardware
virtual bool empty() const
return empty flag
bool winner() const
Definition: L1Track.h:65
unsigned endcap() const
Definition: L1Track.h:46

◆ ptLUTAddress()

unsigned csc::L1Track::ptLUTAddress ( ) const
inline

Definition at line 58 of file L1Track.h.

References m_ptAddress.

Referenced by CSCTFanalyzer::analyze().

58 { return m_ptAddress; }
unsigned m_ptAddress
Definition: L1Track.h:123

◆ rank()

unsigned L1Track::rank ( ) const

Definition at line 100 of file L1Track.cc.

References m_rank.

Referenced by CSCTFanalyzer::analyze(), decodeRank(), operator!=(), operator<(), operator<=(), operator==(), operator>(), operator>=(), and setRank().

100 { return m_rank; }
unsigned m_rank
Definition: L1Track.h:126

◆ sector()

unsigned csc::L1Track::sector ( ) const
inline

Definition at line 47 of file L1Track.h.

References m_sector.

Referenced by CSCTFanalyzer::analyze(), and geometryXMLparser.DTAlignable::index().

47 { return m_sector; }
unsigned m_sector
Definition: L1Track.h:120

◆ set_front_rear()

void csc::L1Track::set_front_rear ( unsigned  fr)
inline

Definition at line 61 of file L1Track.h.

References m_fr.

61 { m_fr = fr; }
unsigned m_fr
Definition: L1Track.h:124

◆ setBits()

void csc::L1Track::setBits ( bool  se,
bool  bx0,
bool  bc0 
)
inline

Definition at line 100 of file L1Track.h.

References bc0(), bx0(), m_bc0, m_bx0, and m_se.

100  {
101  m_se = se;
102  m_bx0 = bx0;
103  m_bc0 = bc0;
104  }
bool m_bc0
Definition: L1Track.h:132
bool m_se
Definition: L1Track.h:132
bool bx0(void) const
Definition: L1Track.h:93
bool bc0(void) const
Definition: L1Track.h:94
bool m_bx0
Definition: L1Track.h:132

◆ setLocalPhi()

void csc::L1Track::setLocalPhi ( const unsigned &  lphi)
inline

Definition at line 38 of file L1Track.h.

References m_lphi.

Referenced by CSCTFSPCoreLogic::run().

38 { m_lphi = lphi; }
unsigned m_lphi
Definition: L1Track.h:122

◆ setOutputLink()

void csc::L1Track::setOutputLink ( unsigned  oPL)
inline

Definition at line 64 of file L1Track.h.

References m_output_link.

Referenced by CSCTFanalyzer::analyze(), and CSCTFSPCoreLogic::run().

64 { m_output_link = oPL; }
unsigned m_output_link
Definition: L1Track.h:127

◆ setPtLUTAddress()

void csc::L1Track::setPtLUTAddress ( const unsigned &  adr)
inline

Definition at line 60 of file L1Track.h.

References m_ptAddress.

Referenced by CSCTFSPCoreLogic::run().

60 { m_ptAddress = adr; }
unsigned m_ptAddress
Definition: L1Track.h:123

◆ setRank()

void csc::L1Track::setRank ( const unsigned &  rank)
inline

Definition at line 35 of file L1Track.h.

References m_rank, and rank().

35 { m_rank = rank; }
unsigned rank() const
Definition: L1Track.cc:100
unsigned m_rank
Definition: L1Track.h:126

◆ setStationIds()

void L1Track::setStationIds ( const unsigned &  me1,
const unsigned &  me2,
const unsigned &  me3,
const unsigned &  me4,
const unsigned &  mb1 
)

◆ setTbins()

void csc::L1Track::setTbins ( unsigned  me1,
unsigned  me2,
unsigned  me3,
unsigned  me4,
unsigned  mb 
)
inline

Definition at line 105 of file L1Track.h.

References m_mbTbin, m_me1Tbin, m_me2Tbin, m_me3Tbin, m_me4Tbin, hlt_dqm_clientPB-live_cfg::me1, and hlt_dqm_clientPB-live_cfg::me2.

Referenced by CSCTFSPCoreLogic::run().

105  {
106  m_me1Tbin = me1;
107  m_me2Tbin = me2;
108  m_me3Tbin = me3;
109  m_me4Tbin = me4;
110  m_mbTbin = mb;
111  }
unsigned m_me2Tbin
Definition: L1Track.h:133
unsigned m_me3Tbin
Definition: L1Track.h:133
unsigned m_mbTbin
Definition: L1Track.h:133
unsigned m_me1Tbin
Definition: L1Track.h:133
unsigned m_me4Tbin
Definition: L1Track.h:133

◆ sign()

bool csc::L1Track::sign ( void  ) const
inline

Definition at line 91 of file L1Track.h.

References m_ptAddress.

91 { return (m_ptAddress >> 20) & 0x1; }
unsigned m_ptAddress
Definition: L1Track.h:123

◆ station()

unsigned csc::L1Track::station ( ) const
inline

Definition at line 48 of file L1Track.h.

Referenced by geometryXMLparser.DTAlignable::index(), and geometryXMLparser.CSCAlignable::index().

48 { return 0; }

◆ subsector()

unsigned csc::L1Track::subsector ( ) const
inline

Definition at line 50 of file L1Track.h.

50 { return 0; }

◆ synch_err()

bool csc::L1Track::synch_err ( void  ) const
inline

Definition at line 92 of file L1Track.h.

References m_se.

92 { return m_se; }
bool m_se
Definition: L1Track.h:132

◆ winner()

bool csc::L1Track::winner ( ) const
inline

Definition at line 65 of file L1Track.h.

References m_winner.

Referenced by Print().

65 { return m_winner; }
bool m_winner
Definition: L1Track.h:129

Friends And Related Function Documentation

◆ ::CSCTFSPCoreLogic

friend class ::CSCTFSPCoreLogic
friend

Definition at line 82 of file L1Track.h.

◆ ::CSCTFUnpacker

friend class ::CSCTFUnpacker
friend

Definition at line 81 of file L1Track.h.

◆ CSCTFSectorProcessor

friend class CSCTFSectorProcessor
friend

Only the Unpacker and SectorProcessor should have access to addTrackStub() This prevents people from adding too many track stubs.

Definition at line 80 of file L1Track.h.

Member Data Documentation

◆ m_bc0

bool csc::L1Track::m_bc0 = true
private

Definition at line 132 of file L1Track.h.

Referenced by bc0(), L1Track(), operator=(), and setBits().

◆ m_bx0

bool csc::L1Track::m_bx0 = true
private

Definition at line 132 of file L1Track.h.

Referenced by bx0(), L1Track(), operator=(), and setBits().

◆ m_empty

bool csc::L1Track::m_empty = true
private

Definition at line 128 of file L1Track.h.

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

◆ m_endcap

unsigned csc::L1Track::m_endcap = 0
private

Definition at line 120 of file L1Track.h.

Referenced by endcap(), L1Track(), and operator=().

◆ m_fr

unsigned csc::L1Track::m_fr = 0
private

Definition at line 124 of file L1Track.h.

Referenced by front_rear(), L1Track(), operator=(), and set_front_rear().

◆ m_lphi

unsigned csc::L1Track::m_lphi = 0
private

Definition at line 122 of file L1Track.h.

Referenced by L1Track(), localPhi(), operator=(), and setLocalPhi().

◆ m_mbTbin

unsigned csc::L1Track::m_mbTbin = 0
private

Definition at line 133 of file L1Track.h.

Referenced by L1Track(), mb1Tbin(), operator=(), and setTbins().

◆ m_me1Tbin

unsigned csc::L1Track::m_me1Tbin = 0
private

Definition at line 133 of file L1Track.h.

Referenced by L1Track(), me1Tbin(), operator=(), and setTbins().

◆ m_me2Tbin

unsigned csc::L1Track::m_me2Tbin = 0
private

Definition at line 133 of file L1Track.h.

Referenced by L1Track(), me2Tbin(), operator=(), and setTbins().

◆ m_me3Tbin

unsigned csc::L1Track::m_me3Tbin = 0
private

Definition at line 133 of file L1Track.h.

Referenced by L1Track(), me3Tbin(), operator=(), and setTbins().

◆ m_me4Tbin

unsigned csc::L1Track::m_me4Tbin = 0
private

Definition at line 133 of file L1Track.h.

Referenced by L1Track(), me4Tbin(), operator=(), and setTbins().

◆ m_name

std::string csc::L1Track::m_name
private

Definition at line 118 of file L1Track.h.

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

◆ m_output_link

unsigned csc::L1Track::m_output_link = 0
private

Definition at line 127 of file L1Track.h.

Referenced by L1Track(), operator=(), outputLink(), and setOutputLink().

◆ m_ptAddress

unsigned csc::L1Track::m_ptAddress = 0
private

◆ m_rank

unsigned csc::L1Track::m_rank = 0
private

Definition at line 126 of file L1Track.h.

Referenced by L1Track(), operator=(), rank(), and setRank().

◆ m_se

bool csc::L1Track::m_se = true
private

Definition at line 132 of file L1Track.h.

Referenced by L1Track(), operator=(), setBits(), and synch_err().

◆ m_sector

unsigned csc::L1Track::m_sector = 0
private

Definition at line 120 of file L1Track.h.

Referenced by L1Track(), operator=(), and sector().

◆ m_winner

bool csc::L1Track::m_winner = false
private

Definition at line 129 of file L1Track.h.

Referenced by L1Track(), operator=(), and winner().

◆ mb1_id

unsigned csc::L1Track::mb1_id = 0
private

Definition at line 125 of file L1Track.h.

Referenced by L1Track(), mb1ID(), operator=(), and setStationIds().

◆ me1_id

unsigned csc::L1Track::me1_id = 0
private

Definition at line 125 of file L1Track.h.

Referenced by L1Track(), me1ID(), operator=(), and setStationIds().

◆ me2_id

unsigned csc::L1Track::me2_id = 0
private

Definition at line 125 of file L1Track.h.

Referenced by L1Track(), me2ID(), operator=(), and setStationIds().

◆ me3_id

unsigned csc::L1Track::me3_id = 0
private

Definition at line 125 of file L1Track.h.

Referenced by L1Track(), me3ID(), operator=(), and setStationIds().

◆ me4_id

unsigned csc::L1Track::me4_id = 0
private

Definition at line 125 of file L1Track.h.

Referenced by L1Track(), me4ID(), operator=(), and setStationIds().