]> git.uio.no Git - u/mrichter/AliRoot.git/blame - FMD/analysis/AliFMDAnaCalibEnergyDistribution.cxx
Adding calibration object for the sharing efficiency
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnaCalibEnergyDistribution.cxx
CommitLineData
b82e76e0 1
2#include "AliFMDAnaCalibEnergyDistribution.h"
6289b3e8 3#include "TAxis.h"
4#include <AliLog.h>
5#include <iostream>
b82e76e0 6ClassImp(AliFMDAnaCalibEnergyDistribution)
7
8AliFMDAnaCalibEnergyDistribution::AliFMDAnaCalibEnergyDistribution() : TObject(),
6289b3e8 9 fArray(),
10 fIsInit(kFALSE),
11 fNetaBins(0),
12 fEtaMax(0),
13 fEtaMin(0){
14
b82e76e0 15
16}
17//____________________________________________________________________
18void 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 41TH1F* 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 55void 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//