64 bool badCompare =
false;
68 const unsigned evt=ctx.eventID().event_number();
69 m_outfile <<
"Event " << evt <<
" contains " << cells->size() <<
" CaloCells" << std::endl;
70 m_outfile <<
"ID\tEnergy\tTime\tQual\tprov" << std::endl;
74 size_t evt_in, cells_size_in;
76 if (!
m_reffile.good() || evt_in != evt || cells_size_in != cells->size())
80 << cells_size_in <<
" " << CaloCells <<
81 "; expected event number " << evt <<
" and cell count " <<
86 std::string ID,
Energy, Time, Qual, prov;
90 ID <<
" " <<
Energy <<
" " << Time <<
" " <<
96 double remainingEne=0;
97 unsigned nRemaining=0;
99 for (
const auto *cell : *cells) {
100 if (cell->e()>
m_eCut.value()) {
101 std::stringstream id;
128 m_outfile <<
id.str() <<
"0x" << std::hex << cell->ID().get_identifier32().get_compact() << std::dec
130 <<
"\t" << cell->e() <<
"\t" << cell->time() <<
"\t" << cell->gain()
131 <<
"\t" << cell->quality() <<
"\t0x" << std::hex << cell->provenance() << std::dec << std::endl;
134 float energy_in, time_in;
135 int quality_in, provenance_in, gain_in;
137 std::string id, samp;
140 m_reffile >> std::hex >> id_in >> std::dec >> energy_in >> time_in >>
141 gain_in >> quality_in >> std::hex >> provenance_in >> std::dec;
143 !isEqual (energy_in, cell->e(), 1e-5) ||
144 !isEqual (time_in, cell->time(), 1e-5) ||
145 id_in != cell->ID().get_identifier32().get_compact() ||
146 gain_in != cell->gain() ||
147 quality_in != cell->quality() ||
148 provenance_in != cell->provenance())
151 std::hex <<
"0x" << id_in <<
" " << std::dec <<
154 gain_in <<
" " << quality_in <<
" " <<
155 std::hex <<
"0x" << provenance_in << std::dec);
157 cell->ID().get_identifier32().get_compact() << std::dec <<
" " <<
158 cell->e() <<
" " << cell->time() <<
" "
159 << cell->gain() <<
" " <<
160 cell->quality() <<
" 0x" << std::hex << cell->provenance() << std::dec);
167 remainingEne+=cell->e();
171 m_outfile <<
"Sum of " << nRemaining <<
" cell energies: " << remainingEne << std::endl;
173 std::string Sum, Of, Cell, Energies;
174 unsigned nRemaining_in;
175 float remainingEne_in;
176 m_reffile >> Sum >> Of >> nRemaining_in >> Cell >> Energies >>
179 nRemaining_in != nRemaining ||
180 !isEqual (remainingEne_in, remainingEne))
183 Sum << Of << nRemaining_in << Cell << Energies <<
186 "Sum of " << nRemaining <<
" cell energies: " << remainingEne);
193 return StatusCode::FAILURE;
195 return StatusCode::SUCCESS;
void diff(const Jet &rJet1, const Jet &rJet2, std::map< std::string, double > varDiff)
Difference between jets - Non-Class function required by trigger.