Line data Source code
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"
21 : class AliCDBManager;
22 : class AliCDBEntry;
23 : class AliCDBStorage;
24 : class AliTOFChannelOnlineStatusArray;
25 : class AliTOFDecoderSummaryData;
26 :
27 : class AliTOFQADataMakerRec: public AliQADataMakerRec {
28 :
29 : public:
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 0 : Float_t GetRangeMinTime(){return fgRangeMinTime;}//range min in time plot
45 0 : Float_t GetRangeMaxTime(){return fgRangeMaxTime;}; //range max in time plot
46 :
47 : protected:
48 : AliTOFChannelOnlineStatusArray * fCalibData; //! calibration data
49 :
50 : private:
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 0 : virtual void EnableNoiseFiltering(Bool_t enable){fEnableNoiseFiltering = enable;};
62 0 : 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 0 : static void SetNbinsMultiplicityHisto(Int_t value){fgNbinsMultiplicity=value; return;};
69 0 : static void SetMultiplicityHistoRange (Int_t valueMin, Int_t valueMax){fgRangeMinMultiplicity=valueMin; fgRangeMaxMultiplicity=valueMax; return;}
70 0 : static void SetNbinsTimeHisto(Int_t value){fgNbinsTime=value; return;};
71 0 : static void SetTimeHistoRange (Float_t valueMin, Float_t valueMax){fgRangeMinTime=valueMin; fgRangeMaxTime=valueMax; return;};
72 0 : 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 Pave text for DQM shifter
77 : Bool_t fIsSOC; //flag for StartOfCycle operations
78 : TLine* fLineExpTimeMin; //threshold line for DQM
79 : TLine* fLineExpTimeMax; //threshold line for DQM
80 : TLine* fLineExpTotMin; //threshold line for DQM
81 : TLine* fLineExpTotMax; //threshold line for DQM
82 :
83 : AliTOFRawStream fTOFRawStream; // AliTOFRawStream variable
84 : AliTOFDecoderSummaryData * fDecoderSummary; //pointer to decoder summary data object
85 : Int_t fRunNumber; //run number
86 : static Int_t fgNbinsMultiplicity;//number of bins in multiplicity plot
87 : static Int_t fgRangeMinMultiplicity;//min range in multiplicity plot
88 : static Int_t fgRangeMaxMultiplicity;//max range in multiplicity plot
89 : static Int_t fgNbinsTime;//number of bins in time plot
90 : static const Float_t fgkNbinsWidthTime;//width of bins in time plot
91 : static Float_t fgRangeMinTime;//range min in time plot
92 : static Float_t fgRangeMaxTime; //range max in time plot
93 : static Int_t fgCutNmaxFiredMacropad; //cut on max number of fired macropad
94 : static const Int_t fgkFiredMacropadLimit; //limit on cut on number of fired macropad
95 : AliTOFcalib fCalib;//calibration object
96 :
97 26 : ClassDef(AliTOFQADataMakerRec,8) // description
98 : };
99 :
100 : #endif // ALITOFQADATAMAKERREC_H
|