f6449cc0 |
1 | #ifndef ALI_FMD_PREPROCESSOR_H |
2 | #define ALI_FMD_PREPRECESSOR_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" |
dc02d468 |
15 | #ifndef ALIFMDUSHORTMAP_H |
16 | # include <AliFMDUShortMap.h> |
17 | #endif |
d915e831 |
18 | #ifndef ALIFMDBOOLMAP_H |
19 | # include <AliFMDBoolMap.h> |
20 | #endif |
dc02d468 |
21 | typedef AliFMDUShortMap AliFMDCalibZeroSuppression; |
d915e831 |
22 | typedef AliFMDBoolMap AliFMDCalibDeadMap; |
f6449cc0 |
23 | class AliFMDCalibPedestal; |
24 | class AliFMDCalibGain; |
dc02d468 |
25 | class AliFMDCalibSampleRate; |
26 | class AliFMDCalibStripRange; |
27 | class AliCDBEntry; |
f6449cc0 |
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 */ |
9e6da51d |
66 | AliFMDPreprocessor(): AliPreprocessor("FMD",0) {} |
f6449cc0 |
67 | /** Constructor |
68 | @param shuttle Shuttle */ |
9e6da51d |
69 | AliFMDPreprocessor(AliShuttleInterface* shuttle) ; |
70 | |
71 | |
f6449cc0 |
72 | /** Destructor */ |
73 | virtual ~AliFMDPreprocessor() {} |
dc02d468 |
74 | /** Get an entry from OCDB */ |
75 | AliCDBEntry* GetFromCDB(const char* second, const char* third); |
f6449cc0 |
76 | protected: |
77 | /** Get the pedestal calibrations |
78 | @param list List of files */ |
79 | AliFMDCalibPedestal* GetPedestalCalibration(TList* list); |
80 | /** Get the gain calibrations |
81 | @param list List of files */ |
82 | AliFMDCalibGain* GetGainCalibration(TList*); |
d915e831 |
83 | /** Get the dead channels map based on the pedestal |
84 | an gain calibration objects. */ |
85 | |
86 | AliFMDCalibDeadMap* GetDeadChannelMap(AliFMDCalibPedestal* pedcalib, |
87 | AliFMDCalibGain* gaincalib); |
88 | |
dc02d468 |
89 | /** Get info calibrations. |
90 | @param files List of files. |
91 | @param s On return, newly allocated object |
92 | @param r On return, newly allocated object |
93 | @param z On return, newly allocated object |
94 | @return kTRUE on success */ |
95 | Bool_t GetInfoCalibration(TList* files, |
96 | AliFMDCalibSampleRate*& s, |
97 | AliFMDCalibStripRange*& r, |
98 | AliFMDCalibZeroSuppression*& z); |
99 | /** Convinience function |
100 | @param list On return, list of files. |
101 | @param system Alice system (DAQ, DCS, ...) |
102 | @param id File id |
103 | @return kTRUE on success. */ |
104 | Bool_t GetAndCheckFileSources(TList*& list, Int_t system, const char* id); |
105 | |
f6449cc0 |
106 | /** Entry method |
107 | @param dcsAliasMap Map of DCS data points */ |
108 | virtual UInt_t Process(TMap* dcsAliasMap); |
109 | private: |
110 | ClassDef(AliFMDPreprocessor, 1) |
111 | }; |
112 | |
113 | #endif |
114 | //____________________________________________________________________ |
115 | // |
116 | // Local Variables: |
117 | // mode: C++ |
118 | // End: |
119 | // |
120 | // EOF |
121 | // |