]>
Commit | Line | Data |
---|---|---|
b82e76e0 | 1 | |
2 | #include "AliFMDAnaCalibEnergyDistribution.h" | |
6289b3e8 | 3 | #include "TAxis.h" |
4 | #include <AliLog.h> | |
5 | #include <iostream> | |
c3f07455 | 6 | #include "TH2F.h" |
7 | #include "AliFMDAnaParameters.h" | |
b82e76e0 | 8 | ClassImp(AliFMDAnaCalibEnergyDistribution) |
9 | ||
10 | AliFMDAnaCalibEnergyDistribution::AliFMDAnaCalibEnergyDistribution() : TObject(), | |
6289b3e8 | 11 | fArray(), |
c3f07455 | 12 | fEmptyArray(), |
13 | fRingArray(), | |
6289b3e8 | 14 | fIsInit(kFALSE), |
15 | fNetaBins(0), | |
16 | fEtaMax(0), | |
17 | fEtaMin(0){ | |
18 | ||
b82e76e0 | 19 | |
20 | } | |
21 | //____________________________________________________________________ | |
22 | void AliFMDAnaCalibEnergyDistribution::Init() { | |
23 | ||
6289b3e8 | 24 | if(fNetaBins == 0) |
25 | AliFatal("Set Eta bins before doing Init or anything else"); | |
26 | ||
b82e76e0 | 27 | fArray.SetOwner(); |
c3f07455 | 28 | fEmptyArray.SetOwner(); |
6289b3e8 | 29 | |
c3f07455 | 30 | for(Int_t i = 0; i<fNetaBins; i++) { |
6289b3e8 | 31 | TObjArray* etaArray = new TObjArray(); |
32 | fArray.AddAtAndExpand(etaArray,i); | |
33 | for(Int_t det = 1; det<=3;det++) { | |
34 | TObjArray* detArray = new TObjArray(); | |
35 | etaArray->AddAtAndExpand(detArray,det); | |
c3f07455 | 36 | |
6289b3e8 | 37 | } |
38 | ||
b82e76e0 | 39 | } |
c3f07455 | 40 | |
41 | ||
42 | ||
43 | for(Int_t det = 1; det<=3;det++) { | |
44 | TObjArray* detArray = new TObjArray(); | |
45 | fEmptyArray.AddAtAndExpand(detArray,det); | |
46 | } | |
47 | ||
48 | for(Int_t det = 1; det<=3;det++) { | |
49 | TObjArray* detArray = new TObjArray(); | |
50 | fRingArray.AddAtAndExpand(detArray,det); | |
51 | } | |
52 | ||
53 | ||
b82e76e0 | 54 | fIsInit = kTRUE; |
55 | } | |
56 | ||
57 | ||
58 | //____________________________________________________________________ | |
6289b3e8 | 59 | TH1F* AliFMDAnaCalibEnergyDistribution::GetEnergyDistribution(Int_t det, Char_t ring, Float_t eta) { |
60 | ||
c3f07455 | 61 | //TAxis testaxis(fNetaBins,fEtaMin,fEtaMax); |
62 | // Int_t binnumber = testaxis.FindBin(eta); | |
63 | AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance(); | |
64 | ||
65 | Int_t binnumber = pars->GetEtaBin(eta); | |
6289b3e8 | 66 | |
b82e76e0 | 67 | Int_t ringNumber = (ring == 'I' ? 0 : 1); |
6289b3e8 | 68 | TObjArray* etaArray = (TObjArray*)fArray.At(binnumber); |
69 | TObjArray* detArray = (TObjArray*)etaArray->At(det); | |
b82e76e0 | 70 | TH1F* hEdist = (TH1F*)detArray->At(ringNumber); |
71 | ||
72 | return hEdist; | |
73 | } | |
b82e76e0 | 74 | //____________________________________________________________________ |
c3f07455 | 75 | TH1F* AliFMDAnaCalibEnergyDistribution::GetEmptyEnergyDistribution(Int_t det, Char_t ring) { |
76 | ||
77 | Int_t ringNumber = (ring == 'I' ? 0 : 1); | |
78 | ||
79 | TObjArray* detArray = (TObjArray*)fEmptyArray.At(det); | |
80 | TH1F* hEdist = (TH1F*)detArray->At(ringNumber); | |
81 | ||
82 | return hEdist; | |
83 | } | |
84 | //____________________________________________________________________ | |
85 | TH1F* AliFMDAnaCalibEnergyDistribution::GetRingEnergyDistribution(Int_t det, Char_t ring) { | |
86 | ||
87 | Int_t ringNumber = (ring == 'I' ? 0 : 1); | |
88 | ||
89 | TObjArray* detArray = (TObjArray*)fRingArray.At(det); | |
90 | TH1F* hEdist = (TH1F*)detArray->At(ringNumber); | |
91 | ||
92 | return hEdist; | |
93 | } | |
94 | //____________________________________________________________________ | |
95 | void AliFMDAnaCalibEnergyDistribution::SetEnergyDistribution(Int_t det, Char_t ring, Float_t eta, TH1F* edist) { | |
96 | AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance(); | |
aa303f0c | 97 | Int_t binnumber = pars->GetEtaBin(eta); |
98 | //std::cout<<binnumber<<std::endl; | |
c3f07455 | 99 | SetEnergyDistribution(det, ring, binnumber, edist ); |
100 | } | |
101 | //____________________________________________________________________ | |
102 | void AliFMDAnaCalibEnergyDistribution::SetEnergyDistribution(Int_t det, Char_t ring, Int_t etabin, TH1F* edist ) { | |
b82e76e0 | 103 | |
104 | if(!fIsInit) | |
105 | Init(); | |
6289b3e8 | 106 | |
b82e76e0 | 107 | Int_t ringNumber = (ring == 'I' ? 0 : 1); |
c3f07455 | 108 | TObjArray* etaArray = (TObjArray*)fArray.At(etabin); |
6289b3e8 | 109 | TObjArray* detArray = (TObjArray*)etaArray->At(det); |
110 | ||
b82e76e0 | 111 | detArray->AddAtAndExpand(edist,ringNumber); |
112 | ||
113 | ||
114 | } | |
115 | ||
c3f07455 | 116 | //____________________________________________________________________ |
117 | void AliFMDAnaCalibEnergyDistribution::SetEmptyEnergyDistribution(Int_t det, Char_t ring, TH1F* edist ) { | |
118 | ||
119 | if(!fIsInit) | |
120 | Init(); | |
121 | ||
122 | Int_t ringNumber = (ring == 'I' ? 0 : 1); | |
123 | TObjArray* detArray = (TObjArray*)fEmptyArray.At(det); | |
124 | ||
125 | detArray->AddAtAndExpand(edist,ringNumber); | |
126 | ||
127 | ||
128 | } | |
129 | //____________________________________________________________________ | |
130 | void AliFMDAnaCalibEnergyDistribution::SetRingEnergyDistribution(Int_t det, Char_t ring, TH1F* edist ) { | |
131 | ||
132 | if(!fIsInit) | |
133 | Init(); | |
134 | ||
135 | Int_t ringNumber = (ring == 'I' ? 0 : 1); | |
136 | TObjArray* detArray = (TObjArray*)fRingArray.At(det); | |
137 | ||
138 | detArray->AddAtAndExpand(edist,ringNumber); | |
139 | ||
140 | ||
141 | } | |
b82e76e0 | 142 | //____________________________________________________________________ |
143 | // | |
144 | // EOF | |
145 | // |