+
+ // 2009-12-07 want to make this switchable, but this first needs some
+ // extension in the online framework to change the log level settings
+ // in the component while running
+ if (false/*CheckFilter(kHLTLogDebug)*/) {
+ if (!fpDebugCounters) {
+ fpDebugCounters=new AliHLTProcessorCounters;
+ }
+ if (fpDebugCounters) {
+ int wordCnt=edd->fDataSize/4;
+ AliHLTUInt32_t* buffer=reinterpret_cast<AliHLTUInt32_t*>(edd->fData);
+ int word=0;
+ while (word<wordCnt) {
+ switch (buffer[word]) {
+ case 3:
+ fpDebugCounters->fReadoutFilter++;
+ word+=1+buffer[word+1]*4;
+ break;
+ case 4:
+ fpDebugCounters->fMonitoringFilter++;
+ word+=1+buffer[word+1]*4;
+ break;
+ case 5:
+ fpDebugCounters->fMonitoringEvent++;
+ break;
+ default:
+ fpDebugCounters->fMismatch++;
+ break;
+ }
+ word++;
+ }
+
+ static UInt_t lastTime=0;
+ TDatime time;
+ if (time.Get()-lastTime>1) {
+ lastTime=time.Get();
+ HLTImportant("EventDoneData size %d: readout %d, monitoring filter %d, monitoring event %d, format error %d",
+ edd->fDataSize, fpDebugCounters->fReadoutFilter, fpDebugCounters->fMonitoringFilter, fpDebugCounters->fMonitoringEvent, fpDebugCounters->fMismatch);
+ for (int i=0; i< wordCnt; ) {
+ TString message;
+ for (int j=0; j<4 && i<wordCnt; j++) {
+ TString number; number.Form("0x%08x ", buffer[i++]);
+ message+=number;
+ }
+ HLTImportant(" %s", message.Data());
+ }
+ }
+ }
+ }