Bug fix and code clean-up (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 // --- ROOT system ---
18 class TFile;
19 class TH2F; 
20
21 // --- AliRoot header files ---
22
23 class AliQACheckerBase;
24 class AliITSQAChecker;
25 class AliITSCalibrationSDD;
26 class AliITSLoader;
27 class TSystem;
28 class AliQAManager;
29 class AliLog;
30 class TF1;
31 class TCanvas;
32
33 class AliITSQASDDChecker: public TObject {
34
35 public:
36   AliITSQASDDChecker():
37         fSubDetOffset(0),
38         fStepBitSDD(NULL),
39         fLowSDDValue(NULL),
40         fHighSDDValue(NULL),
41         fCalibration(NULL),
42         fThresholdForRelativeOccupancy(0.01),
43         fThresholdForRecToRawRatio(0.04) 
44         {;}          // ctor
45   AliITSQASDDChecker& operator = (const AliITSQASDDChecker& qac) ; //operator =
46   virtual ~AliITSQASDDChecker(); // dtor
47   virtual Double_t Check(AliQAv1::ALITASK_t index, const TObjArray * list, const AliDetectorRecoParam * recoParam);
48   virtual void SetTaskOffset(Int_t taskoffset);
49   virtual void SetStepBit(const Double_t *steprange);
50   virtual Double_t *GetStepBit(){return fStepBitSDD;};
51   virtual void SetSDDLimits(const Float_t *lowvalue, const Float_t * highvalue);
52 private:
53   AliITSQASDDChecker(const AliITSQASDDChecker& qac):TObject(),
54         fSubDetOffset(qac.fSubDetOffset),
55         fStepBitSDD(qac.fStepBitSDD),
56         fLowSDDValue(qac.fLowSDDValue),
57         fHighSDDValue(qac.fHighSDDValue),
58         fCalibration(qac.fCalibration),
59         fThresholdForRelativeOccupancy(qac.fThresholdForRelativeOccupancy),
60         fThresholdForRecToRawRatio(qac.fThresholdForRecToRawRatio) 
61         {;} // cpy ctor   
62   Int_t fSubDetOffset;            // checking operation starting point
63   Double_t *fStepBitSDD;          //step size for each QAbit(kINFO, kWARNING,kERROR,kFATAL)
64   Float_t *fLowSDDValue;          //low value of each QA bit range 
65   Float_t *fHighSDDValue;         //High value of each QA bit range
66   TObjArray *fCalibration;        //TObjArray with Calibration SDD Objects
67         
68
69
70         Float_t fThresholdForRelativeOccupancy;  // ThresholdForRelativeOccupancy (by module)
71         Float_t fThresholdForRecToRawRatio; // ThresholdForRecToRawRatio (by module)
72
73   static const Int_t fgknSDDmodules = 260; // number of SDD modules
74   static const Int_t fgkmodoffset = 240;   // number of SPD modules
75   ClassDef(AliITSQASDDChecker,4)  // description 
76
77 };
78
79 #endif // AliITSQASDDChecker_H