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  GEMData
 
struct  RPCData
 

Public Types

enum  subsystem_type {
  kDT, kCSC, kRPC, kGEM,
  kNSubsystems
}
 

Public Member Functions

CSCDataaccessCSCData ()
 
DTDataaccessDTData ()
 
GEMDataaccessGEMData ()
 
RPCDataaccessRPCData ()
 
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 GEMData getGEMData () 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
 
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 setCSCData (const CSCData &csc)
 
void setDTData (const DTData &dt)
 
void setGEMData (const GEMData &gem)
 
void setRPCData (const RPCData &rpc)
 
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 int bx)
 
 TriggerPrimitive (const GEMDetId &detid, const GEMPadDigi &digi)
 
 TriggerPrimitive (const TriggerPrimitive &)
 

Private Member Functions

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

Private Attributes

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

Detailed Description

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

25  :
26  _id(detid),
29  // fill in information from theta trigger
30  _dt.theta_bti_group = -1;
31  _dt.segment_number = segment_number;
32  _dt.theta_code = -1;
33  _dt.theta_quality = -1;
34  // now phi trigger
35  _dt.bx = digi_phi.bxNum();
36  _dt.wheel = digi_phi.whNum();
37  _dt.sector = digi_phi.scNum();
38  _dt.station = digi_phi.stNum();
39  _dt.radialAngle = digi_phi.phi();
40  _dt.bendingAngle = digi_phi.phiB();
41  _dt.qualityCode = digi_phi.code();
42  _dt.Ts2TagCode = digi_phi.Ts2Tag();
43  _dt.BxCntCode = digi_phi.BxCnt();
44 }
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 46 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().

48  :
49  _id(detid),
52  // fill in information from theta trigger
53  _dt.theta_bti_group = theta_bti_group;
54  _dt.segment_number = digi_th.position(theta_bti_group);
55  _dt.theta_code = digi_th.code(theta_bti_group);
56  _dt.theta_quality = digi_th.quality(theta_bti_group);
57  // now phi trigger
58  _dt.bx = digi_th.bxNum();
59  _dt.wheel = digi_th.whNum();
60  _dt.sector = digi_th.scNum();
61  _dt.station = digi_th.stNum();
62  _dt.radialAngle = -1;
63  _dt.bendingAngle = -1;
64  _dt.qualityCode = -1;
65  _dt.Ts2TagCode = -1;
66  _dt.BxCntCode = -1;
67 }
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 69 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().

72  :
73  _id(detid),
76  // fill in information from theta trigger
77  _dt.theta_bti_group = theta_bti_group;
78  _dt.segment_number = digi_th.position(theta_bti_group);
79  _dt.theta_code = digi_th.code(theta_bti_group);
80  _dt.theta_quality = digi_th.quality(theta_bti_group);
81  // now phi trigger
82  _dt.bx = digi_phi.bxNum();
83  _dt.wheel = digi_phi.whNum();
84  _dt.sector = digi_phi.scNum();
85  _dt.station = digi_phi.stNum();
86  _dt.radialAngle = digi_phi.phi();
87  _dt.bendingAngle = digi_phi.phiB();
88  _dt.qualityCode = digi_phi.code();
89  _dt.Ts2TagCode = digi_phi.Ts2Tag();
90  _dt.BxCntCode = digi_phi.BxCnt();
91 }
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 94 of file MuonTriggerPrimitive.cc.

References _csc, _globalsector, _id, _subsector, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx0, calculateCSCGlobalSector(), CSCDetId::chamber(), L1TMuon::TriggerPrimitive::CSCData::cscID, CSCDetId::endcap(), 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, CSCDetId::layer(), L1TMuon::TriggerPrimitive::CSCData::mpclink, L1TMuon::TriggerPrimitive::CSCData::pattern, L1TMuon::TriggerPrimitive::CSCData::quality, CSCDetId::ring(), CSCDetId::station(), L1TMuon::TriggerPrimitive::CSCData::strip, L1TMuon::TriggerPrimitive::CSCData::syncErr, L1TMuon::TriggerPrimitive::CSCData::trknmb, and L1TMuon::TriggerPrimitive::CSCData::valid.

