86 const unsigned long * buffer = (
reinterpret_cast<const unsigned long*
>( fedData.data()));
87 int fedLenght = fedData.size();
92 edm::LogError(
"CamacTBDataFormatter") <<
"CamacTBData has size " << fedLenght
93 <<
" Bytes as opposed to expected " 126 a = buffer[wordCounter];wordCounter++;
127 LogDebug(
"CamacTBDataFormatter") <<
"\n\nword:\t" <<
a;
131 LogDebug(
"CamacTBDataFormatter") <<
"format ver:\t" <<
b;
135 LogDebug(
"CamacTBDataFormatter") <<
"major:\t" <<
b;
139 LogDebug(
"CamacTBDataFormatter") <<
"minor:\t" <<
b;
141 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
142 LogDebug(
"CamacTBDataFormatter") <<
"time stamp secs: "<<
a;
144 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
145 LogDebug(
"CamacTBDataFormatter") <<
"time stamp musecs: " <<
a;
148 a = buffer[wordCounter];wordCounter++;
149 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
151 LogDebug(
"CamacTBDataFormatter") <<
"LV1A: "<<
b;
154 a = buffer[wordCounter];wordCounter++;
155 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
158 LogDebug(
"CamacTBDataFormatter") <<
"run number: "<<
b;
161 LogDebug(
"CamacTBDataFormatter") <<
"spill number: "<<
b;
164 a = buffer[wordCounter];wordCounter++;
166 LogDebug(
"CamacTBDataFormatter") <<
"event number in spill: "<<
b;
168 a = buffer[wordCounter];wordCounter++;
170 LogDebug(
"CamacTBDataFormatter") <<
"internal event number: "<<
b;
172 a = buffer[wordCounter];wordCounter++;
173 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
176 LogDebug(
"CamacTBDataFormatter") <<
"vme errors: "<<
b;
178 LogDebug(
"CamacTBDataFormatter") <<
"camac errors: "<<
b;
180 a = buffer[wordCounter];wordCounter++;
181 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
183 LogDebug(
"CamacTBDataFormatter") <<
"extended (32 bits) run number: "<<
b;
193 unsigned long bufferHodo[16];
194 bool hodoAreGood =
true;
195 for (
int hodo=0; hodo<16; hodo++)
197 hodoAreGood = hodoAreGood &&
checkStatus(buffer[wordCounter], wordCounter);
199 a = buffer[wordCounter];
200 bufferHodo[hodo] = buffer[wordCounter];
203 LogDebug(
"CamacTBDataFormatter") <<
"hodo: " << hodo <<
"\t: " <<
b;
220 int word= bufferHodo[
j+iplane*
hodoRawLen ] &0xffff;
221 for(
int i=1;
i<0x10000;
i<<=1)
235 hodoRaw.
setPlanes((
unsigned int)nHodoPlanes);
239 theHodoPlane.
setChannels((
unsigned int)nHodoFibers);
241 hodoRaw.
setPlane((
unsigned int)ipl, theHodoPlane);
246 edm::LogWarning(
"CamacTBDataFormatter") <<
"hodoscope block has hardware problems or is partly unused at LV1: " 247 << lv1 <<
" spill: " << spill
249 <<
". Skipping digi.";
265 bool scalersAreGood =
true;
266 for (
int scaler=0; scaler<72; scaler++)
268 scalersAreGood = scalersAreGood &&
checkStatus(buffer[wordCounter], wordCounter);
270 a = buffer[wordCounter]; wordCounter++;
272 LogDebug(
"CamacTBDataFormatter") <<
"scaler: " << scaler <<
"\t: " <<
b;
275 if ( (scaler%2)==0 )
scalers_.push_back(b);
282 edm::LogWarning(
"CamacTBDataFormatter") <<
"scalers block has hardware problems or is partly unused at LV1: " 283 << lv1 <<
" spill: " << spill
295 LogDebug(
"CamacTBDataFormatter") <<
"\n";
296 bool fingersAreGood =
true;
297 for (
int finger=0; finger<2; finger++)
299 fingersAreGood = fingersAreGood &&
checkStatus(buffer[wordCounter], wordCounter);
301 a = buffer[wordCounter]; wordCounter++;
303 LogDebug(
"CamacTBDataFormatter") <<
"finger: " << finger <<
"\t: " <<
b;
309 edm::LogWarning(
"CamacTBDataFormatter") <<
"fingers block has hardware problems or is partly unused at LV1: " 310 << lv1 <<
" spill: " << spill
321 a = buffer[wordCounter]; wordCounter++;
322 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
324 LogDebug(
"CamacTBDataFormatter") <<
"number of words used in multi stop TDC words: "<<
b;
326 int numberTDCwords = 16;
327 bool multiStopTDCIsGood =
true;
328 for (
int tdc=0; tdc< numberTDCwords ; tdc++)
330 multiStopTDCIsGood = multiStopTDCIsGood &&
checkStatus(buffer[wordCounter], wordCounter);
332 a = buffer[wordCounter]; wordCounter++;
334 LogDebug(
"CamacTBDataFormatter") <<
"tdc: " << tdc <<
"\t: " <<
b;
336 if ( multiStopTDCIsGood ){
340 edm::LogWarning(
"CamacTBDataFormatter") <<
"multi stop TDC block has hardware problems or is partly unused at LV1: " 341 << lv1 <<
" spill: " << spill
346 wordCounter += (16 - numberTDCwords);
354 a = buffer[wordCounter]; wordCounter++;
355 b = (a & 0x00000001);
358 LogDebug(
"CamacTBDataFormatter") <<
" table is in position.";
359 tableIsMoving =
false;
363 LogDebug(
"CamacTBDataFormatter") <<
" table is moving.";
364 tableIsMoving =
true;
378 bool ADCIsGood =
true;
379 a = buffer[wordCounter]; wordCounter++;
381 LogDebug(
"CamacTBDataFormatter") <<
"ADC word1: " << a <<
"\t ADC2: " << b <<
" word is: " << (wordCounter-1);
384 ADCIsGood =
checkStatus(buffer[wordCounter], wordCounter);
385 a = buffer[wordCounter]; wordCounter++;
387 LogDebug(
"CamacTBDataFormatter") <<
"ADC word2, adc channel 11, ampli S6: " << a <<
"\t ADC2: " <<
b;
388 if (ADCIsGood) tbEventHeader.
setS6ADC ( b ) ;
389 else tbEventHeader.
setS6ADC ( -1 ) ;
397 ADCIsGood &&
checkStatus(buffer[wordCounter], wordCounter);
398 a = buffer[wordCounter]; wordCounter++;
400 LogDebug(
"CamacTBDataFormatter") <<
"TDC word1: " << a <<
"\t TDC2: " <<
b;
401 ADCIsGood &&
checkStatus(buffer[wordCounter], wordCounter);
402 a = buffer[wordCounter]; wordCounter++;
404 LogDebug(
"CamacTBDataFormatter") <<
"TDC word2: (ext_val_trig - LHC_clock) " 405 << a <<
"\t (ext_val_trig - LHC_clock): " 414 a = buffer[wordCounter]; wordCounter++;
415 LogDebug(
"CamacTBDataFormatter") <<
"\n\n word:\t" <<
a;
417 LogDebug(
"CamacTBDataFormatter") <<
"last word of event: "<<
b;
void setHit(unsigned int i, bool status)
void setPlane(unsigned int i, const EcalTBHodoscopePlaneRawHits &planeHit)
void setChannels(unsigned int size)
Set methods.
void setSample(unsigned int i, const EcalTBTDCSample &sam)
void setSize(unsigned int size)
Set methods.
void setPlanes(unsigned int size)
Set methods.