27 #define LOG cout << fullname() << ": "
65 p_NumberLeading1 = parameter(
"InputWidth1").value();
66 p_NumberLeading2 = parameter(
"InputWidth2").value();
67 if(parameter(
"MaxTob1").
value() > 0) p_NumberLeading1 = parameter(
"MaxTob1").value();
68 if(parameter(
"MaxTob2").
value() > 0) p_NumberLeading2 = parameter(
"MaxTob2").value();
70 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
71 p_DeltaEtaMin[
i] = parameter(
"MinDeltaEta",
i).value();
72 p_DeltaEtaMax[
i] = parameter(
"MaxDeltaEta",
i).value();
74 p_MinET1[
i] = parameter(
"MinET1",
i).value();
75 p_MinET2[
i] = parameter(
"MinET2",
i).value();
80 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
89 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
90 std::string hname_accept =
"hDeltaEtaIncl2_accept_bit"+
std::to_string((
int)
i);
91 std::string hname_reject =
"hDeltaEtaIncl2_reject_bit"+
std::to_string((
int)
i);
93 bookHist(m_histAccept, hname_accept,
"DETA", 100, p_DeltaEtaMin[
i], p_DeltaEtaMax[
i]);
94 bookHist(m_histReject, hname_reject,
"DETA", 100, p_DeltaEtaMin[
i], p_DeltaEtaMax[
i]);
103 const std::vector<TCS::TOBArray *> &
output,
107 if(
input.size() == 2) {
116 unsigned int deltaEta = calcDeltaEtaBW( *tob1, *tob2 );
117 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
119 if(
parType_t((*tob1)->Et()) <= p_MinET1[
i])
continue;
120 if(
parType_t((*tob2)->Et()) <= p_MinET2[
i])
continue;
122 const bool fillAccept = fillHistos() and (fillHistosBasedOnHardware() ? getDecisionHardwareBit(
i) :
accept);
123 const bool fillReject = fillHistos() and not fillAccept;
124 const bool alreadyFilled = decision.
bit(
i);
129 if(fillAccept and not alreadyFilled) {
130 fillHist1D(m_histAccept[
i],(
float)
deltaEta);
131 }
else if(fillReject) {
132 fillHist1D(m_histReject[
i],(
float)
deltaEta);
135 << (
accept?
"pass":
"fail"));
147 const std::vector<TCS::TOBArray *> &
output,
150 if(
input.size() == 2) {
159 unsigned int deltaEta = calcDeltaEta( *tob1, *tob2 );
160 for(
unsigned int i=0;
i<numberOutputBits(); ++
i) {
162 if(
parType_t((*tob1)->Et()) <= p_MinET1[
i])
continue;
163 if(
parType_t((*tob2)->Et()) <= p_MinET2[
i])
continue;
165 const bool fillAccept = fillHistos() and (fillHistosBasedOnHardware() ? getDecisionHardwareBit(
i) :
accept);
166 const bool fillReject = fillHistos() and not fillAccept;
167 const bool alreadyFilled = decision.
bit(
i);
172 if(fillAccept and not alreadyFilled) {
173 fillHist1D(m_histAccept[
i],(
float)
deltaEta);
174 }
else if(fillReject) {
175 fillHist1D(m_histReject[
i],(
float)
deltaEta);
178 << (
accept?
"pass":
"fail"));