95  :
96  _id(detid),
99  _csc.trknmb = digi.getTrknmb();
100  _csc.valid = digi.isValid();
101  _csc.quality = digi.getQuality();
102  _csc.keywire = digi.getKeyWG();
103  _csc.strip = digi.getStrip();
104  _csc.pattern = digi.getPattern();
105  _csc.bend = digi.getBend();
106  _csc.bx = digi.getBX();
107  _csc.mpclink = digi.getMPCLink();
108  _csc.bx0 = digi.getBX0();
109  _csc.syncErr = digi.getSyncErr();
110  _csc.cscID = digi.getCSCID();
111 
112  // Use ME1/1a --> ring 4 convention
113  if (detid.station() == 1 && detid.ring() == 1 && digi.getStrip() >= 128) {
114  _id = CSCDetId(detid.endcap(), detid.station(), 4, detid.chamber(), detid.layer());
115  _csc.strip = digi.getStrip() - 128;
116  }
117 }
int chamber() const
Definition: CSCDetId.h:68
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
int layer() const
Definition: CSCDetId.h:61
int endcap() const
Definition: CSCDetId.h:93
uint16_t getCSCID() const
int getTrknmb() const
return track number
int getBX() const
return BX
uint16_t getBX0() const
int ring() const
Definition: CSCDetId.h:75
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 station() const
Definition: CSCDetId.h:86
int getKeyWG() const
return the key wire group. counts from 0.
TriggerPrimitive::TriggerPrimitive ( const RPCDetId detid,
const unsigned  strip,
const unsigned  layer,
const int  bx 
)

Definition at line 121 of file MuonTriggerPrimitive.cc.

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

124  :
125  _id(detid),
128  _rpc.strip = strip;
129  _rpc.strip_low = strip;
130  _rpc.strip_hi = strip;
131  _rpc.layer = layer;
132  _rpc.bx = bx;
133  _rpc.valid = 1;
134 }
void calculateRPCGlobalSector(const RPCDetId &chid, unsigned &global_sector, unsigned &subsector)
TriggerPrimitive::TriggerPrimitive ( const GEMDetId detid,
const GEMPadDigi digi 
)

Definition at line 137 of file MuonTriggerPrimitive.cc.

References _gem, _globalsector, _subsector, GEMPadDigi::bx(), L1TMuon::TriggerPrimitive::GEMData::bx, calculateGEMGlobalSector(), GEMPadDigi::pad(), L1TMuon::TriggerPrimitive::GEMData::pad, L1TMuon::TriggerPrimitive::GEMData::pad_hi, and L1TMuon::TriggerPrimitive::GEMData::pad_low.

TriggerPrimitive::TriggerPrimitive ( const TriggerPrimitive tp)

Member Function Documentation

CSCData& L1TMuon::TriggerPrimitive::accessCSCData ( )
inline

Definition at line 192 of file MuonTriggerPrimitive.h.

References _csc.

Referenced by PrimitiveSelection::process().

192 { return _csc; }
DTData& L1TMuon::TriggerPrimitive::accessDTData ( )
inline

Definition at line 191 of file MuonTriggerPrimitive.h.

References _dt.

191 { return _dt; }
GEMData& L1TMuon::TriggerPrimitive::accessGEMData ( )
inline

Definition at line 194 of file MuonTriggerPrimitive.h.

References _gem, getBX(), getPattern(), getStrip(), and getWire().

194 { return _gem; }
RPCData& L1TMuon::TriggerPrimitive::accessRPCData ( )
inline

Definition at line 193 of file MuonTriggerPrimitive.h.

References _rpc.

193 { return _rpc; }
void TriggerPrimitive::calculateCSCGlobalSector ( const CSCDetId chid,
unsigned &  global_sector,
unsigned &  subsector 
)
private

Definition at line 300 of file MuonTriggerPrimitive.cc.

Referenced by getSubSector(), and TriggerPrimitive().

302  {
303  global_sector = 0;
304  subsector = 0;
305 }
void TriggerPrimitive::calculateDTGlobalSector ( const DTChamberId chid,
unsigned &  global_sector,
unsigned &  subsector 
)
private

Definition at line 293 of file MuonTriggerPrimitive.cc.

Referenced by getSubSector(), and TriggerPrimitive().

295  {
296  global_sector = 0;
297  subsector = 0;
298 }
void TriggerPrimitive::calculateGEMGlobalSector ( const GEMDetId chid,
unsigned &  global_sector,
unsigned &  subsector 
)
private

Definition at line 314 of file MuonTriggerPrimitive.cc.

Referenced by getSubSector(), and TriggerPrimitive().

316  {
317  global_sector = 0;
318  subsector = 0;
319 }
void TriggerPrimitive::calculateRPCGlobalSector ( const RPCDetId chid,
unsigned &  global_sector,
unsigned &  subsector 
)
private

Definition at line 307 of file MuonTriggerPrimitive.cc.

Referenced by getSubSector(), and TriggerPrimitive().

309  {
310  global_sector = 0;
311  subsector = 0;
312 }
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, _gem, _rpc, _subsystem, L1TMuon::TriggerPrimitive::RPCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::DTData::bx, L1TMuon::TriggerPrimitive::GEMData::bx, Exception, kCSC, kDT, kGEM, and kRPC.

