]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFPreprocessor.h
Implementation of TOFFEE-DCS FXS file in TOF pp + small bug fixes... (R. Preghenella)
[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 TObjArray;
17 class TH2S;
18
19 class AliTOFPreprocessor : public AliPreprocessor
20 {
21   public:
22     AliTOFPreprocessor(AliShuttleInterface* shuttle);
23     virtual ~AliTOFPreprocessor();
24     void   SetStoreRefData(Bool_t in){fStoreRefData=in;};
25     Bool_t GetStoreRefData() const {return fStoreRefData;}
26     void SetFDRFlag(Bool_t flag) {fFDRFlag = flag;}
27     Bool_t GetFDRFlag() const {return fFDRFlag;}
28
29   protected:
30     virtual void Initialize(Int_t run, UInt_t startTime, UInt_t endTime);
31     virtual UInt_t Process(TMap* dcsAliasMap);
32     virtual Bool_t ProcessDCS();
33
34   private:
35     AliTOFPreprocessor(const AliTOFPreprocessor & proc); // copy constructor
36     AliTOFPreprocessor& operator=(const AliTOFPreprocessor & proc);
37     UInt_t ProcessDCSDataPoints(TMap* dcsAliasMap);
38     UInt_t ProcessOnlineDelays();
39     UInt_t ProcessPulserData();
40     UInt_t ProcessNoiseData();
41     UInt_t ProcessFEEData(); // dummy, for the time being
42
43     static const Int_t fgkBinRangeAve;    // number of bins where to 
44                                           // calculate the mean
45     static const Double_t fgkIntegralThr; // min number of entries per channel 
46                                           // to perform calculation of delay
47     static const Double_t fgkThrPar;      // parameter used to trigger the 
48                                           // calculation of the delay
49     AliTOFDataDCS *fData;                 // CDB class that stores the data
50     TH2S *fh2;                            // TH2S from DAQ for histograms 
51                                           // for delays  
52     TObjArray *fCal;                      // TOF Calibration object
53     TObjArray *fCalStatus;                // TOF Calibration object from pulser/noise
54     TObjArray *fFEEStatus;                // TOF Calibration object from FEE
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     ClassDef(AliTOFPreprocessor, 4);
59 };
60 #endif