24 #define LOG std::cout << name() << ": "
66 p_NumberLeading1 = parameter(
"InputWidth1").value();
67 p_NumberLeading2 = parameter(
"InputWidth2").value();
68 if(parameter(
"MaxTob1").
value() > 0) p_NumberLeading1 = parameter(
"MaxTob1").value();
69 if(parameter(
"MaxTob2").
value() > 0) p_NumberLeading2 = parameter(
"MaxTob2").value();
71 p_MinET1 = parameter(
"MinET1").value();
72 p_MinET2 = parameter(
"MinET2").value();
86 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
87 p_Ratio[
i] = parameter(
"Ratio",
i).value();
97 const std::vector<TCS::TOBArray *> & output,
101 return process(input,output,decision);
106 const std::vector<TCS::TOBArray *> & output,
110 if(input.size()!=2) {
111 TCS_EXCEPTION(
"RatioMatch alg must have exactly 2 input lists, but got " << input.size());
117 tob1 != input[0]->end() &&
distance(input[0]->
begin(), tob1) < p_NumberLeading1;
121 if(
parType_t((*tob1)->Et()) <= p_MinET1)
continue;
125 tob2 != input[1]->end() &&
distance(input[1]->
begin(), tob2) < p_NumberLeading2;
128 if(
parType_t((*tob2)->Et()) <= p_MinET2)
continue;
136 if (((*tob1)->eta() != (*tob2)->eta()) || ((*tob1)->phi() != (*tob2)->phi()) )
continue;
139 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {