Definition at line 162 of file CamacTBDataFormatter.cc.
166 const unsigned long*
buffer = (reinterpret_cast<const unsigned long*>(fedData.data()));
167 int fedLenght = fedData.size();
171 edm::LogError(
"CamacTBDataFormatter") <<
"CamacTBData has size " << fedLenght <<
" Bytes as opposed to expected "
180 for (
int wordNumber = 0; wordNumber <
nWordsPerEvent; wordNumber++) {
201 LogDebug(
"CamacTBDataFormatter") <<
"\n\nword:\t" <<
a;
203 b = (
a & 0xff000000);
205 LogDebug(
"CamacTBDataFormatter") <<
"format ver:\t" <<
b;
209 LogDebug(
"CamacTBDataFormatter") <<
"major:\t" <<
b;
213 LogDebug(
"CamacTBDataFormatter") <<
"minor:\t" <<
b;
215 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
216 LogDebug(
"CamacTBDataFormatter") <<
"time stamp secs: " <<
a;
218 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
219 LogDebug(
"CamacTBDataFormatter") <<
"time stamp musecs: " <<
a;
223 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
225 LogDebug(
"CamacTBDataFormatter") <<
"LV1A: " <<
b;
230 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
231 b = (
a & 0xffff0000);
233 LogDebug(
"CamacTBDataFormatter") <<
"run number: " <<
b;
236 LogDebug(
"CamacTBDataFormatter") <<
"spill number: " <<
b;
242 LogDebug(
"CamacTBDataFormatter") <<
"event number in spill: " <<
b;
247 LogDebug(
"CamacTBDataFormatter") <<
"internal event number: " <<
b;
251 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
252 b = (
a & 0xffff0000);
254 LogDebug(
"CamacTBDataFormatter") <<
"vme errors: " <<
b;
256 LogDebug(
"CamacTBDataFormatter") <<
"camac errors: " <<
b;
260 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
262 LogDebug(
"CamacTBDataFormatter") <<
"extended (32 bits) run number: " <<
b;
272 unsigned long bufferHodo[16];
273 bool hodoAreGood =
true;
274 for (
int hodo = 0; hodo < 16; hodo++) {
278 bufferHodo[hodo] =
buffer[wordCounter];
281 LogDebug(
"CamacTBDataFormatter") <<
"hodo: " << hodo <<
"\t: " <<
b;
287 for (
int iplane = 0; iplane <
nHodoPlanes; iplane++) {
290 for (
int fiber = 0; fiber <
nHodoFibers; fiber++) {
299 for (
int i = 1;
i < 0x10000;
i <<= 1) {
317 hodoRaw.
setPlane((
unsigned int)ipl, theHodoPlane);
321 <<
"hodoscope block has hardware problems or is partly unused at LV1: " << lv1 <<
" spill: " << spill
322 <<
"run: " <<
run <<
". Skipping digi.";
334 bool scalersAreGood =
true;
335 for (
int scaler = 0; scaler < 72; scaler++) {
336 scalersAreGood = scalersAreGood &&
checkStatus(
buffer[wordCounter], wordCounter);
341 LogDebug(
"CamacTBDataFormatter") <<
"scaler: " << scaler <<
"\t: " <<
b;
344 if ((scaler % 2) == 0)
347 if (scalersAreGood) {
351 <<
"scalers block has hardware problems or is partly unused at LV1: " << lv1 <<
" spill: " << spill
359 LogDebug(
"CamacTBDataFormatter") <<
"\n";
360 bool fingersAreGood =
true;
361 for (
int finger = 0; finger < 2; finger++) {
362 fingersAreGood = fingersAreGood &&
checkStatus(
buffer[wordCounter], wordCounter);
367 LogDebug(
"CamacTBDataFormatter") <<
"finger: " << finger <<
"\t: " <<
b;
369 if (fingersAreGood) {
373 <<
"fingers block has hardware problems or is partly unused at LV1: " << lv1 <<
" spill: " << spill
383 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
384 b = (
a & 0x000000ff);
385 LogDebug(
"CamacTBDataFormatter") <<
"number of words used in multi stop TDC words: " <<
b;
387 int numberTDCwords = 16;
388 bool multiStopTDCIsGood =
true;
389 for (
int tdc = 0; tdc < numberTDCwords; tdc++) {
390 multiStopTDCIsGood = multiStopTDCIsGood &&
checkStatus(
buffer[wordCounter], wordCounter);
395 LogDebug(
"CamacTBDataFormatter") <<
"tdc: " << tdc <<
"\t: " <<
b;
397 if (multiStopTDCIsGood) {
401 <<
"multi stop TDC block has hardware problems or is partly unused at LV1: " << lv1 <<
" spill: " << spill
406 wordCounter += (16 - numberTDCwords);
413 b = (
a & 0x00000001);
416 LogDebug(
"CamacTBDataFormatter") <<
" table is in position.";
417 tableIsMoving =
false;
419 LogDebug(
"CamacTBDataFormatter") <<
" table is moving.";
420 tableIsMoving =
true;
431 bool ADCIsGood =
true;
434 b = (
a & 0x00ffffff);
435 LogDebug(
"CamacTBDataFormatter") <<
"ADC word1: " <<
a <<
"\t ADC2: " <<
b <<
" word is: " << (wordCounter - 1);
442 LogDebug(
"CamacTBDataFormatter") <<
"ADC word2, adc channel 11, ampli S6: " <<
a <<
"\t ADC2: " <<
b;
457 LogDebug(
"CamacTBDataFormatter") <<
"TDC word1: " <<
a <<
"\t TDC2: " <<
b;
462 LogDebug(
"CamacTBDataFormatter") <<
"TDC word2: (ext_val_trig - LHC_clock) " <<
a
463 <<
"\t (ext_val_trig - LHC_clock): " <<
b;
466 int sampleNumber = 1;
References a, b, edmScanValgrind::buffer, checkStatus(), FEDRawData::data(), hodoFiberMap, hodoHits, hodoRawLen, mps_fire::i, dqmiolumiharvest::j, LogDebug, hodo_fibre_index::nfiber, nHodoFibers, nHodoPlanes, nWordsPerEvent, writedatasetfile::run, scalers_, EcalTBHodoscopePlaneRawHits::setChannels(), EcalTBHodoscopePlaneRawHits::setHit(), EcalTBHodoscopeRawInfo::setPlane(), EcalTBHodoscopeRawInfo::setPlanes(), EcalTBEventHeader::setS6ADC(), EcalTBTDCRawInfo::setSample(), EcalTBEventHeader::setScalers(), EcalTBTDCRawInfo::setSize(), EcalTBEventHeader::setTableIsMoving(), FEDRawData::size(), and statusWords.
Referenced by EcalDCCTBUnpackingModule::produce(), and EcalDCCTB07UnpackingModule::produce().