MUON DAs
[u/mrichter/AliRoot.git] / ITS / ITSbase / AliITSQAChecker.h
1 #ifndef ALIITSQACHECKER_H
2 #define ALIITSQACHECKER_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 //
10 //  Checks the quality assurance. 
11 //  By comparing with reference data
12 //  INFN Torino
13 //  W.Ferrarese  P.Cerello  Mag 2008
14 //
15
16
17 // --- ROOT system ---
18 class TFile ; 
19 class TH2F ;  
20
21 // --- AliRoot header files ---
22 #include "AliQAv1.h"
23 #include "AliQACheckerBase.h"
24
25 class AliITSQASPDChecker;
26 class AliITSQASDDChecker;
27 class AliITSQASSDChecker;
28 class AliITSLoader ; 
29
30 class AliITSQAChecker: public AliQACheckerBase {
31
32 public:
33   AliITSQAChecker(Bool_t kMode = kFALSE, Short_t subDet = 0, Short_t ldc = 0) ;         // ctor
34   virtual ~AliITSQAChecker();// dtor
35   void SetMode(Bool_t kMode) { fkOnline = kMode; }
36   void SetSubDet(Short_t subdet) { fDet = subdet; }
37   void SetLDC(Short_t ldc) { fLDC = ldc; }
38   Bool_t GetMode() const { return fkOnline; };
39   Short_t GetSubDet() const { return fDet; } ;
40   Short_t GetLDC() const { return fLDC; }  ;
41   virtual void SetTaskOffset(Int_t SPDOffset, Int_t SDDOffset, Int_t SSDOffset);
42   virtual void SetHisto(Int_t SPDhisto, Int_t SDDhisto, Int_t SSDhisto);
43   virtual void SetDetTaskOffset(Int_t subdet=0,Int_t offset=0);
44   virtual void InitQACheckerLimits();
45   virtual void CreateStepForBit(Double_t histonumb,Double_t *steprange);
46   virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const;
47   virtual void SetDetHisto(Int_t subdet=0,Int_t histo=0);
48
49   virtual Int_t GetSPDHisto(){return fSPDHisto;} ;
50   virtual Int_t GetSDDHisto(){return fSDDHisto;} ;
51   virtual Int_t GetSSDHisto(){return fSSDHisto;} ;
52
53   virtual  void   MakeImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ; 
54   virtual  void   MakeITSImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) { AliQACheckerBase::MakeImage(list,task, mode);} 
55
56 protected:
57   virtual void Check(Double_t * test, AliQAv1::ALITASK_t index, TObjArray ** list, const AliDetectorRecoParam * recoParam) ;
58   virtual void SetSPDTaskOffset(Int_t SPDOffset){fSPDOffset = SPDOffset;} ;
59   virtual void SetSDDTaskOffset(Int_t SDDOffset){fSDDOffset = SDDOffset;} ;
60   virtual void SetSSDTaskOffset(Int_t SSDOffset){fSSDOffset = SSDOffset;} ;
61
62   virtual void SetSPDHisto(Int_t SPDhisto){fSPDHisto = SPDhisto;} ;
63   virtual void SetSDDHisto(Int_t SDDhisto){fSDDHisto = SDDhisto;} ;
64   virtual void SetSSDHisto(Int_t SSDhisto){fSSDHisto = SSDhisto;} ;
65
66 private:
67   AliITSQAChecker(const AliITSQAChecker& qac);
68   AliITSQAChecker& operator=(const AliITSQAChecker& qac);  
69
70   Bool_t  fkOnline; //online=kTRUE offline=kFALSE
71   Short_t fDet;   //0=all 1=SPD 2=SDD 3=SSD
72   Short_t fLDC; //LDC number
73
74   Int_t fSPDOffset; //starting point for the QACheck list SPD
75   Int_t fSDDOffset; //starting point for the QACheck list SDD
76   Int_t fSSDOffset; //starting point for the QACheck list SSD
77
78   Int_t fSPDHisto; //number of histograms for SPD
79   Int_t fSDDHisto; //number of histograms for SDD
80   Int_t fSSDHisto; //number of histograms for SSD
81
82   AliITSQASPDChecker *fSPDChecker;  // SPD Checker
83   AliITSQASDDChecker *fSDDChecker;  // SDD Checker
84   AliITSQASSDChecker *fSSDChecker;  // SSD Checker
85
86   ClassDef(AliITSQAChecker,3)  // description 
87
88 };
89
90 #endif // AliITSQAChecker_H