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 RPCDigi &digi)
 
 TriggerPrimitive (const RPCDetId &detid, const unsigned strip, const unsigned layer, const int bx)
 
 TriggerPrimitive (const RPCDetId &detid, const l1t::CPPFDigi &digi)
 
 TriggerPrimitive (const GEMDetId &detid, const GEMPadDigi &digi)
 
 TriggerPrimitive (const ME0DetId &detid, const ME0PadDigi &digi)
 
 TriggerPrimitive (const TriggerPrimitive &)
 

Private Member Functions

template<typename IDType >
void calculateGlobalSector (const IDType &chid, unsigned &globalsector, 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 57 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 26 of file MuonTriggerPrimitive.cc.

References _dt, _globalsector, _subsector, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::DTData::bx, L1MuDTChambPhDigi::BxCnt(), L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1MuDTChambPhDigi::bxNum(), calculateGlobalSector(), 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().

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

Definition at line 48 of file MuonTriggerPrimitive.cc.

References _dt, _globalsector, _subsector, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::DTData::bx, L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1MuDTChambThDigi::bxNum(), calculateGlobalSector(), 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().

53  // fill in information from theta trigger
54  _dt.theta_bti_group = theta_bti_group;
55  _dt.segment_number = digi_th.position(theta_bti_group);
56  _dt.theta_code = digi_th.code(theta_bti_group);
57  _dt.theta_quality = digi_th.quality(theta_bti_group);
58  // now phi trigger
59  _dt.bx = digi_th.bxNum();
60  _dt.wheel = digi_th.whNum();
61  _dt.sector = digi_th.scNum();
62  _dt.station = digi_th.stNum();
63  _dt.radialAngle = -1;
64  _dt.bendingAngle = -1;
65  _dt.qualityCode = -1;
66  _dt.Ts2TagCode = -1;
67  _dt.BxCntCode = -1;
68 }
int quality(const int i) const
int position(const int i) const
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
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 70 of file MuonTriggerPrimitive.cc.

References _dt, _globalsector, _subsector, L1TMuon::TriggerPrimitive::DTData::bendingAngle, L1TMuon::TriggerPrimitive::DTData::bx, L1MuDTChambPhDigi::BxCnt(), L1TMuon::TriggerPrimitive::DTData::BxCntCode, L1MuDTChambPhDigi::bxNum(), calculateGlobalSector(), 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().

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 }
int quality(const int i) const
int position(const int i) const
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
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::alct_quality, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::CSCData::bx, L1TMuon::TriggerPrimitive::CSCData::bx0, calculateGlobalSector(), CSCDetId::chamber(), L1TMuon::TriggerPrimitive::CSCData::clct_quality, L1TMuon::TriggerPrimitive::CSCData::cscID, CSCDetId::endcap(), CSCCorrelatedLCTDigi::getALCT(), CSCCorrelatedLCTDigi::getBend(), CSCCorrelatedLCTDigi::getBX(), CSCCorrelatedLCTDigi::getBX0(), CSCCorrelatedLCTDigi::getCLCT(), CSCCorrelatedLCTDigi::getCSCID(), CSCCorrelatedLCTDigi::getKeyWG(), CSCCorrelatedLCTDigi::getMPCLink(), CSCCorrelatedLCTDigi::getPattern(), CSCALCTDigi::getQuality(), CSCCLCTDigi::getQuality(), 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.

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 
110  // Use ME1/1a --> ring 4 convention
111  if (detid.station() == 1 && detid.ring() == 1 && digi.getStrip() >= 128) {
112  _id = CSCDetId(detid.endcap(), detid.station(), 4, detid.chamber(), detid.layer());
113  _csc.strip = digi.getStrip() - 128;
114  }
115 
116  CSCCorrelatedLCTDigi digi_clone = digi; // Necessary to get around const qualifier
117  CSCALCTDigi alct = digi_clone.getALCT();
118  CSCCLCTDigi clct = digi_clone.getCLCT();
119  _csc.alct_quality = alct.getQuality();
120  _csc.clct_quality = clct.getQuality();
121 }
int getQuality() const
return quality of a pattern (number of layers hit!)
Definition: CSCCLCTDigi.h:41
const CSCALCTDigi & getALCT() const
int chamber() const
Definition: CSCDetId.h:62
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:56
const CSCCLCTDigi & getCLCT() const
int endcap() const
Definition: CSCDetId.h:85
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
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:68
int getQuality() const
return quality of a pattern
Definition: CSCALCTDigi.h:38
int getMPCLink() const
return MPC link number, 0 means not sorted, 1-3 give MPC sorting rank
bool isValid() const
return valid pattern bit
int getPattern() const
return pattern
int station() const
Definition: CSCDetId.h:79
int getKeyWG() const
return the key wire group. counts from 0.
TriggerPrimitive::TriggerPrimitive ( const RPCDetId detid,
const RPCDigi digi 
)

