next50 trigger mask in AliHLTGlobalEsdConverterComponent
[u/mrichter/AliRoot.git] / VZERO / AliVZEROQADataMakerRec.h
CommitLineData
0b19d121 1#ifndef ALIVZEROQADATAMAKERREC_H
2#define ALIVZEROQADATAMAKERREC_H
508b9fc0 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
508b9fc0 6
0b19d121 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
508b9fc0 11
12// --- ROOT system ---
3f563b2b 13class TH1F;
14class TH1I;
15class TObjArray;
508b9fc0 16
17// --- Standard library ---
18
19// --- AliRoot header files ---
20#include "AliQADataMakerRec.h"
21
23eb5160 22class AliCDBManager;
23class AliCDBStorage;
24class AliVZEROCalibData;
cc12572f 25class AliVZEROTriggerData;
508b9fc0 26
27class AliVZEROQADataMakerRec: public AliQADataMakerRec {
28
29public:
0b19d121 30 // Histograms for Raw data control
46e6c4f9 31 enum HRawType_t {kPedestalInt0,kPedestalInt1
32 ,kChargeEoI,kChargeEoIInt0,kChargeEoIInt1
0b19d121 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
a8e23456 39 ,kRawMIPV0A,kRawMIPV0C,kRawMIPV0,kRawMIPChannel
cc12572f 40 ,kBBFlagsPerChannel, kTriggers,kTriggers2,kTimeV0AV0C
41 ,kCentrChargeV0AV0C};
9bd82f77 42
0b19d121 43 enum HESDType_t {kCellMultiV0A,kCellMultiV0C,kMIPMultiV0A,kMIPMultiV0C,kMIPMultiChannel
44 ,kBBFlag,kBGFlag,kChargeChannel,kTimeChannel
45 ,kESDV0ATime,kESDV0CTime,kESDDiffTime};
9bd82f77 46
47public:
0b19d121 48 AliVZEROQADataMakerRec() ; // constructor
508b9fc0 49 AliVZEROQADataMakerRec(const AliVZEROQADataMakerRec& qadm) ;
50 AliVZEROQADataMakerRec& operator = (const AliVZEROQADataMakerRec& qadm) ;
51 virtual ~AliVZEROQADataMakerRec() {;} // destructor
23eb5160 52 AliVZEROCalibData *GetCalibData() const;
6252ceeb 53 virtual void InitRaws() ;
508b9fc0 54
23eb5160 55protected:
0b19d121 56 AliVZEROCalibData *fCalibData; //! calibration data
cc12572f 57 AliVZEROTriggerData *fTriggerData; //! trigger config data
23eb5160 58
508b9fc0 59private:
57eead61 60 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
508b9fc0 61 virtual void InitESDs() ;
44ed7a66 62 virtual void InitDigits();
508b9fc0 63 virtual void MakeESDs(AliESDEvent * esd) ;
44ed7a66 64 virtual void MakeRaws(AliRawReader* rawReader) ;
6252ceeb 65 virtual void MakeDigits() ;
44ed7a66 66 virtual void MakeDigits(TTree* digitTree) ;
508b9fc0 67 virtual void StartOfDetectorCycle() ;
46e6c4f9 68 Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
69
70
92664bc8 71 // Int_t fEvent; // event index
57eead61 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
92664bc8 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
57eead61 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
46e6c4f9 82 Float_t fTimeOffset[64]; //! HPTDC time offsets channel by channel
83 TF1* fTimeSlewing; //! Function for time slewing correction
23eb5160 84
1999c0f1 85 ClassDef(AliVZEROQADataMakerRec,4) // description
508b9fc0 86
87};
88
0b19d121 89#endif // AliVZEROQADATAMAKERREC_H