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"
24 class AliQADataMakerRec;
25 class AliMUONRecoParam;
31 class AliMUONVQADataMakerRec : public TObject
34 AliMUONVQADataMakerRec(AliQADataMakerRec* master);
35 virtual ~AliMUONVQADataMakerRec();
37 /// Initialization for handling Digits
38 virtual void InitDigits() = 0;
39 /// Initialization for handling ESD
40 virtual void InitESDs() = 0;
41 /// Initialization for handling Raws
42 virtual void InitRaws() = 0;
43 /// Initialization for handling RecPoints
44 virtual void InitRecPoints() = 0;
46 /// Produces QA data for Raws
47 virtual void MakeRaws(AliRawReader* rawReader) = 0;
48 /// Produces QA data for Digits
49 virtual void MakeDigits(TTree* dig) = 0;
50 /// Produces QA data for RecPoints
51 virtual void MakeRecPoints(TTree* recpo) = 0;
52 /// Produces QA data for ESD
53 virtual void MakeESDs(AliESDEvent* esd) = 0;
55 /// Wrap up things at each cycle for Raws
56 virtual void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list) = 0;
57 /// Wrap up things at each cycle for RecPoints
58 virtual void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list) = 0;
59 /// Wrap up things at each cycle for ESD
60 virtual void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list) = 0;
61 /// Wrap up things at each cycle for Digits
62 virtual void EndOfDetectorCycleDigits(Int_t specie, TObjArray** list) = 0;
64 /// Reset anything that must be reset for Raws
65 virtual void ResetDetectorRaws(TObjArray* list) { ResetDetector(list); }
66 /// Reset anything that must be reset for RecPoints
67 virtual void ResetDetectorRecPoints(TObjArray* list) { ResetDetector(list); }
68 /// Reset anything that must be reset for ESD
69 virtual void ResetDetectorESDs(TObjArray* list) { ResetDetector(list); }
70 /// Reset anything that must be reset for Digits
71 virtual void ResetDetectorDigits(TObjArray* list) { ResetDetector(list); }
75 void ResetDetector(TObjArray* list);
77 Int_t RunNumber() const;
79 AliRecoParam::EventSpecie_t CurrentEventSpecie() const;
81 const AliMUONRecoParam* GetRecoParam() const;
83 TH1* GetDigitsData(Int_t index) const;
84 TH1* GetESDsData(Int_t index) const;
85 TH1* GetRecPointsData(Int_t index) const;
86 TH1* GetRawsData(Int_t index) const;
88 Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
89 Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
90 Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE);
91 Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE);
95 AliMUONVQADataMakerRec(const AliMUONVQADataMakerRec& rhs);
97 AliMUONVQADataMakerRec& operator=(const AliMUONVQADataMakerRec& rhs);
99 AliQADataMakerRec* fMaster; ///< master to get access to its methods
101 ClassDef(AliMUONVQADataMakerRec,1) // Interface for a MUON QADataMakerRec