changes from gsi. Using mult if no centrality. testfilterbit 128
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliGammaConversionHistograms.h
CommitLineData
d7d7e825 1#ifndef ALIGAMMACONVERSIONHISTOGRAMS_H
2#define ALIGAMMACONVERSIONHISTOGRAMS_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6////////////////////////////////////////////////
7//---------------------------------------------
8// Class used to do analysis on conversion pairs
9//---------------------------------------------
10////////////////////////////////////////////////
11
12#include "TString.h"
13#include "Riostream.h"
14#include <vector>
15
16class TMap;
17class TList;
18class TH1F;
19class TH2F;
2eedd4ed 20class TH3F;
d7d7e825 21
22class AliGammaConversionHistograms{
23
24 public:
25
26 AliGammaConversionHistograms(); //constructor
27 AliGammaConversionHistograms(const AliGammaConversionHistograms & original); //copy constructor
28 AliGammaConversionHistograms & operator = (const AliGammaConversionHistograms & original); //assignment operator
29 virtual ~AliGammaConversionHistograms(); //virtual destructor
30
31
32 // TList * GetOutputContainer();
33 void GetOutputContainer(TList *fOutputContainer);
34
35 Int_t GetRBin(Double_t radius) const;
36 Int_t GetPhiBin(Double_t phi) const;
9640a3d1 37 Int_t GetZBin(Double_t radius) const;
38
d7d7e825 39 void InitializeMappingValues(Int_t nPhiHistograms, Int_t nRHistograms, Int_t nBinsR, Double_t minRadius, Double_t maxRadius,Int_t nBinsPhi, Double_t minPhi, Double_t maxPhi);
40
41 void AddMappingHistograms(Int_t nPhiHistograms, Int_t nRHistograms,Int_t nXBins, Double_t firstX, Double_t lastX, Int_t nYBins, Double_t firstY, Double_t lastY, TString xAxisTitle="", TString yAxisTitle="");
42
43 /*
44 * Adds a TH1F histogram to the histogram map and create a key for it
45 */
46 void AddHistogram(TString histogramName, TString histogramTitle, Int_t nXBins, Double_t firstX,Double_t lastX,TString xAxisTitle="", TString yAxisTitle="");
47
48 /*
49 * Adds a TH2F histogram to the histogram map and create a key for it
50 */
9c1cb6f7 51 void AddHistogram(TString histogramName, TString histogramTitle, Int_t nXBins, Double_t firstX, Double_t lastX, Int_t nYBins, Double_t firstY, Double_t lastY, TString xAxisTitle="", TString yAxisTitle="", Int_t logAxis =-1);
52
53 /*
2eedd4ed 54 * Adds a TH3F histogram to the histogram map and create a key for it
55 */
56 void AddHistogram(TString histogramName, TString histogramTitle, Int_t nXBins, Double_t firstX, Double_t lastX, Int_t nYBins, Double_t firstY, Double_t lastY, Int_t nZBins, Double_t firstZ, Double_t lastZ, TString xAxisTitle="", TString yAxisTitle="", TString zAxisTitle="", Int_t logAxis =-1);
57
58 /*
9c1cb6f7 59 * Create a logx binning suitable for dEdx plots
60 */
61 Bool_t BinLogAxis(const char* name, Int_t dim);
62
d7d7e825 63
64 /*
65 * Adds a TH1F Table to the table map and create a key for it
66 */
7f3c7cc6 67 void AddTable(TString tableName,TString tableTitle,Int_t nXBins, const char * axesLabel[]);
68
69 /*
70 * Adds a TH2F Table
71 */
72
73 void AddTable(TString tableName,TString tableTitle,Int_t nXBins, const char * axesXLabel[],Int_t nYBins, const char* axesYLabel[]);
d7d7e825 74
75
76 /*
2eedd4ed 77 * Adds a TH3F Table
78 */
79
80 void AddTable(TString tableName,TString tableTitle,Int_t nXBins, const char * axesXLabel[],Int_t nYBins, const char* axesYLabel[],Int_t nZBins, const char* axesZLabel[]);
81
82 /*
d7d7e825 83 * Fills a TH1F histogram with the given name with the given value
84 */
85 void FillHistogram(TString histogramName, Double_t xValue) const;
86
87 /*
88 * Fills a TH2F histogram with the given name with the given value
89 */
90 void FillHistogram(TString histogramName, Double_t xValue, Double_t yValue) const;
91
92 /*
2eedd4ed 93 * Fills a TH3F histogram with the given name with the given value
94 */
95 void FillHistogram(TString histogramName, Double_t xValue, Double_t yValue, Double_t zValue) const;
96
97 /*
3b77b2d1 98 * Fills a TH1F histogram with the given name with the given integer array
99 */
100
101 void FillHistogram(TString histogramName, Float_t* xValue, Int_t nPoints) const;
102
103 /*
d7d7e825 104 * Fills a TH1F table with the given name with the given value
105 */
7f3c7cc6 106 void FillTable(TString tableName, Double_t xValue) const;
107
108 /*
109 * Fills a TH2F table with the given name with the given value
110 */
111 void FillTable(TString tableName, Double_t xValue, Double_t yValue) const;
112
2eedd4ed 113 /*
114 * Fills a TH3F table with the given name with the given value
115 */
116 void FillTable(TString tableName, Double_t xValue, Double_t yValue, Double_t zValue) const;
117
7f3c7cc6 118 /*
119 *Returns a pointer to the histogram associated with name.
120 */
121 TObject* GetValue(const TString& name);
122
d7d7e825 123
124 private:
125 TMap* fHistogramMap; // histogram map
9640a3d1 126
127
d7d7e825 128
129 Int_t fNPhiIndex; //phi index
130 Int_t fNRIndex; //r index
9640a3d1 131 Int_t fNZIndex; //z index
ebcfaa7e 132 // Double_t fRBinLimits[8]; // Limits of the radius bins
6272370b 133 Double_t fRBinLimits[14]; // Limits of the radius bins
134 Double_t fZBinLimits[13]; // Limits of the Z bins
d7d7e825 135 Double_t fMinRadius; //min radius cut
136 Double_t fMaxRadius; //max radius cut
137 Double_t fDeltaR; // delta r
138 Double_t fMinPhi; //min phi
139 Double_t fMaxPhi; // max phi
140 Double_t fDeltaPhi;//delta phi
141
142 TList * fMappingContainer; //mapping container
143 TList * fBackgroundContainer; // background container
144 TList * fDebugContainer; // debug container
145 TList * fResolutionContainer; //resolution container
146 TList * fMatchContainer; //match container
147 TList * fESDContainer;//esd container
148 TList * fMCContainer; // MC container
149 TList * fTableContainer; // table container
150 TList * fOtherContainer; // other container
2eedd4ed 151 TList * f3DContainer; // 3D container
3b77b2d1 152 TList * fHadContainer; // Hadronic Interactions container
2eedd4ed 153
3b77b2d1 154 ClassDef(AliGammaConversionHistograms,4)
d7d7e825 155};
156
157
158#endif
159
160
161