Line data Source code
1 : #ifndef ALIFMD_PREPROCESSOR_H
2 : #define ALIFMD_PREPROCESSOR_H
3 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4 : * reserved.
5 : *
6 : * See cxx source for full Copyright notice
7 : */
8 : //___________________________________________________________________
9 : // The class processes data points from DCS (via Amanada), and DAQ DA
10 : // files (via FXS) to make calibration data for the FMD.
11 : // More to come.
12 :
13 :
14 : #include "AliPreprocessor.h"
15 : #ifndef ALIFMDUSHORTMAP_H
16 : # include <AliFMDUShortMap.h>
17 : #endif
18 : #ifndef ALIFMDBOOLMAP_H
19 : # include <AliFMDBoolMap.h>
20 : #endif
21 : typedef AliFMDUShortMap AliFMDCalibZeroSuppression;
22 : typedef AliFMDBoolMap AliFMDCalibDeadMap;
23 : class AliFMDCalibPedestal;
24 : class AliFMDCalibGain;
25 : class AliFMDCalibSampleRate;
26 : class AliFMDCalibStripRange;
27 : class AliCDBEntry;
28 : class TList;
29 :
30 : //___________________________________________________________________
31 : /** The class processes data points from DCS (via Amanada), and DAQ DA
32 : files (via FXS) to make calibration data for the FMD.
33 :
34 : Data points:
35 : * Nothing yet.
36 :
37 : DAQ FXS file:
38 : * pedestals - a (ASCII) Comma Separated Values files with the
39 : fields
40 : rcu DDL number
41 : board FEC board number
42 : chip ALTRO chip number on FEC
43 : channel ALTRO channel number
44 : strip VA1 strip number
45 : sample Sample number
46 : ped Mean of ADC spectra
47 : noise Spread of ADC spectra
48 : mu Mean of Gaussian fit to ADC spectra
49 : sigma Variance of Gaussian fit to ADC spectra
50 : chi2 Chi^2 per degrees of freedom of fit
51 : * Gains - a (ASCII) Comma Separated Values files with the
52 : fields
53 : rcu DDL number
54 : board FEC board number
55 : chip ALTRO chip number on FEC
56 : channel ALTRO channel number
57 : strip VA1 strip number
58 : gain Slope of gain
59 : error Error on gain
60 : chi2 Chi^2 per degrees of freedom of fit
61 : */
62 : class AliFMDPreprocessor: public AliPreprocessor
63 : {
64 : public:
65 : /** Constructor */
66 0 : AliFMDPreprocessor(): AliPreprocessor("FMD",0) {}
67 : /** Constructor
68 : @param shuttle Shuttle */
69 : AliFMDPreprocessor(AliShuttleInterface* shuttle) ;
70 :
71 :
72 : /** Destructor */
73 0 : virtual ~AliFMDPreprocessor() {}
74 : /** Get an entry from OCDB */
75 : AliCDBEntry* GetFromCDB(const char* second, const char* third);
76 : protected:
77 : /**
78 : * Get the pedestal calibrations
79 : *
80 : * @param list List of files
81 : */
82 : AliFMDCalibPedestal* GetPedestalCalibration(const TList* list);
83 : /**
84 : * Get the gain calibrations
85 : *
86 : * @param list List of files
87 : */
88 : AliFMDCalibGain* GetGainCalibration(const TList*);
89 : /**
90 : * Get the dead channels map based on the pedestal
91 : * an gain calibration objects.
92 : */
93 : AliFMDCalibDeadMap* GetDeadChannelMap(AliFMDCalibPedestal* pedcalib,
94 : AliFMDCalibGain* gaincalib);
95 :
96 : /** Get info calibrations.
97 : @param files List of files.
98 : @param s On return, newly allocated object
99 : @param r On return, newly allocated object
100 : @param z On return, newly allocated object
101 : @return kTRUE on success */
102 : Bool_t GetInfoCalibration(TList* files,
103 : AliFMDCalibSampleRate*& s,
104 : AliFMDCalibStripRange*& r,
105 : AliFMDCalibZeroSuppression*& z);
106 : /** Convinience function
107 : @param list On return, list of files.
108 : @param system Alice system (DAQ, DCS, ...)
109 : @param id File id
110 : @return kTRUE on success. */
111 : Bool_t GetAndCheckFileSources(TList*& list, Int_t system, const char* id);
112 :
113 : /** Entry method
114 : @param dcsAliasMap Map of DCS data points */
115 : virtual UInt_t Process(TMap* dcsAliasMap);
116 : private:
117 12 : ClassDef(AliFMDPreprocessor, 1)
118 : };
119 :
120 : #endif
121 : //____________________________________________________________________
122 : //
123 : // Local Variables:
124 : // mode: C++
125 : // End:
126 : //
127 : // EOF
128 : //
|