TOF preprocessor modified in order to use cosmic-ray calibration parameters (from...
[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 AliTOFChannelOnlineStatusArray;
17 class TObjArray;
18 class TH2S;
19
20 class AliTOFPreprocessor : public AliPreprocessor
21 {
22   public:
23     AliTOFPreprocessor(AliShuttleInterface* shuttle);
24     virtual ~AliTOFPreprocessor();
25     void   SetStoreRefData(Bool_t in){fStoreRefData=in;};
26     Bool_t GetStoreRefData() const {return fStoreRefData;}
27     void SetFDRFlag(Bool_t flag) {fFDRFlag = flag;}
28     Bool_t GetFDRFlag() const {return fFDRFlag;}
29
30   protected:
31     virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
32     virtual UInt_t Process(TMap* dcsAliasMap);
33     virtual Bool_t ProcessDCS();
34
35   private:
36     AliTOFPreprocessor(const AliTOFPreprocessor & proc); // copy constructor
37     AliTOFPreprocessor& operator=(const AliTOFPreprocessor & proc);
38     UInt_t ProcessDCSDataPoints(TMap* dcsAliasMap);
39     UInt_t ProcessOnlineDelays();
40     UInt_t ProcessPulserData();
41     UInt_t ProcessNoiseData();
42     UInt_t ProcessFEEData(); // dummy, for the time being
43
44     void FillWithCosmicCalibration(AliTOFChannelOnlineArray *cal); // fill with cosmic calibration
45     void FillWithCableLengthMap(AliTOFChannelOnlineArray *cal); // fill with cable-lenght map
46
47     static const Int_t fgkBinRangeAve;       // number of bins where to 
48                                              // calculate the mean
49     static const Double_t fgkIntegralThr;    // min number of entries per channel 
50                                              // to perform calculation of delay
51     static const Double_t fgkThrPar;         // parameter used to trigger the 
52                                              // calculation of the delay
53     AliTOFDataDCS *fData;                    // CDB class that stores the data
54     AliTOFChannelOnlineArray *fCal;          // TOF Calibration object
55     Int_t fNChannels;                        // number of TOF channels
56     Bool_t fStoreRefData;                    // Flag to decide storage of Ref Data
57     Bool_t fFDRFlag;                         // Flag for FDR runs 
58     AliTOFChannelOnlineStatusArray *fStatus; // Array with TOF channels' status
59     Int_t *fMatchingWindow;                  //[fNChannels]
60                                              // Array of matching windows (one per channel) - to be used in noise runs
61     ClassDef(AliTOFPreprocessor, 0);         
62 };
63 #endif