77 unsigned eventNb = ctx.eventID().event_number();
79 ATH_MSG_INFO (
"======== executing event "<< eventNb <<
" ========" );
94 return StatusCode::FAILURE;
100 ATH_MSG_ERROR(
"Do not have cabling object LArOnOffIdMapping" );
101 return StatusCode::FAILURE;
108 return StatusCode::FAILURE;
120 int cellsCounter = 0;
122 int inconsistencyCounter = 0;
123 int disconnectedCounter = 0;
124 int badChannelCounter = 0;
132 std::ostringstream ErrorList;
135 for (
const LArDigit* digit : *larDigitCont) {
147 if (!cabling->isOnlineConnected(online_id)) {
149 disconnectedCounter++;
151 disconnected =
false;
156 bool noOffline_id =
false;
158 offline_id = cabling->cnvToIdentifier(online_id);
166 const int max = *max_element(digit->samples().begin(), digit->samples().end());
168 signalPresent =
true;
170 signalPresent =
false;
176 std::ostringstream PulserList;
177 const std::vector<HWIdentifier>& calibChannelIDs=clCont->
calibSlotLine(online_id);
181 bool isPulsed=calibParams->
isPulsed(eventNb, hwid);
183 int DACvalue_temp = calibParams->
DAC(eventNb, hwid);
184 if (DACvalue_temp > DACvalue)
185 DACvalue = DACvalue_temp;
189 PulserList << std::hex << hwid.get_compact() << std::dec <<
" " << slot <<
" " << line <<
" ";
195 bool DACOverThreshold;
224 bool inconsistency = (signalPresent != pulsed) && DACOverThreshold;
226 inconsistencyCounter++;
228 bool errorInCell = inconsistency || badChannel;
232 std::ostringstream CellData;
233 CellData <<
"0x" << std::hex << std::setw(8) << febid.
get_compact() << std::dec
236 << std::setw(5) << chNb;
238 CellData << std::setw(5);
242 CellData <<
m_emId->sampling(offline_id);
244 CellData << std::setw(5);
248 CellData <<
m_emId->eta(offline_id);
250 CellData << std::setw(5);
254 CellData <<
m_emId->phi(offline_id);
256 CellData << std::setw(7) <<
max;
258 CellData << std::setw(7) << DACvalue;
260 CellData << std::setw(7) <<
"-";
265 ErrorList << CellData.str() << std::endl;
271 (*m_errorcellsThisEvent)[
m_onlineHelper->channel_Hash(online_id)] =
true;
291 ErrorList << CellData.str();
294 ErrorList <<
" " << PulserList.str();
296 ErrorList << std::endl;
301 ErrorList << std::endl;
304 ErrorList <<
"Examined " << cellsCounter <<
" cells in event " << eventNb <<
". Found:" << std::endl;
305 ErrorList << std::left << std::setw(25) <<
"Inconsistencies: "
306 << std::right << std::setw(4) << inconsistencyCounter << std::endl;
307 ErrorList << std::left << std::setw(25) <<
"Bad cells: "
308 << std::right << std::setw(4) << badChannelCounter << std::endl;
309 ErrorList << std::left << std::setw(25) <<
"Sum errors: "
311 ErrorList << std::left << std::setw(25) <<
"Disconnected cells: "
312 << std::right << std::setw(4) << disconnectedCounter << std::endl;
313 ErrorList << std::endl;
329 m_outfile <<
"Error in event "<< std::setw(7) << eventNb
330 <<
" ==========================================================================" << std::endl;
331 m_outfile <<
"I=Inconsistency P=Pulsed S=Signal B=Bad D=Disconnected" << std::endl;
333 << std::left << std::setw(10) <<
"FEB"
334 << std::right << std::setw(5) <<
"FT"
335 << std::setw(5) <<
"SL"
336 << std::setw(5) <<
"CH"
337 << std::setw(5) <<
"Smpl"
338 << std::setw(5) <<
"Eta"
339 << std::setw(5) <<
"Phi"
340 << std::setw(7) <<
"ADC"
341 << std::setw(7) <<
"DAC"
342 <<
" Pulsed by calibchannel slot line"
352 m_outfile <<
"Status of event "<< std::setw(7) << eventNb
353 <<
" ==========================================================================" << std::endl;
354 m_outfile <<
"I=Inconsistency P=Pulsed S=Signal B=Bad D=Disconnected" << std::endl;
356 << std::left << std::setw(10) <<
"FEB"
357 << std::right << std::setw(5) <<
"FT"
358 << std::setw(5) <<
"SL"
359 << std::setw(5) <<
"CH"
360 << std::setw(5) <<
"Smpl"
361 << std::setw(5) <<
"Eta"
362 << std::setw(5) <<
"Phi"
363 << std::setw(7) <<
"ADC"
364 << std::setw(7) <<
"DAC"
365 <<
" Pulsed by slot line"
371 return StatusCode::SUCCESS;