Definition at line 124 of file MuonTriggerPrimitive.cc.

References _globalsector, _rpc, _subsector, RPCDigi::bx(), L1TMuon::TriggerPrimitive::RPCData::bx, calculateGlobalSector(), L1TMuon::TriggerPrimitive::RPCData::emtf_sector, L1TMuon::TriggerPrimitive::RPCData::layer, RPCDetId::layer(), L1TMuon::TriggerPrimitive::RPCData::phi_int, RPCDigi::strip(), L1TMuon::TriggerPrimitive::RPCData::strip, L1TMuon::TriggerPrimitive::RPCData::strip_hi, L1TMuon::TriggerPrimitive::RPCData::strip_low, L1TMuon::TriggerPrimitive::RPCData::theta_int, RPCDigi::time(), L1TMuon::TriggerPrimitive::RPCData::time, and L1TMuon::TriggerPrimitive::RPCData::valid.

127  _rpc.strip = digi.strip();
128  _rpc.strip_low = digi.strip();
129  _rpc.strip_hi = digi.strip();
130  _rpc.phi_int = 0;
131  _rpc.theta_int = 0;
132  _rpc.emtf_sector = 0;
133  _rpc.layer = detid.layer();
134  _rpc.bx = digi.bx();
135  _rpc.valid = 1;
136  _rpc.time = digi.time();
137 }
int bx() const
Definition: RPCDigi.h:28
double time() const
Definition: RPCDigi.h:29
int strip() const
Definition: RPCDigi.h:27
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
int layer() const
Definition: RPCDetId.h:85
TriggerPrimitive::TriggerPrimitive ( const RPCDetId detid,
const unsigned  strip,
const unsigned  layer,
const int  bx 
)

Definition at line 139 of file MuonTriggerPrimitive.cc.

References _globalsector, _rpc, _subsector, l1GtPatternGenerator_cfi::bx, L1TMuon::TriggerPrimitive::RPCData::bx, calculateGlobalSector(), L1TMuon::TriggerPrimitive::RPCData::emtf_sector, L1TMuon::TriggerPrimitive::RPCData::layer, L1TMuon::TriggerPrimitive::RPCData::phi_int, digitizers_cfi::strip, L1TMuon::TriggerPrimitive::RPCData::strip, L1TMuon::TriggerPrimitive::RPCData::strip_hi, L1TMuon::TriggerPrimitive::RPCData::strip_low, L1TMuon::TriggerPrimitive::RPCData::theta_int, L1TMuon::TriggerPrimitive::RPCData::time, and L1TMuon::TriggerPrimitive::RPCData::valid.

142  _rpc.strip = strip;
143  _rpc.strip_low = strip;
144  _rpc.strip_hi = strip;
145  _rpc.phi_int = 0;
146  _rpc.theta_int = 0;
147  _rpc.emtf_sector = 0;
148  _rpc.layer = layer;
149  _rpc.bx = bx;
150  _rpc.valid = 1;
151  _rpc.time = -999999.;
152 }
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
TriggerPrimitive::TriggerPrimitive ( const RPCDetId detid,
const l1t::CPPFDigi digi 
)

Definition at line 155 of file MuonTriggerPrimitive.cc.

