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


//  Produces the data needed to calculate the quality assurance  
//  All data must be mergeable objects
//  Handles ESDs and RAWs
//  Histos will be used for Raw Data control and monitoring

// --- ROOT system ---
class TH1F; 
class TH1I; 
class TObjArray; 

// --- Standard library ---

// --- AliRoot header files ---
#include "AliQADataMakerRec.h"

class AliCDBManager;
class AliCDBStorage;
class AliADCalibData;

class AliADQADataMakerRec: public AliQADataMakerRec {

public:
  // Histograms for Raw data control
  enum HRawType_t {kPedestalInt0,kPedestalInt1,
  		   kChargeEoI,kChargeEoIInt0,kChargeEoIInt1,
		   kWidth,kHPTDCTime,kWidthBB,kWidthBG,kHPTDCTimeBB,kHPTDCTimeBG,
		   kChargeVsClockInt0,kChargeVsClockInt1,kBBFlagVsClock,kBGFlagVsClock,kBBFlagsPerChannel,kBGFlagsPerChannel,
		   kMultiADA,kMultiADC,kChargeADA,kChargeADC,kChargeAD, 
		   kADATime,kADCTime,kDiffTime,kTimeADAADC,
		   kNCoincADA,kNCoincADC,kPairDiffTime,kPairDiffCharge};
	
public:
  AliADQADataMakerRec() ;            // constructor
  AliADQADataMakerRec(const AliADQADataMakerRec& qadm) ;   
  AliADQADataMakerRec& operator = (const AliADQADataMakerRec& qadm) ;
  virtual ~AliADQADataMakerRec() {;} // destructor
  AliADCalibData *GetCalibData() const;
  virtual void   InitRaws() ; 
  
protected: 
  AliADCalibData *fCalibData;        //! calibration data
   
private:
  virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
  virtual void   InitESDs() ; 
  virtual void   InitDigits();  
  virtual void   MakeESDs(AliESDEvent * esd) ;
  virtual void   MakeRaws(AliRawReader* rawReader) ;
  virtual void   MakeDigits() ; 
  virtual void   MakeDigits(TTree* digitTree) ; 
  virtual void   StartOfDetectorCycle() ; 
  Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
  
  Int_t   fEven[16];                  // even charge integrators
  Int_t   fOdd[16];                   // odd charge intergators
  Float_t fADCmean[32];              // mean adc per integrator
  size_t fTrendingUpdateTime;         // trending histos update time
  UInt_t fCycleStartTime;             // timestamp of QA start-of-cycle
  UInt_t fCycleStopTime;              // timestamp of QA end-of-cycle
  Float_t            fTimeOffset[16]; //! HPTDC time offsets channel by channel
  TF1*               fTimeSlewing;    //! Function for time slewing correction

  ClassDef(AliADQADataMakerRec,4)  // description 

};

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