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;
25 class AliVZEROTriggerData;
27 class AliVZEROQADataMakerRec: public AliQADataMakerRec {
30 // Histograms for Raw data control
31 enum HRawType_t {kPedestalInt0,kPedestalInt1
32 ,kChargeEoI,kChargeEoIInt0,kChargeEoIInt1
33 ,kChargeEoIBBInt0,kChargeEoIBBInt1,kChargeEoIBGInt0,kChargeEoIBGInt1,kChargeVsClockInt0,kChargeVsClockInt1
34 ,kChargeMBBB0BG0Int0,kChargeMBBB0BG1Int0,kChargeMBBB1BG0Int0,kChargeMBBB1BG1Int0
35 ,kChargeMBBB0BG0Int1,kChargeMBBB0BG1Int1,kChargeMBBB1BG0Int1,kChargeMBBB1BG1Int1
36 ,kWidth,kWidthBB,kWidthBG,kHPTDCTime,kHPTDCTimeBB,kHPTDCTimeBG,kBBFlagVsClock,kBGFlagVsClock
37 ,kMultiV0A,kMultiV0C,kChargeV0A,kChargeV0C,kChargeV0
38 ,kV0ATime,kV0CTime,kDiffTime
39 ,kRawMIPV0A,kRawMIPV0C,kRawMIPV0,kRawMIPChannel
40 ,kBBFlagsPerChannel, kTriggers,kTriggers2,kTimeV0AV0C
43 enum HESDType_t {kCellMultiV0A,kCellMultiV0C,kMIPMultiV0A,kMIPMultiV0C,kMIPMultiChannel
44 ,kBBFlag,kBGFlag,kChargeChannel,kTimeChannel
45 ,kESDV0ATime,kESDV0CTime,kESDDiffTime};
48 AliVZEROQADataMakerRec() ; // constructor
49 AliVZEROQADataMakerRec(const AliVZEROQADataMakerRec& qadm) ;
50 AliVZEROQADataMakerRec& operator = (const AliVZEROQADataMakerRec& qadm) ;
51 virtual ~AliVZEROQADataMakerRec() {;} // destructor
52 AliVZEROCalibData *GetCalibData() const;
53 virtual void InitRaws() ;
56 AliVZEROCalibData *fCalibData; //! calibration data
57 AliVZEROTriggerData *fTriggerData; //! trigger config data
60 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
61 virtual void InitESDs() ;
62 virtual void InitDigits();
63 virtual void MakeESDs(AliESDEvent * esd) ;
64 virtual void MakeRaws(AliRawReader* rawReader) ;
65 virtual void MakeDigits() ;
66 virtual void MakeDigits(TTree* digitTree) ;
67 virtual void StartOfDetectorCycle() ;
68 Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
71 // Int_t fEvent; // event index
72 Int_t fEven[64]; // even charge integrators
73 Int_t fOdd[64]; // odd charge intergators
74 Float_t fADCmean[128]; // mean adc per integrator
75 // size_t fNTotEvents; // total number of events
76 // size_t fNSubEvents; // number of events used in trending histos
77 // size_t fTrendingUpdateEvent; // event index of last update of the trending histos
78 // size_t fNTrendingUpdates; // number of updates in trending histos
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[64]; //! HPTDC time offsets channel by channel
83 TF1* fTimeSlewing; //! Function for time slewing correction
85 ClassDef(AliVZEROQADataMakerRec,4) // description
89 #endif // AliVZEROQADATAMAKERREC_H