References _globalsector, _rpc, _subsector, l1t::CPPFDigi::bx(), L1TMuon::TriggerPrimitive::RPCData::bx, calculateGlobalSector(), l1t::CPPFDigi::cluster_size(), l1t::CPPFDigi::emtf_sector(), L1TMuon::TriggerPrimitive::RPCData::emtf_sector, l1t::CPPFDigi::first_strip(), L1TMuon::TriggerPrimitive::RPCData::isCPPF, L1TMuon::TriggerPrimitive::RPCData::layer, RPCDetId::layer(), l1t::CPPFDigi::phi_int(), L1TMuon::TriggerPrimitive::RPCData::phi_int, L1TMuon::TriggerPrimitive::RPCData::strip, L1TMuon::TriggerPrimitive::RPCData::strip_hi, L1TMuon::TriggerPrimitive::RPCData::strip_low, l1t::CPPFDigi::theta_int(), L1TMuon::TriggerPrimitive::RPCData::theta_int, l1t::CPPFDigi::valid(), and L1TMuon::TriggerPrimitive::RPCData::valid.

158  // In unpacked CPPF digis, the strip number and cluster size are not available, and are set to -99
159  _rpc.strip = (digi.first_strip() < 0 ? 0 : digi.first_strip() + (digi.cluster_size() / 2));
160  _rpc.strip_low = (digi.first_strip() < 0 ? 0 : digi.first_strip());
161  _rpc.strip_hi = (digi.first_strip() < 0 ? 0 : digi.first_strip() + digi.cluster_size() - 1);
162  _rpc.phi_int = digi.phi_int();
163  _rpc.theta_int = digi.theta_int();
164  _rpc.emtf_sector = digi.emtf_sector();
165  _rpc.layer = detid.layer();
166  _rpc.bx = digi.bx();
167  _rpc.valid = digi.valid();
168  _rpc.isCPPF = true;
169 }
int emtf_sector() const
Definition: CPPFDigi.h:58
int first_strip() const
Definition: CPPFDigi.h:60
int cluster_size() const
Definition: CPPFDigi.h:61
int bx() const
Definition: CPPFDigi.h:52
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
int theta_int() const
Definition: CPPFDigi.h:54
int layer() const
Definition: RPCDetId.h:85
int valid() const
Definition: CPPFDigi.h:55
int phi_int() const
Definition: CPPFDigi.h:53
TriggerPrimitive::TriggerPrimitive ( const GEMDetId detid,
const GEMPadDigi digi 
)

Definition at line 172 of file MuonTriggerPrimitive.cc.

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

175  _gem.pad = digi.pad();
176  _gem.pad_low = digi.pad();
177  _gem.pad_hi = digi.pad();
178  _gem.bx = digi.bx();
179  _gem.bend = 0;
180  _gem.isME0 = false;
181 }
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
int pad() const
Definition: GEMPadDigi.h:26
int bx() const
Definition: GEMPadDigi.h:27
TriggerPrimitive::TriggerPrimitive ( const ME0DetId detid,
const ME0PadDigi digi 
)

Definition at line 183 of file MuonTriggerPrimitive.cc.

References _gem, _globalsector, _subsector, L1TMuon::TriggerPrimitive::GEMData::bend, ME0PadDigi::bx(), L1TMuon::TriggerPrimitive::GEMData::bx, calculateGlobalSector(), L1TMuon::TriggerPrimitive::GEMData::isME0, ME0PadDigi::pad(), L1TMuon::TriggerPrimitive::GEMData::pad, L1TMuon::TriggerPrimitive::GEMData::pad_hi, and L1TMuon::TriggerPrimitive::GEMData::pad_low.

186  _gem.pad = digi.pad();
187  _gem.pad_low = digi.pad();
188  _gem.pad_hi = digi.pad();
189  _gem.bx = digi.bx();
190  _gem.bend = 0;
191  _gem.isME0 = true;
192 }
int pad() const
Definition: ME0PadDigi.h:25
int bx() const
Definition: ME0PadDigi.h:26
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector)
TriggerPrimitive::TriggerPrimitive ( const TriggerPrimitive tp)

Member Function Documentation

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

Definition at line 239 of file MuonTriggerPrimitive.h.

Referenced by PrimitiveSelection::process().

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

