add external setter for MC parents list
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALQAChecker.h
CommitLineData
94594e5d 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
9e47432c 13
14 Implemented by Yaxian Mao (CERN Oct. 2009)
94594e5d 15*/
16
17
18// --- ROOT system ---
19class TFile ;
20class TH1F ;
21class TH1I ;
9e47432c 22class TH1 ;
23class TLine ;
38986b78 24class TText ;
9e47432c 25class TObjArray;
38986b78 26class TPaveText ;
94594e5d 27
28// --- Standard library ---
94594e5d 29// --- AliRoot header files ---
30#include "AliQACheckerBase.h"
31class AliEMCALLoader ;
32
33class AliEMCALQAChecker: public AliQACheckerBase {
34
35public:
38986b78 36 //Histograms for Raw data control
37 enum HRawType_t {
38 // first normal Low Gain and High Gain info
9e47432c 39 kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
00957c37 40 kNtotLG,kNtotHG,kSigHG,kSigLG,
38986b78 41 kPedLG,kPedHG,
42 k2DRatioAmp,kRatioDist, kLEDMonRatio, kLEDMonRatioDist,
43 // then TRU info
a2e583d8 44 kNsmodTRU,
38986b78 45 kSigTRU,kNtotTRU,
38986b78 46 kNL0TRU, kTimeL0TRU,
a2e583d8 47 kNL0FirstTRU, kTimeL0FirstTRU,
38986b78 48 // and also LED Mon info
49 kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
50 kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
a2e583d8 51 kPedLGLEDMon,kPedHGLEDMon,
52 //and STU info
53 kAmpL1, kGL1, kJL1,
54 kGL1V0, kJL1V0, kSTUTRU
38986b78 55 } ;
9e47432c 56 //Histograms for RecPoints control
57 enum HRPType_t {kRecPE,kRecPM,kRecPDigM};
58
59 //Histograms for ESDs control
60 enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ;
94594e5d 61
9e47432c 62 AliEMCALQAChecker() ; // ctor
9e47432c 63 virtual ~AliEMCALQAChecker() ; // dtor
64
65 virtual void Init(const AliQAv1::DETECTORINDEX_t det) ;
66
67protected:
68
afae9650 69 virtual void Check( Double_t * test, AliQAv1::ALITASK_t index, TObjArray ** list, const AliDetectorRecoParam * /*recoParam*/) ;
70 //virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;
9e47432c 71
a42ceb0e 72 void CheckRaws(Double_t* test, TObjArray ** list);
afae9650 73 void CheckRecPoints(Double_t* /*test*/, TObjArray** /*list*/) const {;}
74 void CheckESD(Double_t* /*test*/, TObjArray** /*list*/) const {;}
a2e583d8 75 void CleanListOfFunctions(TList *list);
afae9650 76 TH1* GetHisto(TObjArray* list, const char* hname, Int_t specie) const;
77 Double_t MarkHisto(TH1& histo, Double_t value) const;
9e47432c 78
79
80private:
f9978c38 81 AliEMCALQAChecker(const AliEMCALQAChecker& qac);
82 AliEMCALQAChecker& operator = (const AliEMCALQAChecker& qac) ;
9e47432c 83 //TH1F * htemp; //a tempory histrogram for getting the mean and sigma
84 //Double_t fMean; //mean value
85 //Double_t fWidth; //sigma of the distribution
b8769ad2 86 static const Int_t fgknSM = 12; //! number of current SM
38986b78 87// TLine ** fLine ; //! line to distinguish the different SM
88// TLine ** fHref ; //! Line marking the average value for each SM
89 TText ** fTextSM ; //! Text info for each SM
90 TLine * fLineCol ; //! line to distinguish the different SM side: A side and C side
b8769ad2 91 TLine * fLineRow[5] ; //! line to distinguish the different SM sectors (0-5)
38986b78 92 TPaveText * fText ; //! Information text for the quality of each SM
a2e583d8 93 TPaveText * fTextL1[3]; //! Information text for the quality of L1 plots (3 plots in total)
afae9650 94 ClassDef(AliEMCALQAChecker,4) // description
94594e5d 95
96};
97
98#endif // AliEMCALQAChecker_H