CMS 3D CMS Logo

L1Track.h
Go to the documentation of this file.
1 
9 #ifndef L1CSCTrackFinder_L1Track_h
10 #define L1CSCTrackFinder_L1Track_h
11 
14 
16 class CSCTFUnpacker;
17 class CSCTFSPCoreLogic;
18 
19 namespace csc {
20 
21  class L1Track : public L1MuRegionalCand {
22  public:
23  L1Track() : L1MuRegionalCand(), m_name("csc::L1Track") {
24  setType(2);
25  setPtPacked(0);
26  }
27  L1Track(const csc::L1TrackId&);
28  L1Track(const csc::L1Track&);
29 
30  const csc::L1Track& operator=(const csc::L1Track&);
31 
32  ~L1Track() override;
33 
34  unsigned rank() const;
35  void setRank(const unsigned& rank) { m_rank = rank; }
36 
37  unsigned localPhi() const { return m_lphi; }
38  void setLocalPhi(const unsigned& lphi) { m_lphi = lphi; }
39 
40  unsigned me1ID() const { return me1_id; }
41  unsigned me2ID() const { return me2_id; }
42  unsigned me3ID() const { return me3_id; }
43  unsigned me4ID() const { return me4_id; }
44  unsigned mb1ID() const { return mb1_id; }
45 
46  unsigned endcap() const { return m_endcap; }
47  unsigned sector() const { return m_sector; }
48  unsigned station() const { return 0; }
49  // these next two are needed by the trigger container class
50  unsigned subsector() const { return 0; }
51  unsigned cscid() const { return 0; }
52 
53  int BX() const { return bx(); }
54 
55  static unsigned encodeRank(const unsigned& pt, const unsigned& quality);
56  static void decodeRank(const unsigned& rank, unsigned& pt, unsigned& quality);
57 
58  unsigned ptLUTAddress() const { return m_ptAddress; }
59  unsigned front_rear() const { return m_fr; }
60  void setPtLUTAddress(const unsigned& adr) { m_ptAddress = adr; }
61  void set_front_rear(unsigned fr) { m_fr = fr; }
62 
63  unsigned outputLink() const { return m_output_link; }
64  void setOutputLink(unsigned oPL) { m_output_link = oPL; }
65  bool winner() const { return m_winner; }
66 
67  bool operator>(const csc::L1Track&) const;
68  bool operator<(const csc::L1Track&) const;
69  bool operator>=(const csc::L1Track&) const;
70  bool operator<=(const csc::L1Track&) const;
71  bool operator==(const csc::L1Track&) const;
72  bool operator!=(const csc::L1Track&) const;
73 
74  //friend std::ostream& operator<<(std::ostream&, const csc::L1Track&);
75  //friend std::ostream& operator<<(std::ostream&, csc::L1Track&);
76 
79 
80  friend class CSCTFSectorProcessor; // for track stubs
81  friend class ::CSCTFUnpacker; // for track id bits and track stubs
82  friend class ::CSCTFSPCoreLogic; // for track id bits
83 
84  void Print() const;
85 
86  // Accessors for some technical information:
87  unsigned deltaPhi12(void) const { return m_ptAddress & 0xFF; }
88  unsigned deltaPhi23(void) const { return (m_ptAddress >> 8) & 0xF; }
89  unsigned addressEta(void) const { return (m_ptAddress >> 12) & 0xF; }
90  unsigned mode(void) const { return (m_ptAddress >> 16) & 0xF; }
91  bool sign(void) const { return (m_ptAddress >> 20) & 0x1; }
92  bool synch_err(void) const { return m_se; }
93  bool bx0(void) const { return m_bx0; }
94  bool bc0(void) const { return m_bc0; }
95  unsigned me1Tbin(void) const { return m_me1Tbin; }
96  unsigned me2Tbin(void) const { return m_me2Tbin; }
97  unsigned me3Tbin(void) const { return m_me3Tbin; }
98  unsigned me4Tbin(void) const { return m_me4Tbin; }
99  unsigned mb1Tbin(void) const { return m_mbTbin; }
100  void setBits(unsigned se, unsigned bx0, unsigned bc0) {
101  m_se = se;
102  m_bx0 = bx0;
103  m_bc0 = bc0;
104  }
105  void setTbins(unsigned me1, unsigned me2, unsigned me3, unsigned me4, unsigned mb) {
106  m_me1Tbin = me1;
107  m_me2Tbin = me2;
108  m_me3Tbin = me3;
109  m_me4Tbin = me4;
110  m_mbTbin = mb;
111  }
112  void setStationIds(
113  const unsigned& me1, const unsigned& me2, const unsigned& me3, const unsigned& me4, const unsigned& mb1);
114 
115  unsigned modeExtended(void) const;
116 
117  private:
119  //L1TrackId m_id; remove this nested class for now... POOL doesn't like it.
120  unsigned m_endcap, m_sector;
121  //CSCCorrelatedLCTDigiCollection track_stubs; same as above
122  unsigned m_lphi;
123  unsigned m_ptAddress;
124  unsigned m_fr;
126  unsigned m_rank;
127  unsigned m_output_link;
128  bool m_empty;
129  bool m_winner;
130 
131  // Technical information:
132  bool m_se, m_bx0, m_bc0;
134  };
135 } // namespace csc
136 
137 #endif
L1MuRegionalCand::bx
int bx() const
return bunch crossing identifier
Definition: L1MuRegionalCand.h:79
csc::L1Track::me4ID
unsigned me4ID() const
Definition: L1Track.h:43
csc::L1Track::m_empty
bool m_empty
Definition: L1Track.h:128
csc::L1Track::setLocalPhi
void setLocalPhi(const unsigned &lphi)
Definition: L1Track.h:38
csc::L1Track::front_rear
unsigned front_rear() const
Definition: L1Track.h:59
csc::L1Track::m_se
bool m_se
Definition: L1Track.h:132
csc::L1Track::m_fr
unsigned m_fr
Definition: L1Track.h:124
csc::L1Track::bc0
bool bc0(void) const
Definition: L1Track.h:94
CSCTFSectorProcessor
KK.
Definition: CSCTFSectorProcessor.h:28
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
csc::L1Track::setOutputLink
void setOutputLink(unsigned oPL)
Definition: L1Track.h:64
csc::L1Track::m_me2Tbin
unsigned m_me2Tbin
Definition: L1Track.h:133
csc::L1Track::me2Tbin
unsigned me2Tbin(void) const
Definition: L1Track.h:96
csc::L1Track::m_winner
bool m_winner
Definition: L1Track.h:129
csc::L1Track::modeExtended
unsigned modeExtended(void) const
Definition: L1Track.cc:188
csc::L1Track::operator==
bool operator==(const csc::L1Track &) const
Definition: L1Track.cc:155
csc::L1Track::ptLUTAddress
unsigned ptLUTAddress() const
Definition: L1Track.h:58
csc::L1Track::mb1ID
unsigned mb1ID() const
Definition: L1Track.h:44
csc::L1Track::localPhi
unsigned localPhi() const
Definition: L1Track.h:37
csc::L1Track::m_mbTbin
unsigned m_mbTbin
Definition: L1Track.h:133
csc::L1Track::~L1Track
~L1Track() override
Definition: L1Track.cc:79
csc::L1Track::me1_id
unsigned me1_id
Definition: L1Track.h:125
csc::L1Track::mode
unsigned mode(void) const
Definition: L1Track.h:90
L1TrackId.h
csc::L1Track::me3ID
unsigned me3ID() const
Definition: L1Track.h:42
csc::L1Track::operator>
bool operator>(const csc::L1Track &) const
Definition: L1Track.cc:147
csc::L1Track::L1Track
L1Track()
Definition: L1Track.h:23
csc::L1Track::encodeRank
static unsigned encodeRank(const unsigned &pt, const unsigned &quality)
Definition: L1Track.cc:131
csc::L1Track::endcap
unsigned endcap() const
Definition: L1Track.h:46
L1MuRegionalCand::setType
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
Definition: L1MuRegionalCand.h:114
csc::L1Track::BX
int BX() const
Definition: L1Track.h:53
csc::L1Track::outputLink
unsigned outputLink() const
Definition: L1Track.h:63
L1MuRegionalCand.h
csc::L1Track::synch_err
bool synch_err(void) const
Definition: L1Track.h:92
csc::L1Track::sector
unsigned sector() const
Definition: L1Track.h:47
csc
Definition: L1Track.h:19
CSCTFUnpacker
Definition: CSCTFUnpacker.h:22
hlt_dqm_clientPB-live_cfg.me2
me2
Definition: hlt_dqm_clientPB-live_cfg.py:78
csc::L1Track::m_me4Tbin
unsigned m_me4Tbin
Definition: L1Track.h:133
CSCTFSPCoreLogic
Definition: CSCTFSPCoreLogic.h:34
csc::L1Track::mb1Tbin
unsigned mb1Tbin(void) const
Definition: L1Track.h:99
csc::L1Track::m_bc0
bool m_bc0
Definition: L1Track.h:132
csc::L1Track::operator!=
bool operator!=(const csc::L1Track &) const
Definition: L1Track.cc:157
L1MuRegionalCand
Definition: L1MuRegionalCand.h:26
csc::L1Track::m_ptAddress
unsigned m_ptAddress
Definition: L1Track.h:123
csc::L1Track::m_me1Tbin
unsigned m_me1Tbin
Definition: L1Track.h:133
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
csc::L1Track::m_rank
unsigned m_rank
Definition: L1Track.h:126
csc::L1Track::me2_id
unsigned me2_id
Definition: L1Track.h:125
csc::L1TrackId
Definition: L1TrackId.h:18
csc::L1Track::set_front_rear
void set_front_rear(unsigned fr)
Definition: L1Track.h:61
csc::L1Track::setRank
void setRank(const unsigned &rank)
Definition: L1Track.h:35
csc::L1Track::me4Tbin
unsigned me4Tbin(void) const
Definition: L1Track.h:98
csc::L1Track::decodeRank
static void decodeRank(const unsigned &rank, unsigned &pt, unsigned &quality)
Definition: L1Track.cc:137
csc::L1Track::deltaPhi23
unsigned deltaPhi23(void) const
Definition: L1Track.h:88
csc::L1Track::me3Tbin
unsigned me3Tbin(void) const
Definition: L1Track.h:97
L1MuRegionalCand::setPtPacked
void setPtPacked(unsigned pt)
Set Pt: 0..31.
Definition: L1MuRegionalCand.h:123
csc::L1Track::cscid
unsigned cscid() const
Definition: L1Track.h:51
csc::L1Track::me2ID
unsigned me2ID() const
Definition: L1Track.h:41
csc::L1Track::setBits
void setBits(unsigned se, unsigned bx0, unsigned bc0)
Definition: L1Track.h:100
csc::L1Track::m_me3Tbin
unsigned m_me3Tbin
Definition: L1Track.h:133
csc::L1Track::Print
void Print() const
Definition: L1Track.cc:159
hlt_dqm_clientPB-live_cfg.me1
me1
Definition: hlt_dqm_clientPB-live_cfg.py:73
csc::L1Track::setTbins
void setTbins(unsigned me1, unsigned me2, unsigned me3, unsigned me4, unsigned mb)
Definition: L1Track.h:105
csc::L1Track::operator<
bool operator<(const csc::L1Track &) const
Definition: L1Track.cc:149
csc::L1Track::operator=
const csc::L1Track & operator=(const csc::L1Track &)
Definition: L1Track.cc:81
csc::L1Track::me3_id
unsigned me3_id
Definition: L1Track.h:125
csc::L1Track::setStationIds
void setStationIds(const unsigned &me1, const unsigned &me2, const unsigned &me3, const unsigned &me4, const unsigned &mb1)
Definition: L1Track.cc:122
csc::L1Track::m_lphi
unsigned m_lphi
Definition: L1Track.h:122
csc::L1Track::station
unsigned station() const
Definition: L1Track.h:48
csc::L1Track::setPtLUTAddress
void setPtLUTAddress(const unsigned &adr)
Definition: L1Track.h:60
csc::L1Track::deltaPhi12
unsigned deltaPhi12(void) const
Definition: L1Track.h:87
MuonStationSelectors_cff.mb1
mb1
Definition: MuonStationSelectors_cff.py:3
csc::L1Track::mb1_id
unsigned mb1_id
Definition: L1Track.h:125
csc::L1Track::rank
unsigned rank() const
Definition: L1Track.cc:120
csc::L1Track::m_sector
unsigned m_sector
Definition: L1Track.h:120
csc::L1Track::m_endcap
unsigned m_endcap
Definition: L1Track.h:120
csc::L1Track::bx0
bool bx0(void) const
Definition: L1Track.h:93
csc::L1Track::m_bx0
bool m_bx0
Definition: L1Track.h:132
csc::L1Track::sign
bool sign(void) const
Definition: L1Track.h:91
csc::L1Track
Definition: L1Track.h:21
csc::L1Track::me4_id
unsigned me4_id
Definition: L1Track.h:125
csc::L1Track::subsector
unsigned subsector() const
Definition: L1Track.h:50
csc::L1Track::operator<=
bool operator<=(const csc::L1Track &) const
Definition: L1Track.cc:153
csc::L1Track::me1Tbin
unsigned me1Tbin(void) const
Definition: L1Track.h:95
csc::L1Track::m_output_link
unsigned m_output_link
Definition: L1Track.h:127
csc::L1Track::winner
bool winner() const
Definition: L1Track.h:65
csc::L1Track::operator>=
bool operator>=(const csc::L1Track &) const
Definition: L1Track.cc:151
csc::L1Track::me1ID
unsigned me1ID() const
Definition: L1Track.h:40
L1MuRegionalCand::quality
unsigned int quality() const
return quality
Definition: L1MuRegionalCand.h:73
csc::L1Track::m_name
std::string m_name
Definition: L1Track.h:118
csc::L1Track::addressEta
unsigned addressEta(void) const
Definition: L1Track.h:89