Improved QAchecker and plots for DQM
[u/mrichter/AliRoot.git] / TOF / AliTOFPreprocessor.h
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