]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALQAChecker.h
Use the same Array for digits and RecPoints in all the events, just clear it per...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALQAChecker.h
1 #ifndef ALIEMCALQACHECKER_H
2 #define ALIEMCALQACHECKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /*
8   Checks the quality assurance. 
9   By comparing with reference data
10
11   Based on PHOS code written by
12   Y. Schutz CERN July 2007
13   
14   Implemented by Yaxian Mao (CERN Oct. 2009)
15 */
16
17
18 // --- ROOT system ---
19 class TFile ; 
20 class TH1F ; 
21 class TH1I ; 
22 class TH1 ;
23 class TLine ;
24 class TText ;
25 class TObjArray;
26 class TPaveText ;
27
28 // --- Standard library ---
29 // --- AliRoot header files ---
30 #include "AliQACheckerBase.h"
31 class AliEMCALLoader ; 
32
33 class AliEMCALQAChecker: public AliQACheckerBase {
34
35 public:
36   //Histograms for Raw data control
37   enum HRawType_t { 
38     // first normal Low Gain and High Gain info
39     kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
40     kNtotLG,kNtotHG,kSigHG,kSigLG,
41     kPedLG,kPedHG,
42     k2DRatioAmp,kRatioDist, kLEDMonRatio, kLEDMonRatioDist,
43     // then TRU info
44     kNsmodTRU,kTimeTRU,
45     kSigTRU,kNtotTRU,
46     kPedTRU,
47     kNL0TRU, kTimeL0TRU,
48     // and also LED Mon info
49     kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
50     kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
51     kPedLGLEDMon,kPedHGLEDMon
52   } ;
53         //Histograms for RecPoints  control
54         enum HRPType_t {kRecPE,kRecPM,kRecPDigM};
55         
56         //Histograms for ESDs  control
57         enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ;
58
59   AliEMCALQAChecker() ;        // ctor
60   AliEMCALQAChecker(const AliEMCALQAChecker& qac);
61   AliEMCALQAChecker& operator = (const AliEMCALQAChecker& qac) ;
62   virtual ~AliEMCALQAChecker() ; // dtor
63         
64   virtual void   Init(const AliQAv1::DETECTORINDEX_t det) ; 
65
66 protected:
67                 
68         virtual void Check( Double_t * test, AliQAv1::ALITASK_t index, TObjArray ** list,  const AliDetectorRecoParam * /*recoParam*/) ;
69         //virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;        
70         
71   void CheckRaws(Double_t* test, TObjArray ** list);
72   void CheckRecPoints(Double_t* /*test*/, TObjArray** /*list*/){;}
73   void CheckESD(Double_t* /*test*/, TObjArray** /*list*/){;}
74         TH1* GetHisto(TObjArray* list, const char* hname, Int_t specie) const;
75         Double_t MarkHisto(TH1& histo, Double_t value) const;
76         
77         
78 private:
79         //TH1F * htemp; //a tempory histrogram for getting the mean and sigma
80         //Double_t fMean; //mean value 
81         //Double_t fWidth; //sigma of the distribution
82   static const Int_t fknSM = 4;    //! number of current SM
83 //  TLine **     fLine       ; //! line to distinguish the different SM
84 //  TLine **     fHref       ; //! Line marking the average value for each SM
85   TText **    fTextSM        ; //! Text info for each SM
86   TLine *     fLineCol       ; //! line to distinguish the different SM side: A side and C side
87   TLine *     fLineRow       ; //! line to distinguish the different SM sector 0 and 1 
88   TPaveText * fText          ;  //! Information text for the quality of each SM
89   ClassDef(AliEMCALQAChecker,2)  // description 
90
91 };
92
93 #endif // AliEMCALQAChecker_H