CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes
L1TMuon::TriggerPrimitive Class Reference

#include <MuonTriggerPrimitive.h>

Classes

struct  CSCData
 
struct  DTData
 
struct  RPCData
 

Public Types

enum  subsystem_type { kDT, kCSC, kRPC, kNSubsystems }
 

Public Member Functions

template<typename IDType >
IDType detId () const
 
const int getBX () const
 
const double getCMSGlobalEta () const
 
const double getCMSGlobalPhi () const
 
const GlobalPoint getCMSGlobalPoint () const
 
const double getCMSGlobalRho () const
 
const CSCData getCSCData () const
 
const DTData getDTData () const
 
const unsigned getGlobalSector () const
 
const int getPattern () const
 
const RPCData getRPCData () const
 
const int getStrip () const
 
const unsigned getSubSector () const
 
double getThetaBend () const
 
const int getWire () const
 
const int Id () const
 
TriggerPrimitiveoperator= (const TriggerPrimitive &tp)
 
bool operator== (const TriggerPrimitive &tp) const
 
void print (std::ostream &) const
 
const DetId rawId () const
 
void setCMSGlobalEta (const double eta)
 
void setCMSGlobalPhi (const double phi)
 
void setCMSGlobalRho (const double rho)
 
void setThetaBend (const double theta)
 
const subsystem_type subsystem () const
 
 TriggerPrimitive ()
 
 TriggerPrimitive (const DTChamberId &, const L1MuDTChambPhDigi &, const int segment_number)
 
 TriggerPrimitive (const DTChamberId &, const L1MuDTChambThDigi &, const int segment_number)
 
 TriggerPrimitive (const DTChamberId &, const L1MuDTChambPhDigi &, const L1MuDTChambThDigi &, const int theta_bti_group)
 
 TriggerPrimitive (const CSCDetId &, const CSCCorrelatedLCTDigi &)
 
 TriggerPrimitive (const RPCDetId &detid, const unsigned strip, const unsigned layer, const uint16_t bx)
 
 TriggerPrimitive (const TriggerPrimitive &)
 
 TriggerPrimitive (const TriggerPrimitive &tp1, const TriggerPrimitive &tp2)
 

Private Member Functions

void calculateCSCGlobalSector (const CSCDetId &chid, unsigned &global_sector, unsigned &subsector)
 
void calculateDTGlobalSector (const DTChamberId &chid, unsigned &global_sector, unsigned &subsector)
 
void calculateRPCGlobalSector (const RPCDetId &chid, unsigned &global_sector, unsigned &subsector)
 

Private Attributes

CSCData _csc
 
DTData _dt
 
double _eta
 
unsigned _globalsector
 
DetId _id
 
double _phi
 
double _rho
 
RPCData _rpc
 
unsigned _subsector
 
subsystem_type _subsystem
 
double _theta
 

Detailed Description

Definition at line 46 of file MuonTriggerPrimitive.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

L1TMuon::TriggerPrimitive::TriggerPrimitive ( )
inline
TriggerPrimitive::TriggerPrimitive ( const DTChamberId detid,
const L1MuDTChambPhDigi digi_phi,
const int  segment_number 
)

Definition at line 21 of file MuonTriggerPrimitive.cc.

References _dt, _globalsector, _subsector, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::DTData::bx, L1MuDTChambPhDigi::BxCnt(), L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1MuDTChambPhDigi::bxNum(), calculateDTGlobalSector(), L1MuDTChambPhDigi::code(), L1MuDTChambPhDigi::phi(), L1MuDTChambPhDigi::phiB(), L1TMuon::TriggerPrimitive::DTData::qualityCode, L1TMuon::TriggerPrimitive::DTData::radialAngle, L1MuDTChambPhDigi::scNum(), L1TMuon::TriggerPrimitive::DTData::sector, L1TMuon::TriggerPrimitive::DTData::segment_number, L1TMuon::TriggerPrimitive::DTData::station, L1MuDTChambPhDigi::stNum(), L1TMuon::TriggerPrimitive::DTData::theta_bti_group, L1TMuon::TriggerPrimitive::DTData::theta_code, L1TMuon::TriggerPrimitive::DTData::theta_quality, L1MuDTChambPhDigi::Ts2Tag(), L1TMuon::TriggerPrimitive::DTData::Ts2TagCode, L1TMuon::TriggerPrimitive::DTData::wheel, and L1MuDTChambPhDigi::whNum().

