21 if( (tob1->Et() != tob2->Et()) && ((tob1->Et()<10) || (tob2->Et()<10)) )
return tob1->Et() > tob2->Et();
22 else if( tob1->etaDouble() != tob2->etaDouble() )
return tob1->etaDouble() > tob2->etaDouble();
25 if( tob1->phiDouble() * tob2->phiDouble() >=0. )
return tob1->phiDouble() < tob2->phiDouble();
26 else if( tob1->phiDouble() >=0. && tob2->phiDouble() <=0. )
return true;
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;
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); }