]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRawStreamSPDErrorLog.h
1. Adding the new histograms TPC z vertex correlation in order
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSPDErrorLog.h
index 55e17c37d00682d4dffe0942eb6bb0196e88d923..da4ada0cbac297788c05d855ac099337d1078610 100644 (file)
@@ -24,12 +24,16 @@ class AliITSRawStreamSPDErrorLog : public TObject {
   AliITSRawStreamSPDErrorLog& operator=(const AliITSRawStreamSPDErrorLog& logger);
   virtual ~AliITSRawStreamSPDErrorLog();
 
-  enum    {kNrErrorCodes = 17};
+  enum    {kNrErrorCodes = 21};
   enum    {kTotal = 0};
 
   void    Reset();
   void    ProcessError(UInt_t errorCode, UInt_t eq, Int_t bytesRead, Int_t headersRead, const Char_t *errMess);
   void    AddMessage(const Char_t *errMess);
+
+  void    ResetEvent();
+  void    ProcessEvent(UInt_t eventNum);
+  void    AddErrorMessagesFromCurrentEvent(UInt_t eventNum);
   void    SummarizeEvent(UInt_t eventNum);
 
   UInt_t  GetNrErrors(UInt_t errorCode, UInt_t eq);
@@ -37,7 +41,6 @@ class AliITSRawStreamSPDErrorLog : public TObject {
   UInt_t  GetNrErrorsTotal(UInt_t errorCode, UInt_t eq);
   UInt_t  GetNrErrorsTotalAllEq(UInt_t errorCode);
 
-  void    SetPayloadSize(UInt_t eq, UInt_t size);
   void    SetByteOffset(UInt_t eq, Int_t size);
   void    SuppressErrorMessages(UInt_t errorCode, Bool_t suppr = kTRUE);
   void    SuppressErrorEq(UInt_t eq, Bool_t suppr = kTRUE);
@@ -45,36 +48,43 @@ class AliITSRawStreamSPDErrorLog : public TObject {
   static  UInt_t GetNrErrorCodes(){return kNrErrorCodes;}
 
   TGraph* GetConsErrEvent(UInt_t errorCode, UInt_t eq);
+  TGraph* GetConsErrPos(UInt_t errorCode, UInt_t eq);
   TH1F*   GetConsErrType(UInt_t eq);
   TH1F*   GetConsErrFraction(UInt_t eq);        // NB!!! Take care of deleting returned object later
   TH1F*   GetConsErrFractionUnScaled(UInt_t eq);
-  TH1F*   GetConsErrPos(UInt_t errorCode, UInt_t eq);
   TGText* GetText() {return fText;}
+  TGText* GetTextThisEvent(UInt_t eq) {if (eq<20) return fTextTmp[eq]; else return NULL;}
+  TGText* GetTextGeneralThisEvent() {return fTextTmpGeneral;}
 
+  UInt_t  GetEventErrPosCounter(UInt_t errorCode, UInt_t eq);
+  UInt_t  GetEventErrPos(UInt_t index, UInt_t errorCode, UInt_t eq);
 
  private:
   Int_t   fNErrors[kNrErrorCodes][20];          // number of errors for this event, for each code and eq
+  Int_t   fNErrorsTotal[kNrErrorCodes][20];     // number of errors for all events, for each code and eq
   UInt_t  fNEvents[20];                         // number of events used, for each eq
-  UInt_t  fPayloadSize[20];                     // size of payload for this event, for each eq
-  Bool_t  fPayloadSizeSet[20];                  // was the payload size set for this eq?
   UInt_t  fErrEventCounter[kNrErrorCodes][20];  // event counter used when filling graph
+  UInt_t  fErrPosCounter[kNrErrorCodes][20];    // event counter used when filling graph
+  UInt_t  fErrPosTMPCounter[kNrErrorCodes][20]; // event counter used when filling graph
   Int_t   fByteOffset[20];                      // offset: how many bytes in the equipment header, for each eq
   Bool_t  fSuppressMess[kNrErrorCodes];         // do we suppress error messages for a specific error code?
   Bool_t  fSuppressEq[20];                      // do we suppress error messages for a specific eq?
 
   TGraph  *fConsErrEvent[kNrErrorCodes][20];    // graphs to display number of errors found in each event
+  TGraph  *fConsErrPos[kNrErrorCodes][20];      // graphs to display number of bytes read for each error and event
+  TGraph  *fConsErrPosTMP[kNrErrorCodes][20];   // temporary, to fill tgraph above for event
   TH1F    *fConsErrType[20];                    // histogram of how many errors for each error code
   TH1F    *fConsErrFraction[20];                // histogram of rate of events with errors for each error code
-  TH1F    *fConsErrPos[kNrErrorCodes][20];      // histogram of where in payload the errors occur
 
   TGText  *fText;                               // text buffer for all events analyzed so far
   TGText  *fTextTmp[20];                        // text buffer for this event (defined error codes)
   TGText  *fTextTmpGeneral;                     // text buffer for this event (general errors)
 
   void    InitHistograms();
-  void    DeleteHistograms() const;
+  void    DeleteHistograms() ;
 
-  ClassDef(AliITSRawStreamSPDErrorLog, 1);
+  ClassDef(AliITSRawStreamSPDErrorLog, 2);
 };
 
 #endif
+