]>
Commit | Line | Data |
---|---|---|
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 | ||
16 | class TMap; | |
17 | class TList; | |
18 | class TH1F; | |
19 | class TH2F; | |
2eedd4ed | 20 | class TH3F; |
d7d7e825 | 21 | |
22 | class 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 | ||
2eedd4ed | 53 | /* |
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 | ||
9c1cb6f7 | 58 | /* |
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 | ||
2eedd4ed | 76 | /* |
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 | ||
d7d7e825 | 82 | /* |
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 | ||
2eedd4ed | 92 | /* |
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 | ||
3b77b2d1 | 97 | /* |
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 | ||
d7d7e825 | 103 | /* |
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 |