]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONVQADataMakerRec.h
Reorganization of the QA (Rec), by splitting a MTR and MCH parts, so they can be...
[u/mrichter/AliRoot.git] / MUON / AliMUONVQADataMakerRec.h
1 #ifndef ALIMUONVQADATAMAKERREC_H
2 #define ALIMUONVQADATAMAKERREC_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \ingroup rec
10 /// \class AliMUONVQADataMakerRec
11 /// \brief Interface for a MUON QADataMakerRec
12 /// 
13 /// author Laurent Aphecetche
14
15 #ifndef ROOT_TObject
16 #  include "TObject.h"
17 #endif
18
19 #ifndef ALIRECOPARAM_H
20 #  include "AliRecoParam.h"
21 #endif
22
23 class AliESDEvent;
24 class AliQADataMakerRec;
25 class AliMUONRecoParam;
26 class AliRawReader;
27 class TH1;
28 class TObjArray;
29 class TTree;
30
31 class AliMUONVQADataMakerRec : public TObject
32 {
33 public:
34   AliMUONVQADataMakerRec(AliQADataMakerRec* master);
35   virtual ~AliMUONVQADataMakerRec();
36   
37   virtual void InitDigits() = 0; 
38   virtual void InitESDs() = 0; 
39   virtual void InitRaws() = 0; 
40   virtual void InitRecPoints() = 0; 
41   
42   virtual void MakeRaws(AliRawReader* rawReader) = 0; 
43   virtual void MakeDigits(TTree* dig) = 0; 
44   virtual void MakeRecPoints(TTree* recpo) = 0;
45   virtual void MakeESDs(AliESDEvent* esd) = 0;
46   
47   virtual void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list) = 0;
48   virtual void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list) = 0;
49   virtual void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list) = 0;
50   virtual void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list) = 0;
51
52 protected:
53
54   Int_t RunNumber() const;
55   
56   AliRecoParam::EventSpecie_t CurrentEventSpecie() const;
57   
58   const AliMUONRecoParam* GetRecoParam() const;
59   
60   TH1* GetDigitsData(Int_t index) const;
61   TH1* GetESDsData(Int_t index) const;
62   TH1* GetRecPointsData(Int_t index) const;
63   TH1* GetRawsData(Int_t index) const;
64                     
65   Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);  
66   Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);                      
67   Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);                 
68   Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE);  
69   
70 private:
71   AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs);
72   AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs);
73   
74   AliQADataMakerRec* fMaster; ///< master to get access to its methods
75   
76   ClassDef(AliMUONVQADataMakerRec,1) // Interface for a MUON QADataMakerRec
77 };
78
79 #endif