]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALI_TOF_PREPROCESSOR_H | |
2 | #define ALI_TOF_PREPROCESSOR_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | #include "AliPreprocessor.h" | |
10 | ||
11 | // TOF preprocessor. It takes care of both | |
12 | // DCS Data Points | |
13 | // and DAQ histograms to compute online calibration constants | |
14 | ||
15 | class AliTOFDataDCS; | |
16 | class AliTOFLvHvDataPoints; | |
17 | class AliTOFChannelOnlineStatusArray; | |
18 | class AliTOFChannelOnlineArray; | |
19 | class TObjArray; | |
20 | class TH2S; | |
21 | ||
22 | class AliTOFPreprocessor : public AliPreprocessor | |
23 | { | |
24 | public: | |
25 | AliTOFPreprocessor(AliShuttleInterface* shuttle); | |
26 | virtual ~AliTOFPreprocessor(); | |
27 | void SetStoreRefData(Bool_t in){fStoreRefData=in;}; | |
28 | Bool_t GetStoreRefData() const {return fStoreRefData;} | |
29 | void SetFDRFlag(Bool_t flag) {fFDRFlag = flag;} | |
30 | Bool_t GetFDRFlag() const {return fFDRFlag;} | |
31 | ||
32 | protected: | |
33 | virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime); | |
34 | virtual UInt_t Process(TMap *dcsAliasMap); | |
35 | virtual Bool_t ProcessDCS(); | |
36 | ||
37 | private: | |
38 | AliTOFPreprocessor(const AliTOFPreprocessor & proc); // copy constructor | |
39 | AliTOFPreprocessor& operator=(const AliTOFPreprocessor & proc); | |
40 | UInt_t ProcessDCSDataPoints(TMap *dcsAliasMap); | |
41 | UInt_t ProcessHVandLVdps(TMap *dcsAliasMap); | |
42 | UInt_t ProcessOnlineDelays(); | |
43 | UInt_t ProcessPulserData(); | |
44 | UInt_t ProcessNoiseData(); | |
45 | UInt_t ProcessFEEData(); // dummy, for the time being | |
46 | UInt_t ProcessT0Fill(); | |
47 | UInt_t ProcessNoiseCalibTrg(); | |
48 | UInt_t ProcessReadout(); | |
49 | ||
50 | void FillWithCosmicCalibration(AliTOFChannelOnlineArray *cal); // fill with cosmic calibration | |
51 | void FillWithCableLengthMap(AliTOFChannelOnlineArray *cal); // fill with cable-lenght map | |
52 | ||
53 | static const Int_t fgkBinRangeAve; // number of bins where to | |
54 | // calculate the mean | |
55 | static const Double_t fgkIntegralThr; // min number of entries per channel | |
56 | // to perform calculation of delay | |
57 | static const Double_t fgkThrPar; // parameter used to trigger the | |
58 | // calculation of the delay | |
59 | AliTOFDataDCS *fData; // CDB class that stores the data | |
60 | AliTOFLvHvDataPoints *fHVLVmaps; // HV and LV status maps | |
61 | AliTOFChannelOnlineArray *fCal; // TOF Calibration object | |
62 | Int_t fNChannels; // number of TOF channels | |
63 | Bool_t fStoreRefData; // Flag to decide storage of Ref Data | |
64 | Bool_t fFDRFlag; // Flag for FDR runs | |
65 | AliTOFChannelOnlineStatusArray *fStatus; // Array with TOF channels' status | |
66 | Int_t *fMatchingWindow; //[fNChannels] | |
67 | // Array of matching windows (one per channel) - to be used in noise runs | |
68 | Int_t *fLatencyWindow; //[fNChannels] | |
69 | // Array of latency windows (one per channel) | |
70 | Bool_t fIsStatusMapChanged; // flag to check is the status map OCDB has to be updated | |
71 | ||
72 | ClassDef(AliTOFPreprocessor, 1); | |
73 | ||
74 | }; | |
75 | #endif |