]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EMCAL/AliEMCALQADataMakerRec.h
Move data member fFixTau from AliCaloRawAnalyzerFitter to the mother class
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALQADataMakerRec.h
CommitLineData
afae9650 1#ifndef ALIEMCALQADATAMAKERREC_H
2#define ALIEMCALQADATAMAKERREC_H
9e47432c 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
38986b78 12
13 Created one histogram for QA shifter;-- Yaxian Mao: 11/2009
14 The idea:average counts for all the towers should be flat
15 Change all existing histograms as experts
16
17 Change histograms for DQM shifter: -- Yaxian Mao 04/2010
18 Calcuate the amplitude ratio from current run and the LED reference, for QAChecker use
19 Also calculate the ratio of amplitude from LED Monitor system (current/Reference), to check LED system
20
9e47432c 21*/
22
9e47432c 23// --- ROOT system ---
24class TH1F ;
38986b78 25class TH1I ;
26class TH2F ;
27class TH2 ;
28class TLine ;
29class TText ;
30class TProfile ;
9e47432c 31class TObjArray ;
32
9e47432c 33// --- AliRoot header files ---
34#include "AliQADataMakerRec.h"
def665cb 35class AliCaloRawAnalyzer;
9f966f11 36class AliCaloRawAnalyzerKStandard;
3d66fb5e 37class AliEMCALGeometry;
d0a23357 38#include "AliCaloConstants.h"
39
9e47432c 40class AliEMCALQADataMakerRec: public AliQADataMakerRec {
41
42public:
d0a23357 43
9e47432c 44 //Histograms for Raw data control
45 enum HRawType_t {
46 // first normal Low Gain and High Gain info
47 kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
00957c37 48 kNtotLG,kNtotHG,kSigHG,kSigLG,
9e47432c 49 kPedLG,kPedHG,
38986b78 50 k2DRatioAmp,kRatioDist, kLEDMonRatio, kLEDMonRatioDist,
9e47432c 51 // then TRU info
e4a4c62f 52 kNsmodTRU,
9e47432c 53 kSigTRU,kNtotTRU,
5c6517c3 54 kNL0TRU, kTimeL0TRU,
e4a4c62f 55 kNL0FirstTRU, kTimeL0FirstTRU,
9e47432c 56 // and also LED Mon info
57 kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
58 kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
3d66fb5e 59 kPedLGLEDMon,kPedHGLEDMon,
60 //and STU info
61 kAmpL1, kGL1, kJL1,
62 kGL1V0, kJL1V0, kSTUTRU
9e47432c 63 } ;
64
65 //Histograms for RecPoints control
66 enum HRPType_t {kRecPE,kRecPM,kRecPDigM};
67
68 //Histograms for ESDs control
69 enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ;
d0a23357 70
9e47432c 71public:
d0a23357 72
a56549da 73 AliEMCALQADataMakerRec(Int_t fitAlgo = Algo::kStandard) ; // ctor
74 // Default fitter is kStandard=0 (see AliCaloConstants)
c1b3e790 75
9e47432c 76 AliEMCALQADataMakerRec(const AliEMCALQADataMakerRec& qadm) ;
77 AliEMCALQADataMakerRec& operator = (const AliEMCALQADataMakerRec& qadm) ;
78 virtual ~AliEMCALQADataMakerRec() {;} // dtor
79
def665cb 80 Int_t GetFittingAlgorithm() const {return fFittingAlgorithm; }
d0a23357 81 void SetFittingAlgorithm(Int_t val);
2a5a8fbe 82
def665cb 83 AliCaloRawAnalyzer *GetRawAnalyzer() const { return fRawAnalyzer;}
9f966f11 84 AliCaloRawAnalyzerKStandard *GetRawAnalyzerTRU() const { return fRawAnalyzerTRU;}
def665cb 85
9e47432c 86 void SetSuperModules(int i) {fSuperModules = i;}; //The number of SuperModules
87 int GetSuperModules() const {return fSuperModules;}; //The number of SuperModules
88
89 // for pedestal calculation with raw data
a56549da 90 void SetFirstPedestalSample(int i) {fFirstPedestalSample = i;} // first sample
d0a23357 91 int GetFirstPedestalSample() const {return fFirstPedestalSample;} // first sample
a56549da 92 void SetLastPedestalSample(int i) {fLastPedestalSample = i;} // last sample
93 int GetLastPedestalSample() const {return fLastPedestalSample;} // last sample
d0a23357 94
a56549da 95 void SetFirstPedestalSampleTRU(int i) {fFirstPedestalSampleTRU = i;} // first sample, TRU
d0a23357 96 int GetFirstPedestalSampleTRU() const {return fFirstPedestalSampleTRU;} // first sample, TRU
a56549da 97 void SetLastPedestalSampleTRU(int i) {fLastPedestalSampleTRU = i;} // last sample, TRU
98 int GetLastPedestalSampleTRU() const {return fLastPedestalSampleTRU;} // last sample, TRU
def665cb 99
100 // for selection of interesting signal (max-min) range
101 // Low Gain channels
a56549da 102 void SetMinSignalLG(int i) {fMinSignalLG = i;}
d0a23357 103 int GetMinSignalLG() const {return fMinSignalLG;}
a56549da 104 void SetMaxSignalLG(int i) {fMaxSignalLG = i;}
d0a23357 105 int GetMaxSignalLG() const {return fMaxSignalLG;}
106
def665cb 107 // High Gain channels
a56549da 108 void SetMinSignalHG(int i) {fMinSignalHG = i;}
d0a23357 109 int GetMinSignalHG() const {return fMinSignalHG;}
a56549da 110 void SetMaxSignalHG(int i) {fMaxSignalHG = i;}
d0a23357 111 int GetMaxSignalHG() const {return fMaxSignalHG;}
112
def665cb 113 // TRU channels
d0a23357 114 void SetMinSignalTRU(int i) {fMinSignalTRU = i;}
115 int GetMinSignalTRU() const {return fMinSignalTRU;}
116 void SetMaxSignalTRU(int i) {fMaxSignalTRU = i;}
117 int GetMaxSignalTRU() const {return fMaxSignalTRU;}
118
def665cb 119 // LEDMon channels
d0a23357 120 void SetMinSignalLGLEDMon(int i) {fMinSignalLGLEDMon = i;}
121 int GetMinSignalLGLEDMon() const {return fMinSignalLGLEDMon;}
122 void SetMaxSignalLGLEDMon(int i) {fMaxSignalLGLEDMon = i;}
123 int GetMaxSignalLGLEDMon() const {return fMaxSignalLGLEDMon;}
124 void SetMinSignalHGLEDMon(int i) {fMinSignalHGLEDMon = i;}
125 int GetMinSignalHGLEDMon() const {return fMinSignalHGLEDMon;}
126 void SetMaxSignalHGLEDMon(int i) {fMaxSignalHGLEDMon = i;}
127 int GetMaxSignalHGLEDMon() const {return fMaxSignalHGLEDMon;}
9e47432c 128
129 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list) ;
38986b78 130 void GetCalibRefFromOCDB() ;
d0a23357 131 void GetTruChannelPosition( Int_t &globRow, Int_t &globColumn, Int_t module, Int_t ddl, Int_t branch, Int_t column ) const;
9e47432c 132 virtual void InitESDs() ;
133 virtual void InitDigits() ;
134 virtual void InitRecPoints() ;
135 virtual void InitRaws() ;
136 virtual void MakeESDs(AliESDEvent * esd) ;
137 virtual void MakeDigits() ;
138 virtual void MakeDigits(TTree * digTree) ;
139 virtual void MakeRecPoints(TTree * recpoTree) ;
3d66fb5e 140 virtual void MakeRaws(AliRawReader* rawReader) ;
afae9650 141 virtual void MakeRawsSTU(AliRawReader* rawReader);
9e47432c 142 virtual void StartOfDetectorCycle() ;
143
144private:
38986b78 145
d0a23357 146 void ConvertProfile2H(TProfile * p, TH2 * histo) ; //change the profile plot to a 2D histogram
147
2a5a8fbe 148 Int_t fFittingAlgorithm; // select the fitting algorithm, not really used, remove?
92d9f317 149
d0a23357 150 AliCaloRawAnalyzer *fRawAnalyzer; // for signal fitting
151 AliCaloRawAnalyzerKStandard *fRawAnalyzerTRU; // for TRU signal fitting
152 AliEMCALGeometry *fGeom; // EMCAL geometry, needed for STU decoding
def665cb 153
d0a23357 154 int fSuperModules; // The number of SuperModules activated
155 int fFirstPedestalSample; // first sample for pedestal calculation, in bunch
156 int fLastPedestalSample; // last sample for pedestal calculation, in bunch
def665cb 157 int fFirstPedestalSampleTRU; // first sample for pedestal calculation, in bunch
d0a23357 158 int fLastPedestalSampleTRU; // last sample for pedestal calculation, in bunch
159 int fMinSignalLG; // minimum signal, for Low Gain channels
160 int fMaxSignalLG; // maximum signal, for Low Gain channels
161 int fMinSignalHG; // minimum signal, for High Gain channels
162 int fMaxSignalHG; // maximum signal, for High Gain channels
163 int fMinSignalTRU; // minimum signal, for TRU channels
164 int fMaxSignalTRU; // maximum signal, for TRU channels
def665cb 165 int fMinSignalLGLEDMon; // minimum signal, for LEDMon channels, low gain
166 int fMaxSignalLGLEDMon; // maximum signal, for LEDMon channels, low gain
167 int fMinSignalHGLEDMon; // minimum signal, for LEDMon channels, high gain
168 int fMaxSignalHGLEDMon; // maximum signal, for LEDMon channels, high gain
169
38986b78 170 TProfile * fCalibRefHistoPro ; // Profile reference histogram from LED run
171 TH2F * fCalibRefHistoH2F ; // H2F reference histogram from LED run
d0a23357 172 TProfile * fLEDMonRefHistoPro; // Profile reference histogram from LED monitor
173 TH2F * fHighEmcHistoH2F ; // H2F reference histogram from LED run
38986b78 174// TText ** fTextSM ; //! Text info for each SM
175// TLine * fLineCol ; //! line to distinguish the different SM side: A side and C side
176// TLine * fLineRow ; //! line to distinguish the different SM sector 0 and 1
9e47432c 177
def665cb 178 ClassDef(AliEMCALQADataMakerRec,5) // description
9e47432c 179
180};
181
afae9650 182#endif // AliEMCALQADATAMAKERREC_H