]>
Commit | Line | Data |
---|---|---|
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 */ | |
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 AliVZEROCalibData; | |
25 | class AliVZEROTriggerData; | |
26 | ||
27 | class AliVZEROQADataMakerRec: public AliQADataMakerRec { | |
28 | ||
29 | public: | |
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 | |
41 | ,kCentrChargeV0AV0C}; | |
42 | ||
43 | enum HESDType_t {kCellMultiV0A,kCellMultiV0C,kMIPMultiV0A,kMIPMultiV0C,kMIPMultiChannel | |
44 | ,kBBFlag,kBGFlag,kChargeChannel,kTimeChannel | |
45 | ,kESDV0ATime,kESDV0CTime,kESDDiffTime}; | |
46 | ||
47 | public: | |
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() ; | |
54 | ||
55 | protected: | |
56 | AliVZEROCalibData *fCalibData; //! calibration data | |
57 | AliVZEROTriggerData *fTriggerData; //! trigger config data | |
58 | ||
59 | private: | |
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; | |
69 | ||
70 | ||
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 | |
84 | ||
85 | ClassDef(AliVZEROQADataMakerRec,4) // description | |
86 | ||
87 | }; | |
88 | ||
89 | #endif // AliVZEROQADATAMAKERREC_H |