13 std::vector<L1MuRegionalCand>
result;
19 std::vector<csc::L1Track> tks = tracks.
get(bx);
20 std::sort(tks.begin(),tks.end(),std::greater<csc::L1Track>());
21 if(tks.size() > 4) tks.resize(4);
23 std::vector<csc::L1Track>::iterator itr = tks.begin();
24 std::vector<csc::L1Track>::const_iterator
end = tks.end();
25 for(; itr !=
end; itr++)
29 unsigned gbl_phi = itr->localPhi() + ((itr->sector() - 1)*24) + 6;
30 if(gbl_phi > 143) gbl_phi -= 143;
31 itr->setPhiPacked(gbl_phi & 0xff);
32 unsigned eta_sign = (itr->endcap() == 1 ? 0 : 1);
36 itr->setEtaPacked(gbl_eta & 0x3f);
40 itr->setQualityPacked(
quality & 0x3);
41 itr->setPtPacked(pt & 0x1f);
43 if(!itr->empty()) result.push_back(*itr);
47 std::vector<L1MuRegionalCand>::const_iterator ittr = result.begin();
49 for(; ittr != result.end(); ittr++)
51 LogDebug(
"CSCTFMuonSorter:run()") <<
"TRACK " << ii++ <<
": Eta: " << ittr->etaValue()
52 <<
" Phi: " << ittr->phiValue() <<
" Pt: " << ittr->ptValue()
53 <<
" Quality: " << ittr->quality() <<
" BX: " << ittr->bx();
T getParameter(std::string const &) const
std::vector< T > get() const
std::vector< L1MuRegionalCand > run(const CSCTriggerContainer< csc::L1Track > &) const
void decodeRank(const unsigned &rank, unsigned &quality, unsigned &pt) const
CSCTFMuonSorter(const edm::ParameterSet &)