23  :
24  _id(detid),
27  // fill in information from theta trigger
28  _dt.theta_bti_group = -1;
29  _dt.segment_number = segment_number;
30  _dt.theta_code = -1;
31  _dt.theta_quality = -1;
32  // now phi trigger
33  _dt.bx = digi_phi.bxNum();
34  _dt.wheel = digi_phi.whNum();
35  _dt.sector = digi_phi.scNum();
36  _dt.station = digi_phi.stNum();
37  _dt.radialAngle = digi_phi.phi();
38  _dt.bendingAngle = digi_phi.phiB();
39  _dt.qualityCode = digi_phi.code();
40  _dt.Ts2TagCode = digi_phi.Ts2Tag();
41  _dt.BxCntCode = digi_phi.BxCnt();
42 }
void calculateDTGlobalSector(const DTChamberId &chid, unsigned &global_sector, unsigned &subsector)
TriggerPrimitive::TriggerPrimitive ( const DTChamberId detid,
const L1MuDTChambThDigi digi_th,
const int  segment_number 
)

Definition at line 44 of file MuonTriggerPrimitive.cc.

References _dt, _globalsector, _subsector, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::DTData::bx, L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1MuDTChambThDigi::bxNum(), calculateDTGlobalSector(), L1MuDTChambThDigi::code(), L1MuDTChambThDigi::position(), L1MuDTChambThDigi::quality(), L1TMuon::TriggerPrimitive::DTData::qualityCode, L1TMuon::TriggerPrimitive::DTData::radialAngle, L1MuDTChambThDigi::scNum(), L1TMuon::TriggerPrimitive::DTData::sector, L1TMuon::TriggerPrimitive::DTData::segment_number, L1TMuon::TriggerPrimitive::DTData::station, L1MuDTChambThDigi::stNum(), L1TMuon::TriggerPrimitive::DTData::theta_bti_group, L1TMuon::TriggerPrimitive::DTData::theta_code, L1TMuon::TriggerPrimitive::DTData::theta_quality, L1TMuon::TriggerPrimitive::DTData::Ts2TagCode, L1TMuon::TriggerPrimitive::DTData::wheel, and L1MuDTChambThDigi::whNum().

46  :
47  _id(detid),
50  // fill in information from theta trigger
51  _dt.theta_bti_group = theta_bti_group;
52  _dt.segment_number = digi_th.position(theta_bti_group);
53  _dt.theta_code = digi_th.code(theta_bti_group);
54  _dt.theta_quality = digi_th.quality(theta_bti_group);
55  // now phi trigger
56  _dt.bx = digi_th.bxNum();
57  _dt.wheel = digi_th.whNum();
58  _dt.sector = digi_th.scNum();
59  _dt.station = digi_th.stNum();
60  _dt.radialAngle = -1;
61  _dt.bendingAngle = -1;
62  _dt.qualityCode = -1;
63  _dt.Ts2TagCode = -1;
64  _dt.BxCntCode = -1;
65 }
void calculateDTGlobalSector(const DTChamberId &chid, unsigned &global_sector, unsigned &subsector)
int quality(const int i) const
int position(const int i) const
int code(const int i) const
TriggerPrimitive::TriggerPrimitive ( const DTChamberId detid,
const L1MuDTChambPhDigi digi_phi,
const L1MuDTChambThDigi digi_th,
const int  theta_bti_group 
)

Definition at line 67 of file MuonTriggerPrimitive.cc.