Referenced by accessGEMData(), and PrimitiveSelection::process().

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  case kGEM:
230  return _gem.bx;
231  default:
232  throw cms::Exception("Invalid Subsytem")
233  << "The specified subsystem for this track stub is out of range"
234  << std::endl;
235  }
236  return -1;
237 }
const double L1TMuon::TriggerPrimitive::getCMSGlobalEta ( ) const
inline

Definition at line 160 of file MuonTriggerPrimitive.h.

References _eta.

160 { return _eta; }
const double L1TMuon::TriggerPrimitive::getCMSGlobalPhi ( ) const
inline

Definition at line 162 of file MuonTriggerPrimitive.h.

References _phi.

162 { return _phi; }
const GlobalPoint L1TMuon::TriggerPrimitive::getCMSGlobalPoint ( ) const
inline

Definition at line 167 of file MuonTriggerPrimitive.h.

References _eta, _phi, _rho, JetChargeProducer_cfi::exp, funct::tan(), and theta().

167  { double theta = 2. * atan( exp(-_eta) );
168  return GlobalPoint( GlobalPoint::Cylindrical( _rho, _phi, _rho/tan(theta)) ); };
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Geom::Theta< T > theta() const
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
const double L1TMuon::TriggerPrimitive::getCMSGlobalRho ( ) const
inline

Definition at line 164 of file MuonTriggerPrimitive.h.

References _rho.

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

Definition at line 203 of file MuonTriggerPrimitive.h.

References _globalsector.

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

Definition at line 275 of file MuonTriggerPrimitive.cc.

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

Referenced by accessGEMData().

275  {
276  switch(_subsystem) {
277  case kDT:
278  return -1;
279  case kCSC:
280  return _csc.pattern;
281  case kRPC:
282  return -1;
283  case kGEM:
284  return -1;
285  default:
286  throw cms::Exception("Invalid Subsytem")
287  << "The specified subsystem for this track stub is out of range"
288  << std::endl;
289  }
290  return -1;
291 }
const RPCData L1TMuon::TriggerPrimitive::getRPCData ( ) const
inline
const int TriggerPrimitive::getStrip ( ) const

Definition at line 239 of file MuonTriggerPrimitive.cc.

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

Referenced by accessGEMData(), and PrimitiveSelection::process().

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

Definition at line 175 of file MuonTriggerPrimitive.h.

References _theta.

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

Definition at line 257 of file MuonTriggerPrimitive.cc.

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

Referenced by accessGEMData(), and PrimitiveSelection::process().

257  {
258  switch(_subsystem) {
259  case kDT:
260  return -1;
261  case kCSC:
262  return _csc.keywire;
263  case kRPC:
264  return -1;
265  case kGEM:
266  return -1;
267  default:
268  throw cms::Exception("Invalid Subsytem")
269  << "The specified subsystem for this track stub is out of range"
270  << std::endl;
271  }
272  return -1;
273 }
TriggerPrimitive & TriggerPrimitive::operator= ( const TriggerPrimitive tp)

Definition at line 163 of file MuonTriggerPrimitive.cc.

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

Referenced by TriggerPrimitive().

163  {
164  this->_dt = tp._dt;
165  this->_csc = tp._csc;
166  this->_rpc = tp._rpc;
167  this->_gem = tp._gem;
168  this->_id = tp._id;
169  this->_subsystem = tp._subsystem;
170  this->_globalsector = tp._globalsector;
171  this->_subsector = tp._subsector;
172  this->_eta = tp._eta;
173  this->_phi = tp._phi;
174  this->_rho = tp._rho;
175  this->_theta = tp._theta;
176  return *this;
177 }
bool TriggerPrimitive::operator== ( const TriggerPrimitive tp) const

Definition at line 179 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _gem, _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::GEMData::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::GEMData::pad, L1TMuon::TriggerPrimitive::GEMData::pad_hi, L1TMuon::TriggerPrimitive::GEMData::pad_low, 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::RPCData::strip_hi, L1TMuon::TriggerPrimitive::RPCData::strip_low, 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::RPCData::valid, L1TMuon::TriggerPrimitive::CSCData::valid, and L1TMuon::TriggerPrimitive::DTData::wheel.

Referenced by TriggerPrimitive().

