]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/analysis/AliFMDAnaCalibEnergyDistribution.cxx
Always export to FES the regional configuration file
[u/mrichter/AliRoot.git] / FMD / analysis / AliFMDAnaCalibEnergyDistribution.cxx
1
2 #include "AliFMDAnaCalibEnergyDistribution.h"
3 #include "TAxis.h"
4 #include <AliLog.h>
5 #include <iostream>
6 ClassImp(AliFMDAnaCalibEnergyDistribution)
7
8 AliFMDAnaCalibEnergyDistribution::AliFMDAnaCalibEnergyDistribution() : TObject(),
9   fArray(), 
10   fIsInit(kFALSE),
11   fNetaBins(0),
12   fEtaMax(0),
13   fEtaMin(0){
14    
15   
16 }
17 //____________________________________________________________________
18 void AliFMDAnaCalibEnergyDistribution::Init() {
19   
20   if(fNetaBins == 0)
21     AliFatal("Set Eta bins before doing Init or anything else");
22   
23   fArray.SetOwner();
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   
35   }
36   fIsInit = kTRUE;
37 }
38
39
40 //____________________________________________________________________
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   
46   Int_t ringNumber     = (ring == 'I' ? 0 : 1);
47   TObjArray* etaArray  = (TObjArray*)fArray.At(binnumber); 
48   TObjArray* detArray  = (TObjArray*)etaArray->At(det); 
49   TH1F* hEdist         = (TH1F*)detArray->At(ringNumber);    
50   
51   return hEdist;
52 }
53
54 //____________________________________________________________________
55 void AliFMDAnaCalibEnergyDistribution::SetEnergyDistribution(Int_t det, Char_t ring, Float_t eta, TH1F* edist ) {
56   
57   if(!fIsInit)
58     Init();
59   
60   TAxis testaxis(fNetaBins,fEtaMin,fEtaMax);
61   Int_t binnumber = testaxis.FindBin(eta);
62   
63   Int_t ringNumber     = (ring == 'I' ? 0 : 1);
64   TObjArray* etaArray  = (TObjArray*)fArray.At(binnumber);
65   TObjArray* detArray  = (TObjArray*)etaArray->At(det);
66   
67   detArray->AddAtAndExpand(edist,ringNumber);
68   
69
70 }
71
72 //____________________________________________________________________
73 //
74 // EOF
75 //