1 #ifndef ALIVZEROQADATAMAKERREC_H
2 #define ALIVZEROQADATAMAKERREC_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"
24 class AliVZEROCalibData;
26 class AliVZEROQADataMakerRec: public AliQADataMakerRec {
29 // Histograms for Raw data control
30 enum HRawType_t {kPedestalInt0,kPedestalInt1
31 ,kChargeEoI,kChargeEoIInt0,kChargeEoIInt1
32 ,kChargeEoIBBInt0,kChargeEoIBBInt1,kChargeEoIBGInt0,kChargeEoIBGInt1,kChargeVsClockInt0,kChargeVsClockInt1
33 ,kChargeMBBB0BG0Int0,kChargeMBBB0BG1Int0,kChargeMBBB1BG0Int0,kChargeMBBB1BG1Int0
34 ,kChargeMBBB0BG0Int1,kChargeMBBB0BG1Int1,kChargeMBBB1BG0Int1,kChargeMBBB1BG1Int1
35 ,kWidth,kWidthBB,kWidthBG,kHPTDCTime,kHPTDCTimeBB,kHPTDCTimeBG,kBBFlagVsClock,kBGFlagVsClock
36 ,kMultiV0A,kMultiV0C,kChargeV0A,kChargeV0C,kChargeV0
37 ,kV0ATime,kV0CTime,kDiffTime
38 ,kRawMIPV0A,kRawMIPV0C,kRawMIPV0,kRawMIPChannel
39 ,kBBFlagsPerChannel, kTriggers,kTriggers2,kTimeV0AV0C} ;
41 enum HESDType_t {kCellMultiV0A,kCellMultiV0C,kMIPMultiV0A,kMIPMultiV0C,kMIPMultiChannel
42 ,kBBFlag,kBGFlag,kChargeChannel,kTimeChannel
43 ,kESDV0ATime,kESDV0CTime,kESDDiffTime};
46 AliVZEROQADataMakerRec() ; // constructor
47 AliVZEROQADataMakerRec(const AliVZEROQADataMakerRec& qadm) ;
48 AliVZEROQADataMakerRec& operator = (const AliVZEROQADataMakerRec& qadm) ;
49 virtual ~AliVZEROQADataMakerRec() {;} // destructor
50 AliVZEROCalibData *GetCalibData() const;
51 virtual void InitRaws() ;
54 AliVZEROCalibData *fCalibData; //! calibration data
57 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
58 virtual void InitESDs() ;
59 virtual void InitDigits();
60 virtual void MakeESDs(AliESDEvent * esd) ;
61 virtual void MakeRaws(AliRawReader* rawReader) ;
62 virtual void MakeDigits() ;
63 virtual void MakeDigits(TTree* digitTree) ;
64 virtual void StartOfDetectorCycle() ;
65 Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
68 Int_t fEvent; // event index
69 Int_t fEven[64]; // even charge integrators
70 Int_t fOdd[64]; // odd charge intergators
71 Float_t fADCmean[128]; // mean adc per integrator
72 size_t fNTotEvents; // total number of events
73 size_t fNSubEvents; // number of events used in trending histos
74 size_t fTrendingUpdateEvent; // event index of last update of the trending histos
75 size_t fNTrendingUpdates; // number of updates in trending histos
76 size_t fTrendingUpdateTime; // trending histos update time
77 UInt_t fCycleStartTime; // timestamp of QA start-of-cycle
78 UInt_t fCycleStopTime; // timestamp of QA end-of-cycle
79 Float_t fTimeOffset[64]; //! HPTDC time offsets channel by channel
80 TF1* fTimeSlewing; //! Function for time slewing correction
82 ClassDef(AliVZEROQADataMakerRec,2) // description
86 #endif // AliVZEROQADATAMAKERREC_H