22 if (tob1->Et() > tob2->Et())
return true;
23 if (tob1->Et() < tob2->Et())
return false;
25 if (tob1->eta() > tob2->eta())
return true;
26 if (tob1->eta() < tob2->eta())
return false;
51 m_numberOfMuons = parameter(
"OutputWidth").value();
52 m_minEta = parameter(
"MinEta").value();
53 m_maxEta = parameter(
"MaxEta").value();
54 m_InnerCoinCut = parameter(
"InnerCoinCut").value();
55 m_FullStationCut = parameter(
"FullStationCut").value();
56 m_GoodMFieldCut = parameter(
"GoodMFieldCut").value();
69 if (
parType_t(std::abs((*muon)-> eta())) < m_minEta)
continue;
70 if (
parType_t(std::abs((*muon)-> eta())) > m_maxEta)
continue;
75 if(m_InnerCoinCut == 1 && ( ! ((
int)
parType_t((*muon)->innerCoin()) == (
int)m_InnerCoinCut ) ) )
continue;
76 if(m_FullStationCut == 1 && ( ! ((
int)
parType_t((*muon)->bw2or3()) == (
int)m_FullStationCut ) ) )
continue;
77 if(m_GoodMFieldCut == 1 && ( ! ((
int)
parType_t((*muon)->goodMF()) == (
int)m_GoodMFieldCut ) ) )
continue;
81 output.push_back( gtob );
89 int par = m_numberOfMuons;
90 unsigned int maxNumberOfMuons = std::clamp(
par, 0, std::abs(
par));
91 if(maxNumberOfMuons>0) {
92 while( output.size()> maxNumberOfMuons ) {
93 if (output.size() == (maxNumberOfMuons+1)) {
94 bool isAmbiguous = output[maxNumberOfMuons-1].EtDouble() == output[maxNumberOfMuons].EtDouble();
95 if (isAmbiguous) { output.setAmbiguityFlag(
true); }