]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - TOF/AliTOFQADataMakerRec.h
#101318: Patch for various problems in AliROOT
[u/mrichter/AliRoot.git] / TOF / AliTOFQADataMakerRec.h
... / ...
CommitLineData
1#ifndef ALITOFQADATAMAKERREC_H
2#define ALITOFQADATAMAKERREC_H
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 //
11// //
12// /* last modified by F. Bellini on 25/02/2010 */ //
13////////////////////////////////////////////////////////////////////
14
15#include <TLine.h>
16#include "AliQADataMakerRec.h"
17#include "AliQAv1.h"
18#include "AliTOFcalib.h"
19#include "AliTOFTrigger.h"
20#include "AliTOFRawStream.h"
21class AliCDBManager;
22class AliCDBEntry;
23class AliCDBStorage;
24class AliTOFChannelOnlineStatusArray;
25class AliTOFDecoderSummaryData;
26
27class AliTOFQADataMakerRec: public AliQADataMakerRec {
28
29public:
30 AliTOFQADataMakerRec() ; // ctor
31 AliTOFQADataMakerRec(const AliTOFQADataMakerRec& qadm) ;
32 AliTOFQADataMakerRec& operator = (const AliTOFQADataMakerRec& qadm) ;
33 AliTOFChannelOnlineStatusArray *GetCalibData() ;
34 virtual ~AliTOFQADataMakerRec(); // dtor
35
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();
44 Float_t GetRangeMinTime(){return fgRangeMinTime;}//range min in time plot
45 Float_t GetRangeMaxTime(){return fgRangeMaxTime;}; //range max in time plot
46
47protected:
48 AliTOFChannelOnlineStatusArray * fCalibData; //! calibration data
49
50private:
51 virtual void InitESDs() ;
52 virtual void InitRecPoints() ;
53 virtual void InitRaws() ;
54 virtual void MakeESDs(AliESDEvent * const esd) ;
55 virtual void MakeRecPoints(TTree * recTree) ;
56 virtual void MakeRaws(AliRawReader* rawReader) ;
57 virtual void StartOfDetectorCycle() ;
58 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
59 virtual void GetMapIndeces(const Int_t * const in, Int_t *out) ;
60 Int_t GetStripIndex(const Int_t * const in);
61 virtual void EnableNoiseFiltering(Bool_t enable){fEnableNoiseFiltering = enable;};
62 virtual void EnableDqmShifterOpt(Bool_t enable){ fEnableDqmShifterOpt = enable;};
63 Bool_t CheckVolumeID(const Int_t * const equipmentID);
64 Bool_t CheckEquipID( const Int_t * const equipmentID);
65 Bool_t FilterLTMData(const Int_t * const equipmentID) const ;
66 Bool_t FilterSpare( const Int_t * const equipmentID) const ;
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;};
71 static void SetTimeHistoRange (Float_t valueMin, Float_t valueMax){fgRangeMinTime=valueMin; fgRangeMaxTime=valueMax; return;};
72 static void SetCutNmaxFiredMacropad(Int_t value){fgCutNmaxFiredMacropad=value;return;};
73
74 // void ResetAllTRMcounters();
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
80 Bool_t fIsSOC; //flag for StartOfCycle operations
81 //lines for the DQM GUI
82 TLine* fLineExpTimeMin;
83 TLine* fLineExpTimeMax;
84 TLine* fLineExpTotMin;
85 TLine* fLineExpTotMax;
86 /* TLine* fLineSMid[17]; */
87 /* TLine* fLineLTMid[71]; */
88 /* TLine* fLineLTMbitId[22]; */
89
90 AliTOFRawStream fTOFRawStream; // AliTOFRawStream variable
91 AliTOFDecoderSummaryData * fDecoderSummary; //pointer to decoder summary data object
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
105};
106
107#endif // ALITOFQADATAMAKERREC_H