small correction - Setters and getters for EventSpecie for SDD added (Melinda)
[u/mrichter/AliRoot.git] / ITS / AliITSQASDDChecker.h
1 #ifndef ALIITSQASDDCHECKER_H
2 #define ALIITSQASDDCHECKER_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 //  P. Cerello - apr 2008
14 //
15
16 #include "AliQAv1.h"
17 //#include "TPad.h"
18 // --- ROOT system ---
19 class TFile;
20 class TH2F; 
21
22 // --- AliRoot header files ---
23
24 class AliQACheckerBase;
25 class AliQAChecker;
26 class AliITSQAChecker;
27 class AliITSCalibrationSDD;
28 class AliITSLoader;
29 class TSystem;
30 class AliQAManager;
31 class AliLog;
32 class TF1;
33 class TCanvas;
34 class AliQAv1;
35
36 class AliITSQASDDChecker: public TObject{
37
38 public:
39   AliITSQASDDChecker():
40         fSubDetOffset(0),
41         fStepBitSDD(NULL),
42         fLowSDDValue(NULL),
43         fHighSDDValue(NULL),
44         fCalibration(NULL),
45         fThresholdForRelativeOccupancy(0.01),
46         fThresholdForRecToRawRatio(0.04),
47         fImage(NULL),
48         fESforCheck(0)
49         {;}          // ctor
50   AliITSQASDDChecker& operator = (const AliITSQASDDChecker& qac) ; //operator =
51   virtual ~AliITSQASDDChecker(); // dtor
52   virtual Double_t Check(AliQAv1::ALITASK_t index, const TObjArray * list, const AliDetectorRecoParam * recoParam);
53   virtual void SetTaskOffset(Int_t taskoffset);
54   virtual void SetStepBit(const Double_t *steprange);
55   virtual Double_t *GetStepBit(){return fStepBitSDD;};
56   virtual void SetSDDLimits(const Float_t *lowvalue, const Float_t * highvalue);
57   void SetEventSpecieForCheck(Int_t esforcheck=0){ fESforCheck=esforcheck;}
58   Int_t GetEventSpecieForCheck(){return  fESforCheck;}
59
60   virtual Bool_t   MakeSDDImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ; 
61   Bool_t MakeSDDRawsImage(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode );//{AliInfo("The method for raw image has been called\n");}
62   Bool_t MakeSDDRecPointsImage(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode);//{AliInfo("The method for recpoint image has been called\n");}
63
64
65  private:
66   
67   AliITSQASDDChecker(const AliITSQASDDChecker& qac):TObject(),
68     fSubDetOffset(qac.fSubDetOffset),
69     fStepBitSDD(qac.fStepBitSDD),
70     fLowSDDValue(qac.fLowSDDValue),
71     fHighSDDValue(qac.fHighSDDValue),
72     fCalibration(qac.fCalibration),
73     fThresholdForRelativeOccupancy(qac.fThresholdForRelativeOccupancy),
74     fThresholdForRecToRawRatio(qac.fThresholdForRecToRawRatio),
75     fImage(qac.fImage),
76     fESforCheck(qac.fESforCheck) 
77       {;} // cpy ctor   
78
79     Int_t fSubDetOffset;            // checking operation starting point
80     Double_t *fStepBitSDD;          //step size for each QAbit(kINFO, kWARNING,kERROR,kFATAL)
81     Float_t *fLowSDDValue;          //low value of each QA bit range 
82     Float_t *fHighSDDValue;         //High value of each QA bit range
83     TObjArray *fCalibration;        //TObjArray with Calibration SDD Objects
84         
85     
86     Float_t fThresholdForRelativeOccupancy;  // ThresholdForRelativeOccupancy (by module)
87     Float_t fThresholdForRecToRawRatio; // ThresholdForRecToRawRatio (by module)
88     
89     TCanvas **    fImage          ; //[AliRecoParam::kNSpecies] 
90
91     Int_t fESforCheck; //eventspecie of the list to check
92
93     static const Int_t fgknSDDmodules = 260; // number of SDD modules
94     static const Int_t fgkmodoffset = 240;   // number of SPD modules
95
96     ClassDef(AliITSQASDDChecker,6)  // description 
97       
98 };
99
100 #endif // AliITSQASDDChecker_H