bug fix
[u/mrichter/AliRoot.git] / FMD / AliFMDPreprocessor.h
CommitLineData
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 21typedef AliFMDUShortMap AliFMDCalibZeroSuppression;
d915e831 22typedef AliFMDBoolMap AliFMDCalibDeadMap;
f6449cc0 23class AliFMDCalibPedestal;
24class AliFMDCalibGain;
dc02d468 25class AliFMDCalibSampleRate;
26class AliFMDCalibStripRange;
27class AliCDBEntry;
f6449cc0 28class 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*/
62class AliFMDPreprocessor: public AliPreprocessor
63{
64public:
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 76protected:
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);
109private:
110 ClassDef(AliFMDPreprocessor, 1)
111};
112
113#endif
114//____________________________________________________________________
115//
116// Local Variables:
117// mode: C++
118// End:
119//
120// EOF
121//