1 #ifndef ALIMONITORHISTO_H
2 #define ALIMONITORHISTO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 #include "AliMonitorPlot.h"
14 class AliMonitorHisto : public AliMonitorPlot {
16 enum ENorm {kNormNone, kNormEvents, kNormEntries, kNormIntegral};
19 AliMonitorHisto(const AliMonitorHisto& histo);
20 AliMonitorHisto(TH1* histo, ENorm norm = kNormIntegral);
21 virtual ~AliMonitorHisto();
23 static void SetNHistosMax(Int_t nHistosMax) {fgNHistosMax = nHistosMax;};
24 static Int_t GetNHistosMax() {return fgNHistosMax;};
26 virtual void SetReference(TH1* ref);
27 virtual void SetReference(AliMonitorPlot* ref);
30 void Fill(Axis_t x, Axis_t y);
31 void Fill(Axis_t x, Axis_t y, Stat_t w);
32 void ScaleErrorBy(Double_t factor);
34 virtual void Update();
35 virtual void Update(TH1* histo);
36 virtual void Add(AliMonitorPlot* plot);
38 virtual void ResetList();
41 void Scale(Int_t nEvents);
42 virtual Bool_t ComparePlot();
43 virtual Bool_t GetEvent(Int_t number = 1);
44 virtual Bool_t GetSum(Int_t number);
45 virtual Bool_t GetRun();
46 virtual void DrawPlot();
48 TH1* fHisto; //! the histogram that is currently filled with data
49 TList fHistoList; // list of histograms of last fNHistos events
50 Int_t fNHistos; // number of buffered histograms
51 static Int_t fgNHistosMax; //! maximal number of buffered histograms
52 TH1* fHistoRun; // sum of histograms for the current run
54 TH1* fHistoDraw; //! the normalized histogram, used for comparison to a reference histogram
55 TH1* fHistoRef; //! the reference histogram for comparison
56 TH1* fHistoCompare; //! the result of the comparison to the reference histogram, only bins with large deviation are set
58 ENorm fNorm; // type of normalization
60 ClassDef(AliMonitorHisto, 2) // histogram for monitoring the quality of the recorded data