Line data Source code
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 TH1;
34 : class TH2;
35 : class TCanvas;
36 : class TPaveText;
37 : class AliQAv1;
38 :
39 : class AliITSQASDDChecker: public TObject{
40 :
41 : public:
42 :
43 : AliITSQASDDChecker(); // ctor
44 : virtual ~AliITSQASDDChecker(); // dtor
45 : virtual Double_t Check(AliQAv1::ALITASK_t index, const TObjArray * list, const AliDetectorRecoParam * recoParam);
46 : virtual void SetTaskOffset(Int_t taskoffset);
47 : virtual void SetStepBit(const Double_t *steprange);
48 0 : virtual Double_t *GetStepBit(){return fStepBitSDD;};
49 : virtual void SetSDDLimits(const Float_t *lowvalue, const Float_t * highvalue);
50 0 : void SetEventSpecieForCheck(Int_t esforcheck=0){ fESforCheck=esforcheck;}
51 0 : Int_t GetEventSpecieForCheck() const {return fESforCheck;}
52 :
53 : virtual Bool_t MakeSDDImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode) ;
54 : Bool_t DrawHistos(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode );
55 :
56 : enum {kActiveMod,kFilledMod,kActiveWing,kFilledWing,
57 : kExcludedMod,kEmptyMod,kExcludedWing,kEmptyWing,
58 : kExcludedButFilledMod,kActiveButEmptyMod,
59 : kExcludedButFilledWing,kActiveButEmptyWing,
60 : kNumOfSDDCheckerCounters};
61 :
62 : private:
63 :
64 : void FillCounters(Int_t counters[kNumOfSDDCheckerCounters][3], TH1* hmodule, TH2* hlay3, TH2* hlay4);
65 : Int_t CheckCounters(Int_t counters[kNumOfSDDCheckerCounters][3], Int_t jl, Int_t neventsraw, TPaveText *ptext);
66 :
67 : AliITSQASDDChecker(const AliITSQASDDChecker& qac);
68 : AliITSQASDDChecker& operator = (const AliITSQASDDChecker& qac) ;
69 : Int_t fSubDetOffset; // checking operation starting point
70 : Double_t *fStepBitSDD; //step size for each QAbit(kINFO, kWARNING,kERROR,kFATAL)
71 : Float_t *fLowSDDValue; //low value of each QA bit range
72 : Float_t *fHighSDDValue; //High value of each QA bit range
73 : TObjArray *fCalibration; //TObjArray with Calibration SDD Objects
74 :
75 :
76 : Float_t fThresholdForRelativeOccupancy; // ThresholdForRelativeOccupancy (by module)
77 : Float_t fThresholdForRecToRawRatio; // ThresholdForRecToRawRatio (by module)
78 :
79 : TCanvas ** fImage ; //[AliRecoParam::kNSpecies]
80 : TPaveText * fPaveText[AliRecoParam::kNSpecies] ; //[AliRecoParam::kNSpecies]
81 :
82 : Int_t fESforCheck; //eventspecie of the list to check
83 :
84 : static const Int_t fgknSDDmodules = 260; // number of SDD modules
85 : static const Int_t fgkmodoffset = 240; // number of SPD modules
86 :
87 118 : ClassDef(AliITSQASDDChecker,8) // description
88 :
89 : };
90 :
91 : #endif // AliITSQASDDChecker_H
|