]>
Commit | Line | Data |
---|---|---|
b82e76e0 | 1 | |
2 | #include "AliFMDAnaCalibEnergyDistribution.h" | |
6289b3e8 | 3 | #include "TAxis.h" |
4 | #include <AliLog.h> | |
5 | #include <iostream> | |
b82e76e0 | 6 | ClassImp(AliFMDAnaCalibEnergyDistribution) |
7 | ||
8 | AliFMDAnaCalibEnergyDistribution::AliFMDAnaCalibEnergyDistribution() : TObject(), | |
6289b3e8 | 9 | fArray(), |
10 | fIsInit(kFALSE), | |
11 | fNetaBins(0), | |
12 | fEtaMax(0), | |
13 | fEtaMin(0){ | |
14 | ||
b82e76e0 | 15 | |
16 | } | |
17 | //____________________________________________________________________ | |
18 | void AliFMDAnaCalibEnergyDistribution::Init() { | |
19 | ||
6289b3e8 | 20 | if(fNetaBins == 0) |
21 | AliFatal("Set Eta bins before doing Init or anything else"); | |
22 | ||
b82e76e0 | 23 | fArray.SetOwner(); |
6289b3e8 | 24 | |
25 | for(Int_t i = 0; i<=fNetaBins+1; i++) { | |
26 | TObjArray* etaArray = new TObjArray(); | |
27 | fArray.AddAtAndExpand(etaArray,i); | |
28 | for(Int_t det = 1; det<=3;det++) { | |
29 | TObjArray* detArray = new TObjArray(); | |
30 | etaArray->AddAtAndExpand(detArray,det); | |
31 | ||
32 | ||
33 | } | |
34 | ||
b82e76e0 | 35 | } |
36 | fIsInit = kTRUE; | |
37 | } | |
38 | ||
39 | ||
40 | //____________________________________________________________________ | |
6289b3e8 | 41 | TH1F* AliFMDAnaCalibEnergyDistribution::GetEnergyDistribution(Int_t det, Char_t ring, Float_t eta) { |
42 | ||
43 | TAxis testaxis(fNetaBins,fEtaMin,fEtaMax); | |
44 | Int_t binnumber = testaxis.FindBin(eta); | |
45 | ||
b82e76e0 | 46 | Int_t ringNumber = (ring == 'I' ? 0 : 1); |
6289b3e8 | 47 | TObjArray* etaArray = (TObjArray*)fArray.At(binnumber); |
48 | TObjArray* detArray = (TObjArray*)etaArray->At(det); | |
b82e76e0 | 49 | TH1F* hEdist = (TH1F*)detArray->At(ringNumber); |
50 | ||
51 | return hEdist; | |
52 | } | |
53 | ||
54 | //____________________________________________________________________ | |
6289b3e8 | 55 | void AliFMDAnaCalibEnergyDistribution::SetEnergyDistribution(Int_t det, Char_t ring, Float_t eta, TH1F* edist ) { |
b82e76e0 | 56 | |
57 | if(!fIsInit) | |
58 | Init(); | |
6289b3e8 | 59 | |
60 | TAxis testaxis(fNetaBins,fEtaMin,fEtaMax); | |
61 | Int_t binnumber = testaxis.FindBin(eta); | |
62 | ||
b82e76e0 | 63 | Int_t ringNumber = (ring == 'I' ? 0 : 1); |
6289b3e8 | 64 | TObjArray* etaArray = (TObjArray*)fArray.At(binnumber); |
65 | TObjArray* detArray = (TObjArray*)etaArray->At(det); | |
66 | ||
b82e76e0 | 67 | detArray->AddAtAndExpand(edist,ringNumber); |
68 | ||
69 | ||
70 | } | |
71 | ||
72 | //____________________________________________________________________ | |
73 | // | |
74 | // EOF | |
75 | // |