]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALQADataMakerRec.h
Correction suggested by Valgrind (Yves)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALQADataMakerRec.h
CommitLineData
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 ---
16class TH1F ;
17class TH1I ;
18class TObjArray ;
19
20// --- Standard library ---
21
22// --- AliRoot header files ---
23#include "AliQADataMakerRec.h"
def665cb 24class AliCaloRawAnalyzer;
25class AliCaloRawAnalyzerLMS;
9e47432c 26
27class AliEMCALQADataMakerRec: public AliQADataMakerRec {
28
29public:
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
54public:
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
118private:
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