X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliQADataMaker.h;h=2496007764b1efac9618dd873471c28bfd989762;hb=e1a60af4679383a14cc230f57e6a54f584e281cf;hp=320ef2fceed8bd09d51a49d130dd7ad29c101d5b;hpb=6e65319ce24f5ff41a6a7dcfa151478deee2aa0e;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliQADataMaker.h b/STEER/AliQADataMaker.h index 320ef2fceed..2496007764b 100644 --- a/STEER/AliQADataMaker.h +++ b/STEER/AliQADataMaker.h @@ -18,6 +18,7 @@ #include #include #include +//class TCanvas ; class TClonesArray; class TDirectory; class TFile; @@ -30,68 +31,82 @@ class AliDetectorRecoParam; // --- Standard library --- // --- AliRoot header files --- -#include "AliQA.h" +#include "AliQAv1.h" +#include "AliRecoParam.h" class AliQADataMaker: public TNamed { public: - AliQADataMaker(const char * name="", const char * title="") ; // ctor + AliQADataMaker(const Char_t * name="", const Char_t * title="") ; // ctor AliQADataMaker(const AliQADataMaker& qadm) ; - virtual ~AliQADataMaker() {} // dtor + virtual ~AliQADataMaker() ; // dtor - virtual Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE) = 0 ; - virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE) = 0 ; - virtual Int_t Add2HitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE) = 0 ; - virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE) = 0 ; - virtual Int_t Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t saveForCorr = kFALSE) = 0 ; - virtual Int_t Add2SDigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE) = 0 ; - virtual void Exec(AliQA::TASKINDEX_t, TObject * data) = 0 ; - virtual void EndOfCycle() = 0 ; - virtual void EndOfCycle(AliQA::TASKINDEX_t) = 0 ; + virtual Int_t Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE) = 0 ; + virtual Int_t Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE) = 0 ; + virtual Int_t Add2HitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE) = 0 ; + virtual Int_t Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE) = 0 ; + 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) = 0 ; + virtual Int_t Add2SDigitsList(TH1 * hist, const Int_t index, const Bool_t expert = kFALSE, const Bool_t image = kFALSE) = 0 ; + virtual void Exec(AliQAv1::TASKINDEX_t, TObject * data) = 0 ; + virtual void EndOfCycle() = 0 ; + virtual void EndOfCycle(AliQAv1::TASKINDEX_t ) = 0 ; + virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list ) = 0 ; void Finish() const ; virtual TH1 * GetDigitsData(const Int_t index) = 0 ; virtual TH1 * GetESDsData(const Int_t index) = 0 ; + AliRecoParam::EventSpecie_t GetEventSpecie() const { return fEventSpecie ; } virtual TH1 * GetHitsData(const Int_t index) = 0 ; virtual TH1 * GetRecPointsData(const Int_t index) = 0 ; virtual TH1 * GetRawsData(const Int_t index) = 0 ; virtual TH1 * GetSDigitsData(const Int_t index) = 0 ; - const char * GetDetectorDirName() const { return fDetectorDirName.Data() ; } - TList * GetParameterList() const { return fParameterList ; } - const Int_t Increment() { return ++fCycleCounter ; } - virtual TObjArray * Init(AliQA::TASKINDEX_t, Int_t cycles = -1) = 0 ; - virtual void Init(AliQA::TASKINDEX_t, TObjArray * list, Int_t run, Int_t cycles = -1) = 0 ; - const Bool_t IsCycleDone() const { return fCycleCounter > fCycle ? kTRUE : kFALSE ; } + const Char_t * GetDetectorDirName() const { return fDetectorDirName.Data() ; } + TList * GetParameterList() const { return fParameterList[AliRecoParam::AConvert(fEventSpecie)] ; } + virtual const AliDetectorRecoParam * GetRecoParam() { return NULL ; } + Int_t GetRun() const { return fRun ; } + Int_t Increment() { return ++fCycleCounter ; } + virtual TObjArray** Init(AliQAv1::TASKINDEX_t, Int_t cycles = -1) = 0 ; + TObjArray* Init(AliQAv1::TASKINDEX_t, AliRecoParam::EventSpecie_t es, Int_t cycles = -1) ; + virtual void Init(AliQAv1::TASKINDEX_t, TObjArray ** list, Int_t run, Int_t cycles = -1) = 0 ; + virtual void InitDigits() = 0 ; + virtual void InitESDs() = 0 ; + virtual void InitRaws() = 0 ; + virtual void InitRecPoints() = 0 ; + Bool_t IsCycleDone() const { return fCycleCounter > fCycle ? kTRUE : kFALSE ; } + Bool_t IsValidEventSpecie(Int_t eventSpecieIndex, TObjArray ** list) ; void Reset() { fCycleCounter = 0 ; } + virtual void ResetDetector(AliQAv1::TASKINDEX_t task) = 0 ; void SetCycle(Int_t nevts) { fCycle = nevts ; } - virtual void StartOfCycle(Int_t run = -1) = 0 ; - virtual void StartOfCycle(AliQA::TASKINDEX_t, Int_t run, const Bool_t sameCycle = kFALSE) = 0 ; + void SetWriteExpert() { fWriteExpert = kTRUE ; } + virtual void StartOfCycle(Int_t run = -1) = 0 ; + virtual void StartOfCycle(AliQAv1::TASKINDEX_t, Int_t run, const Bool_t sameCycle = kFALSE) = 0 ; + void UnSetWriteExpert() { fWriteExpert = kFALSE ; } + Bool_t WriteExpert() { return fWriteExpert ; } + void SetEventSpecie(AliRecoParam::EventSpecie_t es) { fEventSpecie = es ; } + void SetEventSpecie(Int_t es) { fEventSpecie = AliRecoParam::Convert(es) ; } + virtual void SetRecoParam(const AliDetectorRecoParam *) {;} + + virtual void InitRecPointsForTracker() {;} // needed by AliGlobalQADataMaker - virtual void SetRecoParam(const AliDetectorRecoParam */*param*/) { return; } - protected: - Int_t Add2List(TH1 * hist, const Int_t index, TObjArray * list, const Bool_t expert = kFALSE, const Bool_t saveForCorr = kFALSE) ; - virtual void DefaultEndOfDetectorCycle(AliQA::TASKINDEX_t task ) ; - virtual void EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * obj ) = 0 ; - TObject * GetData(TObjArray * list, const Int_t index) ; - virtual void InitDigits() = 0 ; - virtual void InitESDs() = 0 ; + Int_t Add2List(TH1 * hist, const Int_t index, TObjArray ** list, const Bool_t expert = kFALSE, const Bool_t image = kFALSE, const Bool_t saveForCorr = kFALSE) ; + TH1 * CloneMe(TH1 * hist, Int_t specie) const ; + virtual void DefaultEndOfDetectorCycle(AliQAv1::TASKINDEX_t task ) ; + TObject * GetData(TObjArray ** list, const Int_t index) ; virtual void InitHits() = 0 ; //virtual void InitRecParticles() = 0 ; - virtual void InitRecPoints() = 0 ; - virtual void InitRaws() = 0 ; virtual void InitSDigits() = 0 ; //virtual void InitTrackSegments() = 0 ; virtual void MakeESDs(AliESDEvent * ) = 0 ; - virtual void MakeHits(TClonesArray * ) = 0 ; + virtual void MakeHits() = 0 ; virtual void MakeHits(TTree * ) = 0 ; - virtual void MakeDigits(TClonesArray * ) = 0 ; + virtual void MakeDigits() = 0 ; virtual void MakeDigits(TTree * ) = 0 ; - //virtual void MakeRecParticles(TClonesArray * ) = 0 ; + //virtual void MakeRecParticles( ) = 0 ; virtual void MakeRaws(AliRawReader *) = 0 ; virtual void MakeRecPoints(TTree * ) = 0 ; - virtual void MakeSDigits(TClonesArray * ) = 0 ; + virtual void MakeSDigits() = 0 ; virtual void MakeSDigits(TTree * ) = 0 ; //virtual void MakeTrackSegments(TTree * ) = 0 ; void ResetCycle() { fCurrentCycle++ ; fCycleCounter = 0 ; } @@ -103,14 +118,17 @@ protected: Int_t fCurrentCycle ; //! current cycle number Int_t fCycle ; //! length (# events) of the QA data acquisition cycle Int_t fCycleCounter ; //! cycle counter - TList * fParameterList ; //! list of QA data parameters + Bool_t fWriteExpert ; //! flag to write or not the expert QA data + TList ** fParameterList ; //! list of QA data parameters Int_t fRun ; //! run number - + AliRecoParam::EventSpecie_t fEventSpecie ; //! event specie, see AliRecoParam + TClonesArray * fDigitsArray ; //! array to hold the sdigits + private: AliQADataMaker& operator = (const AliQADataMaker& /*qadm*/); // Not implemented - ClassDef(AliQADataMaker,1) // description + ClassDef(AliQADataMaker,3) // description };