]>
Commit | Line | Data |
---|---|---|
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" | |
9 | #include <TList.h> | |
10 | ||
11 | ||
12 | class AliMonitorHisto : public AliMonitorPlot { | |
13 | public: | |
14 | enum ENorm {kNormNone, kNormEvents, kNormEntries, kNormIntegral}; | |
15 | ||
16 | AliMonitorHisto(); | |
17 | AliMonitorHisto(const AliMonitorHisto& histo); | |
18 | AliMonitorHisto& operator =(const AliMonitorHisto& histo); | |
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 | ||
39 | protected: | |
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 |