References _dt, _globalsector, _subsector, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::DTData::bx, L1MuDTChambPhDigi::BxCnt(), L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1MuDTChambPhDigi::bxNum(), calculateDTGlobalSector(), L1MuDTChambPhDigi::code(), L1MuDTChambThDigi::code(), L1MuDTChambPhDigi::phi(), L1MuDTChambPhDigi::phiB(), L1MuDTChambThDigi::position(), L1MuDTChambThDigi::quality(), L1TMuon::TriggerPrimitive::DTData::qualityCode, L1TMuon::TriggerPrimitive::DTData::radialAngle, L1MuDTChambPhDigi::scNum(), L1TMuon::TriggerPrimitive::DTData::sector, L1TMuon::TriggerPrimitive::DTData::segment_number, L1TMuon::TriggerPrimitive::DTData::station, L1MuDTChambPhDigi::stNum(), L1TMuon::TriggerPrimitive::DTData::theta_bti_group, L1TMuon::TriggerPrimitive::DTData::theta_code, L1TMuon::TriggerPrimitive::DTData::theta_quality, L1MuDTChambPhDigi::Ts2Tag(), L1TMuon::TriggerPrimitive::DTData::Ts2TagCode, L1TMuon::TriggerPrimitive::DTData::wheel, and L1MuDTChambPhDigi::whNum().

70  :
71  _id(detid),
74  // fill in information from theta trigger
75  _dt.theta_bti_group = theta_bti_group;
76  _dt.segment_number = digi_th.position(theta_bti_group);
77  _dt.theta_code = digi_th.code(theta_bti_group);
78  _dt.theta_quality = digi_th.quality(theta_bti_group);
79  // now phi trigger
80  _dt.bx = digi_phi.bxNum();
81  _dt.wheel = digi_phi.whNum();
82  _dt.sector = digi_phi.scNum();
83  _dt.station = digi_phi.stNum();
84  _dt.radialAngle = digi_phi.phi();
85  _dt.bendingAngle = digi_phi.phiB();
86  _dt.qualityCode = digi_phi.code();
87  _dt.Ts2TagCode = digi_phi.Ts2Tag();
88  _dt.BxCntCode = digi_phi.BxCnt();
89 }
void calculateDTGlobalSector(const DTChamberId &chid, unsigned &global_sector, unsigned &subsector)
int quality(const int i) const
int position(const int i) const
int code(const int i) const
TriggerPrimitive::TriggerPrimitive ( const CSCDetId detid,
const CSCCorrelatedLCTDigi digi 
)

Definition at line 92 of file MuonTriggerPrimitive.cc.

References _csc, _globalsector, _subsector, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx0, calculateCSCGlobalSector(), L1TMuon::TriggerPrimitive::CSCData::cscID, CSCCorrelatedLCTDigi::getBend(), CSCCorrelatedLCTDigi::getBX(), CSCCorrelatedLCTDigi::getBX0(), CSCCorrelatedLCTDigi::getCSCID(), CSCCorrelatedLCTDigi::getKeyWG(), CSCCorrelatedLCTDigi::getMPCLink(), CSCCorrelatedLCTDigi::getPattern(), CSCCorrelatedLCTDigi::getQuality(), CSCCorrelatedLCTDigi::getStrip(), CSCCorrelatedLCTDigi::getSyncErr(), CSCCorrelatedLCTDigi::getTrknmb(), CSCCorrelatedLCTDigi::isValid(), L1TMuon::TriggerPrimitive::CSCData::keywire, L1TMuon::TriggerPrimitive::CSCData::mpclink, L1TMuon::TriggerPrimitive::CSCData::pattern, L1TMuon::TriggerPrimitive::CSCData::quality, L1TMuon::TriggerPrimitive::CSCData::strip, L1TMuon::TriggerPrimitive::CSCData::syncErr, L1TMuon::TriggerPrimitive::CSCData::trknmb, and L1TMuon::TriggerPrimitive::CSCData::valid.

