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 */
6 ////////////////////////////////////////////////////////////////////
8 // Produces the data needed to calculate the quality assurance. //
9 // All data must be mergeable objects. //
12 // /* last modified by F. Bellini on 25/02/2010 */ //
13 ////////////////////////////////////////////////////////////////////
16 #include "AliQADataMakerRec.h"
18 #include "AliTOFcalib.h"
19 #include "AliTOFTrigger.h"
23 class AliTOFChannelOnlineStatusArray;
24 class AliTOFDecoderSummaryData;
26 class AliTOFQADataMakerRec: public AliQADataMakerRec {
29 AliTOFQADataMakerRec() ; // ctor
30 AliTOFQADataMakerRec(const AliTOFQADataMakerRec& qadm) ;
31 AliTOFQADataMakerRec& operator = (const AliTOFQADataMakerRec& qadm) ;
32 AliTOFChannelOnlineStatusArray *GetCalibData() ;
33 virtual ~AliTOFQADataMakerRec(); // dtor
35 void GetGeo2LTMIndex(const Int_t * const detind, Int_t *indexLTM);
36 void GetGeo2CTTMIndex(Int_t *detind, Int_t *indexCTTM);
37 void GetCTTMIndex(Int_t *equipid, Int_t *indexCTTM);
38 void ReadHistogramRangeFromFile(const Char_t * filename);
39 void SetDefaultHistogramRange();
40 void SetDefaultMultiHistogramRange();
41 void SetDefaultTimeHistogramRange();
42 void SetDefaultCutNmaxFiredMacropad();
45 AliTOFChannelOnlineStatusArray * fCalibData; //! calibration data
48 virtual void InitESDs() ;
49 virtual void InitRecPoints() ;
50 virtual void InitRaws() ;
51 virtual void MakeESDs(AliESDEvent * const esd) ;
52 virtual void MakeRecPoints(TTree * recTree) ;
53 virtual void MakeRaws(AliRawReader* rawReader) ;
54 virtual void StartOfDetectorCycle() ;
55 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list) ;
56 virtual void GetMapIndeces(const Int_t * const in, Int_t *out) ;
57 Int_t GetStripIndex(const Int_t * const in);
58 virtual void EnableNoiseFiltering(Bool_t enable){fEnableNoiseFiltering = enable;};
59 virtual void EnableDqmShifterOpt(Bool_t enable){ fEnableDqmShifterOpt = enable;};
60 Bool_t CheckVolumeID(const Int_t * const equipmentID);
61 Bool_t CheckEquipID( const Int_t * const equipmentID);
62 Bool_t FilterLTMData(const Int_t * const equipmentID) const ;
63 Bool_t FilterSpare( const Int_t * const equipmentID) const ;
64 Int_t GetNumberOfFiredMacropad(AliRawReader * rawReader);
65 static void SetNbinsMultiplicityHisto(Int_t value){fgNbinsMultiplicity=value; return;};
66 static void SetMultiplicityHistoRange (Int_t valueMin, Int_t valueMax){fgRangeMinMultiplicity=valueMin; fgRangeMaxMultiplicity=valueMax; return;}
67 static void SetNbinsTimeHisto(Int_t value){fgNbinsTime=value; return;};
68 static void SetTimeHistoRange (Float_t valueMin, Float_t valueMax){fgRangeMinTime=valueMin; fgRangeMaxTime=valueMax; return;};
69 static void SetCutNmaxFiredMacropad(Int_t value){fgCutNmaxFiredMacropad=value;return;};
71 // void ResetAllTRMcounters();
72 Bool_t fEnableNoiseFiltering; //the choice is not implemented so far
73 Bool_t fEnableDqmShifterOpt; // draw option flag to help
75 // interpretation of the TOF
77 Bool_t fIsSOC; //flag for StartOfCycle operations
78 //lines for the DQM GUI
79 TLine* fLineExpTimeMin;
80 TLine* fLineExpTimeMax;
81 TLine* fLineExpTotMin;
82 TLine* fLineExpTotMax;
84 TLine* fLineLTMid[71];
85 TLine* fLineLTMbitId[22];
87 AliTOFRawStream fTOFRawStream; // AliTOFRawStream variable
88 AliTOFDecoderSummaryData * fDecoderSummary; //pointer to decoder summary data object
89 Int_t fRunNumber; //run number
90 static Int_t fgNbinsMultiplicity;//number of bins in multiplicity plot
91 static Int_t fgRangeMinMultiplicity;//min range in multiplicity plot
92 static Int_t fgRangeMaxMultiplicity;//max range in multiplicity plot
93 static Int_t fgNbinsTime;//number of bins in time plot
94 static const Float_t fgkNbinsWidthTime;//width of bins in time plot
95 static Float_t fgRangeMinTime;//range min in time plot
96 static Float_t fgRangeMaxTime; //range max in time plot
97 static Int_t fgCutNmaxFiredMacropad; //cut on max number of fired macropad
98 static const Int_t fgkFiredMacropadLimit; //limit on cut on number of fired macropad
99 AliTOFcalib fCalib;//calibration object
101 ClassDef(AliTOFQADataMakerRec,8) // description
104 #endif // ALITOFQADATAMAKERREC_H