ROOT logo
#ifndef ALIT0QACHECKER_H
#define ALIT0QACHECKER_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */


/* $Id$ */

//
//  Checks the quality assurance. 
//  By comparing with reference data
//  Skeleton for T0
//


// --- ROOT system ---
class TFile ; 
class TH1F ; 

// --- Standard library ---

// --- AliRoot header files ---
#include "AliQACheckerBase.h"
class AliT0QAChecker: public AliQACheckerBase {

public:
  AliT0QAChecker();    
  AliT0QAChecker(const AliT0QAChecker& qac);
  AliT0QAChecker& operator=(const AliT0QAChecker& qac);  
  // dtor
  virtual ~AliT0QAChecker();
  //Double_t CheckLaser(TObjArray *listrec ) const ;
  Double_t CheckRaw(TObjArray *listrec ) const ;
  Double_t CheckESD(TObjArray *listrec ) const ;
   
 
private:

  enum{
    kT0Fatal=-1,  ///< error is really serious
    kT0Error=0,   ///< normal error, i.e. something is wrong
    kT0Warning=1, ///< warning, i.e. might become an error later on
    kT0Info=2     ///< just so you know...
  };

  virtual void Check(Double_t * test, AliQAv1::ALITASK_t, TObjArray ** list, const AliDetectorRecoParam * recoParam) ;
  void EraseOldMessages(TH1* h) const;
  Double_t ConvertQualityFlagToDouble(int qualityFlag) const;
  Float_t GetMeanAboveThreshold(TH1F* hV, Float_t thr) const;
  void GetMeanAndRmsAroundMainMaximum(Float_t &meanHisto,Float_t &rmsHisto, TH1F *histo, int type) const;

  Float_t fMeanCFDFromGoodRunParam[24]; //mean CFD for each PMT from a good run
  Float_t fMeanLEDFromGoodRunParam[24]; //mean LED for each PMT from a good run
  Float_t fMeanQTCFromGoodRunParam[24]; //mean QTC for each PMT from a good run
  Float_t fCFDErrorThreshold; //CFD error threshold instead of the yellow band 
  Float_t fLEDErrorThreshold; //LED error threshold 
  Float_t fQTCErrorThreshold; //QTC error threshold 
  Float_t fRatioCFDEffLEDEffErrorThreshold; //ratio CFD to LED efficiency error threshold 
  Float_t fQTCEfficiencyErrorThreshold; //QTC efficiency error threshold 
  Int_t   fBCIDPeriodParam; // period 
  Int_t   fBCIDOffsetParam;//offset of TRM BCID 
  Int_t   fBCIDBandWidthParam; // tollerated deviation of BCID from diagonal 
  Float_t fTZeroAPlusCErrorThreshold; // constraint on the tzero vertex displacement in ps
  Float_t fTZeroAMinusCErrorThreshold; // constraint on the tzero time shift in ps 


 
  ClassDef(AliT0QAChecker,1)  // description 

};

#endif // AliT0QAChecker_H
 AliT0QAChecker.h:1
 AliT0QAChecker.h:2
 AliT0QAChecker.h:3
 AliT0QAChecker.h:4
 AliT0QAChecker.h:5
 AliT0QAChecker.h:6
 AliT0QAChecker.h:7
 AliT0QAChecker.h:8
 AliT0QAChecker.h:9
 AliT0QAChecker.h:10
 AliT0QAChecker.h:11
 AliT0QAChecker.h:12
 AliT0QAChecker.h:13
 AliT0QAChecker.h:14
 AliT0QAChecker.h:15
 AliT0QAChecker.h:16
 AliT0QAChecker.h:17
 AliT0QAChecker.h:18
 AliT0QAChecker.h:19
 AliT0QAChecker.h:20
 AliT0QAChecker.h:21
 AliT0QAChecker.h:22
 AliT0QAChecker.h:23
 AliT0QAChecker.h:24
 AliT0QAChecker.h:25
 AliT0QAChecker.h:26
 AliT0QAChecker.h:27
 AliT0QAChecker.h:28
 AliT0QAChecker.h:29
 AliT0QAChecker.h:30
 AliT0QAChecker.h:31
 AliT0QAChecker.h:32
 AliT0QAChecker.h:33
 AliT0QAChecker.h:34
 AliT0QAChecker.h:35
 AliT0QAChecker.h:36
 AliT0QAChecker.h:37
 AliT0QAChecker.h:38
 AliT0QAChecker.h:39
 AliT0QAChecker.h:40
 AliT0QAChecker.h:41
 AliT0QAChecker.h:42
 AliT0QAChecker.h:43
 AliT0QAChecker.h:44
 AliT0QAChecker.h:45
 AliT0QAChecker.h:46
 AliT0QAChecker.h:47
 AliT0QAChecker.h:48
 AliT0QAChecker.h:49
 AliT0QAChecker.h:50
 AliT0QAChecker.h:51
 AliT0QAChecker.h:52
 AliT0QAChecker.h:53
 AliT0QAChecker.h:54
 AliT0QAChecker.h:55
 AliT0QAChecker.h:56
 AliT0QAChecker.h:57
 AliT0QAChecker.h:58
 AliT0QAChecker.h:59
 AliT0QAChecker.h:60
 AliT0QAChecker.h:61
 AliT0QAChecker.h:62
 AliT0QAChecker.h:63
 AliT0QAChecker.h:64
 AliT0QAChecker.h:65
 AliT0QAChecker.h:66
 AliT0QAChecker.h:67
 AliT0QAChecker.h:68
 AliT0QAChecker.h:69
 AliT0QAChecker.h:70
 AliT0QAChecker.h:71
 AliT0QAChecker.h:72