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


/* $Id: $ */

/*
  Based on AliPHOSQADataMaker
  Produces the data needed to calculate the quality assurance. 
  All data must be mergeable objects.
  P. Christiansen, Lund, January 2008
*/


// --- ROOT system ---

// --- Standard library ---

// --- AliRoot header files ---
#include <AliQADataMakerRec.h>
#include <AliRawReader.h>
#include <AliTPCAltroMapping.h>

#include <AliTPCdataQA.h>

class AliTPCQADataMakerRec: public AliQADataMakerRec {

public:
  enum HRawsType_t         {kRawsOccupancyVsSector=0, kRawsQVsSector, kRawsQmaxVsSector, kRawsOccupancy2dVsSector} ; 
  enum HDigitType_t        {kDigitsADC=0} ; 
  enum HRECPOINTsType_t    {kClusters=0, kRatio, kPt} ; 
  enum HESDsType_t         {kQmaxShort=0, kQmaxMedium, kQmaxLong, kQShort, kQMedium, kQLong, kRow} ; 

  AliTPCQADataMakerRec() ;          // ctor
  AliTPCQADataMakerRec(const AliTPCQADataMakerRec& qadm) ;   
  AliTPCQADataMakerRec& operator = (const AliTPCQADataMakerRec& qadm) ;
  virtual ~AliTPCQADataMakerRec(); 
  
  Int_t  GetRawFirstTimeBin() const { return fRawFirstTimeBin; }
  Int_t  GetRawLastTimeBin()  const { return fRawLastTimeBin;  }
  
  void  SetRawRangeTime(Int_t tMin, Int_t tMax){ fRawFirstTimeBin=tMin; fRawLastTimeBin=tMax;}
  
 private:
  virtual void   StartOfDetectorCycle() {}; // empty 
  virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray** list) ;
  
  // ESD QA
  virtual void   InitESDs() ; 
  virtual void   MakeESDs(AliESDEvent *esd) ;
  
  // Raw QA
  virtual void   InitRaws();
  virtual void   MakeRaws(AliRawReader* rawReader);
  
  // Digits QA
  virtual void   InitDigits();
  virtual void   MakeDigits()  {return;}
  virtual void   MakeDigits(TTree *digTree);
  
  // RecPoints QA
  virtual void   InitRecPoints();
  virtual void   MakeRecPoints(TTree *recTree);
  
  virtual void LoadMaps();
  
  AliTPCAltroMapping *fMapping[6]; //! Pointers to ALTRO mapping
  AliTPCdataQA*  fTPCdataQA;//! TPC calibration object for making raw data QA
  
  Int_t fRawFirstTimeBin;   //! First Time bin needed for RAW QA
  Int_t fRawLastTimeBin;    //! Last Time bin needed for RAW QA
  
  ClassDef(AliTPCQADataMakerRec,1)  // TPC Rec Quality Assurance Data Maker 
    };

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