Definition at line 238 of file MuonTriggerPrimitive.h.

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

Definition at line 241 of file MuonTriggerPrimitive.h.

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

Definition at line 240 of file MuonTriggerPrimitive.h.

240 { return _rpc; }
template<typename IDType >
void L1TMuon::TriggerPrimitive::calculateGlobalSector ( const IDType &  chid,
unsigned &  globalsector,
unsigned &  subsector 
)
inlineprivate

Definition at line 259 of file MuonTriggerPrimitive.h.

Referenced by TriggerPrimitive().

259  {
260  // Not sure if this is ever going to get implemented
261  globalsector = 0;
262  subsector = 0;
263  }
template<typename IDType >
IDType L1TMuon::TriggerPrimitive::detId ( ) const
inline
const int TriggerPrimitive::getBX ( ) const

Definition at line 248 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 PrimitiveSelection::process().

248  {
249  switch (_subsystem) {
250  case kDT:
251  return _dt.bx;
252  case kCSC:
253  return _csc.bx;
254  case kRPC:
255  return _rpc.bx;
256  case kGEM:
257  return _gem.bx;
258  default:
259  throw cms::Exception("Invalid Subsytem")
260  << "The specified subsystem for this track stub is out of range" << std::endl;
261  }
262  return -1;
263 }
const double L1TMuon::TriggerPrimitive::getCMSGlobalEta ( ) const
inline

Definition at line 204 of file MuonTriggerPrimitive.h.

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

Definition at line 206 of file MuonTriggerPrimitive.h.

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

Definition at line 211 of file MuonTriggerPrimitive.h.

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

211  {
212  double theta = 2. * atan(exp(-_eta));
214  };
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 208 of file MuonTriggerPrimitive.h.

