]>
Commit | Line | Data |
---|---|---|
a6f3cc02 | 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 */ | |
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 AliADCalibData; | |
e15d4621 | 25 | class AliADRecoParam; |
a6f3cc02 | 26 | |
27 | class AliADQADataMakerRec: public AliQADataMakerRec { | |
28 | ||
29 | public: | |
30 | // Histograms for Raw data control | |
31 | enum HRawType_t {kPedestalInt0,kPedestalInt1, | |
32 | kChargeEoI,kChargeEoIInt0,kChargeEoIInt1, | |
cf283524 | 33 | kWidth,kHPTDCTime,kWidthBB,kWidthBG,kHPTDCTimeBB,kHPTDCTimeBG, |
95930403 | 34 | kChargeVsClockInt0,kChargeVsClockInt1,kBBFlagVsClock,kBGFlagVsClock,kBBFlagsPerChannel,kBGFlagsPerChannel, |
e106c740 | 35 | kFlagNoTime,kTimeNoFlag, |
36 | kTimeSlewingOff,kTimeSlewingOn,kWidthSlewing, | |
37 | kPedestalDiffInt0,kPedestalDiffInt1, | |
a6f3cc02 | 38 | kMultiADA,kMultiADC,kChargeADA,kChargeADC,kChargeAD, |
69e96215 | 39 | kADATime,kADCTime,kDiffTime,kTimeADAADC, |
08aeb243 | 40 | kNBBCoincADA,kNBBCoincADC,kNBGCoincADA,kNBGCoincADC,kPairTimeDiffMean,kPairTimeDiffRMS, |
e106c740 | 41 | kNChargeCorrADA, |
42 | kNChargeCorrADC = kNChargeCorrADA + 28, | |
43 | kNTimeCorrADA = kNChargeCorrADC + 28, | |
44 | kNTimeCorrADC = kNTimeCorrADA + 28, | |
45 | kNTimeDiffADA = kNTimeCorrADC + 28, | |
46 | kNTimeDiffADC = kNTimeDiffADA + 28}; | |
47 | ||
734ca89d | 48 | |
49 | enum HESDType_t {kCellMultiADA,kCellMultiADC, | |
50 | kBBFlag,kBGFlag,kChargeChannel,kTimeChannel, | |
51 | kESDADATime,kESDADCTime,kESDDiffTime}; | |
a6f3cc02 | 52 | |
53 | public: | |
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() ; | |
60 | ||
61 | protected: | |
62 | AliADCalibData *fCalibData; //! calibration data | |
e15d4621 | 63 | AliADRecoParam *fRecoParam; |
a6f3cc02 | 64 | |
65 | private: | |
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; | |
75 | ||
69e96215 | 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 | |
a6f3cc02 | 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 | |
69e96215 | 82 | Float_t fTimeOffset[16]; //! HPTDC time offsets channel by channel |
a6f3cc02 | 83 | TF1* fTimeSlewing; //! Function for time slewing correction |
84 | ||
b924d21d | 85 | ClassDef(AliADQADataMakerRec,1) // description |
a6f3cc02 | 86 | |
87 | }; | |
88 | ||
89 | #endif // AliADQADATAMAKERREC_H |