]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDPreprocessor.h
Moving the FMD analysis to PWG2
[u/mrichter/AliRoot.git] / FMD / AliFMDPreprocessor.h
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"
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   AliFMDPreprocessor(): AliPreprocessor("FMD",0) {}
67   /** Constructor 
68       @param shuttle Shuttle */
69   AliFMDPreprocessor(AliShuttleInterface* shuttle) ;
70   
71   
72   /** Destructor */
73   virtual ~AliFMDPreprocessor() {}
74   /** Get an entry from OCDB */ 
75   AliCDBEntry* GetFromCDB(const char* second, const char* third);
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*);
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
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   
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 //