]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AD/AliADQADataMakerRec.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / AD / AliADQADataMakerRec.h
1 #ifndef ALIADQADATAMAKERREC_H
2 #define ALIADQADATAMAKERREC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 //  Produces the data needed to calculate the quality assurance  
8 //  All data must be mergeable objects
9 //  Handles ESDs and RAWs
10 //  Histos will be used for Raw Data control and monitoring
11
12 // --- ROOT system ---
13 class TH1F; 
14 class TH1I; 
15 class TObjArray; 
16
17 // --- Standard library ---
18
19 // --- AliRoot header files ---
20 #include "AliQADataMakerRec.h"
21
22 class AliCDBManager;
23 class AliCDBStorage;
24 class AliADCalibData;
25
26 class AliADQADataMakerRec: public AliQADataMakerRec {
27
28 public:
29   // Histograms for Raw data control
30   enum HRawType_t {kPedestalInt0,kPedestalInt1,
31                    kChargeEoI,kChargeEoIInt0,kChargeEoIInt1,
32                    kWidth,kHPTDCTime,
33                    kMultiADA,kMultiADC,kChargeADA,kChargeADC,kChargeAD, 
34                    kADATime,kADCTime,kDiffTime,kTimeADAADC};
35         
36 public:
37   AliADQADataMakerRec() ;            // constructor
38   AliADQADataMakerRec(const AliADQADataMakerRec& qadm) ;   
39   AliADQADataMakerRec& operator = (const AliADQADataMakerRec& qadm) ;
40   virtual ~AliADQADataMakerRec() {;} // destructor
41   AliADCalibData *GetCalibData() const;
42   virtual void   InitRaws() ; 
43   
44 protected: 
45   AliADCalibData *fCalibData;        //! calibration data
46    
47 private:
48   virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
49   virtual void   InitESDs() ; 
50   virtual void   InitDigits();  
51   virtual void   MakeESDs(AliESDEvent * esd) ;
52   virtual void   MakeRaws(AliRawReader* rawReader) ;
53   virtual void   MakeDigits() ; 
54   virtual void   MakeDigits(TTree* digitTree) ; 
55   virtual void   StartOfDetectorCycle() ; 
56   Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
57   
58   Int_t   fEven[64];                  // even charge integrators
59   Int_t   fOdd[64];                   // odd charge intergators
60   Float_t fADCmean[128];              // mean adc per integrator
61   size_t fTrendingUpdateTime;         // trending histos update time
62   UInt_t fCycleStartTime;             // timestamp of QA start-of-cycle
63   UInt_t fCycleStopTime;              // timestamp of QA end-of-cycle
64   Float_t            fTimeOffset[64]; //! HPTDC time offsets channel by channel
65   TF1*               fTimeSlewing;    //! Function for time slewing correction
66
67   ClassDef(AliADQADataMakerRec,4)  // description 
68
69 };
70
71 #endif // AliADQADATAMAKERREC_H