93  :
94  _id(detid),
97  _csc.trknmb = digi.getTrknmb();
98  _csc.valid = digi.isValid();
99  _csc.quality = digi.getQuality();
100  _csc.keywire = digi.getKeyWG();
101  _csc.strip = digi.getStrip();
102  _csc.pattern = digi.getPattern();
103  _csc.bend = digi.getBend();
104  _csc.bx = digi.getBX();
105  _csc.mpclink = digi.getMPCLink();
106  _csc.bx0 = digi.getBX0();
107  _csc.syncErr = digi.getSyncErr();
108  _csc.cscID = digi.getCSCID();
109 }
int getStrip() const
return the key halfstrip from 0,159
uint16_t getSyncErr() const
int getQuality() const
return the 4 bit Correlated LCT Quality
int getBend() const
return bend
uint16_t getCSCID() const
int getTrknmb() const
return track number
int getBX() const
return BX
uint16_t getBX0() const
int getMPCLink() const
return MPC link number, 0 means not sorted, 1-3 give MPC sorting rank
void calculateCSCGlobalSector(const CSCDetId &chid, unsigned &global_sector, unsigned &subsector)
bool isValid() const
return valid pattern bit
int getPattern() const
return pattern
int getKeyWG() const
return the key wire group. counts from 0.
TriggerPrimitive::TriggerPrimitive ( const RPCDetId detid,
const unsigned  strip,
const unsigned  layer,
const uint16_t  bx 
)

Definition at line 133 of file MuonTriggerPrimitive.cc.

References _globalsector, _rpc, _subsector, L1TMuon::TriggerPrimitive::RPCData::bx, calculateRPCGlobalSector(), L1TMuon::TriggerPrimitive::RPCData::layer, digi_MixPreMix_cfi::strip, and L1TMuon::TriggerPrimitive::RPCData::strip.

TriggerPrimitive::TriggerPrimitive ( const TriggerPrimitive tp)
TriggerPrimitive::TriggerPrimitive ( const TriggerPrimitive tp1,
const TriggerPrimitive tp2 
)

Definition at line 112 of file MuonTriggerPrimitive.cc.

References _csc, _id, _subsystem, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx0, L1TMuon::TriggerPrimitive::CSCData::cscID, detId(), kCSC, L1TMuon::TriggerPrimitive::CSCData::keywire, L1TMuon::TriggerPrimitive::CSCData::mpclink, L1TMuon::TriggerPrimitive::CSCData::pattern, L1TMuon::TriggerPrimitive::CSCData::quality, L1TMuon::TriggerPrimitive::CSCData::strip, L1TMuon::TriggerPrimitive::CSCData::syncErr, L1TMuon::TriggerPrimitive::CSCData::trknmb, and L1TMuon::TriggerPrimitive::CSCData::valid.

112  {
113 
115  _id = tp1.detId<CSCDetId>();
116  _csc.trknmb = tp1._csc.trknmb;
117  _csc.valid = tp1._csc.valid;
118  _csc.quality = tp1._csc.quality;
119  _csc.keywire = tp2._csc.keywire;
120  _csc.strip = tp1._csc.strip;
121  _csc.pattern = tp1._csc.pattern;
122  _csc.bend = tp1._csc.bend;
123  _csc.bx = tp1._csc.bx;
124  _csc.mpclink = tp1._csc.mpclink;
125  _csc.bx0 = tp1._csc.bx0;
126  _csc.syncErr = tp1._csc.syncErr;
127  _csc.cscID = tp1._csc.cscID;
128 
129 }

Member Function Documentation

void TriggerPrimitive::calculateCSCGlobalSector ( const CSCDetId chid,
unsigned &  global_sector,
unsigned &  subsector 
)
private

Definition at line 305 of file MuonTriggerPrimitive.cc.

Referenced by getSubSector(), and TriggerPrimitive().

307  {
308 }
void TriggerPrimitive::calculateDTGlobalSector ( const DTChamberId chid,
unsigned &  global_sector,
unsigned &  subsector 
)
private

Definition at line 300 of file MuonTriggerPrimitive.cc.

Referenced by getSubSector(), and TriggerPrimitive().

302  {
303 }
void TriggerPrimitive::calculateRPCGlobalSector ( const RPCDetId chid,
unsigned &  global_sector,
unsigned &  subsector 
)
private

Definition at line 310 of file MuonTriggerPrimitive.cc.

