]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliQADataMakerRec.h
AliWarning instead of AliFatal
[u/mrichter/AliRoot.git] / STEER / AliQADataMakerRec.h
index cd4d2755f5ae35094b9ff37d790fdd30373cf55c..925f555c062ccb57561ab6b94bc69e54d779abb5 100644 (file)
@@ -1,20 +1,17 @@
-#ifndef AliQADataMakerREC_H
-#define AliQADataMakerREC_H
+#ifndef ALIQADATAMAKERREC_H
+#define ALIQADATAMAKERREC_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
 
 /* $Id$ */
 
-/*
-  Base Class:
-  Produces the data needed to calculate the quality assurance. 
-  All data must be mergeable objects.
-  Y. Schutz CERN July 2007
-x
-x
-*/
-
+//
+//  Base Class:
+//  Produces the data needed to calculate the quality assurance. 
+//  All data must be mergeable objects.
+//  Y. Schutz CERN July 2007
+//
 
 // --- ROOT system ---
 
@@ -22,6 +19,7 @@ x
 
 // --- AliRoot header files ---
 #include "AliQADataMaker.h"
+#include "AliQA.h"
 
 class AliQADataMakerRec: public AliQADataMaker {
   
@@ -30,55 +28,61 @@ public:
        AliQADataMakerRec(const char * name="", const char * title="") ;          // ctor
        AliQADataMakerRec(const AliQADataMakerRec& qadm) ;   
        AliQADataMakerRec& operator = (const AliQADataMakerRec& qadm) ;
-       virtual ~AliQADataMakerRec() {;} // dtor
+       virtual ~AliQADataMakerRec() ; // dtor
   
-       virtual const Int_t Add2DigitsList(TH1 * /*hist*/, const Int_t /*index*/)    { return -1 ; } 
-       virtual const Int_t Add2ESDsList(TH1 * hist, const Int_t index)  { return Add2List(hist, index, fESDsQAList) ; }
-       virtual const Int_t Add2HitsList(TH1 * /*hist*/, const Int_t /*index*/)       { return -1 ; }  
-       virtual const Int_t Add2RecPointsList(TH1 * hist, const Int_t index)  { return Add2List(hist, index, fRecPointsQAList) ; }
-       virtual const Int_t Add2RawsList(TH1 * hist, const Int_t index)  { return Add2List(hist, index, fRawsQAList) ; }
-       virtual const Int_t Add2SDigitsList(TH1 * /*hist*/, const Int_t /*index*/)   { return -1 ; } 
-       virtual void        Exec(AliQA::TASKINDEX task, TObject * data) ;
-       virtual void        EndOfCycle(AliQA::TASKINDEX task) ;
+       virtual Int_t Add2DigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/)    { return -1 ; } 
+       virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE)  { return Add2List(hist, index, fESDsQAList, expert) ; }
+       virtual Int_t Add2HitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/)       { return -1 ; }  
+       virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE)  { return Add2List(hist, index, fRecPointsQAList, expert) ; }
+       virtual Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t saveForCorr = kFALSE)  { return Add2List(hist, index, fRawsQAList, expert, saveForCorr) ; }
+       virtual Int_t Add2SDigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/)   { return -1 ; } 
+       virtual void        Exec(AliQA::TASKINDEX_t task, TObject * data) ;
+       virtual void        EndOfCycle() ;
+       virtual void        EndOfCycle(AliQA::TASKINDEX_t task) ;
+       virtual void        EndOfDetectorCycle(AliQA::TASKINDEX_t, TObjArray * ) {AliInfo("To be implemented by detectors");} 
        virtual TH1 *       GetDigitsData(const Int_t /*index*/)    { return NULL ; } 
        virtual TH1 *       GetESDsData(const Int_t index)      { return dynamic_cast<TH1 *>(GetData(fESDsQAList, index)) ; }
        virtual TH1 *       GetHitsData(const Int_t /*index*/)      { return NULL ; }
        virtual TH1 *       GetRecPointsData(const Int_t index) { return dynamic_cast<TH1 *>(GetData(fRecPointsQAList, index)) ; }
-       virtual TH1 *       GetRawsData(const Int_t index)     { return dynamic_cast<TH1 *>(GetData(fRawsQAList, index)) ; }
+       virtual TH1 *       GetRawsData(const Int_t index)     { return fRawsQAList ? dynamic_cast<TH1 *>(GetData(fRawsQAList, index)) : NULL ; }
        virtual TH1 *       GetSDigitsData(const Int_t /*index*/)   { return NULL ; }  
