27 #define LOG std::cout << name() << ": "
54 p_NumberLeading1 = parameter(
"InputWidth").value();
55 if(parameter(
"MaxTob").
value() > 0) p_NumberLeading1 = parameter(
"MaxTob").value();
56 p_MinET = parameter(
"MinET").value();
57 p_EtaMin = parameter(
"MinEta").value();
58 p_EtaMax = parameter(
"MaxEta").value();
64 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
65 p_HT[
i] = parameter(
"MinHt",
i).value();
71 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
75 bookHist(m_histAccept, hname_accept,
"HT", 100, 0, p_HT[
i]);
76 bookHist(m_histReject, hname_reject,
"HT", 100, 0, p_HT[
i]);
84 const std::vector<TCS::TOBArray *> &
output,
94 const std::vector<TCS::TOBArray *> &
output,
102 unsigned int sumET = 0;
104 if (p_NumberLeading1 <
input[0]->
size()) {
output[0]->setAmbiguityFlag(
false); }
112 if (
input[0]->
size() >= p_NumberLeading1+1) {
114 if ((*tob)->Et() == (*tob2)->Et() &&
distance(
input[0]->
begin(), tob) == p_NumberLeading1 - 1) {
115 output[0]->setAmbiguityFlag(
true);
119 if(
parType_t(std::abs((*tob)->eta())) > p_EtaMax )
continue;
120 if(
parType_t(std::abs((*tob)->eta())) < p_EtaMin )
continue;
121 if(
parType_t((*tob)->Et()) <= p_MinET )
continue;
125 sumET += (*tob)->Et();
128 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
131 const bool fillAccept = fillHistos() and (fillHistosBasedOnHardware() ? getDecisionHardwareBit(
i) :
accept);
132 const bool fillReject = fillHistos() and not fillAccept;
133 const bool alreadyFilled = decision.
bit(
i);
139 if(fillAccept and not alreadyFilled) {
140 fillHist1D(m_histAccept[
i],sumET);
141 }
else if(fillReject) {
142 fillHist1D(m_histReject[
i],sumET);