Line data Source code
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;
25 : class AliADRecoParam;
26 : class AliADQAParam;
27 :
28 : class AliADQADataMakerRec: public AliQADataMakerRec {
29 :
30 : public:
31 : // Histograms for Raw data control
32 : enum HRawType_t {
33 : kChargeADA,kChargeADC,kChargeEoI,kChargeEoIBB,kChargeEoIBG,
34 : kHPTDCTime,kHPTDCTimeBB,kHPTDCTimeBG,kWidth,
35 : kHPTDCTimeRebin,kHPTDCTimeRebinBB,kHPTDCTimeRebinBG,
36 : kBBFlagVsClock,kBBFlagVsClock_ADOR,kBGFlagVsClock,kBBFlagsPerChannel,kBGFlagsPerChannel,
37 : kChargeVsClockInt0,kChargeVsClockInt1,kMaxChargeClock,
38 : kNBBCoincADA,kNBBCoincADC,kNBGCoincADA,kNBGCoincADC,
39 : kPedestalDiffInt0,kPedestalDiffInt1,
40 : kChargeEoIInt0,kChargeEoIInt1,kChargeSaturation,
41 : kNBBCoincCorr,kNBGCoincCorr,
42 : kTriggers,kDecisions,
43 : kMeanTimeADA,kMeanTimeADC,kMeanTimeDiff,kMeanTimeCorr,kMeanTimeSumDiff,
44 : kPedestalInt0,kPedestalInt1,
45 : kNEventsBBFlag,kNEventsBGFlag,
46 : kFlagNoTime,kTimeNoFlag,
47 : kWidthBB,kWidthBG,
48 : kTimeSlewingADA,kTimeSlewingADC,kWidthSlewing,
49 : kMultiADA,kMultiADC,kChargeAD,
50 :
51 : kChargeADA_PC,kChargeADC_PC,
52 : kTrend_TriggerChargeQuantileADA,kTrend_TriggerChargeQuantileADC,
53 :
54 : kPairTimeDiffMean,kPairTimeDiffRMS,
55 : kNChargeCorrADA,
56 : kNChargeCorrADC = kNChargeCorrADA + 28,
57 : kNTimeCorrADA = kNChargeCorrADC + 28,
58 : kNTimeCorrADC = kNTimeCorrADA + 28,
59 : kNTimeDiffADA = kNTimeCorrADC + 28,
60 : kNTimeDiffADC = kNTimeDiffADA + 28};
61 :
62 :
63 : enum HESDType_t {kCellMultiADA,kCellMultiADC,
64 : kBBFlag,kBGFlag,kChargeChannel,kTimeChannel,
65 : kESDADATime,kESDADCTime,kESDDiffTime,kESDADATimeVsCharge,kESDADCTimeVsCharge,
66 : kESDADAPairTimeSumDiff,kESDADCPairTimeSumDiff};
67 :
68 : public:
69 : AliADQADataMakerRec() ; // constructor
70 : AliADQADataMakerRec(const AliADQADataMakerRec& qadm) ;
71 : AliADQADataMakerRec& operator = (const AliADQADataMakerRec& qadm) ;
72 0 : virtual ~AliADQADataMakerRec() {;} // destructor
73 : AliADCalibData *GetCalibData() const;
74 : AliADQAParam *GetQAParam() const;
75 : virtual void InitRaws() ;
76 :
77 : protected:
78 : AliADCalibData *fCalibData; //! calibration data
79 : AliADRecoParam *fRecoParam;
80 : AliADQAParam *fQAParam;
81 :
82 : private:
83 : virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
84 : virtual void InitESDs() ;
85 : virtual void InitDigits();
86 : virtual void MakeESDs(AliESDEvent * esd) ;
87 : virtual void MakeRaws(AliRawReader* rawReader) ;
88 : virtual void MakeDigits() ;
89 : virtual void MakeDigits(TTree* digitTree) ;
90 : virtual void StartOfDetectorCycle() ;
91 : Float_t CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
92 :
93 : Int_t fEven[16]; // even charge integrators
94 : Int_t fOdd[16]; // odd charge intergators
95 : Float_t fADCmean[32]; // mean adc per integrator
96 : size_t fTrendingUpdateTime; // trending histos update time
97 : UInt_t fCycleStartTime; // timestamp of QA start-of-cycle
98 : UInt_t fCycleStopTime; // timestamp of QA end-of-cycle
99 : Float_t fADADist; // Z position of ADA
100 : Float_t fADCDist; // Z position of ADC
101 : UInt_t fOldRun;
102 :
103 16 : ClassDef(AliADQADataMakerRec,4) // description
104 :
105 : };
106 :
107 : #endif // AliADQADATAMAKERREC_H
|