}
fMiniHeader = (AliMiniHeader*) fPosition;
fPosition += sizeof(AliMiniHeader);
- CheckMiniHeader();
+ if (!CheckMiniHeader()) {
+ Warning("ReadMiniHeader", "skipping %d bytes\n"
+ " run: %d event: %d %d LDC: %d GDC: %d\n",
+ fEnd - fPosition, fSubEvent->eventRunNb,
+ fSubEvent->eventId[0], fSubEvent->eventId[1],
+ fSubEvent->eventLdcId, fSubEvent->eventGdcId);
+ fCount = 0;
+ fPosition = fEnd;
+ continue;
+ }
fCount = fMiniHeader->fSize;
if (fPosition + fCount > fEnd) { // check data size in mini header and sub event
Error("ReadMiniHeader", "size in mini header exceeds event size!");
}
fMiniHeader = (AliMiniHeader*) fPosition;
fPosition += sizeof(AliMiniHeader);
- CheckMiniHeader();
+ if (!CheckMiniHeader()) {
+ Warning("ReadMiniHeader", "skipping %d bytes", fEnd - fPosition);
+ fSubEvent->GetHeader()->Dump();
+ fCount = 0;
+ fPosition = fEnd;
+ continue;
+ }
fCount = fMiniHeader->fSize;
if (fPosition + fCount > fEnd) { // check data size in mini header and sub event
Error("ReadMiniHeader", "size in mini header exceeds event size!");