]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliQADataMakerRec.h
Updated geometry
[u/mrichter/AliRoot.git] / STEER / AliQADataMakerRec.h
1 #ifndef ALIQADATAMAKERREC_H
2 #define ALIQADATAMAKERREC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 //
10 //  Base Class:
11 //  Produces the data needed to calculate the quality assurance. 
12 //  All data must be mergeable objects.
13 //  Y. Schutz CERN July 2007
14 //
15
16 // --- ROOT system ---
17
18 // --- Standard library ---
19
20 // --- AliRoot header files ---
21 #include "AliQADataMaker.h"
22 #include "AliQA.h"
23
24 class AliQADataMakerRec: public AliQADataMaker {
25   
26 public:
27         
28         AliQADataMakerRec(const char * name="", const char * title="") ;          // ctor
29         AliQADataMakerRec(const AliQADataMakerRec& qadm) ;   
30         AliQADataMakerRec& operator = (const AliQADataMakerRec& qadm) ;
31         virtual ~AliQADataMakerRec() ; // dtor
32   
33         virtual Int_t Add2DigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/)    { return -1 ; } 
34         virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE)  { return Add2List(hist, index, fESDsQAList, expert) ; }
35         virtual Int_t Add2HitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/)       { return -1 ; }  
36         virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE)  { return Add2List(hist, index, fRecPointsQAList, expert) ; }
37         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) ; }
38         virtual Int_t Add2SDigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/)   { return -1 ; } 
39         virtual void        Exec(AliQA::TASKINDEX_t task, TObject * data) ;
40         virtual void        EndOfCycle() ;
41         virtual void        EndOfCycle(AliQA::TASKINDEX_t task) ;
42         virtual void        EndOfDetectorCycle(AliQA::TASKINDEX_t, TObjArray * ) {AliInfo("To be implemented by detectors");} 
43         virtual TH1 *       GetDigitsData(const Int_t /*index*/)    { return NULL ; } 
44         virtual TH1 *       GetESDsData(const Int_t index)      { return dynamic_cast<TH1 *>(GetData(fESDsQAList, index)) ; }
45         virtual TH1 *       GetHitsData(const Int_t /*index*/)      { return NULL ; }
46         virtual TH1 *       GetRecPointsData(const Int_t index) { return dynamic_cast<TH1 *>(GetData(fRecPointsQAList, index)) ; }
47         virtual TH1 *       GetRawsData(const Int_t index)     { return fRawsQAList ? dynamic_cast<TH1 *>(GetData(fRawsQAList, index)) : NULL ; }
48         virtual TH1 *       GetSDigitsData(const Int_t /*index*/)   { return NULL ; }  
49         virtual TObjArray * Init(AliQA::TASKINDEX_t task, Int_t cycles = -1) ;
50         virtual void        Init(AliQA::TASKINDEX_t task, TObjArray * list, Int_t run, Int_t cycles = -1) ;
51         virtual void        StartOfCycle(Int_t run = -1) ;
52         virtual void        StartOfCycle(AliQA::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
53
54         virtual void        SetRecoParam(const AliDetectorRecoParam *param) { fRecoParam = param; }
55
56 protected: 
57
58         virtual void   InitDigits()                        {AliFatal("Call not valid") ; }
59         virtual void   InitESDs()                          {AliInfo("To be implemented by detectors");}
60         virtual void   InitHits()                          {AliFatal("Call not valid") ; }
61         //virtual void   InitRecParticles()                {AliInfo("To be implemented by detectors");}
62         virtual void   InitRecPoints()                     {AliInfo("To be implemented by detectors");}
63         virtual void   InitRaws()                          {AliInfo("To be implemented by detectors");}
64         virtual void   InitSDigits()                       {AliFatal("Call not valid") ; }
65         //virtual void   InitTrackSegments()               {AliInfo("To ne implemented by detectors");}
66         virtual void   MakeESDs(AliESDEvent * )            {AliInfo("To be implemented by detectors");} 
67         virtual void   MakeHits(TClonesArray * )           {AliFatal("Call not valid") ; }
68         virtual void   MakeHits(TTree * )                  {AliFatal("Call not valid") ; }  
69         virtual void   MakeDigits(TClonesArray * )         {AliFatal("Call not valid") ; }    
70         virtual void   MakeDigits(TTree * )                {AliFatal("Call not valid") ; }   
71         //virtual void   MakeRecParticles(TClonesArray * ) {AliInfo("To be implemented by detectors");} 
72         virtual void   MakeRaws(AliRawReader *)            {AliInfo("To be implemented by detectors");} 
73         virtual void   MakeRecPoints(TTree * )             {AliInfo("To be implemented by detectors");} 
74         virtual void   MakeSDigits(TClonesArray * )        {AliFatal("Call not valid") ; }     
75         virtual void   MakeSDigits(TTree * )               {AliFatal("Call not valid") ; }    
76         virtual void   StartOfDetectorCycle()              {AliInfo("To be implemented by detectors");} 
77
78         TObjArray *                 fESDsQAList ;      //! list of the ESDs QA data objects
79         TObjArray *                 fRawsQAList ;      //! list of the raws QA data objects
80         TObjArray *                 fRecPointsQAList ; //! list of the RecPoints QA data objects
81   TObject   *                 fObject ;          //! This is used by Corr only to hold its Ntuple. Allows to write something else than TH1 to QA data file
82   const AliDetectorRecoParam *fRecoParam;        //! const pointer to the reco parameters to be used in the reco QA
83   
84  ClassDef(AliQADataMakerRec,2)  // description 
85
86 };
87
88 #endif // ALIQADATAMAKERREC_H