Referenced by getSubSector(), and TriggerPrimitive().

312  {
313 }
template<typename IDType >
IDType L1TMuon::TriggerPrimitive::detId ( ) const
inline
const int TriggerPrimitive::getBX ( ) const

Definition at line 221 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _rpc, _subsystem, L1TMuon::TriggerPrimitive::RPCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::DTData::bx, Exception, kCSC, kDT, and kRPC.

Referenced by getRPCData(), and L1ITMuonBarrelPrimitiveProducer::produce().

221  {
222  switch(_subsystem) {
223  case kDT:
224  return _dt.bx;
225  case kCSC:
226  return _csc.bx;
227  case kRPC:
228  return _rpc.bx;
229  default:
230  throw cms::Exception("Invalid Subsytem")
231  << "The specified subsystem for this track stub is out of range"
232  << std::endl;
233  }
234  return -1;
235 }
const double L1TMuon::TriggerPrimitive::getCMSGlobalEta ( ) const
inline

Definition at line 142 of file MuonTriggerPrimitive.h.

References _eta.

142 { return _eta; }
const double L1TMuon::TriggerPrimitive::getCMSGlobalPhi ( ) const
inline
const GlobalPoint L1TMuon::TriggerPrimitive::getCMSGlobalPoint ( ) const
inline
const double L1TMuon::TriggerPrimitive::getCMSGlobalRho ( ) const
inline

Definition at line 146 of file MuonTriggerPrimitive.h.

References _rho.

146 { return _rho; }
const CSCData L1TMuon::TriggerPrimitive::getCSCData ( ) const
inline
const DTData L1TMuon::TriggerPrimitive::getDTData ( ) const
inline
const unsigned L1TMuon::TriggerPrimitive::getGlobalSector ( ) const
inline

Definition at line 175 of file MuonTriggerPrimitive.h.

References _globalsector.

175 { return _globalsector; }
const int TriggerPrimitive::getPattern ( ) const

Definition at line 269 of file MuonTriggerPrimitive.cc.

References _csc, _subsystem, Exception, kCSC, kDT, kRPC, and L1TMuon::TriggerPrimitive::CSCData::pattern.

Referenced by PrimitiveConverter::convert(), getRPCData(), and PrimConv().

269  {
270  switch(_subsystem) {
271  case kDT:
272  return -1;
273  case kCSC:
274  return _csc.pattern;
275  case kRPC:
276  return -1;
277  default:
278  throw cms::Exception("Invalid Subsytem")
279  << "The specified subsystem for this track stub is out of range"
280  << std::endl;
281  }
282  return -1;
283 }
const RPCData L1TMuon::TriggerPrimitive::getRPCData ( ) const
inline
const int TriggerPrimitive::getStrip ( ) const

Definition at line 237 of file MuonTriggerPrimitive.cc.

References _csc, _rpc, _subsystem, Exception, kCSC, kDT, kRPC, L1TMuon::TriggerPrimitive::RPCData::strip, and L1TMuon::TriggerPrimitive::CSCData::strip.

Referenced by getRPCData().

237  {
238  switch(_subsystem) {
239  case kDT:
240  return -1;
241  case kCSC:
242  return _csc.strip;
243  case kRPC:
244  return _rpc.strip;
245  default:
246  throw cms::Exception("Invalid Subsytem")
247  << "The specified subsystem for this track stub is out of range"
248  << std::endl;
249  }
250  return -1;
251 }
const unsigned L1TMuon::TriggerPrimitive::getSubSector ( ) const
inline
double L1TMuon::TriggerPrimitive::getThetaBend ( ) const
inline

Definition at line 157 of file MuonTriggerPrimitive.h.

References _theta.

157 { return _theta; }
const int TriggerPrimitive::getWire ( ) const

Definition at line 253 of file MuonTriggerPrimitive.cc.

References _csc, _subsystem, Exception, kCSC, kDT, L1TMuon::TriggerPrimitive::CSCData::keywire, and kRPC.

Referenced by getRPCData().

