]>
Commit | Line | Data |
---|---|---|
9e47432c | 1 | #ifndef ALIEMCALQADataMakerRec_H |
2 | #define ALIEMCALQADataMakerRec_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* | |
7 | Produces the data needed to calculate the quality assurance. | |
8 | All data must be mergeable objects. | |
9 | ||
10 | Based on PHOS code written by | |
11 | Y. Schutz CERN July 2007 | |
12 | */ | |
13 | ||
14 | ||
15 | // --- ROOT system --- | |
16 | class TH1F ; | |
17 | class TH1I ; | |
18 | class TObjArray ; | |
19 | ||
20 | // --- Standard library --- | |
21 | ||
22 | // --- AliRoot header files --- | |
23 | #include "AliQADataMakerRec.h" | |
def665cb | 24 | class AliCaloRawAnalyzer; |
25 | class AliCaloRawAnalyzerLMS; | |
9e47432c | 26 | |
27 | class AliEMCALQADataMakerRec: public AliQADataMakerRec { | |
28 | ||
29 | public: | |
30 | //Histograms for Raw data control | |
31 | enum HRawType_t { | |
32 | // first normal Low Gain and High Gain info | |
33 | kNsmodLG,kNsmodHG,kTimeLG,kTimeHG, | |
34 | kSigLG,kSigHG,kNtotLG,kNtotHG,kTowerHG,kTowerLG, | |
35 | kPedLG,kPedHG, | |
9e47432c | 36 | // then TRU info |
37 | kNsmodTRU,kTimeTRU, | |
38 | kSigTRU,kNtotTRU, | |
def665cb | 39 | kPedTRU, |
5c6517c3 | 40 | kNL0TRU, kTimeL0TRU, |
9e47432c | 41 | // and also LED Mon info |
42 | kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon, | |
43 | kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon, | |
def665cb | 44 | kPedLGLEDMon,kPedHGLEDMon |
9e47432c | 45 | } ; |
46 | ||
47 | //Histograms for RecPoints control | |
48 | enum HRPType_t {kRecPE,kRecPM,kRecPDigM}; | |
49 | ||
50 | //Histograms for ESDs control | |
51 | enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ; | |
52 | ||
53 | ||
54 | public: | |
def665cb | 55 | enum fitAlgorithm {kFastFit=1, kNeuralNet = 2, kLMS = 4, kPeakFinder = 5, kCrude = 6}; |
56 | AliEMCALQADataMakerRec(fitAlgorithm fitAlgo = kNeuralNet) ; // ctor | |
57 | ||
9e47432c | 58 | AliEMCALQADataMakerRec(const AliEMCALQADataMakerRec& qadm) ; |
59 | AliEMCALQADataMakerRec& operator = (const AliEMCALQADataMakerRec& qadm) ; | |
60 | virtual ~AliEMCALQADataMakerRec() {;} // dtor | |
61 | ||
def665cb | 62 | Int_t GetFittingAlgorithm() const {return fFittingAlgorithm; } |
63 | void SetFittingAlgorithm(Int_t val); | |
64 | AliCaloRawAnalyzer *GetRawAnalyzer() const { return fRawAnalyzer;} | |
65 | AliCaloRawAnalyzerLMS *GetRawAnalyzerTRU() const { return fRawAnalyzerTRU;} | |
66 | ||
9e47432c | 67 | void SetSuperModules(int i) {fSuperModules = i;}; //The number of SuperModules |
68 | int GetSuperModules() const {return fSuperModules;}; //The number of SuperModules | |
69 | ||
70 | // for pedestal calculation with raw data | |
71 | void SetFirstPedestalSample(int i) {fFirstPedestalSample = i;}; // first sample | |
72 | int GetFirstPedestalSample() const {return fFirstPedestalSample;}; // first sample | |
73 | void SetLastPedestalSample(int i) {fLastPedestalSample = i;}; // last sample | |
74 | int GetLastPedestalSample() const {return fLastPedestalSample;}; // last sample | |
def665cb | 75 | void SetFirstPedestalSampleTRU(int i) {fFirstPedestalSampleTRU = i;}; // first sample, TRU |
76 | int GetFirstPedestalSampleTRU() const {return fFirstPedestalSampleTRU;}; // first sample, TRU | |
77 | void SetLastPedestalSampleTRU(int i) {fLastPedestalSampleTRU = i;}; // last sample, TRU | |
78 | int GetLastPedestalSampleTRU() const {return fLastPedestalSampleTRU;}; // last sample, TRU | |
79 | ||
80 | // for selection of interesting signal (max-min) range | |
81 | // Low Gain channels | |
82 | void SetMinSignalLG(int i) {fMinSignalLG = i;}; | |
83 | int GetMinSignalLG() const {return fMinSignalLG;}; | |
84 | void SetMaxSignalLG(int i) {fMaxSignalLG = i;}; | |
85 | int GetMaxSignalLG() const {return fMaxSignalLG;}; | |
86 | // High Gain channels | |
87 | void SetMinSignalHG(int i) {fMinSignalHG = i;}; | |
88 | int GetMinSignalHG() const {return fMinSignalHG;}; | |
89 | void SetMaxSignalHG(int i) {fMaxSignalHG = i;}; | |
90 | int GetMaxSignalHG() const {return fMaxSignalHG;}; | |
91 | // TRU channels | |
92 | void SetMinSignalTRU(int i) {fMinSignalTRU = i;}; | |
93 | int GetMinSignalTRU() const {return fMinSignalTRU;}; | |
94 | void SetMaxSignalTRU(int i) {fMaxSignalTRU = i;}; | |
95 | int GetMaxSignalTRU() const {return fMaxSignalTRU;}; | |
96 | // LEDMon channels | |
97 | void SetMinSignalLGLEDMon(int i) {fMinSignalLGLEDMon = i;}; | |
98 | int GetMinSignalLGLEDMon() const {return fMinSignalLGLEDMon;}; | |
99 | void SetMaxSignalLGLEDMon(int i) {fMaxSignalLGLEDMon = i;}; | |
100 | int GetMaxSignalLGLEDMon() const {return fMaxSignalLGLEDMon;}; | |
101 | void SetMinSignalHGLEDMon(int i) {fMinSignalHGLEDMon = i;}; | |
102 | int GetMinSignalHGLEDMon() const {return fMinSignalHGLEDMon;}; | |
103 | void SetMaxSignalHGLEDMon(int i) {fMaxSignalHGLEDMon = i;}; | |
104 | int GetMaxSignalHGLEDMon() const {return fMaxSignalHGLEDMon;}; | |
9e47432c | 105 | |
106 | virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list) ; | |
107 | virtual void InitESDs() ; | |
108 | virtual void InitDigits() ; | |
109 | virtual void InitRecPoints() ; | |
110 | virtual void InitRaws() ; | |
111 | virtual void MakeESDs(AliESDEvent * esd) ; | |
112 | virtual void MakeDigits() ; | |
113 | virtual void MakeDigits(TTree * digTree) ; | |
114 | virtual void MakeRecPoints(TTree * recpoTree) ; | |
115 | virtual void MakeRaws(AliRawReader* rawReader) ; | |
116 | virtual void StartOfDetectorCycle() ; | |
117 | ||
118 | private: | |
def665cb | 119 | |
120 | Int_t fFittingAlgorithm; // select the fitting algorithm | |
121 | AliCaloRawAnalyzer *fRawAnalyzer; // for signal fitting | |
122 | AliCaloRawAnalyzerLMS *fRawAnalyzerTRU; // for signal fitting, for TRU | |
123 | ||
9e47432c | 124 | int fSuperModules; //The number of SuperModules activated |
def665cb | 125 | int fFirstPedestalSample; // first sample for pedestal calculation, in bunch |
126 | int fLastPedestalSample; // last sample for pedestal calculation, in bunch | |
127 | int fFirstPedestalSampleTRU; // first sample for pedestal calculation, in bunch | |
128 | int fLastPedestalSampleTRU; // last sample for pedestal calculation, in bunch | |
129 | int fMinSignalLG; // minimum signal, for Low Gain channels | |
130 | int fMaxSignalLG; // maximum signal, for Low Gain channels | |
9e47432c | 131 | int fMinSignalHG; // minimum signal, for High Gain channels |
132 | int fMaxSignalHG; // maximum signal, for High Gain channels | |
def665cb | 133 | int fMinSignalTRU; // minimum signal, for TRU channels |
134 | int fMaxSignalTRU; // maximum signal, for TRU channels | |
135 | int fMinSignalLGLEDMon; // minimum signal, for LEDMon channels, low gain | |
136 | int fMaxSignalLGLEDMon; // maximum signal, for LEDMon channels, low gain | |
137 | int fMinSignalHGLEDMon; // minimum signal, for LEDMon channels, high gain | |
138 | int fMaxSignalHGLEDMon; // maximum signal, for LEDMon channels, high gain | |
139 | ||
9e47432c | 140 | |
def665cb | 141 | ClassDef(AliEMCALQADataMakerRec,5) // description |
9e47432c | 142 | |
143 | }; | |
144 | ||
145 | #endif // AliEMCALQADataMakerRec_H |