bug fixed
[u/mrichter/AliRoot.git] / MUON / AliMUONVQADataMakerRec.h
CommitLineData
ece56eb9 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///
c442ee61 13// Author Laurent Aphecetche
ece56eb9 14
15#ifndef ROOT_TObject
16# include "TObject.h"
17#endif
18
19#ifndef ALIRECOPARAM_H
20# include "AliRecoParam.h"
21#endif
22
b3d57767 23#ifndef ALIQAv1_H
24# include "AliQAv1.h"
25#endif
26
ece56eb9 27class AliESDEvent;
28class AliQADataMakerRec;
29class AliMUONRecoParam;
30class AliRawReader;
31class TH1;
32class TObjArray;
33class TTree;
34
35class AliMUONVQADataMakerRec : public TObject
36{
37public:
38 AliMUONVQADataMakerRec(AliQADataMakerRec* master);
39 virtual ~AliMUONVQADataMakerRec();
40
ca04ed6c 41 /// Initialization for handling Digits
ece56eb9 42 virtual void InitDigits() = 0;
ca04ed6c 43 /// Initialization for handling ESD
ece56eb9 44 virtual void InitESDs() = 0;
ca04ed6c 45 /// Initialization for handling Raws
ece56eb9 46 virtual void InitRaws() = 0;
ca04ed6c 47 /// Initialization for handling RecPoints
ece56eb9 48 virtual void InitRecPoints() = 0;
49
ca04ed6c 50 /// Produces QA data for Raws
ece56eb9 51 virtual void MakeRaws(AliRawReader* rawReader) = 0;
ca04ed6c 52 /// Produces QA data for Digits
ece56eb9 53 virtual void MakeDigits(TTree* dig) = 0;
ca04ed6c 54 /// Produces QA data for RecPoints
ece56eb9 55 virtual void MakeRecPoints(TTree* recpo) = 0;
ca04ed6c 56 /// Produces QA data for ESD
ece56eb9 57 virtual void MakeESDs(AliESDEvent* esd) = 0;
58
ca04ed6c 59 /// Wrap up things at each cycle for Raws
ece56eb9 60 virtual void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list) = 0;
ca04ed6c 61 /// Wrap up things at each cycle for RecPoints
ece56eb9 62 virtual void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list) = 0;
ca04ed6c 63 /// Wrap up things at each cycle for ESD
ece56eb9 64 virtual void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list) = 0;
ca04ed6c 65 /// Wrap up things at each cycle for Digits
ece56eb9 66 virtual void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list) = 0;
67
152fe71e 68 /// Reset anything that must be reset for Raws
69 virtual void ResetDetectorRaws(TObjArray* list) { ResetDetector(list); }
70 /// Reset anything that must be reset for RecPoints
71 virtual void ResetDetectorRecPoints(TObjArray* list) { ResetDetector(list); }
72 /// Reset anything that must be reset for ESD
73 virtual void ResetDetectorESDs(TObjArray* list) { ResetDetector(list); }
74 /// Reset anything that must be reset for Digits
75 virtual void ResetDetectorDigits(TObjArray* list) { ResetDetector(list); }
76
ece56eb9 77protected:
78
57e2ad1a 79 void ResetDetector(const TObjArray* list);
152fe71e 80
ece56eb9 81 Int_t RunNumber() const;
82
83 AliRecoParam::EventSpecie_t CurrentEventSpecie() const;
84
85 const AliMUONRecoParam* GetRecoParam() const;
86
87 TH1* GetDigitsData(Int_t index) const;
88 TH1* GetESDsData(Int_t index) const;
89 TH1* GetRecPointsData(Int_t index) const;
90 TH1* GetRawsData(Int_t index) const;
91
92 Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
93 Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
94 Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
95 Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE);
96
9ee1d6ff 97 AliQADataMakerRec* fMaster; ///< master to get access to its methods
98
ece56eb9 99private:
949d9006 100 /// Not implemented
ece56eb9 101 AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs);
949d9006 102 /// Not implemented
ece56eb9 103 AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs);
104
ece56eb9 105 ClassDef(AliMUONVQADataMakerRec,1) // Interface for a MUON QADataMakerRec
106};
107
108#endif