253  {
254  switch(_subsystem) {
255  case kDT:
256  return -1;
257  case kCSC:
258  return _csc.keywire;
259  case kRPC:
260  return -1;
261  default:
262  throw cms::Exception("Invalid Subsytem")
263  << "The specified subsystem for this track stub is out of range"
264  << std::endl;
265  }
266  return -1;
267 }
const int TriggerPrimitive::Id ( ) const

Definition at line 284 of file MuonTriggerPrimitive.cc.

References _csc, _subsystem, L1TMuon::TriggerPrimitive::CSCData::cscID, Exception, kCSC, kDT, and kRPC.

Referenced by PrimitiveConverter::convert(), PrimConv(), and rawId().

284  {
285  switch(_subsystem) {
286  case kDT:
287  return -1;
288  case kCSC:
289  return _csc.cscID;
290  case kRPC:
291  return -1;
292  default:
293  throw cms::Exception("Invalid Subsytem")
294  << "The specified subsystem for this track stub is out of range"
295  << std::endl;
296  }
297  return -1;
298 }
TriggerPrimitive & TriggerPrimitive::operator= ( const TriggerPrimitive tp)

Definition at line 158 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _eta, _globalsector, _id, _phi, _rpc, _subsector, and _subsystem.

Referenced by TriggerPrimitive().

158  {
159  this->_dt = tp._dt;
160  this->_csc = tp._csc;
161  this->_rpc = tp._rpc;
162  this->_id = tp._id;
163  this->_subsystem = tp._subsystem;
164  this->_globalsector = tp._globalsector;
165  this->_subsector = tp._subsector;
166  this->_eta = tp._eta;
167  this->_phi = tp._phi;
168  return *this;
169 }
bool TriggerPrimitive::operator== ( const TriggerPrimitive tp) const

Definition at line 186 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _globalsector, _id, _rpc, _subsector, _subsystem, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::RPCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::DTData::bx, L1TMuon::TriggerPrimitive::CSCData::bx0, L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1TMuon::TriggerPrimitive::CSCData::cscID, L1TMuon::TriggerPrimitive::CSCData::keywire, L1TMuon::TriggerPrimitive::RPCData::layer, L1TMuon::TriggerPrimitive::CSCData::mpclink, L1TMuon::TriggerPrimitive::CSCData::pattern, L1TMuon::TriggerPrimitive::CSCData::quality, L1TMuon::TriggerPrimitive::DTData::qualityCode, L1TMuon::TriggerPrimitive::DTData::radialAngle, L1TMuon::TriggerPrimitive::DTData::sector, L1TMuon::TriggerPrimitive::DTData::segment_number, L1TMuon::TriggerPrimitive::DTData::station, L1TMuon::TriggerPrimitive::RPCData::strip, L1TMuon::TriggerPrimitive::CSCData::strip, L1TMuon::TriggerPrimitive::CSCData::syncErr, L1TMuon::TriggerPrimitive::DTData::theta_bti_group, L1TMuon::TriggerPrimitive::DTData::theta_code, L1TMuon::TriggerPrimitive::DTData::theta_quality, L1TMuon::TriggerPrimitive::CSCData::trknmb, L1TMuon::TriggerPrimitive::DTData::Ts2TagCode, L1TMuon::TriggerPrimitive::CSCData::valid, and L1TMuon::TriggerPrimitive::DTData::wheel.

Referenced by TriggerPrimitive().

