1 #ifndef ALIMUONVQADATAMAKERREC_H
2 #define ALIMUONVQADATAMAKERREC_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONVQADataMakerRec
11 /// \brief Interface for a MUON QADataMakerRec
13 // Author Laurent Aphecetche
19 #ifndef ALIRECOPARAM_H
20 # include "AliRecoParam.h"
27 #include "AliQADataMakerRec.h"
30 class AliMUONRecoParam;
36 class AliMUONVQADataMakerRec : public TObject
39 AliMUONVQADataMakerRec(AliQADataMakerRec* master);
40 virtual ~AliMUONVQADataMakerRec();
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;
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;
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;
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); }
78 void ForbidCloning(TH1* h, Bool_t v=kTRUE) { if (fMaster) fMaster->ForbidCloning(h,v); }
82 void ResetDetector(const TObjArray* list);
84 Int_t RunNumber() const;
86 AliRecoParam::EventSpecie_t CurrentEventSpecie() const;
88 const AliMUONRecoParam* GetRecoParam() const;
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;}
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;}
100 TH1* GetMatchingRawsHisto(Int_t index, Int_t trigId) const {return fMaster ? fMaster->GetMatchingRawsHisto(index, trigId) : 0x0;}
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);
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;}
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;}
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;}
122 void ClonePerTrigClass(AliQAv1::TASKINDEX_t task);
124 AliQADataMakerRec* fMaster; ///< master to get access to its methods
128 AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs);
130 AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs);
132 ClassDef(AliMUONVQADataMakerRec,1) // Interface for a MUON QADataMakerRec