208 { 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 250 of file MuonTriggerPrimitive.h.

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

Definition at line 299 of file MuonTriggerPrimitive.cc.

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

299  {
300  switch (_subsystem) {
301  case kDT:
302  return -1;
303  case kCSC:
304  return _csc.pattern;
305  case kRPC:
306  return -1;
307  case kGEM:
308  return -1;
309  default:
310  throw cms::Exception("Invalid Subsytem")
311  << "The specified subsystem for this track stub is out of range" << std::endl;
312  }
313  return -1;
314 }
const RPCData L1TMuon::TriggerPrimitive::getRPCData ( ) const
inline
const int TriggerPrimitive::getStrip ( ) const

Definition at line 265 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 PrimitiveSelection::process().

265  {
266  switch (_subsystem) {
267  case kDT:
268  return -1;
269  case kCSC:
270  return _csc.strip;
271  case kRPC:
272  return _rpc.strip;
273  case kGEM:
274  return _gem.pad;
275  default:
276  throw cms::Exception("Invalid Subsytem")
277  << "The specified subsystem for this track stub is out of range" << std::endl;
278  }
279  return -1;
280 }
const unsigned L1TMuon::TriggerPrimitive::getSubSector ( ) const
inline

Definition at line 251 of file MuonTriggerPrimitive.h.

References edm::print().

251 { return _subsector; }
double L1TMuon::TriggerPrimitive::getThetaBend ( ) const
inline

Definition at line 220 of file MuonTriggerPrimitive.h.

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

Definition at line 282 of file MuonTriggerPrimitive.cc.

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

Referenced by PrimitiveSelection::process().

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

Definition at line 208 of file MuonTriggerPrimitive.cc.

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

208  {
209  this->_dt = tp._dt;
210  this->_csc = tp._csc;
211  this->_rpc = tp._rpc;
212  this->_gem = tp._gem;
213  this->_id = tp._id;
214  this->_subsystem = tp._subsystem;
215  this->_globalsector = tp._globalsector;
216  this->_subsector = tp._subsector;
217  this->_eta = tp._eta;
218  this->_phi = tp._phi;
219  this->_rho = tp._rho;
220  this->_theta = tp._theta;
221  return *this;
222 }
bool TriggerPrimitive::operator== ( const TriggerPrimitive tp) const

Definition at line 224 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _gem, _globalsector, _id, _rpc, _subsector, _subsystem, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::GEMData::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::RPCData::emtf_sector, L1TMuon::TriggerPrimitive::RPCData::isCPPF, L1TMuon::TriggerPrimitive::GEMData::isME0, 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::RPCData::phi_int, 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::RPCData::theta_int, 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.

224  {
225  return (this->_dt.bx == tp._dt.bx && this->_dt.wheel == tp._dt.wheel && this->_dt.sector == tp._dt.sector &&
226  this->_dt.station == tp._dt.station && this->_dt.radialAngle == tp._dt.radialAngle &&
227  this->_dt.bendingAngle == tp._dt.bendingAngle && this->_dt.qualityCode == tp._dt.qualityCode &&
228  this->_dt.Ts2TagCode == tp._dt.Ts2TagCode && this->_dt.BxCntCode == tp._dt.BxCntCode &&
229  this->_dt.theta_bti_group == tp._dt.theta_bti_group && this->_dt.segment_number == tp._dt.segment_number &&
230  this->_dt.theta_code == tp._dt.theta_code && this->_dt.theta_quality == tp._dt.theta_quality &&
231  this->_csc.trknmb == tp._csc.trknmb && this->_csc.valid == tp._csc.valid &&
232  this->_csc.quality == tp._csc.quality && this->_csc.keywire == tp._csc.keywire &&
233  this->_csc.strip == tp._csc.strip && this->_csc.pattern == tp._csc.pattern &&
234  this->_csc.bend == tp._csc.bend && this->_csc.bx == tp._csc.bx && this->_csc.mpclink == tp._csc.mpclink &&
235  this->_csc.bx0 == tp._csc.bx0 && this->_csc.syncErr == tp._csc.syncErr && this->_csc.cscID == tp._csc.cscID &&
236  this->_rpc.strip == tp._rpc.strip && this->_rpc.strip_low == tp._rpc.strip_low &&
237  this->_rpc.strip_hi == tp._rpc.strip_hi && this->_rpc.phi_int == tp._rpc.phi_int &&
238  this->_rpc.theta_int == tp._rpc.theta_int && this->_rpc.emtf_sector == tp._rpc.emtf_sector &&
239  this->_rpc.layer == tp._rpc.layer && this->_rpc.bx == tp._rpc.bx && this->_rpc.valid == tp._rpc.valid &&
240  //this->_rpc.time == tp._rpc.time &&
241  this->_rpc.isCPPF == tp._rpc.isCPPF && this->_gem.pad == tp._gem.pad &&
242  this->_gem.pad_low == tp._gem.pad_low && this->_gem.pad_hi == tp._gem.pad_hi && this->_gem.bx == tp._gem.bx &&
243  this->_gem.bend == tp._gem.bend && this->_gem.isME0 == tp._gem.isME0 && this->_id == tp._id &&
244  this->_subsystem == tp._subsystem && this->_globalsector == tp._globalsector &&
245  this->_subsector == tp._subsector);
246 }
void TriggerPrimitive::print ( std::ostream &  out) const

Definition at line 316 of file MuonTriggerPrimitive.cc.

References _csc, _dt, _eta, _gem, _phi, _rho, _rpc, _subsystem, _theta, L1TMuon::TriggerPrimitive::CSCData::bend, L1TMuon::TriggerPrimitive::GEMData::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::RPCData::emtf_sector, Exception, training_settings::idx, L1TMuon::TriggerPrimitive::RPCData::isCPPF, L1TMuon::TriggerPrimitive::GEMData::isME0, 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::RPCData::phi_int, 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::RPCData::theta_int, L1TMuon::TriggerPrimitive::DTData::theta_quality, L1TMuon::TriggerPrimitive::RPCData::time, L1TMuon::TriggerPrimitive::CSCData::trknmb, L1TMuon::TriggerPrimitive::DTData::Ts2TagCode, L1TMuon::TriggerPrimitive::RPCData::valid, and L1TMuon::TriggerPrimitive::CSCData::valid.

316  {
317  unsigned idx = (unsigned)_subsystem;
318  out << subsystem_names[idx] << " Trigger Primitive" << std::endl;
319  out << "eta: " << _eta << " phi: " << _phi << " rho: " << _rho << " theta: " << _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 << "Strip Low : " << _rpc.strip_low << std::endl;
354  out << "Strip High : " << _rpc.strip_hi << std::endl;
355  out << "Integer phi : " << _rpc.phi_int << std::endl;
356  out << "Integer theta : " << _rpc.theta_int << std::endl;
357  out << "EMTF sector : " << _rpc.emtf_sector << std::endl;
358  out << "Layer : " << _rpc.layer << std::endl;
359  out << "Valid : " << _rpc.valid << std::endl;
360  out << "Time : " << _rpc.time << std::endl;
361  out << "IsCPPF : " << _rpc.isCPPF << std::endl;
362  break;
363  case kGEM:
364  if (!_gem.isME0)
365  out << detId<GEMDetId>() << std::endl;
366  else
367  out << detId<ME0DetId>() << std::endl;
368  out << "Local BX : " << _gem.bx << std::endl;
369  out << "Pad : " << _gem.pad << std::endl;
370  out << "Pad Low : " << _gem.pad_low << std::endl;
371  out << "Pad High : " << _gem.pad_hi << std::endl;
372  out << "Packed Bend : " << _gem.bend << std::endl;
373  out << "Is ME0 : " << _gem.isME0 << std::endl;
374  break;
375  default:
376  throw cms::Exception("Invalid Subsytem")
377  << "The specified subsystem for this track stub is out of range" << std::endl;
378  }
379 }
const DetId L1TMuon::TriggerPrimitive::rawId ( ) const
inline