179  {
180  return ( this->_dt.bx == tp._dt.bx &&
181  this->_dt.wheel == tp._dt.wheel &&
182  this->_dt.sector == tp._dt.sector &&
183  this->_dt.station == tp._dt.station &&
184  this->_dt.radialAngle == tp._dt.radialAngle &&
185  this->_dt.bendingAngle == tp._dt.bendingAngle &&
186  this->_dt.qualityCode == tp._dt.qualityCode &&
187  this->_dt.Ts2TagCode == tp._dt.Ts2TagCode &&
188  this->_dt.BxCntCode == tp._dt.BxCntCode &&
189  this->_dt.theta_bti_group == tp._dt.theta_bti_group &&
190  this->_dt.segment_number == tp._dt.segment_number &&
191  this->_dt.theta_code == tp._dt.theta_code &&
192  this->_dt.theta_quality == tp._dt.theta_quality &&
193  this->_csc.trknmb == tp._csc.trknmb &&
194  this->_csc.valid == tp._csc.valid &&
195  this->_csc.quality == tp._csc.quality &&
196  this->_csc.keywire == tp._csc.keywire &&
197  this->_csc.strip == tp._csc.strip &&
198  this->_csc.pattern == tp._csc.pattern &&
199  this->_csc.bend == tp._csc.bend &&
200  this->_csc.bx == tp._csc.bx &&
201  this->_csc.mpclink == tp._csc.mpclink &&
202  this->_csc.bx0 == tp._csc.bx0 &&
203  this->_csc.syncErr == tp._csc.syncErr &&
204  this->_csc.cscID == tp._csc.cscID &&
205  this->_rpc.strip == tp._rpc.strip &&
206  this->_rpc.strip_low == tp._rpc.strip_low &&
207  this->_rpc.strip_hi == tp._rpc.strip_hi &&
208  this->_rpc.layer == tp._rpc.layer &&
209  this->_rpc.bx == tp._rpc.bx &&
210  this->_rpc.valid == tp._rpc.valid &&
211  this->_gem.pad == tp._gem.pad &&
212  this->_gem.pad_low == tp._gem.pad_low &&
213  this->_gem.pad_hi == tp._gem.pad_hi &&
214  this->_gem.bx == tp._gem.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 321 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _eta, _gem, _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::GEMData::bx, L1TMuon::TriggerPrimitive::CSCData::bx0, L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1TMuon::TriggerPrimitive::CSCData::cscID, Exception, training_settings::idx, kCSC, kDT, L1TMuon::TriggerPrimitive::CSCData::keywire, kGEM, kRPC, L1TMuon::TriggerPrimitive::RPCData::layer, L1TMuon::TriggerPrimitive::CSCData::mpclink, L1TMuon::TriggerPrimitive::GEMData::pad, L1TMuon::TriggerPrimitive::GEMData::pad_hi, L1TMuon::TriggerPrimitive::GEMData::pad_low, 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::RPCData::strip_hi, L1TMuon::TriggerPrimitive::RPCData::strip_low, 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::RPCData::valid, and L1TMuon::TriggerPrimitive::CSCData::valid.

Referenced by getSubSector().

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

Definition at line 201 of file MuonTriggerPrimitive.h.

References _id.

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

Definition at line 161 of file MuonTriggerPrimitive.h.

References _eta, and PVValHelper::eta.

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

Definition at line 163 of file MuonTriggerPrimitive.h.

References _phi.

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

Definition at line 165 of file MuonTriggerPrimitive.h.

References _rho.

void L1TMuon::TriggerPrimitive::setCSCData ( const CSCData csc)
inline
void L1TMuon::TriggerPrimitive::setDTData ( const DTData dt)
inline

Definition at line 181 of file MuonTriggerPrimitive.h.

References _dt, and dt.

181 { _dt = dt; }
float dt
Definition: AMPTWrapper.h:126
void L1TMuon::TriggerPrimitive::setGEMData ( const GEMData gem)
inline

Definition at line 184 of file MuonTriggerPrimitive.h.

References _gem.

184 { _gem = gem; }
void L1TMuon::TriggerPrimitive::setRPCData ( const RPCData rpc)
inline
void L1TMuon::TriggerPrimitive::setThetaBend ( const double  theta)
inline

Definition at line 174 of file MuonTriggerPrimitive.h.

References _theta, and theta().

174 { _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
double L1TMuon::TriggerPrimitive::_eta
private
GEMData L1TMuon::TriggerPrimitive::_gem
private
unsigned L1TMuon::TriggerPrimitive::_globalsector
private

Definition at line 233 of file MuonTriggerPrimitive.h.

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

DetId L1TMuon::TriggerPrimitive::_id
private

Definition at line 229 of file MuonTriggerPrimitive.h.

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

double L1TMuon::TriggerPrimitive::_phi
private
double L1TMuon::TriggerPrimitive::_rho
private
RPCData L1TMuon::TriggerPrimitive::_rpc
private
unsigned L1TMuon::TriggerPrimitive::_subsector
private

Definition at line 234 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 236 of file MuonTriggerPrimitive.h.

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