3 // $Id: AliHLTJETAnalysisMerge.h $
5 #ifndef ALIHLTJETANALYSISMERGE_H
6 #define ALIHLTJETANALYSISMERGE_H
8 /* This file is property of and copyright by the ALICE HLT Project *
9 * ALICE Experiment at CERN, All rights reserved. *
10 * See cxx source for full Copyright notice */
12 /** @file AliHLTJETAnalysisMerge.h
13 @author Jochen Thaeder
15 @brief Container merging analysis objects
18 // see below for class documentation
20 // refer to README to build package
22 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
25 #include "AliHLTLogging.h"
27 #include "AliHLTJETAnalysisBase.h"
28 #include "AliHLTJETAnalysisJets.h"
35 * @class AliHLTJETAnalysisMerge
36 * This class merges analysis objects oft the type
37 * AliHLTJETAnalysisJets. It takes care of the plotting.
40 * @ingroup alihlt_jet_analysis
43 class AliHLTJETAnalysisMerge : public TObject, public AliHLTLogging {
47 * ---------------------------------------------------------------------------------
48 * Constructor / Destructor
49 * ---------------------------------------------------------------------------------
53 AliHLTJETAnalysisMerge();
56 ~AliHLTJETAnalysisMerge();
59 * ---------------------------------------------------------------------------------
60 * Initialize / Setup / Reset - public
61 * ---------------------------------------------------------------------------------
64 /** Initialize class and members */
68 * ---------------------------------------------------------------------------------
70 * ---------------------------------------------------------------------------------
73 /** Add analysis histogram object to list of AliHLTJETAnalysisJets
74 * param jets Ptr to AliHLTJETAnalysisJets
76 void AddJets( AliHLTJETAnalysisJets* jets );
79 * ---------------------------------------------------------------------------------
81 * ---------------------------------------------------------------------------------
84 /** Get List of canvases */
85 TObjArray* GetCanvasList() const { return fCanvasArray; }
88 * ---------------------------------------------------------------------------------
90 * ---------------------------------------------------------------------------------
93 /** Create all Canvases */
96 ///////////////////////////////////////////////////////////////////////////////////
100 /** copy constructor prohibited */
101 AliHLTJETAnalysisMerge(const AliHLTJETAnalysisMerge&);
103 /** assignment operator prohibited */
104 AliHLTJETAnalysisMerge& operator=(const AliHLTJETAnalysisMerge&);
107 * ---------------------------------------------------------------------------------
109 * ---------------------------------------------------------------------------------
112 /** Create canvas for spectra histograms */
113 void CreateCanvasSpectra();
115 /** Create canvas for delta histograms */
116 void CreateCanvasDelta();
118 /** Create canvas for matched histograms */
119 void CreateCanvasMatched();
122 * ---------------------------------------------------------------------------------
124 * ---------------------------------------------------------------------------------
127 /** Add a new canvas to the canvas list
128 * @param name Name of the canvas
129 * @param divideX Number of columns of histograms
130 * @param divideY Number of lines of histograms
131 * @return Ptr to new created canvas
133 TCanvas* AddCanvas( TString name, Int_t divideX, Int_t divideY );
136 * @param canvas Ptr to canvas, to be drawn in.
137 * @param idx Pad index in the canvas
138 * @param hist Ptr to histogram
139 * @param bScale If hist should be scaled
140 * @param bLogY If hist Y-axis should be logarithmic
142 void DrawHistogram( TCanvas* canvas, Int_t idx, TH1* hist, Bool_t bScale, Bool_t bLogY);
145 * ---------------------------------------------------------------------------------
147 * ---------------------------------------------------------------------------------
150 /** List of canvases */
151 TObjArray *fCanvasArray; //! transient
153 /** List of AliHLTJETAnalysisJets objects */
154 TObjArray *fAnalysisJetsArray; //! transient
156 ClassDef(AliHLTJETAnalysisMerge, 2);