Definition at line 248 of file MuonTriggerPrimitive.h.

References photons_cff::_id.

248 { return _id; };
void L1TMuon::TriggerPrimitive::setCMSGlobalEta ( const double  eta)
inline
void L1TMuon::TriggerPrimitive::setCMSGlobalPhi ( const double  phi)
inline

Definition at line 207 of file MuonTriggerPrimitive.h.

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

Definition at line 209 of file MuonTriggerPrimitive.h.

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

Definition at line 228 of file MuonTriggerPrimitive.h.

References dt.

228 { _dt = dt; }
float dt
Definition: AMPTWrapper.h:136
void L1TMuon::TriggerPrimitive::setGEMData ( const GEMData gem)
inline
void L1TMuon::TriggerPrimitive::setRPCData ( const RPCData rpc)
inline
void L1TMuon::TriggerPrimitive::setThetaBend ( const double  theta)
inline

Definition at line 219 of file MuonTriggerPrimitive.h.

References theta().

219 { _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 265 of file MuonTriggerPrimitive.h.

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

double L1TMuon::TriggerPrimitive::_eta
private

Definition at line 276 of file MuonTriggerPrimitive.h.

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

GEMData L1TMuon::TriggerPrimitive::_gem
private

Definition at line 268 of file MuonTriggerPrimitive.h.

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

unsigned L1TMuon::TriggerPrimitive::_globalsector
private

Definition at line 274 of file MuonTriggerPrimitive.h.

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

DetId L1TMuon::TriggerPrimitive::_id
private

Definition at line 270 of file MuonTriggerPrimitive.h.

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

double L1TMuon::TriggerPrimitive::_phi
private

Definition at line 276 of file MuonTriggerPrimitive.h.

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

double L1TMuon::TriggerPrimitive::_rho
private

Definition at line 276 of file MuonTriggerPrimitive.h.

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

RPCData L1TMuon::TriggerPrimitive::_rpc
private

Definition at line 267 of file MuonTriggerPrimitive.h.

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

unsigned L1TMuon::TriggerPrimitive::_subsector
private

Definition at line 275 of file MuonTriggerPrimitive.h.

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

subsystem_type L1TMuon::TriggerPrimitive::_subsystem
private

Definition at line 272 of file MuonTriggerPrimitive.h.

Referenced by getBX(), getPattern(), getStrip(), getWire(), operator=(), operator==(), and print().

double L1TMuon::TriggerPrimitive::_theta
private

Definition at line 277 of file MuonTriggerPrimitive.h.

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