Line data Source code
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 0 : void SetStoreRefData(Bool_t in){fStoreRefData=in;};
28 0 : Bool_t GetStoreRefData() const {return fStoreRefData;}
29 0 : void SetFDRFlag(Bool_t flag) {fFDRFlag = flag;}
30 0 : 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 26 : ClassDef(AliTOFPreprocessor, 1);
73 :
74 : };
75 : #endif
|