19 defineParameter(
"InputWidth", 120);
20 defineParameter(
"OutputWidth", 6);
21 defineParameter(
"MinET", 0 );
22 defineParameter(
"MinEta", 0 );
23 defineParameter(
"MaxEta", 196 );
24 defineParameter(
"Isolation", 1024);
25 defineParameter(
"passIsolation",
false);
35 m_numberOfjTaus = parameter(
"OutputWidth").value();
36 m_minET = parameter(
"MinET").value();
37 m_minEta = parameter(
"MinEta").value();
38 m_maxEta = parameter(
"MaxEta").value();
39 m_iso = parameter(
"Isolation").value();
40 m_passIsolation = parameter(
"passIsolation").value();
52 if (
parType_t((*jtau)-> Et()) < m_minET )
continue;
53 if (
parType_t(std::abs((*jtau)-> eta())) < m_minEta )
continue;
54 if (
parType_t(std::abs((*jtau)-> eta())) > m_maxEta )
continue;
55 if (! ( m_passIsolation || checkIsolation(*jtau) ) )
continue;
63 int par = m_numberOfjTaus ;
64 unsigned int maxNumberOfJTaus = std::clamp(
par, 0, std::abs(
par));
65 if(maxNumberOfJTaus>0) {
66 while(
output.size()> maxNumberOfJTaus ) {
67 if (
output.size() == (maxNumberOfJTaus+1)) {
68 bool isAmbiguous =
output[maxNumberOfJTaus-1].Et() ==
output[maxNumberOfJTaus].Et();
69 if (isAmbiguous) {
output.setAmbiguityFlag(
true); }
80 if(m_passIsolation)
return true;
81 return jtau->
EtIso()*1024 < jtau->
Et()*m_iso;