corrections to obey coding conventions
[u/mrichter/AliRoot.git] / MONITOR / AliMonitorHisto.h
CommitLineData
04fa961a 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 */
5
6/* $Id$ */
7
8#include "AliMonitorPlot.h"
04fa961a 9#include <TList.h>
04fa961a 10
11
12class AliMonitorHisto : public AliMonitorPlot {
13public:
14 enum ENorm {kNormNone, kNormEvents, kNormEntries, kNormIntegral};
15
16 AliMonitorHisto();
17 AliMonitorHisto(const AliMonitorHisto& histo);
c4bd737c 18 AliMonitorHisto& operator =(const AliMonitorHisto& histo);
04fa961a 19 AliMonitorHisto(TH1* histo, ENorm norm = kNormIntegral);
20 virtual ~AliMonitorHisto();
21
22 static void SetNHistosMax(Int_t nHistosMax) {fgNHistosMax = nHistosMax;};
23 static Int_t GetNHistosMax() {return fgNHistosMax;};
24
25 virtual void SetReference(TH1* ref);
26 virtual void SetReference(AliMonitorPlot* ref);
27
28 void Fill(Axis_t x);
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);
32
33 virtual void Update();
34 virtual void Update(TH1* histo);
35 virtual void Add(AliMonitorPlot* plot);
36 virtual void Reset();
37 virtual void ResetList();
38
39protected:
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();
46
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
52
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
56
57 ENorm fNorm; // type of normalization
58
59 ClassDef(AliMonitorHisto, 2) // histogram for monitoring the quality of the recorded data
60};
61
62
63#endif
64
65
66
67
68
69
70
71
72