]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliQADataMakerRec.h
Improving event printout
[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 //  Base Class:
10 //  Produces the data needed to calculate the quality assurance. 
11 //  All data must be mergeable objects.
12 //  Y. Schutz CERN July 2007
13 //
14
15 // --- ROOT system ---
16 class TNtupleD ; 
17 // --- Standard library ---
18
19 // --- AliRoot header files ---
20 class AliDetectorRecoParam ;
21 #include "AliQADataMaker.h"
22 #include "AliQAv1.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, const Bool_t image = kFALSE)    
34   { return Add2List(hist, index, fDigitsQAList, expert, image) ; }
35   virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)                      
36     { return Add2List(hist, index, fESDsQAList, expert, image) ; }
37   virtual Int_t Add2HitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)      
38     { return -1 ; }  
39   virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE)                 
40     { return Add2List(hist, index, fRecPointsQAList, expert, image) ; }
41   virtual Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE)  
42   { return Add2List(hist, index, fRawsQAList, expert, image, saveForCorr) ; }
43   virtual Int_t Add2SDigitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/)   { return -1 ; } 
44         
45   virtual void        Exec(AliQAv1::TASKINDEX_t task, TObject * data) ;
46         virtual void        EndOfCycle() ;
47         virtual void        EndOfCycle(AliQAv1::TASKINDEX_t task) ;
48         virtual void        EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** ) {AliInfo("To be implemented by detectors");} 
49         virtual TH1 *       GetDigitsData(const Int_t index   )  { return dynamic_cast<TH1 *>(GetData(fDigitsQAList, index)) ; } 
50         virtual TH1 *       GetESDsData(const Int_t index)       { return dynamic_cast<TH1 *>(GetData(fESDsQAList, index)) ; }
51         virtual TH1 *       GetHitsData(const Int_t /*index*/)   { return NULL ; }
52   virtual const AliDetectorRecoParam * GetRecoParam() { return fRecoParam ; }
53   
54         virtual TH1 *       GetRecPointsData(const Int_t index)  { return dynamic_cast<TH1 *>(GetData(fRecPointsQAList, index)) ; }
55         virtual TH1 *       GetRawsData(const Int_t index)       { return dynamic_cast<TH1 *>(GetData(fRawsQAList, index))  ; }
56         virtual TH1 *       GetSDigitsData(const Int_t /*index*/)   { return NULL ; }  
57         virtual TObjArray** Init(AliQAv1::TASKINDEX_t task, Int_t cycles = -1) ;
58         virtual void        Init(AliQAv1::TASKINDEX_t task, TObjArray ** list, Int_t run, Int_t cycles = -1) ;
59         virtual void        InitRaws()                          {AliInfo("To be implemented by detectors");}
60         virtual void        InitRecPoints()                     {AliInfo("To be implemented by detectors");}
61         virtual void        InitDigits()                        {AliInfo("To be implemented by detectors");}
62         virtual void        InitESDs()                          {AliInfo("To be implemented by detectors");}
63   virtual void        ResetDetector(AliQAv1::TASKINDEX_t task) ;
64         virtual void        StartOfCycle(Int_t run = -1) ;
65         virtual void        StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
66         virtual void        SetRecoParam(const AliDetectorRecoParam *param) { fRecoParam = param; }
67
68 protected: 
69
70   virtual void   InitRecoParams() ; 
71         virtual void   InitHits()                          {AliWarning("Call not valid") ; }
72         //virtual void   InitRecParticles()                {AliInfo("To be implemented by detectors");}
73         virtual void   InitSDigits()                       {AliWarning("Call not valid") ; }
74         //virtual void   InitTrackSegments()               {AliInfo("To ne implemented by detectors");}
75         virtual void   MakeESDs(AliESDEvent * )            {AliInfo("To be implemented by detectors");} 
76         virtual void   MakeHits()                          {AliWarning("Call not valid") ; }
77         virtual void   MakeHits(TTree * )                  {AliWarning("Call not valid") ; }  
78         virtual void   MakeDigits()                        {AliInfo("To be implemented by detectors");}   
79         virtual void   MakeDigits(TTree * )                {AliInfo("To be implemented by detectors");}   
80         //virtual void   MakeRecParticles()                {AliInfo("To be implemented by detectors");} 
81         virtual void   MakeRaws(AliRawReader *)            {AliInfo("To be implemented by detectors");} 
82         virtual void   MakeRecPoints(TTree * )             {AliInfo("To be implemented by detectors");} 
83         virtual void   MakeSDigits()                       {AliWarning("Call not valid") ; }     
84         virtual void   MakeSDigits(TTree * )               {AliWarning("Call not valid") ; }    
85         virtual void   StartOfDetectorCycle()              {AliInfo("To be implemented by detectors");} 
86
87         TObjArray * *               fDigitsQAList ;     //! list of the digits QA data objects
88         TObjArray * *               fESDsQAList ;       //! list of the ESDs QA data objects
89         TObjArray * *               fRawsQAList ;       //! list of the raws QA data objects
90         TObjArray * *               fRecPointsQAList ;  //! list of the RecPoints QA data objects
91   TNtupleD  **                fCorrNt ;           //! This is used by Corr only to hold its Ntuple. 
92   const AliDetectorRecoParam *fRecoParam;         //! const pointer to the reco parameters to be used in the reco QA
93   TClonesArray *              fRecPointsArray;    //! Array that contains the RecPoints    
94   
95  ClassDef(AliQADataMakerRec,4)  // description 
96
97 };
98
99 #endif // ALIQADATAMAKERREC_H