AliTPCdataQA and AliTPCQADataMakerRec: QA update for DQM simplification
[u/mrichter/AliRoot.git] / TPC / AliTPCQADataMakerRec.h
1 #ifndef ALITPCQADATAMAKERREC_H
2 #define ALITPCQADATAMAKERREC_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id: $ */
8
9 /*
10   Based on AliPHOSQADataMaker
11   Produces the data needed to calculate the quality assurance. 
12   All data must be mergeable objects.
13   P. Christiansen, Lund, January 2008
14 */
15
16
17 // --- ROOT system ---
18 #include <TH1.h> 
19
20 // --- Standard library ---
21
22 // --- AliRoot header files ---
23 #include <AliQADataMakerRec.h>
24 #include <AliRawReader.h>
25 #include <AliTPCAltroMapping.h>
26
27 #include <AliTPCdataQA.h>
28
29 class AliTPCQADataMakerRec: public AliQADataMakerRec {
30
31 public:
32   enum HRawsType_t         {kRawsOccupancy=0, kRawsOccupancyVsSector, kRawsNClustersPerEventVsSector, kRawsQVsSector, kRawsQmaxVsSector, kRawsOccupancyVsEvent, kRawsNclustersVsEvent} ; 
33   enum HDigitType_t        {kDigitsADC=0} ; 
34   enum HRECPOINTsType_t    {KClusters=0, kRatio, kPt} ; 
35   enum HESDsType_t         {kQmaxShort=0, kQmaxMedium, kQmaxLong, kQShort, kQMedium, kQLong, kRow} ; 
36
37   AliTPCQADataMakerRec() ;          // ctor
38   AliTPCQADataMakerRec(const AliTPCQADataMakerRec& qadm) ;   
39   AliTPCQADataMakerRec& operator = (const AliTPCQADataMakerRec& qadm) ;
40   virtual ~AliTPCQADataMakerRec(); 
41   
42   void SetBeautifyOption(Int_t value)  {fBeautifyOption= value;}
43   void SetOccHighLimit(Float_t value)  {fOccHighLimit  = value;}
44   void SetQmaxLowLimit(Float_t value)  {fQmaxLowLimit  = value;}
45   void SetQmaxHighLimit(Float_t value) {fQmaxHighLimit = value;}
46
47   Int_t   GetBeautifyOption() const {return fBeautifyOption;}
48   Float_t GetOccHighLimit() const {return fOccHighLimit; }
49   Float_t GetQmaxLowLimit() const {return fQmaxLowLimit; }
50   Float_t GetQmaxHighLimit() const {return fQmaxHighLimit;}
51
52 private:
53   virtual void   StartOfDetectorCycle() {}; // empty 
54   virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray** list) ;
55
56   // ESD QA
57   virtual void   InitESDs() ; 
58   virtual void   MakeESDs(AliESDEvent *esd) ;
59
60   // Raw QA
61   virtual void   InitRaws();
62   virtual void   MakeRaws(AliRawReader* rawReader);
63
64   // Digits QA
65   virtual void   InitDigits();
66   virtual void   MakeDigits()  {return;}
67   virtual void   MakeDigits(TTree *digTree);
68   
69   // RecPoints QA
70   virtual void   InitRecPoints();
71   virtual void   MakeRecPoints(TTree *recTree);
72   
73   virtual void LoadMaps();
74
75   AliTPCAltroMapping *fMapping[6]; //! Pointers to ALTRO mapping
76   AliTPCdataQA** fTPCdataQA;//! TPC calibration object for making raw data QA
77
78   Int_t   fBeautifyOption;//! 0:no beautify, !=0:beautify RAW 
79   Float_t fOccHighLimit;  //! high limit for accepting occupancy values
80   Float_t fQmaxLowLimit;  //! low limit for accepting Qmax values
81   Float_t fQmaxHighLimit; //! high limit for accepting Qmax values
82   
83   ClassDef(AliTPCQADataMakerRec,1)  // TPC Rec Quality Assurance Data Maker 
84 };
85
86 #endif // ALITPCQADATAMAKERREC_H