* provided "as is" without express or implied warranty. *
**************************************************************************/
-///
+// $Id$
+
+//-----------------------------------------------------------------------------
/// \class AliMUONPayloadTracker
/// Decodes rawdata from buffer and stores in TClonesArray.
/// First version implement for Tracker
///
/// \author Christian Finck
+//-----------------------------------------------------------------------------
#include "AliMUONPayloadTracker.h"
fBlockHeader(new AliMUONBlockHeader()),
fDspHeader(new AliMUONDspHeader()),
fParityErrBus(),
- fGlitchErrors(0)
+ fGlitchErrors(0),
+ fPaddingErrors(0)
{
///
/// create an object to decode MUON payload
if (fDspHeader->GetErrorWord()) {
fDspHeader->Print("");
- if (fDspHeader->GetErrorWord() == (0x000000B1 | fBlockHeader->GetDspId())){
+ if ( fDspHeader->GetErrorWord() == (0x000000B1 | fBlockHeader->GetDspId())
+ || fDspHeader->GetErrorWord() == (0x00000091 | fBlockHeader->GetDspId()) ){
// an event with a glitch in the readout has been detected
// it means that somewhere a 1 byte word has been randomly inserted
// all the readout sequence is shifted untill the next event
if (fDspHeader->GetPaddingWord() == 1) {
if (buffer[index++] != fDspHeader->GetDefaultPaddingWord())
- AliError(Form("Error in padding word for iBlock %d, iDsp %d, iBus %d\n",
+ AliWarning(Form("Error in padding word for iBlock %d, iDsp %d, iBus %d\n",
iBlock, iDsp, iBusPatch));
+ fPaddingErrors++;
}
index = indexDsp + totalDspSize;
///
fDDLTracker->GetBlkHeaderArray()->Delete();
fGlitchErrors = 0;
+ fPaddingErrors = 0;
fParityErrBus.Reset();
}
//______________________________________________________
void AliMUONPayloadTracker::AddParityErrBus(Int_t buspatch)
{
-// adding bus with at least on parity error
+/// adding bus with at least on parity error
fParityErrBus.Set(fParityErrBus.GetSize() + 1);
fParityErrBus.AddAt(buspatch, fParityErrBus.GetSize() - 1);
}