24 #define LOG std::cout << "TCS::DisambiguationDRIncl2: "
52 p_NumberLeading1 = parameter(
"InputWidth1").value();
53 p_NumberLeading2 = parameter(
"InputWidth2").value();
54 if(parameter(
"MaxTob1").
value() > 0) p_NumberLeading1 = parameter(
"MaxTob1").value();
55 if(parameter(
"MaxTob2").
value() > 0) p_NumberLeading2 = parameter(
"MaxTob2").value();
60 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
61 p_MinET1[
i] = parameter(
"MinET1",
i).value();
62 p_MinET2[
i] = parameter(
"MinET2",
i).value();
64 p_DRCutMin[
i] = parameter(
"DisambDRSqrMin",
i).value();
65 p_DRCutMax[
i] = parameter(
"DisambDRSqrMax",
i).value();
86 const std::vector<TCS::TOBArray *> &
output,
91 if(
input.size() == 2) {
104 unsigned int deltaR2Cut = calcDeltaR2BW( *tob1, *tob2 );
105 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
107 if(
parType_t((*tob1)->Et()) <= p_MinET1[
i])
continue;
108 if(
parType_t((*tob2)->Et()) <= p_MinET2[
i])
continue;
109 accept = deltaR2Cut > p_DRCutMin[
i] && deltaR2Cut <= p_DRCutMax[
i] ;
115 TRG_MSG_DEBUG(
"Decision " <<
i <<
": " << (
accept?
"pass":
"fail") <<
" deltaR = " << deltaR2Cut );
128 TCS_EXCEPTION(
"DisambiguationDRIncl2 alg must have 2 inputs, but got " <<
input.size());
137 const std::vector<TCS::TOBArray *> &
output,
142 if(
input.size() == 2) {
153 unsigned int deltaR2Cut = calcDeltaR2( *tob1, *tob2 );
154 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
156 if(
parType_t((*tob1)->Et()) <= p_MinET1[
i])
continue;
157 if(
parType_t((*tob2)->Et()) <= p_MinET2[
i])
continue;
158 accept = deltaR2Cut > p_DRCutMin[
i] && deltaR2Cut <= p_DRCutMax[
i] ;
163 TRG_MSG_DEBUG(
"Decision " <<
i <<
": " << (
accept?
"pass":
"fail") <<
" deltaR = " << deltaR2Cut );
168 TCS_EXCEPTION(
"DisambiguationDRIncl2 alg must have 2 inputs, but got " <<
input.size());