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"
12 class AliMonitorHisto : public AliMonitorPlot {
14 enum ENorm {kNormNone, kNormEvents, kNormEntries, kNormIntegral};
17 AliMonitorHisto(const AliMonitorHisto& histo);
18 AliMonitorHisto& operator =(const AliMonitorHisto& histo);
19 AliMonitorHisto(TH1* histo, ENorm norm = kNormIntegral);
20 virtual ~AliMonitorHisto();
22 static void SetNHistosMax(Int_t nHistosMax) {fgNHistosMax = nHistosMax;};
23 static Int_t GetNHistosMax() {return fgNHistosMax;};
25 virtual void SetReference(TH1* ref);
26 virtual void SetReference(AliMonitorPlot* ref);
29 void Fill(Axis_t x, Axis_t y);
30 void Fill(Axis_t x, Axis_t y, Stat_t w);
31 void ScaleErrorBy(Double_t factor);
33 virtual void Update();
34 virtual void Update(TH1* histo);
35 virtual void Add(AliMonitorPlot* plot);
37 virtual void ResetList();
40 void Scale(Int_t nEvents);
41 virtual Bool_t ComparePlot();
42 virtual Bool_t GetEvent(Int_t number = 1);
43 virtual Bool_t GetSum(Int_t number);
44 virtual Bool_t GetRun();
45 virtual void DrawPlot();
47 TH1* fHisto; //! the histogram that is currently filled with data
48 TList fHistoList; // list of histograms of last fNHistos events
49 Int_t fNHistos; // number of buffered histograms
50 static Int_t fgNHistosMax; //! maximal number of buffered histograms
51 TH1* fHistoRun; // sum of histograms for the current run
53 TH1* fHistoDraw; //! the normalized histogram, used for comparison to a reference histogram
54 TH1* fHistoRef; //! the reference histogram for comparison
55 TH1* fHistoCompare; //! the result of the comparison to the reference histogram, only bins with large deviation are set
57 ENorm fNorm; // type of normalization
59 ClassDef(AliMonitorHisto, 2) // histogram for monitoring the quality of the recorded data