]>
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, |
9e47432c | 40 | // and also LED Mon info |
41 | kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon, | |
42 | kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon, | |
def665cb | 43 | kPedLGLEDMon,kPedHGLEDMon |
9e47432c | 44 | } ; |
45 | ||
46 | //Histograms for RecPoints control | |
47 | enum HRPType_t {kRecPE,kRecPM,kRecPDigM}; | |
48 | ||
49 | //Histograms for ESDs control | |
50 | enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ; | |
51 | ||
52 | ||
53 | public: | |
def665cb | 54 | enum fitAlgorithm {kFastFit=1, kNeuralNet = 2, kLMS = 4, kPeakFinder = 5, kCrude = 6}; |
55 | AliEMCALQADataMakerRec(fitAlgorithm fitAlgo = kNeuralNet) ; // ctor | |
56 | ||
9e47432c | 57 | AliEMCALQADataMakerRec(const AliEMCALQADataMakerRec& qadm) ; |
58 | AliEMCALQADataMakerRec& operator = (const AliEMCALQADataMakerRec& qadm) ; | |
59 | virtual ~AliEMCALQADataMakerRec() {;} // dtor | |
60 | ||
def665cb | 61 | Int_t GetFittingAlgorithm() const {return fFittingAlgorithm; } |
62 | void SetFittingAlgorithm(Int_t val); | |
63 | AliCaloRawAnalyzer *GetRawAnalyzer() const { return fRawAnalyzer;} | |
64 | AliCaloRawAnalyzerLMS *GetRawAnalyzerTRU() const { return fRawAnalyzerTRU;} | |
65 | ||
9e47432c | 66 | void SetSuperModules(int i) {fSuperModules = i;}; //The number of SuperModules |
67 | int GetSuperModules() const {return fSuperModules;}; //The number of SuperModules | |
68 | ||
69 | // for pedestal calculation with raw data | |
70 | void SetFirstPedestalSample(int i) {fFirstPedestalSample = i;}; // first sample | |
71 | int GetFirstPedestalSample() const {return fFirstPedestalSample;}; // first sample | |
72 | void SetLastPedestalSample(int i) {fLastPedestalSample = i;}; // last sample | |
73 | int GetLastPedestalSample() const {return fLastPedestalSample;}; // last sample | |
def665cb | 74 | void SetFirstPedestalSampleTRU(int i) {fFirstPedestalSampleTRU = i;}; // first sample, TRU |
75 | int GetFirstPedestalSampleTRU() const {return fFirstPedestalSampleTRU;}; // first sample, TRU | |
76 | void SetLastPedestalSampleTRU(int i) {fLastPedestalSampleTRU = i;}; // last sample, TRU | |
77 | int GetLastPedestalSampleTRU() const {return fLastPedestalSampleTRU;}; // last sample, TRU | |
78 | ||
79 | // for selection of interesting signal (max-min) range | |
80 | // Low Gain channels | |
81 | void SetMinSignalLG(int i) {fMinSignalLG = i;}; | |
82 | int GetMinSignalLG() const {return fMinSignalLG;}; | |
83 | void SetMaxSignalLG(int i) {fMaxSignalLG = i;}; | |
84 | int GetMaxSignalLG() const {return fMaxSignalLG;}; | |
85 | // High Gain channels | |
86 | void SetMinSignalHG(int i) {fMinSignalHG = i;}; | |
87 | int GetMinSignalHG() const {return fMinSignalHG;}; | |
88 | void SetMaxSignalHG(int i) {fMaxSignalHG = i;}; | |
89 | int GetMaxSignalHG() const {return fMaxSignalHG;}; | |
90 | // TRU channels | |
91 | void SetMinSignalTRU(int i) {fMinSignalTRU = i;}; | |
92 | int GetMinSignalTRU() const {return fMinSignalTRU;}; | |
93 | void SetMaxSignalTRU(int i) {fMaxSignalTRU = i;}; | |
94 | int GetMaxSignalTRU() const {return fMaxSignalTRU;}; | |
95 | // LEDMon channels | |
96 | void SetMinSignalLGLEDMon(int i) {fMinSignalLGLEDMon = i;}; | |
97 | int GetMinSignalLGLEDMon() const {return fMinSignalLGLEDMon;}; | |
98 | void SetMaxSignalLGLEDMon(int i) {fMaxSignalLGLEDMon = i;}; | |
99 | int GetMaxSignalLGLEDMon() const {return fMaxSignalLGLEDMon;}; | |
100 | void SetMinSignalHGLEDMon(int i) {fMinSignalHGLEDMon = i;}; | |
101 | int GetMinSignalHGLEDMon() const {return fMinSignalHGLEDMon;}; | |
102 | void SetMaxSignalHGLEDMon(int i) {fMaxSignalHGLEDMon = i;}; | |
103 | int GetMaxSignalHGLEDMon() const {return fMaxSignalHGLEDMon;}; | |
9e47432c | 104 | |
105 | virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list) ; | |
106 | virtual void InitESDs() ; | |
107 | virtual void InitDigits() ; | |
108 | virtual void InitRecPoints() ; | |
109 | virtual void InitRaws() ; | |
110 | virtual void MakeESDs(AliESDEvent * esd) ; | |
111 | virtual void MakeDigits() ; | |
112 | virtual void MakeDigits(TTree * digTree) ; | |
113 | virtual void MakeRecPoints(TTree * recpoTree) ; | |
114 | virtual void MakeRaws(AliRawReader* rawReader) ; | |
115 | virtual void StartOfDetectorCycle() ; | |
116 | ||
117 | private: | |
def665cb | 118 | |
119 | Int_t fFittingAlgorithm; // select the fitting algorithm | |
120 | AliCaloRawAnalyzer *fRawAnalyzer; // for signal fitting | |
121 | AliCaloRawAnalyzerLMS *fRawAnalyzerTRU; // for signal fitting, for TRU | |
122 | ||
9e47432c | 123 | int fSuperModules; //The number of SuperModules activated |
def665cb | 124 | int fFirstPedestalSample; // first sample for pedestal calculation, in bunch |
125 | int fLastPedestalSample; // last sample for pedestal calculation, in bunch | |
126 | int fFirstPedestalSampleTRU; // first sample for pedestal calculation, in bunch | |
127 | int fLastPedestalSampleTRU; // last sample for pedestal calculation, in bunch | |
128 | int fMinSignalLG; // minimum signal, for Low Gain channels | |
129 | int fMaxSignalLG; // maximum signal, for Low Gain channels | |
9e47432c | 130 | int fMinSignalHG; // minimum signal, for High Gain channels |
131 | int fMaxSignalHG; // maximum signal, for High Gain channels | |
def665cb | 132 | int fMinSignalTRU; // minimum signal, for TRU channels |
133 | int fMaxSignalTRU; // maximum signal, for TRU channels | |
134 | int fMinSignalLGLEDMon; // minimum signal, for LEDMon channels, low gain | |
135 | int fMaxSignalLGLEDMon; // maximum signal, for LEDMon channels, low gain | |
136 | int fMinSignalHGLEDMon; // minimum signal, for LEDMon channels, high gain | |
137 | int fMaxSignalHGLEDMon; // maximum signal, for LEDMon channels, high gain | |
138 | ||
9e47432c | 139 | |
def665cb | 140 | ClassDef(AliEMCALQADataMakerRec,5) // description |
9e47432c | 141 | |
142 | }; | |
143 | ||
144 | #endif // AliEMCALQADataMakerRec_H |