24 #define LOG std::cout << "TCS::DisambiguationIncl2: "
49 p_NumberLeading1 = parameter(
"InputWidth1").value();
50 p_NumberLeading2 = parameter(
"InputWidth2").value();
51 if(parameter(
"MaxTob1").
value() > 0) p_NumberLeading1 = parameter(
"MaxTob1").value();
52 if(parameter(
"MaxTob2").
value() > 0) p_NumberLeading2 = parameter(
"MaxTob2").value();
54 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
55 p_MinET1[
i] = parameter(
"MinET1",
i).value();
56 p_MinET2[
i] = parameter(
"MinET2",
i).value();
58 p_DisambDR[
i] = parameter(
"DisambDRSqrMin",
i).value();
78 const std::vector<TCS::TOBArray *> & output,
83 if( input.size() == 2) {
87 tob1 != input[0]->end() &&
distance(input[0]->
begin(), tob1) < p_NumberLeading1;
93 tob2 != input[1]->end() &&
distance(input[1]->
begin(), tob2) < p_NumberLeading2;
98 unsigned int deltaR2 = calcDeltaR2BW( *tob1, *tob2 );
100 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
102 if(
parType_t((*tob1)->Et()) <= p_MinET1[
i])
continue;
103 if(
parType_t((*tob2)->Et()) <= p_MinET2[
i])
continue;
113 for (
unsigned int i=0;
i < numberOutputBits(); ++
i) {
116 output[
i]->setAmbiguityFlag(hasAmbiguousInputs);
120 TCS_EXCEPTION(
"DisambiguationIncl2 alg must have 2 inputs, but got " << input.size());
129 const std::vector<TCS::TOBArray *> & output,
134 if( input.size() == 2) {
138 tob1 != input[0]->end() &&
distance(input[0]->
begin(), tob1) < p_NumberLeading1;
144 tob2 != input[1]->end() &&
distance(input[1]->
begin(), tob2) < p_NumberLeading2;
149 unsigned int deltaR2 = calcDeltaR2( *tob1, *tob2 );
151 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
153 if(
parType_t((*tob1)->Et()) <= p_MinET1[
i])
continue;
154 if(
parType_t((*tob2)->Et()) <= p_MinET2[
i])
continue;
166 TCS_EXCEPTION(
"DisambiguationIncl2 alg must have 2 inputs, but got " << input.size());