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 */
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
12 // --- ROOT system ---
17 // --- Standard library ---
19 // --- AliRoot header files ---
20 #include "AliQADataMakerRec.h"
27 class AliADQADataMakerRec: public AliQADataMakerRec {
30 // Histograms for Raw data control
31 enum HRawType_t {kPedestalInt0,kPedestalInt1,
32 kChargeEoI,kChargeEoIInt0,kChargeEoIInt1,
33 kWidth,kHPTDCTime,kWidthBB,kWidthBG,kHPTDCTimeBB,kHPTDCTimeBG,
34 kChargeVsClockInt0,kChargeVsClockInt1,kBBFlagVsClock,kBGFlagVsClock,kBBFlagsPerChannel,kBGFlagsPerChannel,
35 kFlagNoTime,kTimeNoFlag,
36 kTimeSlewingOff,kTimeSlewingOn,kWidthSlewing,
37 kPedestalDiffInt0,kPedestalDiffInt1,
38 kMultiADA,kMultiADC,kChargeADA,kChargeADC,kChargeAD,
39 kADATime,kADCTime,kDiffTime,kTimeADAADC,
40 kNCoincADA,kNCoincADC,kPairTimeDiffMean,kPairTimeDiffRMS,
42 kNChargeCorrADC = kNChargeCorrADA + 28,
43 kNTimeCorrADA = kNChargeCorrADC + 28,
44 kNTimeCorrADC = kNTimeCorrADA + 28,
45 kNTimeDiffADA = kNTimeCorrADC + 28,
46 kNTimeDiffADC = kNTimeDiffADA + 28};
49 enum HESDType_t {kCellMultiADA,kCellMultiADC,
50 kBBFlag,kBGFlag,kChargeChannel,kTimeChannel,
51 kESDADATime,kESDADCTime,kESDDiffTime};
54 AliADQADataMakerRec() ; // constructor
55 AliADQADataMakerRec(const AliADQADataMakerRec& qadm) ;
56 AliADQADataMakerRec& operator = (const AliADQADataMakerRec& qadm) ;
57 virtual ~AliADQADataMakerRec() {;} // destructor
58 AliADCalibData *GetCalibData() const;
59 virtual void InitRaws() ;
62 AliADCalibData *fCalibData; //! calibration data
63 AliADRecoParam *fRecoParam;
66 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
67 virtual void InitESDs() ;
68 virtual void InitDigits();
69 virtual void MakeESDs(AliESDEvent * esd) ;
70 virtual void MakeRaws(AliRawReader* rawReader) ;
71 virtual void MakeDigits() ;
72 virtual void MakeDigits(TTree* digitTree) ;
73 virtual void StartOfDetectorCycle() ;
74 Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
76 Int_t fEven[16]; // even charge integrators
77 Int_t fOdd[16]; // odd charge intergators
78 Float_t fADCmean[32]; // mean adc per integrator
79 size_t fTrendingUpdateTime; // trending histos update time
80 UInt_t fCycleStartTime; // timestamp of QA start-of-cycle
81 UInt_t fCycleStopTime; // timestamp of QA end-of-cycle
82 Float_t fTimeOffset[16]; //! HPTDC time offsets channel by channel
83 TF1* fTimeSlewing; //! Function for time slewing correction
85 ClassDef(AliADQADataMakerRec,1) // description
89 #endif // AliADQADATAMAKERREC_H