]>
Commit | Line | Data |
---|---|---|
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 | ||
92664bc8 | 27 | #include "AliQADataMakerRec.h" |
28 | ||
ece56eb9 | 29 | class AliESDEvent; |
ece56eb9 | 30 | class AliMUONRecoParam; |
31 | class AliRawReader; | |
32 | class TH1; | |
33 | class TObjArray; | |
34 | class TTree; | |
35 | ||
36 | class AliMUONVQADataMakerRec : public TObject | |
37 | { | |
38 | public: | |
39 | AliMUONVQADataMakerRec(AliQADataMakerRec* master); | |
40 | virtual ~AliMUONVQADataMakerRec(); | |
41 | ||
ca04ed6c | 42 | /// Initialization for handling Digits |
ece56eb9 | 43 | virtual void InitDigits() = 0; |
ca04ed6c | 44 | /// Initialization for handling ESD |
ece56eb9 | 45 | virtual void InitESDs() = 0; |
ca04ed6c | 46 | /// Initialization for handling Raws |
ece56eb9 | 47 | virtual void InitRaws() = 0; |
ca04ed6c | 48 | /// Initialization for handling RecPoints |
ece56eb9 | 49 | virtual void InitRecPoints() = 0; |
50 | ||
ca04ed6c | 51 | /// Produces QA data for Raws |
ece56eb9 | 52 | virtual void MakeRaws(AliRawReader* rawReader) = 0; |
ca04ed6c | 53 | /// Produces QA data for Digits |
ece56eb9 | 54 | virtual void MakeDigits(TTree* dig) = 0; |
ca04ed6c | 55 | /// Produces QA data for RecPoints |
ece56eb9 | 56 | virtual void MakeRecPoints(TTree* recpo) = 0; |
ca04ed6c | 57 | /// Produces QA data for ESD |
ece56eb9 | 58 | virtual void MakeESDs(AliESDEvent* esd) = 0; |
59 | ||
ca04ed6c | 60 | /// Wrap up things at each cycle for Raws |
ece56eb9 | 61 | virtual void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list) = 0; |
ca04ed6c | 62 | /// Wrap up things at each cycle for RecPoints |
ece56eb9 | 63 | virtual void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list) = 0; |
ca04ed6c | 64 | /// Wrap up things at each cycle for ESD |
ece56eb9 | 65 | virtual void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list) = 0; |
ca04ed6c | 66 | /// Wrap up things at each cycle for Digits |
ece56eb9 | 67 | virtual void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list) = 0; |
68 | ||
152fe71e | 69 | /// Reset anything that must be reset for Raws |
70 | virtual void ResetDetectorRaws(TObjArray* list) { ResetDetector(list); } | |
71 | /// Reset anything that must be reset for RecPoints | |
72 | virtual void ResetDetectorRecPoints(TObjArray* list) { ResetDetector(list); } | |
73 | /// Reset anything that must be reset for ESD | |
74 | virtual void ResetDetectorESDs(TObjArray* list) { ResetDetector(list); } | |
75 | /// Reset anything that must be reset for Digits | |
76 | virtual void ResetDetectorDigits(TObjArray* list) { ResetDetector(list); } | |
92664bc8 | 77 | /// |
78 | void ForbidCloning(TH1* h, Bool_t v=kTRUE) { if (fMaster) fMaster->ForbidCloning(h,v); } | |
79 | /// | |
ece56eb9 | 80 | protected: |
81 | ||
57e2ad1a | 82 | void ResetDetector(const TObjArray* list); |
152fe71e | 83 | |
ece56eb9 | 84 | Int_t RunNumber() const; |
85 | ||
86 | AliRecoParam::EventSpecie_t CurrentEventSpecie() const; | |
87 | ||
88 | const AliMUONRecoParam* GetRecoParam() const; | |
89 | ||
92664bc8 | 90 | TObject* GetDigitsData(Int_t index) const {return fMaster ? fMaster->GetDigitsData(index) : 0x0;} |
91 | TObject* GetESDsData(Int_t index) const {return fMaster ? fMaster->GetESDsData(index) : 0x0;} | |
92 | TObject* GetRecPointsData(Int_t index) const {return fMaster ? fMaster->GetRecPointsData(index) : 0x0;} | |
93 | TObject* GetRawsData(Int_t index) const {return fMaster ? fMaster->GetRawsData(index) : 0x0;} | |
94 | ||
95 | TH1* GetDigitsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetDigitsData(index, trCl) : 0x0;} | |
96 | TH1* GetESDsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetESDsData(index, trCl) : 0x0;} | |
97 | TH1* GetRecPointsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetRecPointsData(index, trCl) : 0x0;} | |
98 | TH1* GetRawsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetRawsData(index,trCl) : 0x0;} | |
99 | ||
ac09753d | 100 | TH1* GetMatchingRawsHisto(Int_t index, Int_t trigId) const {return fMaster ? fMaster->GetMatchingRawsHisto(index, trigId) : 0x0;} |
101 | ||
ece56eb9 | 102 | Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE); |
103 | Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE); | |
104 | Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE); | |
105 | Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE); | |
92664bc8 | 106 | // |
107 | Int_t FillDigitsData(Int_t index, double x) {return fMaster ? fMaster->FillDigitsData(index,x) : 0;} | |
108 | Int_t FillRawsData(Int_t index, double x) {return fMaster ? fMaster->FillRawsData(index,x) : 0;} | |
109 | Int_t FillRecPointsData(Int_t index, double x) {return fMaster ? fMaster->FillRecPointsData(index,x) : 0;} | |
110 | Int_t FillESDsData(Int_t index, double x) {return fMaster ? fMaster->FillESDsData(index,x) : 0;} | |
111 | // | |
112 | Int_t FillDigitsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillDigitsData(index,x,y) : 0;} | |
113 | Int_t FillRawsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillRawsData(index,x,y) : 0;} | |
114 | Int_t FillRecPointsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillRecPointsData(index,x,y) : 0;} | |
115 | Int_t FillESDsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillESDsData(index,x,y) : 0;} | |
116 | // | |
117 | Int_t FillDigitsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillDigitsData(index,x,y,w) : 0;} | |
118 | Int_t FillRawsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillRawsData(index,x,y,w) : 0;} | |
119 | Int_t FillRecPointsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillRecPointsData(index,x,y,w) : 0;} | |
120 | Int_t FillESDsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillESDsData(index,x,y,w) : 0;} | |
121 | // | |
122 | void ClonePerTrigClass(AliQAv1::TASKINDEX_t task); | |
123 | ||
9ee1d6ff | 124 | AliQADataMakerRec* fMaster; ///< master to get access to its methods |
125 | ||
ece56eb9 | 126 | private: |
949d9006 | 127 | /// Not implemented |
ece56eb9 | 128 | AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs); |
949d9006 | 129 | /// Not implemented |
ece56eb9 | 130 | AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs); |
131 | ||
ece56eb9 | 132 | ClassDef(AliMUONVQADataMakerRec,1) // Interface for a MUON QADataMakerRec |
133 | }; | |
134 | ||
135 | #endif |