186  {
187  return ( this->_dt.bx == tp._dt.bx &&
188  this->_dt.wheel == tp._dt.wheel &&
189  this->_dt.sector == tp._dt.sector &&
190  this->_dt.station == tp._dt.station &&
191  this->_dt.radialAngle == tp._dt.radialAngle &&
192  this->_dt.bendingAngle == tp._dt.bendingAngle &&
193  this->_dt.qualityCode == tp._dt.qualityCode &&
194  this->_dt.Ts2TagCode == tp._dt.Ts2TagCode &&
195  this->_dt.BxCntCode == tp._dt.BxCntCode &&
196  this->_dt.theta_bti_group == tp._dt.theta_bti_group &&
197  this->_dt.segment_number == tp._dt.segment_number &&
198  this->_dt.theta_code == tp._dt.theta_code &&
199  this->_dt.theta_quality == tp._dt.theta_quality &&
200  this->_csc.trknmb == tp._csc.trknmb &&
201  this->_csc.valid == tp._csc.valid &&
202  this->_csc.quality == tp._csc.quality &&
203  this->_csc.keywire == tp._csc.keywire &&
204  this->_csc.strip == tp._csc.strip &&
205  this->_csc.pattern == tp._csc.pattern &&
206  this->_csc.bend == tp._csc.bend &&
207  this->_csc.bx == tp._csc.bx &&
208  this->_csc.mpclink == tp._csc.mpclink &&
209  this->_csc.bx0 == tp._csc.bx0 &&
210  this->_csc.syncErr == tp._csc.syncErr &&
211  this->_csc.cscID == tp._csc.cscID &&
212  this->_rpc.strip == tp._rpc.strip &&
213  this->_rpc.layer == tp._rpc.layer &&
214  this->_rpc.bx == tp._rpc.bx &&
215  this->_id == tp._id &&
216  this->_subsystem == tp._subsystem &&
217  this->_globalsector == tp._globalsector &&
218  this->_subsector == tp._subsector );
219 }
void TriggerPrimitive::print ( std::ostream &  out) const

Definition at line 315 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _eta, _phi, _rpc, _subsystem, _theta, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::RPCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::DTData::bx, L1TMuon::TriggerPrimitive::CSCData::bx0, L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1TMuon::TriggerPrimitive::CSCData::cscID, Exception, training_settings::idx, kCSC, kDT, L1TMuon::TriggerPrimitive::CSCData::keywire, kRPC, L1TMuon::TriggerPrimitive::RPCData::layer, L1TMuon::TriggerPrimitive::CSCData::mpclink, L1TMuon::TriggerPrimitive::CSCData::pattern, L1TMuon::TriggerPrimitive::CSCData::quality, L1TMuon::TriggerPrimitive::DTData::qualityCode, L1TMuon::TriggerPrimitive::DTData::radialAngle, L1TMuon::TriggerPrimitive::DTData::segment_number, L1TMuon::TriggerPrimitive::RPCData::strip, L1TMuon::TriggerPrimitive::CSCData::strip, L1TMuon::TriggerPrimitive::CSCData::syncErr, L1TMuon::TriggerPrimitive::DTData::theta_bti_group, L1TMuon::TriggerPrimitive::DTData::theta_code, L1TMuon::TriggerPrimitive::DTData::theta_quality, L1TMuon::TriggerPrimitive::CSCData::trknmb, L1TMuon::TriggerPrimitive::DTData::Ts2TagCode, and L1TMuon::TriggerPrimitive::CSCData::valid.

Referenced by getSubSector().

