New implementation of the forward multiplicity analysis.
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliForwardUtil.cxx
1 #include "AliForwardUtil.h"
2 #include <TH2D.h>
3 #include <TMath.h>
4
5 //====================================================================
6 AliForwardUtil::Histos::~Histos()
7 {
8   if (fFMD1i) delete fFMD1i;
9   if (fFMD2i) delete fFMD2i;
10   if (fFMD2o) delete fFMD2o;
11   if (fFMD3i) delete fFMD3i;
12   if (fFMD3o) delete fFMD3o;
13 }
14
15 //____________________________________________________________________
16 TH2D*
17 AliForwardUtil::Histos::Make(UShort_t d, Char_t r, 
18                              const TAxis& etaAxis) const
19 {
20   Int_t ns = (r == 'I' || r == 'i') ? 20 : 40;
21   TH2D* hist = new TH2D(Form("FMD%d%c_cache", d, r), 
22                         Form("FMD%d%c cache", d, r),
23                         etaAxis.GetNbins(), etaAxis.GetXmin(), 
24                         etaAxis.GetXmax(), ns, 0, 2*TMath::Pi());
25   hist->SetXTitle("#eta");
26   hist->SetYTitle("#phi [radians]");
27   hist->SetZTitle("d^{2}N_{ch}/d#etad#phi");
28   hist->Sumw2();
29   hist->SetDirectory(0);
30
31   return hist;
32 }
33 //____________________________________________________________________
34 void
35 AliForwardUtil::Histos::Init(const TAxis& etaAxis)
36 {
37   fFMD1i = Make(1, 'I', etaAxis);
38   fFMD2i = Make(2, 'I', etaAxis);
39   fFMD2o = Make(2, 'O', etaAxis);
40   fFMD3i = Make(3, 'I', etaAxis);
41   fFMD3o = Make(3, 'O', etaAxis);
42 }
43 //____________________________________________________________________
44 void
45 AliForwardUtil::Histos::Clear(Option_t* option)
46 {
47   fFMD1i->Reset(option);
48   fFMD2i->Reset(option);
49   fFMD2o->Reset(option);
50   fFMD3i->Reset(option);
51   fFMD3o->Reset(option);
52 }
53
54 //____________________________________________________________________
55 TH2D*
56 AliForwardUtil::Histos::Get(UShort_t d, Char_t r) const
57 {
58   switch (d) { 
59   case 1: return fFMD1i;
60   case 2: return (r == 'I' || r == 'i' ? fFMD2i : fFMD2o);
61   case 3: return (r == 'I' || r == 'i' ? fFMD3i : fFMD3o);
62   }
63   return 0;
64 }
65 #if 0
66 //____________________________________________________________________
67 TH2D*
68 AliForwardUtil::Histos::Get(UShort_t d, Char_t r)
69 {
70   switch (d) { 
71   case 1: return fFMD1i;
72   case 2: return (r == 'I' || r == 'i' ? fFMD2i : fFMD2o);
73   case 3: return (r == 'I' || r == 'i' ? fFMD3i : fFMD3o);
74   }
75   default: return 0;
76 }
77 #endif
78
79 //
80 // EOF
81 //