#ifndef ALIEMCALQACHECKER_H
#define ALIEMCALQACHECKER_H
class TFile ;
class TH1F ;
class TH1I ;
class TH1 ;
class TLine ;
class TText ;
class TObjArray;
class TPaveText ;
#include "AliQACheckerBase.h"
class AliEMCALLoader ;
class AliEMCALQAChecker: public AliQACheckerBase {
public:
enum HRawType_t {
kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
kNtotLG,kNtotHG,kSigHG,kSigLG,
kPedLG,kPedHG,
k2DRatioAmp,kRatioDist, kLEDMonRatio, kLEDMonRatioDist,
kNsmodTRU,
kSigTRU,kNtotTRU,
kNL0TRU, kTimeL0TRU,
kNL0FirstTRU, kTimeL0FirstTRU,
kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
kPedLGLEDMon,kPedHGLEDMon,
kAmpL1, kGL1, kJL1,
kGL1V0, kJL1V0, kSTUTRU
} ;
enum HRPType_t {kRecPE,kRecPM,kRecPDigM};
enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ;
AliEMCALQAChecker() ;
virtual ~AliEMCALQAChecker() ;
virtual void Init(const AliQAv1::DETECTORINDEX_t det) ;
protected:
virtual void Check( Double_t * test, AliQAv1::ALITASK_t index, TObjArray ** list, const AliDetectorRecoParam * ) ;
void CheckRaws(Double_t* test, TObjArray ** list);
void CheckRecPoints(Double_t* , TObjArray** ) const {;}
void CheckESD(Double_t* , TObjArray** ) const {;}
void CleanListOfFunctions(TList *list);
TH1* GetHisto(TObjArray* list, const char* hname, Int_t specie) const;
Double_t MarkHisto(TH1& histo, Double_t value) const;
private:
AliEMCALQAChecker(const AliEMCALQAChecker& qac);
AliEMCALQAChecker& operator = (const AliEMCALQAChecker& qac) ;
static const Int_t fgknSM = 20;
TText ** fTextSM ;
TLine * fLineCol ;
TLine * fLineRow[5] ;
TPaveText * fText ;
TPaveText * fTextL1[3];
ClassDef(AliEMCALQAChecker,4)
};
#endif // AliEMCALQAChecker_H