23 #define LOG std::cout << name() << ": "
50 p_MinET1 = parameter(
"MinET1").value();
51 p_MinET2 = parameter(
"MinET2").value();
52 p_EtaMin = parameter(
"EtaMin").value();
53 p_EtaMax = parameter(
"EtaMax").value();
54 p_HT = parameter(
"HT").value();
61 p_isXE2 = parameter(
"isXE2").value();
64 for(
int i=0;
i<2; ++
i) {
65 p_Ratio[
i] = parameter(
"Ratio",
i).value();
74 const std::vector<TCS::TOBArray *> & output,
78 return process(input,output,decision);
84 const std::vector<TCS::TOBArray *> & output,
89 TCS_EXCEPTION(
"Ratio alg must have exactly 2 input lists, but got " << input.size());
92 unsigned int sumET = 0;
103 if(
parType_t(std::abs(tob->eta())) > p_EtaMax )
continue;
104 if(
parType_t(std::abs(tob->eta())) < p_EtaMin )
continue;
105 if( tob->Et() <= p_MinET2 )
continue;
112 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
114 bool accept = objC!=0 &&
met.Et() > p_MinET1 && 10*
met.Et() >= p_Ratio[
i]*sumET;
116 if (p_isXE2)
accept = objC!=0 &&
met.Et() > p_MinET1 && 10*(
met.Et()*
met.Et()) >= p_Ratio[
i]*sumET;
123 TRG_MSG_DEBUG(
"Decision " <<
i <<
": " << (
accept?
"pass":
"fail") <<
" HT = " << sumET <<
" XE = " <<
met.Et() );