315  {
316  unsigned idx = (unsigned) _subsystem;
317  out << subsystem_names[idx] << " Trigger Primitive" << std::endl;
318  out << "eta: " << _eta << " phi: " << _phi
319  << " bend: " << _theta << std::endl;
320  switch(_subsystem) {
321  case kDT:
322  out << detId<DTChamberId>() << std::endl;
323  out << "Local BX : " << _dt.bx << std::endl;
324  out << "Segment Nmb : " << _dt.segment_number << std::endl;
325  out << "Packed Phi : " << _dt.radialAngle << std::endl;
326  out << "Packed Bend : " << _dt.bendingAngle << std::endl;
327  out << "Quality Code : " << _dt.qualityCode << std::endl;
328  out << "Ts2Tag Code : " << _dt.Ts2TagCode << std::endl;
329  out << "BXCnt Code : " << _dt.BxCntCode << std::endl;
330  out << "Theta BTI Grp : " << _dt.theta_bti_group << std::endl;
331  out << "Theta Code : " << _dt.theta_code << std::endl;
332  out << "Theta Quality : " << _dt.theta_quality << std::endl;
333  break;
334  case kCSC:
335  out << detId<CSCDetId>() << std::endl;
336  out << "Local BX : " << _csc.bx << std::endl;
337  out << "Segment Nmb : " << _csc.trknmb << std::endl;
338  out << "Segment Valid : " << _csc.valid << std::endl;
339  out << "Quality Code : " << _csc.quality << std::endl;
340  out << "Key Wire Grp : " << _csc.keywire << std::endl;
341  out << "Half-Strip : " << _csc.strip << std::endl;
342  out << "CLCT Pattern : " << _csc.pattern << std::endl;
343  out << "Packed Bend : " << _csc.bend << std::endl;
344  out << "MPC Link : " << _csc.mpclink << std::endl;
345  out << "BX0 : " << _csc.bx0 << std::endl;
346  out << "Sync Error : " << _csc.syncErr << std::endl;
347  out << "CSCID : " << _csc.cscID << std::endl;
348  break;
349  case kRPC:
350  out << detId<RPCDetId>() << std::endl;
351  out << "Local BX : " << _rpc.bx << std::endl;
352  out << "Strip : " << _rpc.strip << std::endl;
353  out << "Layer : " << _rpc.layer << std::endl;
354  break;
355  default:
356  throw cms::Exception("Invalid Subsytem")
357  << "The specified subsystem for this track stub is out of range"
358  << std::endl;
359  }
360 }
const DetId L1TMuon::TriggerPrimitive::rawId ( ) const
inline

Definition at line 172 of file MuonTriggerPrimitive.h.

References _id, and Id().

void L1TMuon::TriggerPrimitive::setCMSGlobalEta ( const double  eta)
inline
void L1TMuon::TriggerPrimitive::setCMSGlobalPhi ( const double  phi)
inline

Definition at line 145 of file MuonTriggerPrimitive.h.

References _phi.

Referenced by L1ITMuonBarrelPrimitiveProducer::produce().

void L1TMuon::TriggerPrimitive::setCMSGlobalRho ( const double  rho)
inline

Definition at line 147 of file MuonTriggerPrimitive.h.

References _rho.

void L1TMuon::TriggerPrimitive::setThetaBend ( const double  theta)
inline

Definition at line 156 of file MuonTriggerPrimitive.h.

References _theta, and theta().

156 { _theta = theta; }
Geom::Theta< T > theta() const
const subsystem_type L1TMuon::TriggerPrimitive::subsystem ( ) const
inline

Member Data Documentation

CSCData L1TMuon::TriggerPrimitive::_csc
private
DTData L1TMuon::TriggerPrimitive::_dt
private

Definition at line 193 of file MuonTriggerPrimitive.h.

Referenced by getBX(), getDTData(), operator=(), operator==(), print(), and TriggerPrimitive().

double L1TMuon::TriggerPrimitive::_eta
private
unsigned L1TMuon::TriggerPrimitive::_globalsector
private

Definition at line 201 of file MuonTriggerPrimitive.h.

Referenced by getGlobalSector(), operator=(), operator==(), and TriggerPrimitive().

DetId L1TMuon::TriggerPrimitive::_id
private

Definition at line 197 of file MuonTriggerPrimitive.h.

Referenced by detId(), operator=(), operator==(), rawId(), and TriggerPrimitive().

double L1TMuon::TriggerPrimitive::_phi
private
double L1TMuon::TriggerPrimitive::_rho
private

Definition at line 203 of file MuonTriggerPrimitive.h.

Referenced by getCMSGlobalPoint(), getCMSGlobalRho(), and setCMSGlobalRho().

RPCData L1TMuon::TriggerPrimitive::_rpc
private
unsigned L1TMuon::TriggerPrimitive::_subsector
private

Definition at line 202 of file MuonTriggerPrimitive.h.

Referenced by getSubSector(), operator=(), operator==(), and TriggerPrimitive().

subsystem_type L1TMuon::TriggerPrimitive::_subsystem
private
double L1TMuon::TriggerPrimitive::_theta
private

Definition at line 204 of file MuonTriggerPrimitive.h.

Referenced by getThetaBend(), print(), and setThetaBend().