-       virtual TObjArray * Init(AliQA::TASKINDEX task, Int_t run, Int_t cycles = -1) ;
-       virtual void        Init(AliQA::TASKINDEX task, TObjArray * list, Int_t run, Int_t cycles = -1) ;
-       virtual void        StartOfCycle(AliQA::TASKINDEX task, const Bool_t sameCycle = kFALSE) ;
+       virtual TObjArray * Init(AliQA::TASKINDEX_t task, Int_t cycles = -1) ;
+       virtual void        Init(AliQA::TASKINDEX_t task, TObjArray * list, Int_t run, Int_t cycles = -1) ;
+       virtual void        StartOfCycle(Int_t run = -1) ;
+       virtual void        StartOfCycle(AliQA::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
+
+       virtual void        SetRecoParam(const AliDetectorRecoParam *param) { fRecoParam = param; }
 
 protected: 
 
-       virtual void   EndOfDetectorCycle(AliQA::TASKINDEX, TObjArray * ) {AliInfo("To be implemented by detectors");} 
-       virtual void   InitDigits()                        {AliFatal("Call not valid") ; }
+       virtual void   InitDigits()                        {AliWarning("Call not valid") ; }
        virtual void   InitESDs()                          {AliInfo("To be implemented by detectors");}
-       virtual void   InitHits()                          {AliFatal("Call not valid") ; }
+       virtual void   InitHits()                          {AliWarning("Call not valid") ; }
        //virtual void   InitRecParticles()                {AliInfo("To be implemented by detectors");}
        virtual void   InitRecPoints()                     {AliInfo("To be implemented by detectors");}
        virtual void   InitRaws()                          {AliInfo("To be implemented by detectors");}
-       virtual void   InitSDigits()                       {AliFatal("Call not valid") ; }
+       virtual void   InitSDigits()                       {AliWarning("Call not valid") ; }
        //virtual void   InitTrackSegments()               {AliInfo("To ne implemented by detectors");}
        virtual void   MakeESDs(AliESDEvent * )            {AliInfo("To be implemented by detectors");} 
-       virtual void   MakeHits(TClonesArray * )           {AliFatal("Call not valid") ; }
-       virtual void   MakeHits(TTree * )                  {AliFatal("Call not valid") ; }  
-       virtual void   MakeDigits(TClonesArray * )         {AliFatal("Call not valid") ; }    
-       virtual void   MakeDigits(TTree * )                {AliFatal("Call not valid") ; }   
+       virtual void   MakeHits(TClonesArray * )           {AliWarning("Call not valid") ; }
+       virtual void   MakeHits(TTree * )                  {AliWarning("Call not valid") ; }  
+       virtual void   MakeDigits(TClonesArray * )         {AliWarning("Call not valid") ; }    
+       virtual void   MakeDigits(TTree * )                {AliWarning("Call not valid") ; }   
        //virtual void   MakeRecParticles(TClonesArray * ) {AliInfo("To be implemented by detectors");} 
        virtual void   MakeRaws(AliRawReader *)            {AliInfo("To be implemented by detectors");} 
        virtual void   MakeRecPoints(TTree * )             {AliInfo("To be implemented by detectors");} 
-       virtual void   MakeSDigits(TClonesArray * )        {AliFatal("Call not valid") ; }     
-       virtual void   MakeSDigits(TTree * )               {AliFatal("Call not valid") ; }    
+       virtual void   MakeSDigits(TClonesArray * )        {AliWarning("Call not valid") ; }     
+       virtual void   MakeSDigits(TTree * )               {AliWarning("Call not valid") ; }    
        virtual void   StartOfDetectorCycle()              {AliInfo("To be implemented by detectors");} 
 
-       TObjArray *    fESDsQAList ;      //! list of the ESDs QA data objects
-       TObjArray *    fRawsQAList ;      //! list of the raws QA data objects
-       TObjArray *    fRecPointsQAList ; //! list of the RecPoints QA data objects
+       TObjArray *                 fESDsQAList ;      //! list of the ESDs QA data objects
+       TObjArray *                 fRawsQAList ;      //! list of the raws QA data objects
+       TObjArray *                 fRecPointsQAList ; //! list of the RecPoints QA data objects
+  TObject   *                 fObject ;          //! This is used by Corr only to hold its Ntuple. Allows to write something else than TH1 to QA data file
+  const AliDetectorRecoParam *fRecoParam;        //! const pointer to the reco parameters to be used in the reco QA
   
- ClassDef(AliQADataMakerRec,1)  // description 
+ ClassDef(AliQADataMakerRec,2)  // description 
 
 };
 
-#endif // AliQADataMakerRec_H
+#endif // ALIQADATAMAKERREC_H