22 using namespace L1TMuon;
25 const char subsystem_names[][4] = {
"DT",
"CSC",
"RPC",
"GEM",
"ME0"};
32 const int segment_number)
33 : _id(detid), _subsystem(L1TMuon::
kDT) {
59 const int theta_bti_group)
60 : _id(detid), _subsystem(L1TMuon::
kDT) {
87 const int theta_bti_group)
88 : _id(detid), _subsystem(L1TMuon::
kDT) {
115 : _id(detid), _subsystem(L1TMuon::
kCSC) {
144 const bool is_me11a = (detid.
station() == 1 && detid.
ring() == 1 && digi.
getStrip() >= 128);
175 : _id(detid), _subsystem(L1TMuon::
kRPC) {
199 : _id(detid), _subsystem(L1TMuon::
kRPC) {
224 : _id(detid), _subsystem(L1TMuon::
kGEM) {
239 : _id(detid), _subsystem(L1TMuon::
kME0) {
263 _subsystem(tp._subsystem),
264 _globalsector(tp._globalsector),
265 _subsector(tp._subsector),
291 auto isclose = [](
float a,
float b,
float rtol = 1.e-5,
float atol = 1.e-8) {
328 this->_gem.pad_hi == tp.
_gem.
pad_hi && this->_gem.bx == tp.
_gem.
bx && this->_id == tp.
_id &&
339 <<
"The specified subsystem for this track stub is out of range" << std::endl;
359 <<
"The specified subsystem for this track stub is out of range" << std::endl;
378 <<
"The specified subsystem for this track stub is out of range" << std::endl;
397 <<
"The specified subsystem for this track stub is out of range" << std::endl;
416 <<
"The specified subsystem for this track stub is out of range" << std::endl;
423 out << subsystem_names[idx] <<
" Trigger Primitive" << std::endl;
424 out <<
"eta: " <<
_eta <<
" phi: " <<
_phi <<
" rho: " <<
_rho <<
" theta: " <<
_theta << std::endl;
427 out << detId<DTChamberId>() << std::endl;
428 out <<
"Local BX : " <<
_dt.
bx << std::endl;
435 out <<
"RPC Bit : " <<
_dt.
RpcBit << std::endl;
441 out << detId<CSCDetId>() << std::endl;
442 out <<
"Local BX : " <<
_csc.
bx << std::endl;
443 out <<
"Segment Nmb : " <<
_csc.
trknmb << std::endl;
444 out <<
"Segment Valid : " <<
_csc.
valid << std::endl;
445 out <<
"Quality Code : " <<
_csc.
quality << std::endl;
446 out <<
"Key Wire Grp : " <<
_csc.
keywire << std::endl;
447 out <<
"Half-Strip : " <<
_csc.
strip << std::endl;
448 out <<
"CLCT Pattern : " <<
_csc.
pattern << std::endl;
449 out <<
"Packed Bend : " <<
_csc.
bend << std::endl;
451 out <<
"BX0 : " <<
_csc.
bx0 << std::endl;
452 out <<
"Sync Error : " <<
_csc.
syncErr << std::endl;
453 out <<
"CSCID : " <<
_csc.
cscID << std::endl;
458 out << detId<RPCDetId>() << std::endl;
459 out <<
"Local BX : " <<
_rpc.
bx << std::endl;
460 out <<
"Strip : " <<
_rpc.
strip << std::endl;
463 out <<
"Integer phi : " <<
_rpc.
phi_int << std::endl;
467 out <<
"Valid : " <<
_rpc.
valid << std::endl;
468 out <<
"Local x : " <<
_rpc.
x << std::endl;
469 out <<
"Local y : " <<
_rpc.
y << std::endl;
470 out <<
"Time : " <<
_rpc.
time << std::endl;
471 out <<
"IsCPPF : " <<
_rpc.
isCPPF << std::endl;
474 out << detId<GEMDetId>() << std::endl;
475 out <<
"Local BX : " <<
_gem.
bx << std::endl;
476 out <<
"Pad : " <<
_gem.
pad << std::endl;
478 out <<
"Pad high : " <<
_gem.
pad_hi << std::endl;
481 out << detId<ME0DetId>() << std::endl;
482 out <<
"Local BX : " <<
_me0.
bx << std::endl;
488 out <<
"Bend : " <<
_me0.
bend << std::endl;
492 <<
"The specified subsystem for this track stub is out of range" << std::endl;
int firstClusterStrip() const
uint16_t getQuality() const
return quality of a pattern
int getDeltaphi() const
return bending angle
LocalPoint localPosition() const override
Return the 3-dimensional local position.
TriggerPrimitive & operator=(const TriggerPrimitive &tp)
void calculateGlobalSector(const IDType &chid, unsigned &globalsector, unsigned &subsector) const
int getPhiposition() const
return the phi position, resolution: half strip level
bool operator==(const TriggerPrimitive &tp) const
int quality(const int i) const
subsystem_type _subsystem
int getQuality() const
return the Quality
int position(const int i) const
double coordinateY() const
int getPartition() const
return the key "partition"
int getBX() const
return BX
Abs< T >::type abs(const T &t)
const std::vector< uint16_t > & pads() const
int getBend() const
return bend
int code(const int i) const
uint16_t strip_eighth_bit
uint16_t getQuality() const
return quality of a pattern (number of layers hit!)
void print(std::ostream &) const
int getChamberid() const
return chamber number in one CTP7
double coordinateX() const