#ifndef ALIMUONVQADATAMAKERREC_H
#define ALIMUONVQADATAMAKERREC_H
#ifndef ROOT_TObject
# include "TObject.h"
#endif
#ifndef ALIRECOPARAM_H
# include "AliRecoParam.h"
#endif
#ifndef ALIQAv1_H
# include "AliQAv1.h"
#endif
#include "AliQADataMakerRec.h"
class AliESDEvent;
class AliMUONRecoParam;
class AliRawReader;
class TH1;
class TObjArray;
class TTree;
class AliMUONVQADataMakerRec : public TObject
{
public:
AliMUONVQADataMakerRec(AliQADataMakerRec* master);
virtual ~AliMUONVQADataMakerRec();
virtual void InitDigits() = 0;
virtual void InitESDs() = 0;
virtual void InitRaws() = 0;
virtual void InitRecPoints() = 0;
virtual void MakeRaws(AliRawReader* rawReader) = 0;
virtual void MakeDigits(TTree* dig) = 0;
virtual void MakeRecPoints(TTree* recpo) = 0;
virtual void MakeESDs(AliESDEvent* esd) = 0;
virtual void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list) = 0;
virtual void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list) = 0;
virtual void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list) = 0;
virtual void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list) = 0;
virtual void ResetDetectorRaws(TObjArray* list) { ResetDetector(list); }
virtual void ResetDetectorRecPoints(TObjArray* list) { ResetDetector(list); }
virtual void ResetDetectorESDs(TObjArray* list) { ResetDetector(list); }
virtual void ResetDetectorDigits(TObjArray* list) { ResetDetector(list); }
void ForbidCloning(TH1* h, Bool_t v=kTRUE) { if (fMaster) fMaster->ForbidCloning(h,v); }
protected:
void ResetDetector(const TObjArray* list);
Int_t RunNumber() const;
AliRecoParam::EventSpecie_t CurrentEventSpecie() const;
const AliMUONRecoParam* GetRecoParam() const;
TObject* GetDigitsData(Int_t index) const {return fMaster ? fMaster->GetDigitsData(index) : 0x0;}
TObject* GetESDsData(Int_t index) const {return fMaster ? fMaster->GetESDsData(index) : 0x0;}
TObject* GetRecPointsData(Int_t index) const {return fMaster ? fMaster->GetRecPointsData(index) : 0x0;}
TObject* GetRawsData(Int_t index) const {return fMaster ? fMaster->GetRawsData(index) : 0x0;}
TH1* GetDigitsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetDigitsData(index, trCl) : 0x0;}
TH1* GetESDsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetESDsData(index, trCl) : 0x0;}
TH1* GetRecPointsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetRecPointsData(index, trCl) : 0x0;}
TH1* GetRawsData(Int_t index, int trCl) const {return fMaster ? fMaster->GetRawsData(index,trCl) : 0x0;}
TH1* GetMatchingRawsHisto(Int_t index, Int_t trigId) const {return fMaster ? fMaster->GetMatchingRawsHisto(index, trigId) : 0x0;}
Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE);
Int_t FillDigitsData(Int_t index, double x) {return fMaster ? fMaster->FillDigitsData(index,x) : 0;}
Int_t FillRawsData(Int_t index, double x) {return fMaster ? fMaster->FillRawsData(index,x) : 0;}
Int_t FillRecPointsData(Int_t index, double x) {return fMaster ? fMaster->FillRecPointsData(index,x) : 0;}
Int_t FillESDsData(Int_t index, double x) {return fMaster ? fMaster->FillESDsData(index,x) : 0;}
Int_t FillDigitsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillDigitsData(index,x,y) : 0;}
Int_t FillRawsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillRawsData(index,x,y) : 0;}
Int_t FillRecPointsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillRecPointsData(index,x,y) : 0;}
Int_t FillESDsData(Int_t index, double x, double y) {return fMaster ? fMaster->FillESDsData(index,x,y) : 0;}
Int_t FillDigitsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillDigitsData(index,x,y,w) : 0;}
Int_t FillRawsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillRawsData(index,x,y,w) : 0;}
Int_t FillRecPointsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillRecPointsData(index,x,y,w) : 0;}
Int_t FillESDsData(Int_t index, double x, double y, double w) {return fMaster ? fMaster->FillESDsData(index,x,y,w) : 0;}
void ClonePerTrigClass(AliQAv1::TASKINDEX_t task);
AliQADataMakerRec* fMaster;
private:
AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs);
AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs);
ClassDef(AliMUONVQADataMakerRec,1)
};
#endif
AliMUONVQADataMakerRec.h:1 AliMUONVQADataMakerRec.h:2 AliMUONVQADataMakerRec.h:3 AliMUONVQADataMakerRec.h:4 AliMUONVQADataMakerRec.h:5 AliMUONVQADataMakerRec.h:6 AliMUONVQADataMakerRec.h:7 AliMUONVQADataMakerRec.h:8 AliMUONVQADataMakerRec.h:9 AliMUONVQADataMakerRec.h:10 AliMUONVQADataMakerRec.h:11 AliMUONVQADataMakerRec.h:12 AliMUONVQADataMakerRec.h:13 AliMUONVQADataMakerRec.h:14 AliMUONVQADataMakerRec.h:15 AliMUONVQADataMakerRec.h:16 AliMUONVQADataMakerRec.h:17 AliMUONVQADataMakerRec.h:18 AliMUONVQADataMakerRec.h:19 AliMUONVQADataMakerRec.h:20 AliMUONVQADataMakerRec.h:21 AliMUONVQADataMakerRec.h:22 AliMUONVQADataMakerRec.h:23 AliMUONVQADataMakerRec.h:24 AliMUONVQADataMakerRec.h:25 AliMUONVQADataMakerRec.h:26 AliMUONVQADataMakerRec.h:27 AliMUONVQADataMakerRec.h:28 AliMUONVQADataMakerRec.h:29 AliMUONVQADataMakerRec.h:30 AliMUONVQADataMakerRec.h:31 AliMUONVQADataMakerRec.h:32 AliMUONVQADataMakerRec.h:33 AliMUONVQADataMakerRec.h:34 AliMUONVQADataMakerRec.h:35 AliMUONVQADataMakerRec.h:36 AliMUONVQADataMakerRec.h:37 AliMUONVQADataMakerRec.h:38 AliMUONVQADataMakerRec.h:39 AliMUONVQADataMakerRec.h:40 AliMUONVQADataMakerRec.h:41 AliMUONVQADataMakerRec.h:42 AliMUONVQADataMakerRec.h:43 AliMUONVQADataMakerRec.h:44 AliMUONVQADataMakerRec.h:45 AliMUONVQADataMakerRec.h:46 AliMUONVQADataMakerRec.h:47 AliMUONVQADataMakerRec.h:48 AliMUONVQADataMakerRec.h:49 AliMUONVQADataMakerRec.h:50 AliMUONVQADataMakerRec.h:51 AliMUONVQADataMakerRec.h:52 AliMUONVQADataMakerRec.h:53 AliMUONVQADataMakerRec.h:54 AliMUONVQADataMakerRec.h:55 AliMUONVQADataMakerRec.h:56 AliMUONVQADataMakerRec.h:57 AliMUONVQADataMakerRec.h:58 AliMUONVQADataMakerRec.h:59 AliMUONVQADataMakerRec.h:60 AliMUONVQADataMakerRec.h:61 AliMUONVQADataMakerRec.h:62 AliMUONVQADataMakerRec.h:63 AliMUONVQADataMakerRec.h:64 AliMUONVQADataMakerRec.h:65 AliMUONVQADataMakerRec.h:66 AliMUONVQADataMakerRec.h:67 AliMUONVQADataMakerRec.h:68 AliMUONVQADataMakerRec.h:69 AliMUONVQADataMakerRec.h:70 AliMUONVQADataMakerRec.h:71 AliMUONVQADataMakerRec.h:72 AliMUONVQADataMakerRec.h:73 AliMUONVQADataMakerRec.h:74 AliMUONVQADataMakerRec.h:75 AliMUONVQADataMakerRec.h:76 AliMUONVQADataMakerRec.h:77 AliMUONVQADataMakerRec.h:78 AliMUONVQADataMakerRec.h:79 AliMUONVQADataMakerRec.h:80 AliMUONVQADataMakerRec.h:81 AliMUONVQADataMakerRec.h:82 AliMUONVQADataMakerRec.h:83 AliMUONVQADataMakerRec.h:84 AliMUONVQADataMakerRec.h:85 AliMUONVQADataMakerRec.h:86 AliMUONVQADataMakerRec.h:87 AliMUONVQADataMakerRec.h:88 AliMUONVQADataMakerRec.h:89 AliMUONVQADataMakerRec.h:90 AliMUONVQADataMakerRec.h:91 AliMUONVQADataMakerRec.h:92 AliMUONVQADataMakerRec.h:93 AliMUONVQADataMakerRec.h:94 AliMUONVQADataMakerRec.h:95 AliMUONVQADataMakerRec.h:96 AliMUONVQADataMakerRec.h:97 AliMUONVQADataMakerRec.h:98 AliMUONVQADataMakerRec.h:99 AliMUONVQADataMakerRec.h:100 AliMUONVQADataMakerRec.h:101 AliMUONVQADataMakerRec.h:102 AliMUONVQADataMakerRec.h:103 AliMUONVQADataMakerRec.h:104 AliMUONVQADataMakerRec.h:105 AliMUONVQADataMakerRec.h:106 AliMUONVQADataMakerRec.h:107 AliMUONVQADataMakerRec.h:108 AliMUONVQADataMakerRec.h:109 AliMUONVQADataMakerRec.h:110 AliMUONVQADataMakerRec.h:111 AliMUONVQADataMakerRec.h:112 AliMUONVQADataMakerRec.h:113 AliMUONVQADataMakerRec.h:114 AliMUONVQADataMakerRec.h:115 AliMUONVQADataMakerRec.h:116 AliMUONVQADataMakerRec.h:117 AliMUONVQADataMakerRec.h:118 AliMUONVQADataMakerRec.h:119 AliMUONVQADataMakerRec.h:120 AliMUONVQADataMakerRec.h:121 AliMUONVQADataMakerRec.h:122 AliMUONVQADataMakerRec.h:123 AliMUONVQADataMakerRec.h:124 AliMUONVQADataMakerRec.h:125 AliMUONVQADataMakerRec.h:126 AliMUONVQADataMakerRec.h:127 AliMUONVQADataMakerRec.h:128 AliMUONVQADataMakerRec.h:129 AliMUONVQADataMakerRec.h:130 AliMUONVQADataMakerRec.h:131 AliMUONVQADataMakerRec.h:132 AliMUONVQADataMakerRec.h:133 AliMUONVQADataMakerRec.h:134 AliMUONVQADataMakerRec.h:135