Changed to new naming scheme for histograms, added functionality to the analysis...
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliGammaConversionHistograms.h
1 #ifndef ALIGAMMACONVERSIONHISTOGRAMS_H\r
2 #define ALIGAMMACONVERSIONHISTOGRAMS_H\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
4  * See cxx source for full Copyright notice     */\r
5 \r
6 ////////////////////////////////////////////////\r
7 //--------------------------------------------- \r
8 // Class used to do analysis on conversion pairs\r
9 //---------------------------------------------\r
10 ////////////////////////////////////////////////\r
11 \r
12 #include "TString.h"\r
13 #include "Riostream.h"\r
14 #include <vector>\r
15 \r
16 class TMap;\r
17 class TList;\r
18 class TH1F;\r
19 class TH2F;\r
20 \r
21 class AliGammaConversionHistograms{\r
22 \r
23  public: \r
24   \r
25   AliGammaConversionHistograms();                                                                  //constructor\r
26   AliGammaConversionHistograms(const AliGammaConversionHistograms & original);                     //copy constructor\r
27   AliGammaConversionHistograms & operator = (const AliGammaConversionHistograms & original);       //assignment operator\r
28   virtual ~AliGammaConversionHistograms();                                                         //virtual destructor\r
29   \r
30 \r
31   //  TList * GetOutputContainer();\r
32   void GetOutputContainer(TList *fOutputContainer);\r
33   \r
34   Int_t GetRBin(Double_t radius) const;\r
35   Int_t GetPhiBin(Double_t phi) const;\r
36 \r
37   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);\r
38 \r
39   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="");\r
40 \r
41   /*\r
42    * Adds a TH1F histogram to the histogram map and create a key for it \r
43    */\r
44   void AddHistogram(TString histogramName, TString histogramTitle, Int_t nXBins, Double_t firstX,Double_t lastX,TString xAxisTitle="", TString yAxisTitle="");\r
45 \r
46   /*\r
47    * Adds a TH2F histogram to the histogram map and create a key for it \r
48    */\r
49   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="");\r
50 \r
51   /*\r
52    * Fills a TH1F histogram with the given name with the given value \r
53    */\r
54   void FillHistogram(TString histogramName, Double_t xValue) const;\r
55 \r
56   /*\r
57    * Fills a TH2F histogram with the given name with the given value \r
58    */\r
59   void FillHistogram(TString histogramName, Double_t xValue, Double_t yValue) const;\r
60 \r
61  private:\r
62   TMap* fHistogramMap;\r
63 \r
64   Int_t fNPhiIndex;\r
65   Int_t fNRIndex;\r
66   Double_t fMinRadius;\r
67   Double_t fMaxRadius;\r
68   Double_t fDeltaR;\r
69   Double_t fMinPhi;\r
70   Double_t fMaxPhi;\r
71   Double_t fDeltaPhi;\r
72 \r
73   TList * fMappingContainer;\r
74   TList * fBackgroundContainer;\r
75   TList * fDebugContainer;\r
76   TList * fResolutionContainer;\r
77   TList * fMatchContainer;\r
78   TList * fESDContainer;\r
79   TList * fMCContainer;\r
80   TList * fOtherContainer;\r
81 \r
82   \r
83   ClassDef(AliGammaConversionHistograms,1)\r
84 };\r
85 \r
86 \r
87 #endif\r
88 \r
89 \r
90 \r