]>
Commit | Line | Data |
---|---|---|
55458a14 | 1 | #ifndef ALITOFQADATAMAKERREC_H |
2 | #define ALITOFQADATAMAKERREC_H | |
04236e67 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //////////////////////////////////////////////////////////////////// | |
7 | // // | |
8 | // Produces the data needed to calculate the quality assurance. // | |
9 | // All data must be mergeable objects. // | |
10 | // S. Arcelli // | |
17f2cd01 | 11 | // // |
12 | // /* last modified by F. Bellini on 25/02/2010 */ // | |
04236e67 | 13 | //////////////////////////////////////////////////////////////////// |
14 | ||
ea8ae424 | 15 | #include <TLine.h> |
04236e67 | 16 | #include "AliQADataMakerRec.h" |
17f2cd01 | 17 | #include "AliQAv1.h" |
388c1205 | 18 | #include "AliTOFcalib.h" |
19 | #include "AliTOFTrigger.h" | |
32f820ea | 20 | #include "AliTOFRawStream.h" |
17f2cd01 | 21 | class AliCDBManager; |
22 | class AliCDBEntry; | |
23 | class AliCDBStorage; | |
24 | class AliTOFChannelOnlineStatusArray; | |
724eb92e | 25 | class AliTOFDecoderSummaryData; |
17f2cd01 | 26 | |
04236e67 | 27 | class AliTOFQADataMakerRec: public AliQADataMakerRec { |
28 | ||
29 | public: | |
30 | AliTOFQADataMakerRec() ; // ctor | |
31 | AliTOFQADataMakerRec(const AliTOFQADataMakerRec& qadm) ; | |
32 | AliTOFQADataMakerRec& operator = (const AliTOFQADataMakerRec& qadm) ; | |
6f972712 | 33 | AliTOFChannelOnlineStatusArray *GetCalibData() ; |
97430dfe | 34 | virtual ~AliTOFQADataMakerRec(); // dtor |
04236e67 | 35 | |
388c1205 | 36 | void GetGeo2LTMIndex(const Int_t * const detind, Int_t *indexLTM); |
37 | void GetGeo2CTTMIndex(Int_t *detind, Int_t *indexCTTM); | |
38 | void GetCTTMIndex(Int_t *equipid, Int_t *indexCTTM); | |
39 | void ReadHistogramRangeFromFile(const Char_t * filename); | |
40 | void SetDefaultHistogramRange(); | |
41 | void SetDefaultMultiHistogramRange(); | |
42 | void SetDefaultTimeHistogramRange(); | |
43 | void SetDefaultCutNmaxFiredMacropad(); | |
32f820ea | 44 | Float_t GetRangeMinTime(){return fgRangeMinTime;}//range min in time plot |
45 | Float_t GetRangeMaxTime(){return fgRangeMaxTime;}; //range max in time plot | |
388c1205 | 46 | |
17f2cd01 | 47 | protected: |
48 | AliTOFChannelOnlineStatusArray * fCalibData; //! calibration data | |
388c1205 | 49 | |
04236e67 | 50 | private: |
51 | virtual void InitESDs() ; | |
52 | virtual void InitRecPoints() ; | |
53 | virtual void InitRaws() ; | |
32bd8225 | 54 | virtual void MakeESDs(AliESDEvent * const esd) ; |
04236e67 | 55 | virtual void MakeRecPoints(TTree * recTree) ; |
56 | virtual void MakeRaws(AliRawReader* rawReader) ; | |
57 | virtual void StartOfDetectorCycle() ; | |
4e25ac79 | 58 | virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ; |
32bd8225 | 59 | virtual void GetMapIndeces(const Int_t * const in, Int_t *out) ; |
5f144062 | 60 | Int_t GetStripIndex(const Int_t * const in); |
17f2cd01 | 61 | virtual void EnableNoiseFiltering(Bool_t enable){fEnableNoiseFiltering = enable;}; |
5f144062 | 62 | virtual void EnableDqmShifterOpt(Bool_t enable){ fEnableDqmShifterOpt = enable;}; |
32bd8225 | 63 | Bool_t CheckVolumeID(const Int_t * const equipmentID); |
64 | Bool_t CheckEquipID( const Int_t * const equipmentID); | |
5f144062 | 65 | Bool_t FilterLTMData(const Int_t * const equipmentID) const ; |
66 | Bool_t FilterSpare( const Int_t * const equipmentID) const ; | |
388c1205 | 67 | Int_t GetNumberOfFiredMacropad(AliRawReader * rawReader); |
68 | static void SetNbinsMultiplicityHisto(Int_t value){fgNbinsMultiplicity=value; return;}; | |
69 | static void SetMultiplicityHistoRange (Int_t valueMin, Int_t valueMax){fgRangeMinMultiplicity=valueMin; fgRangeMaxMultiplicity=valueMax; return;} | |
70 | static void SetNbinsTimeHisto(Int_t value){fgNbinsTime=value; return;}; | |
484fd68b | 71 | static void SetTimeHistoRange (Float_t valueMin, Float_t valueMax){fgRangeMinTime=valueMin; fgRangeMaxTime=valueMax; return;}; |
388c1205 | 72 | static void SetCutNmaxFiredMacropad(Int_t value){fgCutNmaxFiredMacropad=value;return;}; |
73 | ||
74 | // void ResetAllTRMcounters(); | |
5f144062 | 75 | Bool_t fEnableNoiseFiltering; //the choice is not implemented so far |
76 | Bool_t fEnableDqmShifterOpt; // draw option flag to help | |
77 | // DQM shifter in the | |
78 | // interpretation of the TOF | |
79 | // raw QA histograms | |
724eb92e | 80 | Bool_t fIsSOC; //flag for StartOfCycle operations |
ea8ae424 | 81 | //lines for the DQM GUI |
82 | TLine* fLineExpTimeMin; | |
83 | TLine* fLineExpTimeMax; | |
84 | TLine* fLineExpTotMin; | |
85 | TLine* fLineExpTotMax; | |
32f820ea | 86 | /* TLine* fLineSMid[17]; */ |
87 | /* TLine* fLineLTMid[71]; */ | |
88 | /* TLine* fLineLTMbitId[22]; */ | |
388c1205 | 89 | |
6f972712 | 90 | AliTOFRawStream fTOFRawStream; // AliTOFRawStream variable |
91 | AliTOFDecoderSummaryData * fDecoderSummary; //pointer to decoder summary data object | |
388c1205 | 92 | Int_t fRunNumber; //run number |
93 | static Int_t fgNbinsMultiplicity;//number of bins in multiplicity plot | |
94 | static Int_t fgRangeMinMultiplicity;//min range in multiplicity plot | |
95 | static Int_t fgRangeMaxMultiplicity;//max range in multiplicity plot | |
96 | static Int_t fgNbinsTime;//number of bins in time plot | |
97 | static const Float_t fgkNbinsWidthTime;//width of bins in time plot | |
98 | static Float_t fgRangeMinTime;//range min in time plot | |
99 | static Float_t fgRangeMaxTime; //range max in time plot | |
100 | static Int_t fgCutNmaxFiredMacropad; //cut on max number of fired macropad | |
101 | static const Int_t fgkFiredMacropadLimit; //limit on cut on number of fired macropad | |
102 | AliTOFcalib fCalib;//calibration object | |
103 | ||
104 | ClassDef(AliTOFQADataMakerRec,8) // description | |
04236e67 | 105 | }; |
106 | ||
55458a14 | 107 | #endif // ALITOFQADATAMAKERREC_H |