Updated version of ITS QA Checker and related modifications (Melinda)
[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"
24
25class AliEMCALQADataMakerRec: public AliQADataMakerRec {
26
27public:
28 //Histograms for Raw data control
29 enum HRawType_t {
30 // first normal Low Gain and High Gain info
31 kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
32 kSigLG,kSigHG,kNtotLG,kNtotHG,kTowerHG,kTowerLG,
33 kPedLG,kPedHG,
34 kPedRMSLG,kPedRMSHG,
35 // then TRU info
36 kNsmodTRU,kTimeTRU,
37 kSigTRU,kNtotTRU,
38 kPedTRU,kPedRMSTRU,
39 // and also LED Mon info
40 kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
41 kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
42 kPedLGLEDMon,kPedHGLEDMon,
43 kPedRMSLGLEDMon,kPedRMSHGLEDMon
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
53public:
54 AliEMCALQADataMakerRec() ; // ctor
55 AliEMCALQADataMakerRec(const AliEMCALQADataMakerRec& qadm) ;
56 AliEMCALQADataMakerRec& operator = (const AliEMCALQADataMakerRec& qadm) ;
57 virtual ~AliEMCALQADataMakerRec() {;} // dtor
58
59 void SetSuperModules(int i) {fSuperModules = i;}; //The number of SuperModules
60 int GetSuperModules() const {return fSuperModules;}; //The number of SuperModules
61
62 // for pedestal calculation with raw data
63 void SetFirstPedestalSample(int i) {fFirstPedestalSample = i;}; // first sample
64 int GetFirstPedestalSample() const {return fFirstPedestalSample;}; // first sample
65 void SetLastPedestalSample(int i) {fLastPedestalSample = i;}; // last sample
66 int GetLastPedestalSample() const {return fLastPedestalSample;}; // last sample
67 // for selection of interesting signal (max-min) range for High Gain channels
68 // (useful for MIP/cosmic studies)
69 void SetMinSignalHG(int i) {fMinSignalHG = i;}; // minimum signal
70 int GetMinSignalHG() const {return fMinSignalHG;}; // minimum signal
71 void SetMaxSignalHG(int i) {fMaxSignalHG = i;}; // maximum signal
72 int GetMaxSignalHG() const {return fMaxSignalHG;}; // maximum signal
73
74 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list) ;
75 virtual void InitESDs() ;
76 virtual void InitDigits() ;
77 virtual void InitRecPoints() ;
78 virtual void InitRaws() ;
79 virtual void MakeESDs(AliESDEvent * esd) ;
80 virtual void MakeDigits() ;
81 virtual void MakeDigits(TTree * digTree) ;
82 virtual void MakeRecPoints(TTree * recpoTree) ;
83 virtual void MakeRaws(AliRawReader* rawReader) ;
84 virtual void StartOfDetectorCycle() ;
85
86private:
87 int fSuperModules; //The number of SuperModules activated
88 int fFirstPedestalSample; // first sample for pedestal calculation
89 int fLastPedestalSample; // last sample for pedestal calculation
90 int fMinSignalHG; // minimum signal, for High Gain channels
91 int fMaxSignalHG; // maximum signal, for High Gain channels
92
93 ClassDef(AliEMCALQADataMakerRec,4) // description
94
95};
96
97#endif // AliEMCALQADataMakerRec_H