]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONVQADataMakerRec.h
minor coverity defect: added protection for self-assignment
[u/mrichter/AliRoot.git] / MUON / AliMUONVQADataMakerRec.h
... / ...
CommitLineData
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#ifndef ALIQAv1_H
24# include "AliQAv1.h"
25#endif
26
27#include "AliQADataMakerRec.h"
28
29class AliESDEvent;
30class AliMUONRecoParam;
31class AliRawReader;
32class TH1;
33class TObjArray;
34class TTree;
35
36class AliMUONVQADataMakerRec : public TObject
37{
38public:
39 AliMUONVQADataMakerRec(AliQADataMakerRec* master);
40 virtual ~AliMUONVQADataMakerRec();
41
42 /// Initialization for handling Digits
43 virtual void InitDigits() = 0;
44 /// Initialization for handling ESD
45 virtual void InitESDs() = 0;
46 /// Initialization for handling Raws
47 virtual void InitRaws() = 0;
48 /// Initialization for handling RecPoints
49 virtual void InitRecPoints() = 0;
50
51 /// Produces QA data for Raws
52 virtual void MakeRaws(AliRawReader* rawReader) = 0;
53 /// Produces QA data for Digits
54 virtual void MakeDigits(TTree* dig) = 0;
55 /// Produces QA data for RecPoints
56 virtual void MakeRecPoints(TTree* recpo) = 0;
57 /// Produces QA data for ESD
58 virtual void MakeESDs(AliESDEvent* esd) = 0;
59
60 /// Wrap up things at each cycle for Raws
61 virtual void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list) = 0;
62 /// Wrap up things at each cycle for RecPoints
63 virtual void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list) = 0;
64 /// Wrap up things at each cycle for ESD
65 virtual void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list) = 0;
66 /// Wrap up things at each cycle for Digits
67 virtual void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list) = 0;
68
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); }
77 ///
78 void ForbidCloning(TH1* h, Bool_t v=kTRUE) { if (fMaster) fMaster->ForbidCloning(h,v); }
79 ///
80protected:
81
82 void ResetDetector(const TObjArray* list);
83
84 Int_t RunNumber() const;
85
86 AliRecoParam::EventSpecie_t CurrentEventSpecie() const;
87
88 const AliMUONRecoParam* GetRecoParam() const;
89
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
100 TH1* GetMatchingRawsHisto(Int_t index, Int_t trigId) const {return fMaster ? fMaster->GetMatchingRawsHisto(index, trigId) : 0x0;}
101
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);
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
124 AliQADataMakerRec* fMaster; ///< master to get access to its methods
125
126private:
127 /// Not implemented
128 AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs);
129 /// Not implemented
130 AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs);
131
132 ClassDef(AliMUONVQADataMakerRec,1) // Interface for a MUON QADataMakerRec
133};
134
135#endif