Changes in QA to be able to process separately different triggers (Ruben)
[u/mrichter/AliRoot.git] / STEER / AliQADataMakerRec.h
CommitLineData
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 16class TNtupleD ;
04236e67 17// --- Standard library ---
18
19// --- AliRoot header files ---
fb6e511e 20class AliDetectorRecoParam ;
04236e67 21#include "AliQADataMaker.h"
4e25ac79 22#include "AliQAv1.h"
04236e67 23
24class AliQADataMakerRec: public AliQADataMaker {
25
26public:
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 169protected:
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