2 #include "AliFMDAnaCalibEnergyDistribution.h"
7 #include "AliFMDAnaParameters.h"
8 ClassImp(AliFMDAnaCalibEnergyDistribution)
10 AliFMDAnaCalibEnergyDistribution::AliFMDAnaCalibEnergyDistribution() : TObject(),
21 //____________________________________________________________________
22 void AliFMDAnaCalibEnergyDistribution::Init() {
25 AliFatal("Set Eta bins before doing Init or anything else");
28 fEmptyArray.SetOwner();
30 for(Int_t i = 0; i<fNetaBins; i++) {
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);
43 for(Int_t det = 1; det<=3;det++) {
44 TObjArray* detArray = new TObjArray();
45 fEmptyArray.AddAtAndExpand(detArray,det);
48 for(Int_t det = 1; det<=3;det++) {
49 TObjArray* detArray = new TObjArray();
50 fRingArray.AddAtAndExpand(detArray,det);
58 //____________________________________________________________________
59 TH1F* AliFMDAnaCalibEnergyDistribution::GetEnergyDistribution(Int_t det, Char_t ring, Float_t eta) {
61 //TAxis testaxis(fNetaBins,fEtaMin,fEtaMax);
62 // Int_t binnumber = testaxis.FindBin(eta);
63 AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
65 Int_t binnumber = pars->GetEtaBin(eta);
67 Int_t ringNumber = (ring == 'I' ? 0 : 1);
68 TObjArray* etaArray = (TObjArray*)fArray.At(binnumber);
69 TObjArray* detArray = (TObjArray*)etaArray->At(det);
70 TH1F* hEdist = (TH1F*)detArray->At(ringNumber);
74 //____________________________________________________________________
75 TH1F* AliFMDAnaCalibEnergyDistribution::GetEmptyEnergyDistribution(Int_t det, Char_t ring) {
77 Int_t ringNumber = (ring == 'I' ? 0 : 1);
79 TObjArray* detArray = (TObjArray*)fEmptyArray.At(det);
80 TH1F* hEdist = (TH1F*)detArray->At(ringNumber);
84 //____________________________________________________________________
85 TH1F* AliFMDAnaCalibEnergyDistribution::GetRingEnergyDistribution(Int_t det, Char_t ring) {
87 Int_t ringNumber = (ring == 'I' ? 0 : 1);
89 TObjArray* detArray = (TObjArray*)fRingArray.At(det);
90 TH1F* hEdist = (TH1F*)detArray->At(ringNumber);
94 //____________________________________________________________________
95 void AliFMDAnaCalibEnergyDistribution::SetEnergyDistributionUser(Int_t det, Char_t ring, Float_t eta, TH1F* edist) {
96 AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
97 Int_t binnumber = pars->GetEtaBin(eta);
98 //std::cout<<binnumber<<std::endl;
99 SetEnergyDistribution(det, ring, binnumber, edist );
101 //____________________________________________________________________
102 void AliFMDAnaCalibEnergyDistribution::SetEnergyDistribution(Int_t det, Char_t ring, Int_t etabin, TH1F* edist ) {
107 Int_t ringNumber = (ring == 'I' ? 0 : 1);
108 TObjArray* etaArray = (TObjArray*)fArray.At(etabin);
109 TObjArray* detArray = (TObjArray*)etaArray->At(det);
111 detArray->AddAtAndExpand(edist,ringNumber);
116 //____________________________________________________________________
117 void AliFMDAnaCalibEnergyDistribution::SetEmptyEnergyDistribution(Int_t det, Char_t ring, TH1F* edist ) {
122 Int_t ringNumber = (ring == 'I' ? 0 : 1);
123 TObjArray* detArray = (TObjArray*)fEmptyArray.At(det);
125 detArray->AddAtAndExpand(edist,ringNumber);
129 //____________________________________________________________________
130 void AliFMDAnaCalibEnergyDistribution::SetRingEnergyDistribution(Int_t det, Char_t ring, TH1F* edist ) {
135 Int_t ringNumber = (ring == 'I' ? 0 : 1);
136 TObjArray* detArray = (TObjArray*)fRingArray.At(det);
138 detArray->AddAtAndExpand(edist,ringNumber);
142 //____________________________________________________________________