File indexing completed on 2024-04-06 12:21:04
0001 #include "L1Trigger/L1TMuonOverlap/interface/AlgoMuon.h"
0002
0003 #include <bitset>
0004 #include <iostream>
0005
0006 bool AlgoMuon::isValid() const { return m_q >= 0; }
0007
0008 bool AlgoMuon::operator<(const AlgoMuon &o) const {
0009 if (this->getQ() > o.getQ())
0010 return false;
0011 else if (this->getQ() == o.getQ() && this->getDisc() > o.getDisc())
0012 return false;
0013 else if (getQ() == o.getQ() && getDisc() == o.getDisc() && getPatternNumber() > o.getPatternNumber())
0014 return false;
0015 else if (getQ() == o.getQ() && getDisc() == o.getDisc() && getPatternNumber() == o.getPatternNumber() &&
0016 getRefHitNumber() < o.getRefHitNumber())
0017 return false;
0018 else
0019 return true;
0020 }
0021
0022 std::ostream &operator<<(std::ostream &out, const AlgoMuon &o) {
0023 out << "AlgoMuon: ";
0024 out << " pt: " << o.getPt() << ", phi: " << o.getPhi() << ", eta: " << o.getEta() * 2.61 / 240
0025 << ", hits: " << std::bitset<18>(o.getHits()).to_string() << ", q: " << o.getQ() << ", bx: " << o.getBx()
0026 << ", charge: " << o.getCharge() << ", disc: " << o.getDisc() << " refLayer: " << o.getRefLayer();
0027
0028 return out;
0029 }