]>
Commit | Line | Data |
---|---|---|
202374b1 | 1 | #ifndef ALIQADATAMAKERREC_H |
2 | #define ALIQADATAMAKERREC_H | |
04236e67 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | /* $Id$ */ | |
202374b1 | 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 | // | |
04236e67 | 14 | |
15 | // --- ROOT system --- | |
57acd2d2 | 16 | class TNtupleD ; |
04236e67 | 17 | // --- Standard library --- |
18 | ||
19 | // --- AliRoot header files --- | |
fb6e511e | 20 | class AliDetectorRecoParam ; |
04236e67 | 21 | #include "AliQADataMaker.h" |
4e25ac79 | 22 | #include "AliQAv1.h" |
04236e67 | 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) ; | |
63c6f8ae | 31 | virtual ~AliQADataMakerRec() ; // dtor |
04236e67 | 32 | |
44ed7a66 | 33 | virtual Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE) |
eca4fa66 | 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) | |
44ed7a66 | 36 | { return Add2List(hist, index, fESDsQAList, expert, image) ; } |
eca4fa66 | 37 | virtual Int_t Add2HitsList(TH1 * /*hist*/, const Int_t /*index*/, const Bool_t /*expert = kFALSE*/, const Bool_t /*image = kFALSE*/) |
44ed7a66 | 38 | { return -1 ; } |
eca4fa66 | 39 | virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE) |
44ed7a66 | 40 | { return Add2List(hist, index, fRecPointsQAList, expert, image) ; } |
eca4fa66 | 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) ; | |
92664bc8 | 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");} | |
2b261f20 | 49 | virtual const AliDetectorRecoParam * GetRecoParam() { return fRecoParam ; } |
b8bd1ab8 | 50 | |
92664bc8 | 51 | virtual TObject* GetDigitsData(const Int_t index ) { return GetData(fDigitsQAList, index); } |
52 | virtual TObject* GetESDsData(const Int_t index) { return GetData(fESDsQAList, index); } | |
53 | virtual TObject* GetHitsData(const Int_t /*index*/) { return NULL ; } | |
54 | virtual TObject* GetRecPointsData(const Int_t index) { return GetData(fRecPointsQAList, index); } | |
55 | virtual TObject* GetRawsData(const Int_t index) { return GetData(fRawsQAList, index); } | |
56 | virtual TObject* GetSDigitsData(const Int_t /*index*/) { return NULL; } | |
57 | // | |
58 | virtual TH1* GetDigitsData(const Int_t index, int cloneID) { return GetData(fDigitsQAList, index, cloneID); } | |
59 | virtual TH1* GetESDsData(const Int_t index, int cloneID) { return GetData(fESDsQAList, index, cloneID); } | |
60 | virtual TH1* GetHitsData(const Int_t /*index*/, int) { return NULL ; } | |
61 | virtual TH1* GetRecPointsData(const Int_t index, int cloneID) { return GetData(fRecPointsQAList, index, cloneID); } | |
62 | virtual TH1* GetRawsData(const Int_t index, int cloneID) { return GetData(fRawsQAList, index, cloneID); } | |
63 | virtual TH1* GetSDigitsData(const Int_t /*index*/, int) { return NULL; } | |
64 | // | |
65 | virtual TObjArray* GetDigitsDataOfTrigClass(int cloneID, TObjArray *dest=0) {return GetDataOfTrigClass(fDigitsQAList,cloneID,dest);} | |
66 | virtual TObjArray* GetSDigitsDataOfTrigClass(int /*cloneID*/, TObjArray */*dest*/=0) {return NULL;} | |
67 | virtual TObjArray* GetESDsDataOfTrigClass(int cloneID, TObjArray *dest=0) {return GetDataOfTrigClass(fESDsQAList,cloneID,dest);} | |
68 | virtual TObjArray* GetHitsDataOfTrigClass(int /*cloneID*/, TObjArray */*dest*/=0) {return NULL;} | |
69 | virtual TObjArray* GetRecPointsDataOfTrigClass(int cloneID, TObjArray *dest=0) {return GetDataOfTrigClass(fRecPointsQAList,cloneID,dest);} | |
70 | virtual TObjArray* GetRawsDataOfTrigClass(int cloneID, TObjArray *dest=0) {return GetDataOfTrigClass(fRawsQAList,cloneID,dest);} | |
71 | // | |
72 | virtual TObjArray** Init(AliQAv1::TASKINDEX_t task, Int_t cycles = -1) ; | |
73 | virtual void Init(AliQAv1::TASKINDEX_t task, TObjArray ** list, Int_t run, Int_t cycles = -1) ; | |
74 | virtual void InitRaws() {AliInfo("To be implemented by detectors");} | |
75 | virtual void InitRecPoints() {AliInfo("To be implemented by detectors");} | |
76 | virtual void InitDigits() {AliInfo("To be implemented by detectors");} | |
77 | virtual void InitESDs() {AliInfo("To be implemented by detectors");} | |
78 | virtual void ResetDetector(AliQAv1::TASKINDEX_t task) ; | |
79 | virtual void StartOfCycle(Int_t run = -1) ; | |
80 | virtual void StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ; | |
81 | virtual void SetRecoParam(const AliDetectorRecoParam *param) { fRecoParam = param; } | |
82 | // | |
83 | virtual TObjArray* GetMatchingHitsData(const Int_t, TObjArray*) {return 0;} | |
84 | virtual TObjArray* GetMatchingSDigitsData(const Int_t, TObjArray*) {return 0;} | |
85 | virtual TObjArray* GetMatchingDigitsData(const Int_t index, TObjArray* optDest=0) {return GetMatchingHistos(fDigitsQAList,index,optDest);} | |
86 | virtual TObjArray* GetMatchingRawsData(const Int_t index, TObjArray* optDest=0) {return GetMatchingHistos(fRawsQAList,index,optDest);} | |
87 | virtual TObjArray* GetMatchingRecPointsData(const Int_t index, TObjArray* optDest=0) {return GetMatchingHistos(fRecPointsQAList,index,optDest);} | |
88 | virtual TObjArray* GetMatchingESDsData(const Int_t index, TObjArray* optDest=0) {return GetMatchingHistos(fESDsQAList,index,optDest);} | |
89 | // | |
90 | virtual TH1* GetMatchingHitsHisto(Int_t , Int_t ) {return 0;} | |
91 | virtual TH1* GetMatchingSDigitsHisto(Int_t , Int_t ) {return 0;} | |
92 | virtual TH1* GetMatchingDigitsHisto(Int_t index, Int_t trigId) {return GetMatchingHisto(fDigitsQAList,index,trigId);} | |
93 | virtual TH1* GetMatchingRawsHisto(Int_t index, Int_t trigId) {return GetMatchingHisto(fRawsQAList,index,trigId);} | |
94 | virtual TH1* GetMatchingRecPointsHisto(Int_t index, Int_t trigId) {return GetMatchingHisto(fRecPointsQAList,index,trigId);} | |
95 | virtual TH1* GetMatchingESDsHisto(Int_t index, Int_t trigId) {return GetMatchingHisto(fESDsQAList,index,trigId);} | |
96 | // | |
97 | virtual TObjArray* GetMatchingHitsHistosSet(const Int_t*, Int_t ,Int_t) {return 0;} | |
98 | virtual TObjArray* GetMatchingSDigitsHistosSet(const Int_t* , Int_t ,Int_t) {return 0;} | |
99 | virtual TObjArray* GetMatchingDigitsHistosSet(const Int_t* indexList, Int_t nHist,Int_t trigId) {return GetMatchingHistosSet(fDigitsQAList,indexList,nHist,trigId);} | |
100 | virtual TObjArray* GetMatchingRawsHistosSet(const Int_t* indexList, Int_t nHist,Int_t trigId) {return GetMatchingHistosSet(fRawsQAList,indexList,nHist,trigId);} | |
101 | virtual TObjArray* GetMatchingRecPointsHistosSet(const Int_t* indexList, Int_t nHist,Int_t trigId) {return GetMatchingHistosSet(fRecPointsQAList,indexList,nHist,trigId);} | |
102 | virtual TObjArray* GetMatchingESDsHistosSet(const Int_t* indexList, Int_t nHist,Int_t trigId) {return GetMatchingHistosSet(fESDsQAList,indexList,nHist,trigId);} | |
103 | // | |
104 | virtual Int_t FillHitsData(Int_t, double ) {return -1;} | |
105 | virtual Int_t FillSDigitsData(Int_t, double) {return -1;} | |
106 | virtual Int_t FillDigitsData(Int_t index, double x) {return FillData(fDigitsQAList, index, x);} | |
107 | virtual Int_t FillRawsData(Int_t index, double x) {return FillData(fRawsQAList, index, x);} | |
108 | virtual Int_t FillRecPointsData(Int_t index, double x) {return FillData(fRecPointsQAList, index, x);} | |
109 | virtual Int_t FillESDsData(Int_t index, double x) {return FillData(fESDsQAList, index, x);} | |
110 | // | |
111 | virtual Int_t FillHitsData(Int_t, double, double) {return -1;} | |
112 | virtual Int_t FillSDigitsData(Int_t, double, double) {return -1;} | |
113 | virtual Int_t FillDigitsData(Int_t index, double x, double y) {return FillData(fDigitsQAList, index, x, y);} | |
114 | virtual Int_t FillRawsData(Int_t index, double x, double y) {return FillData(fRawsQAList, index, x, y);} | |
115 | virtual Int_t FillRecPointsData(Int_t index, double x, double y) {return FillData(fRecPointsQAList, index, x, y);} | |
116 | virtual Int_t FillESDsData(Int_t index, double x, double y) {return FillData(fESDsQAList, index, x, y);} | |
117 | // | |
118 | virtual Int_t FillHitsData(Int_t, double, double, double) {return -1;} | |
119 | virtual Int_t FillSDigitsData(Int_t, double, double, double) {return -1;} | |
120 | virtual Int_t FillDigitsData(Int_t index, double x, double y, double z) {return FillData(fDigitsQAList, index, x,y,z);} | |
121 | virtual Int_t FillRawsData(Int_t index, double x, double y, double z) {return FillData(fRawsQAList, index, x,y,z);} | |
122 | virtual Int_t FillRecPointsData(Int_t index, double x, double y, double z) {return FillData(fRecPointsQAList, index, x,y,z);} | |
123 | virtual Int_t FillESDsData(Int_t index, double x, double y, double z) {return FillData(fESDsQAList, index, x,y,z);} | |
124 | // | |
125 | virtual Int_t SetHitsDataBinContent(Int_t, int, double) {return -1;} | |
126 | virtual Int_t SetSDigitsDataBinContent(Int_t, int, double) {return -1;} | |
127 | virtual Int_t SetDigitsDataBinContent(Int_t index, int bin, double w) {return SetDataBinContent(fDigitsQAList, index,bin,w);} | |
128 | virtual Int_t SetRawsDataBinContent(Int_t index, int bin, double w) {return SetDataBinContent(fRawsQAList, index,bin,w);} | |
129 | virtual Int_t SetRecPointsDataBinContent(Int_t index, int bin, double w) {return SetDataBinContent(fRecPointsQAList, index,bin,w);} | |
130 | virtual Int_t SetESDsDataBinContent(Int_t index, int bin, double w) {return SetDataBinContent(fESDsQAList, index,bin,w);} | |
131 | // | |
132 | virtual Int_t SetHitsDataBinContent(Int_t, int, int, double) {return -1;} | |
133 | virtual Int_t SetSDigitsDataBinContent(Int_t, int, int, double) {return -1;} | |
134 | virtual Int_t SetDigitsDataBinContent(Int_t index, int binX, int binY, double w) {return SetDataBinContent(fDigitsQAList, index,binX,binY,w);} | |
135 | virtual Int_t SetRawsDataBinContent(Int_t index, int binX, int binY, double w) {return SetDataBinContent(fRawsQAList, index,binX,binY,w);} | |
136 | virtual Int_t SetRecPointsDataBinContent(Int_t index, int binX, int binY, double w) {return SetDataBinContent(fRecPointsQAList, index,binX,binY,w);} | |
137 | virtual Int_t SetESDsDataBinContent(Int_t index, int binX, int binY, double w) {return SetDataBinContent(fESDsQAList, index,binX,binY,w);} | |
138 | // | |
139 | virtual Int_t SetHitsDataBinError(Int_t, int, double) {return -1;} | |
140 | virtual Int_t SetSDigitsDataBinError(Int_t, int, double) {return -1;} | |
141 | virtual Int_t SetDigitsDataBinError(Int_t index, int bin, double err) {return SetDataBinError(fDigitsQAList, index,bin,err);} | |
142 | virtual Int_t SetRawsDataBinError(Int_t index, int bin, double err) {return SetDataBinError(fRawsQAList, index,bin,err);} | |
143 | virtual Int_t SetRecPointsDataBinError(Int_t index, int bin, double err) {return SetDataBinError(fRecPointsQAList, index,bin,err);} | |
144 | virtual Int_t SetESDsDataBinError(Int_t index, int bin, double err) {return SetDataBinError(fESDsQAList, index,bin,err);} | |
145 | // | |
146 | virtual Int_t SetHitsDataBinError(Int_t, int, int, double) {return -1;} | |
147 | virtual Int_t SetSDigitsDataBinError(Int_t, int, int, double) {return -1;} | |
148 | virtual Int_t SetDigitsDataBinError(Int_t index, int binX, int binY, double err) {return SetDataBinError(fDigitsQAList, index,binX,binY,err);} | |
149 | virtual Int_t SetRawsDataBinError(Int_t index, int binX, int binY, double err) {return SetDataBinError(fRawsQAList, index,binX,binY,err);} | |
150 | virtual Int_t SetRecPointsDataBinError(Int_t index, int binX, int binY, double err) {return SetDataBinError(fRecPointsQAList, index,binX,binY,err);} | |
151 | virtual Int_t SetESDsDataBinError(Int_t index, int binX, int binY, double err) {return SetDataBinError(fESDsQAList, index,binX,binY,err);} | |
152 | // | |
153 | virtual Int_t ResetHitsData(Int_t, Option_t*) {return -1;} | |
154 | virtual Int_t ResetSDigitsData(Int_t, Option_t*) {return -1;} | |
155 | virtual Int_t ResetDigitsData(Int_t index, Option_t* opt="") {return ResetData(fDigitsQAList, index, opt);} | |
156 | virtual Int_t ResetRawsData(Int_t index, Option_t* opt="") {return ResetData(fRawsQAList, index, opt);} | |
157 | virtual Int_t ResetRecPointsData(Int_t index, Option_t* opt="") {return ResetData(fRecPointsQAList, index, opt);} | |
158 | virtual Int_t ResetESDsData(Int_t index, Option_t* opt="") {return ResetData(fESDsQAList, index, opt);} | |
159 | // | |
160 | virtual Int_t ResetStatsHitsData(Int_t) {return -1;} | |
161 | virtual Int_t ResetStatsSDigitsData(Int_t) {return -1;} | |
162 | virtual Int_t ResetStatsDigitsData(Int_t index) {return ResetStatsData(fDigitsQAList, index);} | |
163 | virtual Int_t ResetStatsRawsData(Int_t index) {return ResetStatsData(fRawsQAList, index);} | |
164 | virtual Int_t ResetStatsRecPointsData(Int_t index) {return ResetStatsData(fRecPointsQAList, index);} | |
165 | virtual Int_t ResetStatsESDsData(Int_t index) {return ResetStatsData(fESDsQAList, index);} | |
166 | // | |
167 | virtual void ClonePerTrigClass(AliQAv1::TASKINDEX_t task); | |
168 | // | |
04236e67 | 169 | protected: |
170 | ||
fb6e511e | 171 | virtual void InitRecoParams() ; |
92664bc8 | 172 | virtual void InitHits() {AliWarning("Call not valid") ; } |
173 | //virtual void InitRecParticles() {AliInfo("To be implemented by detectors");} | |
174 | virtual void InitSDigits() {AliWarning("Call not valid") ; } | |
175 | //virtual void InitTrackSegments() {AliInfo("To ne implemented by detectors");} | |
176 | virtual void MakeESDs(AliESDEvent * ) {AliInfo("To be implemented by detectors");} | |
177 | virtual void MakeHits() {AliWarning("Call not valid") ; } | |
178 | virtual void MakeHits(TTree * ) {AliWarning("Call not valid") ; } | |
179 | virtual void MakeDigits() {AliInfo("To be implemented by detectors");} | |
180 | virtual void MakeDigits(TTree * ) {AliInfo("To be implemented by detectors");} | |
181 | //virtual void MakeRecParticles() {AliInfo("To be implemented by detectors");} | |
182 | virtual void MakeRaws(AliRawReader *) {AliInfo("To be implemented by detectors");} | |
183 | virtual void MakeRecPoints(TTree * ) {AliInfo("To be implemented by detectors");} | |
184 | virtual void MakeSDigits() {AliWarning("Call not valid") ; } | |
185 | virtual void MakeSDigits(TTree * ) {AliWarning("Call not valid") ; } | |
186 | virtual void StartOfDetectorCycle() {AliInfo("To be implemented by detectors");} | |
187 | ||
188 | TObjArray * * fDigitsQAList ; //! list of the digits QA data objects | |
189 | TObjArray * * fESDsQAList ; //! list of the ESDs QA data objects | |
190 | TObjArray * * fRawsQAList ; //! list of the raws QA data objects | |
191 | TObjArray * * fRecPointsQAList ; //! list of the RecPoints QA data objects | |
6252ceeb | 192 | TNtupleD ** fCorrNt ; //! This is used by Corr only to hold its Ntuple. |
eca4fa66 | 193 | const AliDetectorRecoParam *fRecoParam; //! const pointer to the reco parameters to be used in the reco QA |
6252ceeb | 194 | TClonesArray * fRecPointsArray; //! Array that contains the RecPoints |
04236e67 | 195 | |
eca4fa66 | 196 | ClassDef(AliQADataMakerRec,4) // description |
04236e67 | 197 | |
198 | }; | |
199 | ||
202374b1 | 200 | #endif // ALIQADATAMAKERREC_H |