#include "AliEMCALHistoUtilities.h"
#include <iostream>
#include <iomanip>
#include <fstream>
#include <TROOT.h>
#include <TPad.h>
#include <TFile.h>
#include <TH1.h>
#include <TH2.h>
#include <TProfile.h>
#include <THnSparse.h>
#include <TF1.h>
#include <TGraph.h>
#include <TGraphErrors.h>
#include <TLatex.h>
#include <TChain.h>
#include <TList.h>
#include <TObjArray.h>
#include <TObjString.h>
#include <TRegexp.h>
#include <TString.h>
#include <TLorentzVector.h>
#include <Gtypes.h> // color, line style and so on
#include <TArrayF.h>
#include "AliHeader.h"
#include "AliGenEventHeader.h"
#include "AliGenPythiaEventHeader.h"
using namespace std;
ClassImp(AliEMCALHistoUtilities)
AliEMCALHistoUtilities::AliEMCALHistoUtilities(const char *name, const char *tit) : TNamed(name,tit)
{
}
AliEMCALHistoUtilities::~AliEMCALHistoUtilities()
{
}
TList* AliEMCALHistoUtilities::MoveHistsToList(const char* name, Bool_t putToBrowser, Bool_t setOwner)
{
gROOT->cd();
TIter nextHist(gDirectory->GetList());
TList *list = new TList;
list->SetName(name);
if(setOwner) list->SetOwner(setOwner);
TObject *objHist=0;
while((objHist=nextHist())){
if (!objHist->InheritsFrom("TH1")) continue;
((TH1*)objHist)->SetDirectory(0);
list->Add(objHist);
}
gDirectory->GetList()->Clear();
if(putToBrowser) gROOT->GetListOfBrowsables()->Add((TObject*)list);
return list;
}
void AliEMCALHistoUtilities::FillH1(TList *l, Int_t ind, Double_t x, Double_t w, Double_t error)
{
static TH1* hid=0;
static int bin=0;
if(l == 0) return;
if(ind>=0 && ind < l->GetSize()){
hid = dynamic_cast<TH1 *>(l->At(ind));
if (hid==0) return;
if(error <= 0.0) {
hid->Fill(x,w);
} else {
bin = hid->FindBin(x);
hid->SetBinContent(bin,w);
hid->SetBinError(bin,error);
}
}
}
void AliEMCALHistoUtilities::FillH2(TList *l, Int_t ind, Double_t x, Double_t y, Double_t w)
{
static TH2* hid=0;
if(l == 0) return;
if(ind>=0 && ind < l->GetSize()){
hid = dynamic_cast<TH2 *>(l->At(ind));
if(hid) hid->Fill(x,y,w);
}
}
void AliEMCALHistoUtilities::FillHProf(TList *l, Int_t ind, Double_t x, Double_t y, Double_t w)
{
static TProfile* h=0;
if(l == 0) return;
if(ind>=0 && ind < l->GetSize()){
h = dynamic_cast<TProfile *>(l->At(ind));
if(h) h->Fill(x,y,w);
}
}
void AliEMCALHistoUtilities:: FillHnSparse(TList *l, Int_t ind, Double_t* x, Double_t w)
{
static THnSparse* hsp=0;
if(l==0 || x==0) return;
if(ind>=0 && ind < l->GetSize()){
hsp = dynamic_cast<THnSparse *>(l->At(ind));
if(hsp) hsp->Fill(x,w);
}
}
int AliEMCALHistoUtilities::SaveListOfHists(TList *mylist,const char* name,Bool_t kSingleKey,const char* opt)
{
printf(" Name of out file |%s|\n", name);
int save = 0;
if(mylist && mylist->GetSize() && strlen(name)){
TString nf(name);
if(nf.Contains(".root") == kFALSE) nf += ".root";
TFile file(nf.Data(),opt);
TIter nextHist(mylist);
TObject* objHist=0;
int nh=0;
if(kSingleKey) {
file.cd();
mylist->Write(mylist->GetName(),TObject::kSingleKey);
mylist->ls();
save = 1;
} else {
while((objHist=nextHist())) {
if(objHist->InheritsFrom("TH1")) {
TH1* hid = (TH1*)objHist;
file.cd();
hid->Write();
nh++;
printf("Save hist. %s \n",hid ->GetName());
}
}
printf("%i hists. save to file -> %s\n", nh,file.GetName());
if(nh>0) save = 1;
}
file.Close();
} else {
printf("AliEMCALHistoUtilities::SaveListOfHists : N O S A V I N G \n");
}
return save;
}
void AliEMCALHistoUtilities::AddToNameAndTitle(TNamed *h, const char *name, const char *title)
{
if(h==0) return;
if(name && strlen(name)) h->SetName(Form("%s%s",h->GetName(),name));
if(title && strlen(title)) h->SetTitle(Form("%s%s",h->GetTitle(),title));
}
void AliEMCALHistoUtilities::AddToNameAndTitleToList(TList *l, const char *name, const char *title)
{
if(l==0) return;
if(name || title) {
for(int i=0; i<l->GetSize(); i++) {
TObject *o = l->At(i);
if(o->InheritsFrom("TNamed")) {
TNamed *h = dynamic_cast<TNamed *>(o);
AddToNameAndTitle(h, name, title);
}
}
}
}
void AliEMCALHistoUtilities::ResetListOfHists(TList *l)
{
if(l==0) return;
for(int i=0; i<l->GetSize(); i++) {
TH1F* h = (TH1F*)l->At(i);
h->Reset();
}
}
void AliEMCALHistoUtilities::Titles(TH1 *hid, const char *titx,const char *tity)
{
if(hid) {
hid->SetXTitle(titx);
hid->SetYTitle(tity);
} else {
printf("<W> TAliasPAI::titles() -> hid is 0 !\n");
}
}
TList* AliEMCALHistoUtilities::CreateProjectionsX(TList *l, const Int_t ind, const Char_t* name)
{
TH2F *hid = dynamic_cast<TH2F *>(l->At(ind));
if(hid == 0) {
printf("<E> Object at ind %i is %s : should ne TH2F \n",
ind, l->At(ind)->ClassName());
return 0;
}
TList *lpt = new TList;
lpt->SetName(Form("%s%s", hid->GetName(), name));
l->Add(lpt);
TAxis* yax = hid->GetYaxis();
TString tity = yax->GetTitle();
tity.ReplaceAll(" ","");
TString name1 = hid->GetName();
TString nam = name1(3,name1.Length()-3);
TString tit1 = hid->GetTitle(), tit=tit1;
TH1::AddDirectory(0);
TH1D *hd = hid->ProjectionX(Form("00_%sProx",nam.Data()), 1, yax->GetNbins());
tit += Form(" : %5.2f < %s < %5.2f (GeV/c)", yax->GetXmin(),tity.Data(),yax->GetXmax());
hd->SetTitle(tit.Data());
lpt->Add(hd);
for(Int_t iy=1; iy<=yax->GetNbins(); iy++){
tit = tit1;
tit += Form(" : %5.2f < %s < %5.2f (GeV/c)", yax->GetBinLowEdge(iy), tity.Data(), yax->GetBinUpEdge(iy));
hd = hid->ProjectionX(Form("%2.2i_%sProx%i",iy, nam.Data(),iy),iy,iy);
hd->SetTitle(tit.Data());
lpt->Add(hd);
}
return lpt;
}
TLatex *AliEMCALHistoUtilities::Lat(const char *text, Float_t x,Float_t y, Int_t align, Float_t tsize, short tcolor)
{
double y1=y;
TLatex *latex = new TLatex;
latex->SetTextAlign(align);
latex->SetTextSize(tsize);
latex->SetTextColor(tcolor);
latex->DrawLatex(x, y1, text);
printf("<I> AliEMCALHistoUtilities::lat() -> %s gPad->GetLogy() %i\n",
text, gPad->GetLogy());
return latex;
}
TGraph *AliEMCALHistoUtilities::DrawGraph(Int_t n, Double_t *x, Double_t *y, Int_t markerColor,
Int_t markerStyle, const char* opt, const char* tit, const char* xTit,const char* yTit, Int_t ifun,
const char *optFit, const char *fun)
{
printf("AliEMCALHistoUtilities::drawGraph started \n");
printf("Drawing opt |%s| : Fitting opt |%s|\n", opt, optFit);
TGraph *gr = new TGraph(n, x, y);
gr->SetMarkerColor(markerColor);
gr->SetLineColor(markerColor);
gr->SetMarkerStyle(markerStyle);
gr->SetTitle(tit);
gr->Draw(opt);
TString ctmp(opt);
if(ctmp.Contains("A")) {
gr->GetHistogram()->SetXTitle(xTit);
gr->GetHistogram()->SetYTitle(yTit);
}
ctmp = optFit;
if(ifun>=0) {
TString sf("pol"); sf += ifun;
gr->Fit(sf.Data(),optFit);
printf("\n ** Fit by Polynomial of degree %i : %s **\n", ifun, sf.Data());
} else if(!ctmp.Contains("no",TString::kIgnoreCase)){
printf("\n ** ifun %i : %s **\n", ifun, fun);
gr->Fit(fun, optFit);
}
return gr;
}
TGraphErrors *AliEMCALHistoUtilities::DrawGraphErrors(const Int_t n,Double_t *x,Double_t *y,Double_t *ex,
Double_t *ey, Int_t markerColor, Int_t markerStyle, const char* opt, const char* tit,
const char* xTit,const char* yTit, Int_t ifun, const char *optFit, const char *fun)
{
printf("AliEMCALHistoUtilities::drawGraphErrors started \n");
printf("Drawing opt |%s| : ifun %i: Fitting opt |%s|, fun |%s|\n",
opt, ifun, optFit, fun);
TGraphErrors *gr = new TGraphErrors(n, x,y,ex,ey);
gr->SetMarkerColor(markerColor);
gr->SetLineColor(markerColor);
gr->SetMarkerStyle(markerStyle);
if(tit&&strlen(tit)>0) gr->SetTitle(tit);
TString ctmp(opt);
if(ctmp.Contains("A")) {
gr->GetHistogram()->SetXTitle(xTit);
gr->GetHistogram()->SetYTitle(yTit);
}
if(ifun>0) {
if(ifun != 999) {
TString sf("pol"); sf += ifun;
gr->Fit(sf.Data(),optFit);
printf("\n ** Fit by Polynomial of degree %i : %s **\n", ifun, sf.Data());
} else {
gr->Fit(fun, optFit);
printf("\n ** Fit by %s **\n", fun);
}
} else {
if(strlen(optFit)) {
printf("\n ** ifun %i : %s **\n", ifun, fun);
gr->Fit(fun, optFit);
}
}
gr->Draw(opt);
return gr;
}
TF1* AliEMCALHistoUtilities::GetResolutionFunction(const char *opt, TString &latexName)
{
TString sopt(opt);
sopt.ToUpper();
TF1 *fres=0;
if (sopt.Contains("FRES1")) {
fres = new TF1("fres","[0]+[1]/sqrt(x)", 0.0, 101.);
latexName = "#frac{#sigma_{E}}{E} = A+#frac{B}{#sqrt{E}}";
} else if(sopt.Contains("FRES2")) {
fres = new TF1("fres","sqrt([0]*[0]+[1]*[1]/x)", 0.0, 101.);
latexName = "#sqrt{A^{2}+#frac{B^{2}}{E}}";
}
if(fres) {
fres->SetParName(0,"A");
fres->SetParName(1,"B");
fres->SetParameter(0, 2.0);
fres->SetParameter(1, 6.6);
fres->SetLineWidth(2);
fres->SetLineColor(kRed);
}
return fres;
}
void AliEMCALHistoUtilities::InitChain(TChain *chain, const char* nameListOfFiles, Int_t nFileMax)
{
if(chain==0 || nameListOfFiles==0) return;
ifstream fin;
fin.open(nameListOfFiles);
if (!fin.is_open()) {
cout << "Input file "<<nameListOfFiles<<" cannot be opened.\n";
return;
}
Int_t nfiles = 0;
char nf[200];
while (!fin.getline(nf,200).eof()) {
if(!fin.good()) break;
chain->Add(nf);
nfiles++;
cout<<nfiles<<" "<<nf<<endl;
if(nFileMax && nfiles>=nFileMax) break;
}
fin.close();
cout << " \n ********** <I> Accepted file "<< nfiles << "********* \n"<<endl;
}
Double_t AliEMCALHistoUtilities::GetMomentum(const char* nameListOfFiles)
{
Double_t p=-1;
TString st(nameListOfFiles);
if(st.Length()>=5) {
st.ToUpper();
Ssiz_t ind1 = st.Index("GEV"), ind2=0;
if(ind1>0) {
for(Int_t i=2; i<=10; i++) {
ind2 = st.Index("/",ind1-i);
if(ind2>0 && ind2<ind1) break;
}
TString mom = st(ind2+1, ind1-ind2-1);
if(mom.IsFloat()) p = mom.Atof();
printf(" dir |%s| : mom |%s| : p %f : ind2,1 %i->%i\n", st.Data(), mom.Data(), p, ind2, ind1);
}
}
return p;
}
int AliEMCALHistoUtilities::ParseString(const TString &topt, TObjArray &Opt)
{
Ssiz_t begin, index, end, end2;
begin = index = end = end2 = 0;
TRegexp separator("[^ ;,\\t\\s/]+");
while ( (begin < topt.Length()) && (index != kNPOS) ) {
index = topt.Index(separator,&end,begin);
if (index >= 0 && end >= 1) {
TString substring(topt(index,end));
Opt.Add(new TObjString(substring.Data()));
}
begin += end+1;
}
return Opt.GetEntries();
}
void AliEMCALHistoUtilities::DrawHist(TH1* hid,int lineWidth,int lineColor,const char* opt, int lineStyle)
{
TString sopt;
sopt = opt;
if(!hid) return;
printf(" Hist. %s : option |%s| \n", hid->GetName(), opt);
if(hid && hid->GetEntries()>=1.) {
if(lineWidth) hid->SetLineWidth(lineWidth);
if(lineColor) hid->SetLineColor(lineColor);
if(lineStyle) hid->SetLineStyle(lineStyle);
if(sopt.Contains("stat",TString::kIgnoreCase)) hid->SetStats(kTRUE);
hid->Draw(opt);
} else {
if (strcmp(opt,"empty")==0) hid->Draw();
else printf(" has fewer entries %i or hid is zero\n", (int) hid->GetEntries());
}
}
TF1* AliEMCALHistoUtilities::Gausi(const char *addName,double xmi,double xma,double N,double mean,double sig,double width)
{
TString name("gi");
name += addName;
TF1 *f = new TF1(name.Data(), Gi, xmi, xma, 4);
f->SetParNames("INTEGRAL","MEAN","SIGMA","WIDTH");
f->SetParameter(0,N);
f->SetParameter(1,mean);
f->SetParameter(2,sig);
f->FixParameter(3,width);
return f;
}
TF1* AliEMCALHistoUtilities::Gausi(const char *addName, double xmi, double xma, TH1 *h)
{
if(h) return Gausi(addName, xmi, xma, h->Integral(), h->GetMean(),h->GetRMS(), h->GetBinWidth(1));
else return 0;
}
TF1* AliEMCALHistoUtilities::GausiPol2(const char *addName,double xmi,double xma, TF1 *g, TF1* bg)
{
TString name("giPol2");
name += addName;
TF1 *f = new TF1(name.Data(), GiPol2, xmi, xma, 7);
f->SetParNames("INTEGRAL","MEAN","SIGMA","WIDTH","a0","a1","a2");
if(g) {
for(int i=0; i<4; i++) f->SetParameter(i, g->GetParameter(i));
f->FixParameter(3,g->GetParameter(3));
}
if(bg) {
for(int i=4; i<7; i++) f->SetParameter(i, bg->GetParameter(i+4));
}
f->SetLineColor(kRed);
return f;
}
Double_t AliEMCALHistoUtilities::Gi(Double_t *x, Double_t *par)
{
static Double_t c = TMath::Sqrt(2.*TMath::Pi()), y=0.0, f=0.0;
y = (x[0]-par[1])/par[2];
f = par[0]*par[3]/(par[2]*c) * TMath::Exp(-0.5*y*y);
return f;
}
Double_t AliEMCALHistoUtilities::GiPol2(Double_t *x, Double_t *par)
{
static Double_t c = TMath::Sqrt(2.*TMath::Pi()), y=0.0, f=0.0;
y = (x[0]-par[1])/par[2];
f = par[0]*par[3]/(par[2]*c) * TMath::Exp(-0.5*y*y);
f += par[4] + par[5]*x[0] + par[6]*x[0]*x[0];
return f;
}
Double_t AliEMCALHistoUtilities::GetCorrectionCoefficientForGamma1(const Double_t eRec)
{
static Double_t p0=6.07157e-05, p1=1.50019e-04, p2=9.99019e-01;
static Double_t p3=9.97135e-01, p4=3.15740e-04, p5=-1.35383e-06;
static Double_t corr=1.0;
if(eRec>=0.0 && eRec <=10.0) {
corr = p0*(eRec-7.5) + p1*(eRec-7.5)*(eRec-7.5) + p2;
} else if(eRec>10.0 && eRec <=105.0) {
corr = p3 + p4*eRec + p5*eRec*eRec;
}
return corr;
}
Double_t AliEMCALHistoUtilities::GetCorrectedEnergyForGamma1(const Double_t eRec)
{
return GetCorrectionCoefficientForGamma1(eRec) * eRec;
}
TList* AliEMCALHistoUtilities::GetTriggersListOfHists(const Int_t scale, const Int_t nTrig, const Bool_t toBrowser)
{
gROOT->cd();
TH1::AddDirectory(1);
new TH1F("00_hXpos2x2", "X coord. of max Amp 2x2",100, -500., +500.);
new TH1F("01_hYpos2x2", "Y coord. of max Amp 2x2",100, -500., +500.);
new TH1F("02_hZpos2x2", "Z coord. of max Amp 2x2",100, -500., +500.);
new TH1F("03_hXposnxn", "X coord. of max Amp NXN",100, -500., +500.);
new TH1F("04_hYposnxn", "Y coord. of max Amp NXN",100, -500., +500.);
new TH1F("05_hZposnxn", "Z coord. of max Amp NXN",100, -500., +500.);
new TH1F("06_hJetTriggerPhi", "%phi of COG of jet trigger patch", 110, 80., 190.);
new TH1F("07_hJetTriggerEta", "%eta of COG of jet trigger patch", 70, -0.7, +0.7);
new TH1F("08_hMaxAmp2x2", "max Amp 2x2", 1000, 0.0, pow(2.,14.));
new TH1F("09_hAmpOutOf2x2", "Amp out of patch 2x2", 1000, 0.0, pow(2.,14.));
new TH1F("10_hMaxAmpnxn", "max Amp NXN", 1000, 0.0, pow(2.,14.));
new TH1F("11_hAmpOutOfnxn", "Amp out of patch nxn", 1000, 0.0, pow(2.,14.));
for(Int_t i=0; i<nTrig; i++) {
new TH1F(Form("%2.2i_hJetPatchAmp%2.2i",i+12,i), Form("jet patch amplitude : jet trig %i",i),
1000, 0.0, pow(2.,14.));
}
Double_t maxEdigit=100., maxN=1000., maxPC = 200.;
if(scale==1) {
maxN *= 10.;
maxPC *= 10.;
}
Int_t ind = 12+nTrig;
new TH1F(Form("%2.2i_hDigitsAmp",ind++), "amplitude of digits (PC) ", 1001, -0.5, 1000.5);
new TH1F(Form("%2.2i_hDigitsE",ind++), " energy of digits (PC)", 1000, 0.0, maxEdigit);
new TH1F(Form("%2.2i_hNDigitsInPCs",ind++), " number of digits in PC's", 1000, 0.0, maxN);
new TH1F(Form("%2.2i_hEinInPCs",ind++), " energy in PC's", 200, 0.0, maxPC);
return MoveHistsToList("TriggerLiOfHists", toBrowser);
}
void AliEMCALHistoUtilities::FillTriggersListOfHists(TList *l, TArrayF *triggerPosition, TArrayF *triggerAmplitudes)
{
if(l==0) {
printf("<E> FillTriggersListOfHists() : list of hists undefined. \n");
return;
}
for(int i=0; i<triggerPosition->GetSize(); i++) {
FillH1(l, i, double(triggerPosition->At(i)));
}
for(int i=0; i<triggerAmplitudes->GetSize(); i++) {
FillH1(l, triggerPosition->GetSize() + i, double(triggerAmplitudes->At(i)) );
}
}
TList* AliEMCALHistoUtilities::GetJetsListOfHists(Int_t njet, Bool_t toBrowser)
{
gROOT->cd();
TH1::AddDirectory(1);
new TH1F("00_nJet", "number of jets in Pythia",5, -0.5, +4.5);
int ic=1;
for(Int_t ij=0; ij<njet; ij++)
{
new TH1F(Form("%2.2i_EtaOfJet%i",ic++,ij), Form("#eta of jet (%i)",ij),80, -2., 2.);
new TH1F(Form("%2.2i_ThetaOfJet%i",ic++,ij), Form("#theta(degree) of jet (%i)",ij),
180, 0.0, 180.);
new TH1F(Form("%2.2i_PhiOfJet%i",ic++,ij), Form("#phi(degree) of jet (%i)",ij),
180, 0.0, 360.);
new TH1F(Form("%2.2i_PtOfJet%i",ic++,ij), Form(" p_{T} of jet (%i)",ij),
200, 0.0, 200.);
new TH1F(Form("%2.2i_EOfJet%i",ic++,ij), Form(" E of jet (%i)",ij),
200, 0.0, 200.);
}
return MoveHistsToList("JetLiOfHists", toBrowser);
}
AliEMCALHistoUtilities.cxx:1 AliEMCALHistoUtilities.cxx:2 AliEMCALHistoUtilities.cxx:3 AliEMCALHistoUtilities.cxx:4 AliEMCALHistoUtilities.cxx:5 AliEMCALHistoUtilities.cxx:6 AliEMCALHistoUtilities.cxx:7 AliEMCALHistoUtilities.cxx:8 AliEMCALHistoUtilities.cxx:9 AliEMCALHistoUtilities.cxx:10 AliEMCALHistoUtilities.cxx:11 AliEMCALHistoUtilities.cxx:12 AliEMCALHistoUtilities.cxx:13 AliEMCALHistoUtilities.cxx:14 AliEMCALHistoUtilities.cxx:15 AliEMCALHistoUtilities.cxx:16 AliEMCALHistoUtilities.cxx:17 AliEMCALHistoUtilities.cxx:18 AliEMCALHistoUtilities.cxx:19 AliEMCALHistoUtilities.cxx:20 AliEMCALHistoUtilities.cxx:21 AliEMCALHistoUtilities.cxx:22 AliEMCALHistoUtilities.cxx:23 AliEMCALHistoUtilities.cxx:24 AliEMCALHistoUtilities.cxx:25 AliEMCALHistoUtilities.cxx:26 AliEMCALHistoUtilities.cxx:27 AliEMCALHistoUtilities.cxx:28 AliEMCALHistoUtilities.cxx:29 AliEMCALHistoUtilities.cxx:30 AliEMCALHistoUtilities.cxx:31 AliEMCALHistoUtilities.cxx:32 AliEMCALHistoUtilities.cxx:33 AliEMCALHistoUtilities.cxx:34 AliEMCALHistoUtilities.cxx:35 AliEMCALHistoUtilities.cxx:36 AliEMCALHistoUtilities.cxx:37 AliEMCALHistoUtilities.cxx:38 AliEMCALHistoUtilities.cxx:39 AliEMCALHistoUtilities.cxx:40 AliEMCALHistoUtilities.cxx:41 AliEMCALHistoUtilities.cxx:42 AliEMCALHistoUtilities.cxx:43 AliEMCALHistoUtilities.cxx:44 AliEMCALHistoUtilities.cxx:45 AliEMCALHistoUtilities.cxx:46 AliEMCALHistoUtilities.cxx:47 AliEMCALHistoUtilities.cxx:48 AliEMCALHistoUtilities.cxx:49 AliEMCALHistoUtilities.cxx:50 AliEMCALHistoUtilities.cxx:51 AliEMCALHistoUtilities.cxx:52 AliEMCALHistoUtilities.cxx:53 AliEMCALHistoUtilities.cxx:54 AliEMCALHistoUtilities.cxx:55 AliEMCALHistoUtilities.cxx:56 AliEMCALHistoUtilities.cxx:57 AliEMCALHistoUtilities.cxx:58 AliEMCALHistoUtilities.cxx:59 AliEMCALHistoUtilities.cxx:60 AliEMCALHistoUtilities.cxx:61 AliEMCALHistoUtilities.cxx:62 AliEMCALHistoUtilities.cxx:63 AliEMCALHistoUtilities.cxx:64 AliEMCALHistoUtilities.cxx:65 AliEMCALHistoUtilities.cxx:66 AliEMCALHistoUtilities.cxx:67 AliEMCALHistoUtilities.cxx:68 AliEMCALHistoUtilities.cxx:69 AliEMCALHistoUtilities.cxx:70 AliEMCALHistoUtilities.cxx:71 AliEMCALHistoUtilities.cxx:72 AliEMCALHistoUtilities.cxx:73 AliEMCALHistoUtilities.cxx:74 AliEMCALHistoUtilities.cxx:75 AliEMCALHistoUtilities.cxx:76 AliEMCALHistoUtilities.cxx:77 AliEMCALHistoUtilities.cxx:78 AliEMCALHistoUtilities.cxx:79 AliEMCALHistoUtilities.cxx:80 AliEMCALHistoUtilities.cxx:81 AliEMCALHistoUtilities.cxx:82 AliEMCALHistoUtilities.cxx:83 AliEMCALHistoUtilities.cxx:84 AliEMCALHistoUtilities.cxx:85 AliEMCALHistoUtilities.cxx:86 AliEMCALHistoUtilities.cxx:87 AliEMCALHistoUtilities.cxx:88 AliEMCALHistoUtilities.cxx:89 AliEMCALHistoUtilities.cxx:90 AliEMCALHistoUtilities.cxx:91 AliEMCALHistoUtilities.cxx:92 AliEMCALHistoUtilities.cxx:93 AliEMCALHistoUtilities.cxx:94 AliEMCALHistoUtilities.cxx:95 AliEMCALHistoUtilities.cxx:96 AliEMCALHistoUtilities.cxx:97 AliEMCALHistoUtilities.cxx:98 AliEMCALHistoUtilities.cxx:99 AliEMCALHistoUtilities.cxx:100 AliEMCALHistoUtilities.cxx:101 AliEMCALHistoUtilities.cxx:102 AliEMCALHistoUtilities.cxx:103 AliEMCALHistoUtilities.cxx:104 AliEMCALHistoUtilities.cxx:105 AliEMCALHistoUtilities.cxx:106 AliEMCALHistoUtilities.cxx:107 AliEMCALHistoUtilities.cxx:108 AliEMCALHistoUtilities.cxx:109 AliEMCALHistoUtilities.cxx:110 AliEMCALHistoUtilities.cxx:111 AliEMCALHistoUtilities.cxx:112 AliEMCALHistoUtilities.cxx:113 AliEMCALHistoUtilities.cxx:114 AliEMCALHistoUtilities.cxx:115 AliEMCALHistoUtilities.cxx:116 AliEMCALHistoUtilities.cxx:117 AliEMCALHistoUtilities.cxx:118 AliEMCALHistoUtilities.cxx:119 AliEMCALHistoUtilities.cxx:120 AliEMCALHistoUtilities.cxx:121 AliEMCALHistoUtilities.cxx:122 AliEMCALHistoUtilities.cxx:123 AliEMCALHistoUtilities.cxx:124 AliEMCALHistoUtilities.cxx:125 AliEMCALHistoUtilities.cxx:126 AliEMCALHistoUtilities.cxx:127 AliEMCALHistoUtilities.cxx:128 AliEMCALHistoUtilities.cxx:129 AliEMCALHistoUtilities.cxx:130 AliEMCALHistoUtilities.cxx:131 AliEMCALHistoUtilities.cxx:132 AliEMCALHistoUtilities.cxx:133 AliEMCALHistoUtilities.cxx:134 AliEMCALHistoUtilities.cxx:135 AliEMCALHistoUtilities.cxx:136 AliEMCALHistoUtilities.cxx:137 AliEMCALHistoUtilities.cxx:138 AliEMCALHistoUtilities.cxx:139 AliEMCALHistoUtilities.cxx:140 AliEMCALHistoUtilities.cxx:141 AliEMCALHistoUtilities.cxx:142 AliEMCALHistoUtilities.cxx:143 AliEMCALHistoUtilities.cxx:144 AliEMCALHistoUtilities.cxx:145 AliEMCALHistoUtilities.cxx:146 AliEMCALHistoUtilities.cxx:147 AliEMCALHistoUtilities.cxx:148 AliEMCALHistoUtilities.cxx:149 AliEMCALHistoUtilities.cxx:150 AliEMCALHistoUtilities.cxx:151 AliEMCALHistoUtilities.cxx:152 AliEMCALHistoUtilities.cxx:153 AliEMCALHistoUtilities.cxx:154 AliEMCALHistoUtilities.cxx:155 AliEMCALHistoUtilities.cxx:156 AliEMCALHistoUtilities.cxx:157 AliEMCALHistoUtilities.cxx:158 AliEMCALHistoUtilities.cxx:159 AliEMCALHistoUtilities.cxx:160 AliEMCALHistoUtilities.cxx:161 AliEMCALHistoUtilities.cxx:162 AliEMCALHistoUtilities.cxx:163 AliEMCALHistoUtilities.cxx:164 AliEMCALHistoUtilities.cxx:165 AliEMCALHistoUtilities.cxx:166 AliEMCALHistoUtilities.cxx:167 AliEMCALHistoUtilities.cxx:168 AliEMCALHistoUtilities.cxx:169 AliEMCALHistoUtilities.cxx:170 AliEMCALHistoUtilities.cxx:171 AliEMCALHistoUtilities.cxx:172 AliEMCALHistoUtilities.cxx:173 AliEMCALHistoUtilities.cxx:174 AliEMCALHistoUtilities.cxx:175 AliEMCALHistoUtilities.cxx:176 AliEMCALHistoUtilities.cxx:177 AliEMCALHistoUtilities.cxx:178 AliEMCALHistoUtilities.cxx:179 AliEMCALHistoUtilities.cxx:180 AliEMCALHistoUtilities.cxx:181 AliEMCALHistoUtilities.cxx:182 AliEMCALHistoUtilities.cxx:183 AliEMCALHistoUtilities.cxx:184 AliEMCALHistoUtilities.cxx:185 AliEMCALHistoUtilities.cxx:186 AliEMCALHistoUtilities.cxx:187 AliEMCALHistoUtilities.cxx:188 AliEMCALHistoUtilities.cxx:189 AliEMCALHistoUtilities.cxx:190 AliEMCALHistoUtilities.cxx:191 AliEMCALHistoUtilities.cxx:192 AliEMCALHistoUtilities.cxx:193 AliEMCALHistoUtilities.cxx:194 AliEMCALHistoUtilities.cxx:195 AliEMCALHistoUtilities.cxx:196 AliEMCALHistoUtilities.cxx:197 AliEMCALHistoUtilities.cxx:198 AliEMCALHistoUtilities.cxx:199 AliEMCALHistoUtilities.cxx:200 AliEMCALHistoUtilities.cxx:201 AliEMCALHistoUtilities.cxx:202 AliEMCALHistoUtilities.cxx:203 AliEMCALHistoUtilities.cxx:204 AliEMCALHistoUtilities.cxx:205 AliEMCALHistoUtilities.cxx:206 AliEMCALHistoUtilities.cxx:207 AliEMCALHistoUtilities.cxx:208 AliEMCALHistoUtilities.cxx:209 AliEMCALHistoUtilities.cxx:210 AliEMCALHistoUtilities.cxx:211 AliEMCALHistoUtilities.cxx:212 AliEMCALHistoUtilities.cxx:213 AliEMCALHistoUtilities.cxx:214 AliEMCALHistoUtilities.cxx:215 AliEMCALHistoUtilities.cxx:216 AliEMCALHistoUtilities.cxx:217 AliEMCALHistoUtilities.cxx:218 AliEMCALHistoUtilities.cxx:219 AliEMCALHistoUtilities.cxx:220 AliEMCALHistoUtilities.cxx:221 AliEMCALHistoUtilities.cxx:222 AliEMCALHistoUtilities.cxx:223 AliEMCALHistoUtilities.cxx:224 AliEMCALHistoUtilities.cxx:225 AliEMCALHistoUtilities.cxx:226 AliEMCALHistoUtilities.cxx:227 AliEMCALHistoUtilities.cxx:228 AliEMCALHistoUtilities.cxx:229 AliEMCALHistoUtilities.cxx:230 AliEMCALHistoUtilities.cxx:231 AliEMCALHistoUtilities.cxx:232 AliEMCALHistoUtilities.cxx:233 AliEMCALHistoUtilities.cxx:234 AliEMCALHistoUtilities.cxx:235 AliEMCALHistoUtilities.cxx:236 AliEMCALHistoUtilities.cxx:237 AliEMCALHistoUtilities.cxx:238 AliEMCALHistoUtilities.cxx:239 AliEMCALHistoUtilities.cxx:240 AliEMCALHistoUtilities.cxx:241 AliEMCALHistoUtilities.cxx:242 AliEMCALHistoUtilities.cxx:243 AliEMCALHistoUtilities.cxx:244 AliEMCALHistoUtilities.cxx:245 AliEMCALHistoUtilities.cxx:246 AliEMCALHistoUtilities.cxx:247 AliEMCALHistoUtilities.cxx:248 AliEMCALHistoUtilities.cxx:249 AliEMCALHistoUtilities.cxx:250 AliEMCALHistoUtilities.cxx:251 AliEMCALHistoUtilities.cxx:252 AliEMCALHistoUtilities.cxx:253 AliEMCALHistoUtilities.cxx:254 AliEMCALHistoUtilities.cxx:255 AliEMCALHistoUtilities.cxx:256 AliEMCALHistoUtilities.cxx:257 AliEMCALHistoUtilities.cxx:258 AliEMCALHistoUtilities.cxx:259 AliEMCALHistoUtilities.cxx:260 AliEMCALHistoUtilities.cxx:261 AliEMCALHistoUtilities.cxx:262 AliEMCALHistoUtilities.cxx:263 AliEMCALHistoUtilities.cxx:264 AliEMCALHistoUtilities.cxx:265 AliEMCALHistoUtilities.cxx:266 AliEMCALHistoUtilities.cxx:267 AliEMCALHistoUtilities.cxx:268 AliEMCALHistoUtilities.cxx:269 AliEMCALHistoUtilities.cxx:270 AliEMCALHistoUtilities.cxx:271 AliEMCALHistoUtilities.cxx:272 AliEMCALHistoUtilities.cxx:273 AliEMCALHistoUtilities.cxx:274 AliEMCALHistoUtilities.cxx:275 AliEMCALHistoUtilities.cxx:276 AliEMCALHistoUtilities.cxx:277 AliEMCALHistoUtilities.cxx:278 AliEMCALHistoUtilities.cxx:279 AliEMCALHistoUtilities.cxx:280 AliEMCALHistoUtilities.cxx:281 AliEMCALHistoUtilities.cxx:282 AliEMCALHistoUtilities.cxx:283 AliEMCALHistoUtilities.cxx:284 AliEMCALHistoUtilities.cxx:285 AliEMCALHistoUtilities.cxx:286 AliEMCALHistoUtilities.cxx:287 AliEMCALHistoUtilities.cxx:288 AliEMCALHistoUtilities.cxx:289 AliEMCALHistoUtilities.cxx:290 AliEMCALHistoUtilities.cxx:291 AliEMCALHistoUtilities.cxx:292 AliEMCALHistoUtilities.cxx:293 AliEMCALHistoUtilities.cxx:294 AliEMCALHistoUtilities.cxx:295 AliEMCALHistoUtilities.cxx:296 AliEMCALHistoUtilities.cxx:297 AliEMCALHistoUtilities.cxx:298 AliEMCALHistoUtilities.cxx:299 AliEMCALHistoUtilities.cxx:300 AliEMCALHistoUtilities.cxx:301 AliEMCALHistoUtilities.cxx:302 AliEMCALHistoUtilities.cxx:303 AliEMCALHistoUtilities.cxx:304 AliEMCALHistoUtilities.cxx:305 AliEMCALHistoUtilities.cxx:306 AliEMCALHistoUtilities.cxx:307 AliEMCALHistoUtilities.cxx:308 AliEMCALHistoUtilities.cxx:309 AliEMCALHistoUtilities.cxx:310 AliEMCALHistoUtilities.cxx:311 AliEMCALHistoUtilities.cxx:312 AliEMCALHistoUtilities.cxx:313 AliEMCALHistoUtilities.cxx:314 AliEMCALHistoUtilities.cxx:315 AliEMCALHistoUtilities.cxx:316 AliEMCALHistoUtilities.cxx:317 AliEMCALHistoUtilities.cxx:318 AliEMCALHistoUtilities.cxx:319 AliEMCALHistoUtilities.cxx:320 AliEMCALHistoUtilities.cxx:321 AliEMCALHistoUtilities.cxx:322 AliEMCALHistoUtilities.cxx:323 AliEMCALHistoUtilities.cxx:324 AliEMCALHistoUtilities.cxx:325 AliEMCALHistoUtilities.cxx:326 AliEMCALHistoUtilities.cxx:327 AliEMCALHistoUtilities.cxx:328 AliEMCALHistoUtilities.cxx:329 AliEMCALHistoUtilities.cxx:330 AliEMCALHistoUtilities.cxx:331 AliEMCALHistoUtilities.cxx:332 AliEMCALHistoUtilities.cxx:333 AliEMCALHistoUtilities.cxx:334 AliEMCALHistoUtilities.cxx:335 AliEMCALHistoUtilities.cxx:336 AliEMCALHistoUtilities.cxx:337 AliEMCALHistoUtilities.cxx:338 AliEMCALHistoUtilities.cxx:339 AliEMCALHistoUtilities.cxx:340 AliEMCALHistoUtilities.cxx:341 AliEMCALHistoUtilities.cxx:342 AliEMCALHistoUtilities.cxx:343 AliEMCALHistoUtilities.cxx:344 AliEMCALHistoUtilities.cxx:345 AliEMCALHistoUtilities.cxx:346 AliEMCALHistoUtilities.cxx:347 AliEMCALHistoUtilities.cxx:348 AliEMCALHistoUtilities.cxx:349 AliEMCALHistoUtilities.cxx:350 AliEMCALHistoUtilities.cxx:351 AliEMCALHistoUtilities.cxx:352 AliEMCALHistoUtilities.cxx:353 AliEMCALHistoUtilities.cxx:354 AliEMCALHistoUtilities.cxx:355 AliEMCALHistoUtilities.cxx:356 AliEMCALHistoUtilities.cxx:357 AliEMCALHistoUtilities.cxx:358 AliEMCALHistoUtilities.cxx:359 AliEMCALHistoUtilities.cxx:360 AliEMCALHistoUtilities.cxx:361 AliEMCALHistoUtilities.cxx:362 AliEMCALHistoUtilities.cxx:363 AliEMCALHistoUtilities.cxx:364 AliEMCALHistoUtilities.cxx:365 AliEMCALHistoUtilities.cxx:366 AliEMCALHistoUtilities.cxx:367 AliEMCALHistoUtilities.cxx:368 AliEMCALHistoUtilities.cxx:369 AliEMCALHistoUtilities.cxx:370 AliEMCALHistoUtilities.cxx:371 AliEMCALHistoUtilities.cxx:372 AliEMCALHistoUtilities.cxx:373 AliEMCALHistoUtilities.cxx:374 AliEMCALHistoUtilities.cxx:375 AliEMCALHistoUtilities.cxx:376 AliEMCALHistoUtilities.cxx:377 AliEMCALHistoUtilities.cxx:378 AliEMCALHistoUtilities.cxx:379 AliEMCALHistoUtilities.cxx:380 AliEMCALHistoUtilities.cxx:381 AliEMCALHistoUtilities.cxx:382 AliEMCALHistoUtilities.cxx:383 AliEMCALHistoUtilities.cxx:384 AliEMCALHistoUtilities.cxx:385 AliEMCALHistoUtilities.cxx:386 AliEMCALHistoUtilities.cxx:387 AliEMCALHistoUtilities.cxx:388 AliEMCALHistoUtilities.cxx:389 AliEMCALHistoUtilities.cxx:390 AliEMCALHistoUtilities.cxx:391 AliEMCALHistoUtilities.cxx:392 AliEMCALHistoUtilities.cxx:393 AliEMCALHistoUtilities.cxx:394 AliEMCALHistoUtilities.cxx:395 AliEMCALHistoUtilities.cxx:396 AliEMCALHistoUtilities.cxx:397 AliEMCALHistoUtilities.cxx:398 AliEMCALHistoUtilities.cxx:399 AliEMCALHistoUtilities.cxx:400 AliEMCALHistoUtilities.cxx:401 AliEMCALHistoUtilities.cxx:402 AliEMCALHistoUtilities.cxx:403 AliEMCALHistoUtilities.cxx:404 AliEMCALHistoUtilities.cxx:405 AliEMCALHistoUtilities.cxx:406 AliEMCALHistoUtilities.cxx:407 AliEMCALHistoUtilities.cxx:408 AliEMCALHistoUtilities.cxx:409 AliEMCALHistoUtilities.cxx:410 AliEMCALHistoUtilities.cxx:411 AliEMCALHistoUtilities.cxx:412 AliEMCALHistoUtilities.cxx:413 AliEMCALHistoUtilities.cxx:414 AliEMCALHistoUtilities.cxx:415 AliEMCALHistoUtilities.cxx:416 AliEMCALHistoUtilities.cxx:417 AliEMCALHistoUtilities.cxx:418 AliEMCALHistoUtilities.cxx:419 AliEMCALHistoUtilities.cxx:420 AliEMCALHistoUtilities.cxx:421 AliEMCALHistoUtilities.cxx:422 AliEMCALHistoUtilities.cxx:423 AliEMCALHistoUtilities.cxx:424 AliEMCALHistoUtilities.cxx:425 AliEMCALHistoUtilities.cxx:426 AliEMCALHistoUtilities.cxx:427 AliEMCALHistoUtilities.cxx:428 AliEMCALHistoUtilities.cxx:429 AliEMCALHistoUtilities.cxx:430 AliEMCALHistoUtilities.cxx:431 AliEMCALHistoUtilities.cxx:432 AliEMCALHistoUtilities.cxx:433 AliEMCALHistoUtilities.cxx:434 AliEMCALHistoUtilities.cxx:435 AliEMCALHistoUtilities.cxx:436 AliEMCALHistoUtilities.cxx:437 AliEMCALHistoUtilities.cxx:438 AliEMCALHistoUtilities.cxx:439 AliEMCALHistoUtilities.cxx:440 AliEMCALHistoUtilities.cxx:441 AliEMCALHistoUtilities.cxx:442 AliEMCALHistoUtilities.cxx:443 AliEMCALHistoUtilities.cxx:444 AliEMCALHistoUtilities.cxx:445 AliEMCALHistoUtilities.cxx:446 AliEMCALHistoUtilities.cxx:447 AliEMCALHistoUtilities.cxx:448 AliEMCALHistoUtilities.cxx:449 AliEMCALHistoUtilities.cxx:450 AliEMCALHistoUtilities.cxx:451 AliEMCALHistoUtilities.cxx:452 AliEMCALHistoUtilities.cxx:453 AliEMCALHistoUtilities.cxx:454 AliEMCALHistoUtilities.cxx:455 AliEMCALHistoUtilities.cxx:456 AliEMCALHistoUtilities.cxx:457 AliEMCALHistoUtilities.cxx:458 AliEMCALHistoUtilities.cxx:459 AliEMCALHistoUtilities.cxx:460 AliEMCALHistoUtilities.cxx:461 AliEMCALHistoUtilities.cxx:462 AliEMCALHistoUtilities.cxx:463 AliEMCALHistoUtilities.cxx:464 AliEMCALHistoUtilities.cxx:465 AliEMCALHistoUtilities.cxx:466 AliEMCALHistoUtilities.cxx:467 AliEMCALHistoUtilities.cxx:468 AliEMCALHistoUtilities.cxx:469 AliEMCALHistoUtilities.cxx:470 AliEMCALHistoUtilities.cxx:471 AliEMCALHistoUtilities.cxx:472 AliEMCALHistoUtilities.cxx:473 AliEMCALHistoUtilities.cxx:474 AliEMCALHistoUtilities.cxx:475 AliEMCALHistoUtilities.cxx:476 AliEMCALHistoUtilities.cxx:477 AliEMCALHistoUtilities.cxx:478 AliEMCALHistoUtilities.cxx:479 AliEMCALHistoUtilities.cxx:480 AliEMCALHistoUtilities.cxx:481 AliEMCALHistoUtilities.cxx:482 AliEMCALHistoUtilities.cxx:483 AliEMCALHistoUtilities.cxx:484 AliEMCALHistoUtilities.cxx:485 AliEMCALHistoUtilities.cxx:486 AliEMCALHistoUtilities.cxx:487 AliEMCALHistoUtilities.cxx:488 AliEMCALHistoUtilities.cxx:489 AliEMCALHistoUtilities.cxx:490 AliEMCALHistoUtilities.cxx:491 AliEMCALHistoUtilities.cxx:492 AliEMCALHistoUtilities.cxx:493 AliEMCALHistoUtilities.cxx:494 AliEMCALHistoUtilities.cxx:495 AliEMCALHistoUtilities.cxx:496 AliEMCALHistoUtilities.cxx:497 AliEMCALHistoUtilities.cxx:498 AliEMCALHistoUtilities.cxx:499 AliEMCALHistoUtilities.cxx:500 AliEMCALHistoUtilities.cxx:501 AliEMCALHistoUtilities.cxx:502 AliEMCALHistoUtilities.cxx:503 AliEMCALHistoUtilities.cxx:504 AliEMCALHistoUtilities.cxx:505 AliEMCALHistoUtilities.cxx:506 AliEMCALHistoUtilities.cxx:507 AliEMCALHistoUtilities.cxx:508 AliEMCALHistoUtilities.cxx:509 AliEMCALHistoUtilities.cxx:510 AliEMCALHistoUtilities.cxx:511 AliEMCALHistoUtilities.cxx:512 AliEMCALHistoUtilities.cxx:513 AliEMCALHistoUtilities.cxx:514 AliEMCALHistoUtilities.cxx:515 AliEMCALHistoUtilities.cxx:516 AliEMCALHistoUtilities.cxx:517 AliEMCALHistoUtilities.cxx:518 AliEMCALHistoUtilities.cxx:519 AliEMCALHistoUtilities.cxx:520 AliEMCALHistoUtilities.cxx:521 AliEMCALHistoUtilities.cxx:522 AliEMCALHistoUtilities.cxx:523 AliEMCALHistoUtilities.cxx:524 AliEMCALHistoUtilities.cxx:525 AliEMCALHistoUtilities.cxx:526 AliEMCALHistoUtilities.cxx:527 AliEMCALHistoUtilities.cxx:528 AliEMCALHistoUtilities.cxx:529 AliEMCALHistoUtilities.cxx:530 AliEMCALHistoUtilities.cxx:531 AliEMCALHistoUtilities.cxx:532 AliEMCALHistoUtilities.cxx:533 AliEMCALHistoUtilities.cxx:534 AliEMCALHistoUtilities.cxx:535 AliEMCALHistoUtilities.cxx:536 AliEMCALHistoUtilities.cxx:537 AliEMCALHistoUtilities.cxx:538 AliEMCALHistoUtilities.cxx:539 AliEMCALHistoUtilities.cxx:540 AliEMCALHistoUtilities.cxx:541 AliEMCALHistoUtilities.cxx:542 AliEMCALHistoUtilities.cxx:543 AliEMCALHistoUtilities.cxx:544 AliEMCALHistoUtilities.cxx:545 AliEMCALHistoUtilities.cxx:546 AliEMCALHistoUtilities.cxx:547 AliEMCALHistoUtilities.cxx:548 AliEMCALHistoUtilities.cxx:549 AliEMCALHistoUtilities.cxx:550 AliEMCALHistoUtilities.cxx:551 AliEMCALHistoUtilities.cxx:552 AliEMCALHistoUtilities.cxx:553 AliEMCALHistoUtilities.cxx:554 AliEMCALHistoUtilities.cxx:555 AliEMCALHistoUtilities.cxx:556 AliEMCALHistoUtilities.cxx:557 AliEMCALHistoUtilities.cxx:558 AliEMCALHistoUtilities.cxx:559 AliEMCALHistoUtilities.cxx:560 AliEMCALHistoUtilities.cxx:561 AliEMCALHistoUtilities.cxx:562 AliEMCALHistoUtilities.cxx:563 AliEMCALHistoUtilities.cxx:564 AliEMCALHistoUtilities.cxx:565 AliEMCALHistoUtilities.cxx:566 AliEMCALHistoUtilities.cxx:567 AliEMCALHistoUtilities.cxx:568 AliEMCALHistoUtilities.cxx:569 AliEMCALHistoUtilities.cxx:570 AliEMCALHistoUtilities.cxx:571 AliEMCALHistoUtilities.cxx:572 AliEMCALHistoUtilities.cxx:573 AliEMCALHistoUtilities.cxx:574 AliEMCALHistoUtilities.cxx:575 AliEMCALHistoUtilities.cxx:576 AliEMCALHistoUtilities.cxx:577 AliEMCALHistoUtilities.cxx:578 AliEMCALHistoUtilities.cxx:579 AliEMCALHistoUtilities.cxx:580 AliEMCALHistoUtilities.cxx:581 AliEMCALHistoUtilities.cxx:582 AliEMCALHistoUtilities.cxx:583 AliEMCALHistoUtilities.cxx:584 AliEMCALHistoUtilities.cxx:585 AliEMCALHistoUtilities.cxx:586 AliEMCALHistoUtilities.cxx:587 AliEMCALHistoUtilities.cxx:588 AliEMCALHistoUtilities.cxx:589 AliEMCALHistoUtilities.cxx:590 AliEMCALHistoUtilities.cxx:591 AliEMCALHistoUtilities.cxx:592 AliEMCALHistoUtilities.cxx:593 AliEMCALHistoUtilities.cxx:594 AliEMCALHistoUtilities.cxx:595 AliEMCALHistoUtilities.cxx:596 AliEMCALHistoUtilities.cxx:597 AliEMCALHistoUtilities.cxx:598 AliEMCALHistoUtilities.cxx:599 AliEMCALHistoUtilities.cxx:600 AliEMCALHistoUtilities.cxx:601 AliEMCALHistoUtilities.cxx:602 AliEMCALHistoUtilities.cxx:603 AliEMCALHistoUtilities.cxx:604 AliEMCALHistoUtilities.cxx:605 AliEMCALHistoUtilities.cxx:606 AliEMCALHistoUtilities.cxx:607 AliEMCALHistoUtilities.cxx:608 AliEMCALHistoUtilities.cxx:609 AliEMCALHistoUtilities.cxx:610 AliEMCALHistoUtilities.cxx:611 AliEMCALHistoUtilities.cxx:612 AliEMCALHistoUtilities.cxx:613 AliEMCALHistoUtilities.cxx:614 AliEMCALHistoUtilities.cxx:615 AliEMCALHistoUtilities.cxx:616 AliEMCALHistoUtilities.cxx:617 AliEMCALHistoUtilities.cxx:618 AliEMCALHistoUtilities.cxx:619 AliEMCALHistoUtilities.cxx:620 AliEMCALHistoUtilities.cxx:621 AliEMCALHistoUtilities.cxx:622 AliEMCALHistoUtilities.cxx:623 AliEMCALHistoUtilities.cxx:624 AliEMCALHistoUtilities.cxx:625 AliEMCALHistoUtilities.cxx:626 AliEMCALHistoUtilities.cxx:627 AliEMCALHistoUtilities.cxx:628 AliEMCALHistoUtilities.cxx:629 AliEMCALHistoUtilities.cxx:630 AliEMCALHistoUtilities.cxx:631 AliEMCALHistoUtilities.cxx:632 AliEMCALHistoUtilities.cxx:633 AliEMCALHistoUtilities.cxx:634 AliEMCALHistoUtilities.cxx:635 AliEMCALHistoUtilities.cxx:636 AliEMCALHistoUtilities.cxx:637 AliEMCALHistoUtilities.cxx:638 AliEMCALHistoUtilities.cxx:639 AliEMCALHistoUtilities.cxx:640 AliEMCALHistoUtilities.cxx:641 AliEMCALHistoUtilities.cxx:642 AliEMCALHistoUtilities.cxx:643 AliEMCALHistoUtilities.cxx:644 AliEMCALHistoUtilities.cxx:645 AliEMCALHistoUtilities.cxx:646 AliEMCALHistoUtilities.cxx:647 AliEMCALHistoUtilities.cxx:648 AliEMCALHistoUtilities.cxx:649 AliEMCALHistoUtilities.cxx:650 AliEMCALHistoUtilities.cxx:651 AliEMCALHistoUtilities.cxx:652 AliEMCALHistoUtilities.cxx:653 AliEMCALHistoUtilities.cxx:654 AliEMCALHistoUtilities.cxx:655 AliEMCALHistoUtilities.cxx:656 AliEMCALHistoUtilities.cxx:657 AliEMCALHistoUtilities.cxx:658 AliEMCALHistoUtilities.cxx:659 AliEMCALHistoUtilities.cxx:660 AliEMCALHistoUtilities.cxx:661 AliEMCALHistoUtilities.cxx:662 AliEMCALHistoUtilities.cxx:663 AliEMCALHistoUtilities.cxx:664 AliEMCALHistoUtilities.cxx:665 AliEMCALHistoUtilities.cxx:666 AliEMCALHistoUtilities.cxx:667 AliEMCALHistoUtilities.cxx:668 AliEMCALHistoUtilities.cxx:669 AliEMCALHistoUtilities.cxx:670 AliEMCALHistoUtilities.cxx:671 AliEMCALHistoUtilities.cxx:672 AliEMCALHistoUtilities.cxx:673 AliEMCALHistoUtilities.cxx:674 AliEMCALHistoUtilities.cxx:675 AliEMCALHistoUtilities.cxx:676 AliEMCALHistoUtilities.cxx:677 AliEMCALHistoUtilities.cxx:678 AliEMCALHistoUtilities.cxx:679 AliEMCALHistoUtilities.cxx:680 AliEMCALHistoUtilities.cxx:681 AliEMCALHistoUtilities.cxx:682 AliEMCALHistoUtilities.cxx:683 AliEMCALHistoUtilities.cxx:684 AliEMCALHistoUtilities.cxx:685 AliEMCALHistoUtilities.cxx:686 AliEMCALHistoUtilities.cxx:687 AliEMCALHistoUtilities.cxx:688 AliEMCALHistoUtilities.cxx:689 AliEMCALHistoUtilities.cxx:690 AliEMCALHistoUtilities.cxx:691 AliEMCALHistoUtilities.cxx:692 AliEMCALHistoUtilities.cxx:693 AliEMCALHistoUtilities.cxx:694 AliEMCALHistoUtilities.cxx:695 AliEMCALHistoUtilities.cxx:696 AliEMCALHistoUtilities.cxx:697 AliEMCALHistoUtilities.cxx:698 AliEMCALHistoUtilities.cxx:699 AliEMCALHistoUtilities.cxx:700 AliEMCALHistoUtilities.cxx:701 AliEMCALHistoUtilities.cxx:702 AliEMCALHistoUtilities.cxx:703 AliEMCALHistoUtilities.cxx:704 AliEMCALHistoUtilities.cxx:705 AliEMCALHistoUtilities.cxx:706 AliEMCALHistoUtilities.cxx:707 AliEMCALHistoUtilities.cxx:708 AliEMCALHistoUtilities.cxx:709 AliEMCALHistoUtilities.cxx:710 AliEMCALHistoUtilities.cxx:711 AliEMCALHistoUtilities.cxx:712 AliEMCALHistoUtilities.cxx:713 AliEMCALHistoUtilities.cxx:714 AliEMCALHistoUtilities.cxx:715 AliEMCALHistoUtilities.cxx:716 AliEMCALHistoUtilities.cxx:717 AliEMCALHistoUtilities.cxx:718 AliEMCALHistoUtilities.cxx:719 AliEMCALHistoUtilities.cxx:720 AliEMCALHistoUtilities.cxx:721 AliEMCALHistoUtilities.cxx:722 AliEMCALHistoUtilities.cxx:723 AliEMCALHistoUtilities.cxx:724 AliEMCALHistoUtilities.cxx:725 AliEMCALHistoUtilities.cxx:726 AliEMCALHistoUtilities.cxx:727 AliEMCALHistoUtilities.cxx:728 AliEMCALHistoUtilities.cxx:729 AliEMCALHistoUtilities.cxx:730 AliEMCALHistoUtilities.cxx:731 AliEMCALHistoUtilities.cxx:732 AliEMCALHistoUtilities.cxx:733 AliEMCALHistoUtilities.cxx:734 AliEMCALHistoUtilities.cxx:735 AliEMCALHistoUtilities.cxx:736 AliEMCALHistoUtilities.cxx:737 AliEMCALHistoUtilities.cxx:738 AliEMCALHistoUtilities.cxx:739 AliEMCALHistoUtilities.cxx:740 AliEMCALHistoUtilities.cxx:741 AliEMCALHistoUtilities.cxx:742 AliEMCALHistoUtilities.cxx:743 AliEMCALHistoUtilities.cxx:744 AliEMCALHistoUtilities.cxx:745 AliEMCALHistoUtilities.cxx:746 AliEMCALHistoUtilities.cxx:747 AliEMCALHistoUtilities.cxx:748 AliEMCALHistoUtilities.cxx:749 AliEMCALHistoUtilities.cxx:750 AliEMCALHistoUtilities.cxx:751 AliEMCALHistoUtilities.cxx:752 AliEMCALHistoUtilities.cxx:753 AliEMCALHistoUtilities.cxx:754 AliEMCALHistoUtilities.cxx:755 AliEMCALHistoUtilities.cxx:756 AliEMCALHistoUtilities.cxx:757 AliEMCALHistoUtilities.cxx:758 AliEMCALHistoUtilities.cxx:759 AliEMCALHistoUtilities.cxx:760 AliEMCALHistoUtilities.cxx:761 AliEMCALHistoUtilities.cxx:762 AliEMCALHistoUtilities.cxx:763 AliEMCALHistoUtilities.cxx:764 AliEMCALHistoUtilities.cxx:765 AliEMCALHistoUtilities.cxx:766 AliEMCALHistoUtilities.cxx:767 AliEMCALHistoUtilities.cxx:768 AliEMCALHistoUtilities.cxx:769 AliEMCALHistoUtilities.cxx:770 AliEMCALHistoUtilities.cxx:771 AliEMCALHistoUtilities.cxx:772 AliEMCALHistoUtilities.cxx:773 AliEMCALHistoUtilities.cxx:774 AliEMCALHistoUtilities.cxx:775 AliEMCALHistoUtilities.cxx:776 AliEMCALHistoUtilities.cxx:777 AliEMCALHistoUtilities.cxx:778 AliEMCALHistoUtilities.cxx:779 AliEMCALHistoUtilities.cxx:780 AliEMCALHistoUtilities.cxx:781 AliEMCALHistoUtilities.cxx:782 AliEMCALHistoUtilities.cxx:783 AliEMCALHistoUtilities.cxx:784 AliEMCALHistoUtilities.cxx:785 AliEMCALHistoUtilities.cxx:786 AliEMCALHistoUtilities.cxx:787 AliEMCALHistoUtilities.cxx:788 AliEMCALHistoUtilities.cxx:789 AliEMCALHistoUtilities.cxx:790 AliEMCALHistoUtilities.cxx:791 AliEMCALHistoUtilities.cxx:792 AliEMCALHistoUtilities.cxx:793 AliEMCALHistoUtilities.cxx:794 AliEMCALHistoUtilities.cxx:795 AliEMCALHistoUtilities.cxx:796 AliEMCALHistoUtilities.cxx:797 AliEMCALHistoUtilities.cxx:798 AliEMCALHistoUtilities.cxx:799 AliEMCALHistoUtilities.cxx:800 AliEMCALHistoUtilities.cxx:801 AliEMCALHistoUtilities.cxx:802 AliEMCALHistoUtilities.cxx:803 AliEMCALHistoUtilities.cxx:804 AliEMCALHistoUtilities.cxx:805 AliEMCALHistoUtilities.cxx:806 AliEMCALHistoUtilities.cxx:807 AliEMCALHistoUtilities.cxx:808 AliEMCALHistoUtilities.cxx:809 AliEMCALHistoUtilities.cxx:810 AliEMCALHistoUtilities.cxx:811 AliEMCALHistoUtilities.cxx:812 AliEMCALHistoUtilities.cxx:813 AliEMCALHistoUtilities.cxx:814 AliEMCALHistoUtilities.cxx:815 AliEMCALHistoUtilities.cxx:816 AliEMCALHistoUtilities.cxx:817 AliEMCALHistoUtilities.cxx:818 AliEMCALHistoUtilities.cxx:819 AliEMCALHistoUtilities.cxx:820 AliEMCALHistoUtilities.cxx:821 AliEMCALHistoUtilities.cxx:822 AliEMCALHistoUtilities.cxx:823 AliEMCALHistoUtilities.cxx:824 AliEMCALHistoUtilities.cxx:825 AliEMCALHistoUtilities.cxx:826 AliEMCALHistoUtilities.cxx:827 AliEMCALHistoUtilities.cxx:828 AliEMCALHistoUtilities.cxx:829 AliEMCALHistoUtilities.cxx:830 AliEMCALHistoUtilities.cxx:831 AliEMCALHistoUtilities.cxx:832 AliEMCALHistoUtilities.cxx:833 AliEMCALHistoUtilities.cxx:834 AliEMCALHistoUtilities.cxx:835 AliEMCALHistoUtilities.cxx:836 AliEMCALHistoUtilities.cxx:837 AliEMCALHistoUtilities.cxx:838 AliEMCALHistoUtilities.cxx:839 AliEMCALHistoUtilities.cxx:840 AliEMCALHistoUtilities.cxx:841 AliEMCALHistoUtilities.cxx:842 AliEMCALHistoUtilities.cxx:843