#include <TH1.h>
#include <TH1F.h>
#include <TH2.h>
#include <TH3.h>
#include <THnBase.h>
#include <THn.h>
#include <THnSparse.h>
#include <TProfile.h>
#include <TProfile2D.h>
#include <TProfile3D.h>
#include <TCollection.h>
#include <THashList.h>
#include <TString.h>
#include <TObjString.h>
#include <TObjArray.h>
#include <TFile.h>
#include <TError.h>
#include <TCanvas.h>
#include <TMath.h>
#include <TROOT.h>
#include <TLegend.h>
#include <TKey.h>
#include <TAxis.h>
#include <TVirtualPS.h>
#include <TVectorD.h>
#include "AliDielectronHelper.h"
#include "AliDielectronVarManager.h"
#include "AliDielectronHistos.h"
ClassImp(AliDielectronHistos)
AliDielectronHistos::AliDielectronHistos() :
TNamed("AliDielectronHistos","Dielectron Histogram Container"),
fHistoList(),
fList(0x0),
fUsedVars(new TBits(AliDielectronVarManager::kNMaxValues)),
fReservedWords(new TString)
{
fHistoList.SetOwner(kTRUE);
fHistoList.SetName("Dielectron_Histos");
}
AliDielectronHistos::AliDielectronHistos(const char* name, const char* title) :
TNamed(name, title),
fHistoList(),
fList(0x0),
fUsedVars(new TBits(AliDielectronVarManager::kNMaxValues)),
fReservedWords(new TString)
{
fHistoList.SetOwner(kTRUE);
fHistoList.SetName(name);
}
AliDielectronHistos::~AliDielectronHistos()
{
fHistoList.Clear();
if (fUsedVars) delete fUsedVars;
if (fList) fList->Clear();
delete fReservedWords;
}
void AliDielectronHistos::UserProfile(const char* histClass,const char *name, const char* title,
UInt_t valTypeP,
Int_t nbinsX, Double_t xmin, Double_t xmax,
UInt_t valTypeX, Bool_t logBinX, TString option,
UInt_t valTypeW)
{
TVectorD *binLimX=0x0;
if (logBinX) {
binLimX=AliDielectronHelper::MakeLogBinning(nbinsX, xmin, xmax);
} else {
binLimX=AliDielectronHelper::MakeLinBinning(nbinsX, xmin, xmax);
}
UserProfile(histClass,name,title,valTypeP,binLimX,valTypeX,option,valTypeW);
}
void AliDielectronHistos::UserProfile(const char* histClass,const char *name, const char* title,
UInt_t valTypeP,
Int_t nbinsX, Double_t xmin, Double_t xmax,
Int_t nbinsY, Double_t ymin, Double_t ymax,
UInt_t valTypeX, UInt_t valTypeY,
Bool_t logBinX, Bool_t logBinY, TString option,
UInt_t valTypeW)
{
if (!IsHistogramOk(histClass,name)) return;
TVectorD *binLimX=0x0;
TVectorD *binLimY=0x0;
if (logBinX) {
binLimX=AliDielectronHelper::MakeLogBinning(nbinsX, xmin, xmax);
} else {
binLimX=AliDielectronHelper::MakeLinBinning(nbinsX, xmin, xmax);
}
if (logBinY) {
binLimY=AliDielectronHelper::MakeLogBinning(nbinsY, ymin, ymax);
} else {
binLimY=AliDielectronHelper::MakeLinBinning(nbinsY, ymin, ymax);
}
UserProfile(histClass,name,title,valTypeP,binLimX,binLimY,valTypeX,valTypeY,option,valTypeW);
}
void AliDielectronHistos::UserProfile(const char* histClass,const char *name, const char* title,
UInt_t valTypeP,
Int_t nbinsX, Double_t xmin, Double_t xmax,
Int_t nbinsY, Double_t ymin, Double_t ymax,
Int_t nbinsZ, Double_t zmin, Double_t zmax,
UInt_t valTypeX, UInt_t valTypeY, UInt_t valTypeZ,
Bool_t logBinX, Bool_t logBinY, Bool_t logBinZ, TString option,
UInt_t valTypeW)
{
if (!IsHistogramOk(histClass,name)) return;
TVectorD *binLimX=0x0;
TVectorD *binLimY=0x0;
TVectorD *binLimZ=0x0;
if (logBinX) {
binLimX=AliDielectronHelper::MakeLogBinning(nbinsX, xmin, xmax);
} else {
binLimX=AliDielectronHelper::MakeLinBinning(nbinsX, xmin, xmax);
}
if (logBinY) {
binLimY=AliDielectronHelper::MakeLogBinning(nbinsY, ymin, ymax);
} else {
binLimY=AliDielectronHelper::MakeLinBinning(nbinsY, ymin, ymax);
}
if (logBinZ) {
binLimZ=AliDielectronHelper::MakeLogBinning(nbinsZ, zmin, zmax);
} else {
binLimZ=AliDielectronHelper::MakeLinBinning(nbinsZ, zmin, zmax);
}
UserProfile(histClass,name,title,valTypeP,binLimX,binLimY,binLimZ,valTypeX,valTypeY,valTypeZ,option,valTypeW);
}
void AliDielectronHistos::UserProfile(const char* histClass,const char *name, const char* title,
UInt_t valTypeP,
const char* binning,
UInt_t valTypeX, TString option,
UInt_t valTypeW)
{
TVectorD *binLimX=AliDielectronHelper::MakeArbitraryBinning(binning);
UserProfile(histClass,name,title,valTypeP,binLimX,valTypeX,option,valTypeW);
}
void AliDielectronHistos::UserProfile(const char* histClass,const char *name, const char* title,
UInt_t valTypeP,
const TVectorD * const binsX,
UInt_t valTypeX, TString option,
UInt_t valTypeW)
{
Bool_t isOk=kTRUE;
isOk&=IsHistogramOk(histClass,name);
isOk&=(binsX!=0x0);
TH1 *hist=0x0;
if (isOk){
if(valTypeP==kNoProfile)
hist=new TH1F(name,title,binsX->GetNrows()-1,binsX->GetMatrixArray());
else {
TString opt=""; Double_t pmin=0., pmax=0.;
if(!option.IsNull()) {
TObjArray *arr=option.Tokenize(";");
arr->SetOwner();
opt=((TObjString*)arr->At(0))->GetString();
if(arr->GetEntriesFast()>1) pmin=(((TObjString*)arr->At(1))->GetString()).Atof();
if(arr->GetEntriesFast()>2) pmax=(((TObjString*)arr->At(2))->GetString()).Atof();
delete arr;
}
hist=new TProfile(name,title,binsX->GetNrows()-1,binsX->GetMatrixArray(),pmin,pmax,opt.Data());
}
UInt_t valType[20] = {0};
valType[0]=valTypeX; valType[1]=valTypeP;
StoreVariables(hist, valType);
hist->SetUniqueID(valTypeW);
for(Int_t i=0; i<4; i++) fUsedVars->SetBitNumber(valType[i],kTRUE);
fUsedVars->SetBitNumber(valTypeW,kTRUE);
AdaptNameTitle(hist, histClass);
Bool_t isReserved=fReservedWords->Contains(histClass);
if(valTypeX==kNoAutoFill) hist->SetUniqueID(valTypeX);
if (isReserved)
UserHistogramReservedWords(histClass, hist, 999);
else
UserHistogram(histClass, hist, 999);
}
delete binsX;
}
void AliDielectronHistos::UserProfile(const char* histClass,const char *name, const char* title,
UInt_t valTypeP,
const TVectorD * const binsX, const TVectorD * const binsY,
UInt_t valTypeX, UInt_t valTypeY, TString option,
UInt_t valTypeW)
{
Bool_t isOk=kTRUE;
isOk&=IsHistogramOk(histClass,name);
isOk&=(binsX!=0x0);
isOk&=(binsY!=0x0);
TH1 *hist=0x0;
if (isOk){
if(valTypeP==kNoProfile) {
hist=new TH2F(name,title,
binsX->GetNrows()-1,binsX->GetMatrixArray(),
binsY->GetNrows()-1,binsY->GetMatrixArray());
}
else {
TString opt=""; Double_t pmin=0., pmax=0.;
if(!option.IsNull()) {
TObjArray *arr=option.Tokenize(";");
arr->SetOwner();
opt=((TObjString*)arr->At(0))->GetString();
if(arr->GetEntriesFast()>1) pmin=(((TObjString*)arr->At(1))->GetString()).Atof();
if(arr->GetEntriesFast()>2) pmax=(((TObjString*)arr->At(2))->GetString()).Atof();
delete arr;
}
hist=new TProfile2D(name,title,
binsX->GetNrows()-1,binsX->GetMatrixArray(),
binsY->GetNrows()-1,binsY->GetMatrixArray());
((TProfile2D*)hist)->BuildOptions(pmin,pmax,opt.Data());
}
UInt_t valType[20] = {0};
valType[0]=valTypeX; valType[1]=valTypeY; valType[2]=valTypeP;
StoreVariables(hist, valType);
hist->SetUniqueID(valTypeW);
for(Int_t i=0; i<4; i++) fUsedVars->SetBitNumber(valType[i],kTRUE);
fUsedVars->SetBitNumber(valTypeW,kTRUE);
AdaptNameTitle(hist, histClass);
Bool_t isReserved=fReservedWords->Contains(histClass);
if(valTypeX==kNoAutoFill) hist->SetUniqueID(valTypeX);
if (isReserved)
UserHistogramReservedWords(histClass, hist, 999);
else
UserHistogram(histClass, hist, 999);
}
delete binsX;
delete binsY;
}
void AliDielectronHistos::UserProfile(const char* histClass,const char *name, const char* title,
UInt_t valTypeP,
const TVectorD * const binsX, const TVectorD * const binsY, const TVectorD * const binsZ,
UInt_t valTypeX, UInt_t valTypeY, UInt_t valTypeZ, TString option,
UInt_t valTypeW)
{
Bool_t isOk=kTRUE;
isOk&=IsHistogramOk(histClass,name);
isOk&=(binsX!=0x0);
isOk&=(binsY!=0x0);
isOk&=(binsZ!=0x0);
TH1 *hist=0x0;
if (isOk) {
if(valTypeP==kNoProfile) {
hist=new TH3F(name,title,
binsX->GetNrows()-1,binsX->GetMatrixArray(),
binsY->GetNrows()-1,binsY->GetMatrixArray(),
binsZ->GetNrows()-1,binsZ->GetMatrixArray());
}
else {
TString opt=""; Double_t pmin=0., pmax=0.;
if(!option.IsNull()) {
TObjArray *arr=option.Tokenize(";");
arr->SetOwner();
opt=((TObjString*)arr->At(0))->GetString();
if(arr->GetEntriesFast()>1) pmin=(((TObjString*)arr->At(1))->GetString()).Atof();
if(arr->GetEntriesFast()>2) pmax=(((TObjString*)arr->At(2))->GetString()).Atof();
delete arr;
}
hist=new TProfile3D(name,title,
binsX->GetNrows()-1,binsX->GetMatrixArray(),
binsY->GetNrows()-1,binsY->GetMatrixArray(),
binsZ->GetNrows()-1,binsZ->GetMatrixArray());
((TProfile3D*)hist)->BuildOptions(pmin,pmax,opt.Data());
}
UInt_t valType[20] = {0};
valType[0]=valTypeX; valType[1]=valTypeY; valType[2]=valTypeZ; valType[3]=valTypeP;
StoreVariables(hist, valType);
if(valTypeP==kNoProfile) hist->SetUniqueID(valTypeW);
for(Int_t i=0; i<4; i++) fUsedVars->SetBitNumber(valType[i],kTRUE);
if(valTypeW!=kNoWeights) fUsedVars->SetBitNumber(valTypeW,kTRUE);
AdaptNameTitle(hist, histClass);
Bool_t isReserved=fReservedWords->Contains(histClass);
if(valTypeX==kNoAutoFill) hist->SetUniqueID(valTypeX);
if (isReserved)
UserHistogramReservedWords(histClass, hist, 999);
else
UserHistogram(histClass, hist, 999);
}
delete binsX;
delete binsY;
delete binsZ;
}
void AliDielectronHistos::UserHistogram(const char* histClass, Int_t ndim, Int_t *bins, Double_t *mins, Double_t *maxs, UInt_t *vars, UInt_t valTypeW)
{
Bool_t isOk=kTRUE;
isOk&=(ndim<21 && ndim>3);
if(!isOk) { Warning("UserHistogram","Array sizes should be between 3 and 20. Not adding Histogram to '%s'.", histClass); return; }
TString name;
for(Int_t iv=0; iv < ndim; iv++)
name+=Form("%s_",AliDielectronVarManager::GetValueName(vars[iv]));
name.Resize(name.Length()-1);
isOk&=IsHistogramOk(histClass,name);
THnD *hist;
if (isOk) {
hist=new THnD(name.Data(),"", ndim, bins, mins, maxs);
StoreVariables(hist, vars);
hist->SetUniqueID(valTypeW);
for(Int_t i=0; i<20; i++) fUsedVars->SetBitNumber(vars[i],kTRUE);
fUsedVars->SetBitNumber(valTypeW,kTRUE);
Bool_t isReserved=fReservedWords->Contains(histClass);
if (isReserved)
UserHistogramReservedWords(histClass, hist, 999);
else
UserHistogram(histClass, hist, 999);
}
}
void AliDielectronHistos::UserHistogram(const char* histClass, Int_t ndim, TObjArray *limits, UInt_t *vars, UInt_t valTypeW)
{
Bool_t isOk=kTRUE;
isOk&=(ndim<21 && ndim>3);
if(!isOk) { Warning("UserHistogram","Array sizes should be between 3 and 20. Not adding Histogram to '%s'.", histClass); return; }
isOk&=(ndim==limits->GetEntriesFast());
if(!isOk) return;
TString name;
for(Int_t iv=0; iv < ndim; iv++)
name+=Form("%s_",AliDielectronVarManager::GetValueName(vars[iv]));
name.Resize(name.Length()-1);
isOk&=IsHistogramOk(histClass,name);
THnD *hist;
Int_t bins[ndim];
if (isOk) {
for(Int_t idim=0 ;idim<ndim; idim++) {
TVectorD *vec = (TVectorD*) limits->At(idim);
bins[idim]=vec->GetNrows()-1;
}
hist=new THnD(name.Data(),"", ndim, bins, 0x0, 0x0);
for(Int_t idim=0 ;idim<ndim; idim++) {
TVectorD *vec = (TVectorD*) limits->At(idim);
hist->SetBinEdges(idim,vec->GetMatrixArray());
}
StoreVariables(hist, vars);
hist->SetUniqueID(valTypeW);
for(Int_t i=0; i<20; i++) fUsedVars->SetBitNumber(vars[i],kTRUE);
fUsedVars->SetBitNumber(valTypeW,kTRUE);
Bool_t isReserved=fReservedWords->Contains(histClass);
if (isReserved)
UserHistogramReservedWords(histClass, hist, 999);
else
UserHistogram(histClass, hist, 999);
}
}
void AliDielectronHistos::UserSparse(const char* histClass, Int_t ndim, Int_t *bins, Double_t *mins, Double_t *maxs, UInt_t *vars,
UInt_t valTypeW)
{
Bool_t isOk=kTRUE;
TString name;
for(Int_t iv=0; iv < ndim; iv++)
name+=Form("%s_",AliDielectronVarManager::GetValueName(vars[iv]));
name.Resize(name.Length()-1);
isOk&=IsHistogramOk(histClass,name);
THnSparseD *hist;
if (isOk) {
hist=new THnSparseD(name.Data(),"", ndim, bins, mins, maxs);
StoreVariables(hist, vars);
hist->SetUniqueID(valTypeW);
for(Int_t i=0; i<20; i++) fUsedVars->SetBitNumber(vars[i],kTRUE);
fUsedVars->SetBitNumber(valTypeW,kTRUE);
Bool_t isReserved=fReservedWords->Contains(histClass);
if (isReserved)
UserHistogramReservedWords(histClass, hist, 999);
else
UserHistogram(histClass, hist, 999);
}
}
void AliDielectronHistos::UserSparse(const char* histClass, Int_t ndim, TObjArray *limits, UInt_t *vars, UInt_t valTypeW)
{
Bool_t isOk=kTRUE;
isOk&=(ndim==limits->GetEntriesFast());
if(!isOk) return;
TString name;
for(Int_t iv=0; iv < ndim; iv++)
name+=Form("%s_",AliDielectronVarManager::GetValueName(vars[iv]));
name.Resize(name.Length()-1);
isOk&=IsHistogramOk(histClass,name);
THnSparseD *hist;
Int_t bins[ndim];
if (isOk) {
for(Int_t idim=0 ;idim<ndim; idim++) {
TVectorD *vec = (TVectorD*) limits->At(idim);
bins[idim]=vec->GetNrows()-1;
}
hist=new THnSparseD(name.Data(),"", ndim, bins, 0x0, 0x0);
for(Int_t idim=0 ;idim<ndim; idim++) {
TVectorD *vec = (TVectorD*) limits->At(idim);
hist->SetBinEdges(idim,vec->GetMatrixArray());
}
StoreVariables(hist, vars);
hist->SetUniqueID(valTypeW);
for(Int_t i=0; i<20; i++) fUsedVars->SetBitNumber(vars[i],kTRUE);
fUsedVars->SetBitNumber(valTypeW,kTRUE);
Bool_t isReserved=fReservedWords->Contains(histClass);
if (isReserved)
UserHistogramReservedWords(histClass, hist, 999);
else
UserHistogram(histClass, hist, 999);
}
}
void AliDielectronHistos::UserHistogram(const char* histClass, TObject* hist, UInt_t valTypes)
{
Bool_t isReserved=fReservedWords->Contains(histClass);
if (isReserved) {
UserHistogramReservedWords(histClass, hist, valTypes);
return;
}
if (!IsHistogramOk(histClass,hist->GetName())) return;
THashList *classTable=(THashList*)fHistoList.FindObject(histClass);
UInt_t valType[20] = {0};
if(valTypes!=999) {
valType[0]=valTypes%1000;
valType[1]=valTypes/1000%1000;
valType[2]=valTypes/1000000%1000;
hist->SetUniqueID(valTypes);
}
else {
FillVarArray(hist, valType);
StoreVariables(hist, valType);
hist->SetUniqueID(valType[19]);
}
classTable->Add(hist);
}
void AliDielectronHistos::AddClass(const char* histClass)
{
TString hists(histClass);
TObjArray *arr=hists.Tokenize(";");
TIter next(arr);
TObject *o=0;
while ( (o=next()) ){
if (fHistoList.FindObject(o->GetName())){
Warning("AddClass","Cannot create class '%s' it already exists.",histClass);
continue;
}
if (fReservedWords->Contains(o->GetName())){
Error("AddClass","Pair is a reserved word, please use another name");
continue;
}
THashList *table=new THashList;
table->SetOwner(kTRUE);
table->SetName(o->GetName());
fHistoList.Add(table);
}
delete arr;
}
void AliDielectronHistos::Fill(const char* histClass, const char* name, Double_t xval)
{
THashList *classTable=(THashList*)fHistoList.FindObject(histClass);
TH1* hist=0;
if (!classTable || !(hist=(TH1*)classTable->FindObject(name)) ){
Warning("Fill","Cannot fill histogram. Either class '%s' or histogram '%s' not existing.",histClass,name);
return;
}
hist->Fill(xval);
}
void AliDielectronHistos::Fill(const char* histClass, const char* name, Double_t xval, Double_t yval)
{
THashList *classTable=(THashList*)fHistoList.FindObject(histClass);
TH2* hist=0;
if (!classTable || !(hist=(TH2*)classTable->FindObject(name)) ){
Warning("UserHistogram","Cannot fill histogram. Either class '%s' or histogram '%s' not existing.",histClass,name);
return;
}
hist->Fill(xval,yval);
}
void AliDielectronHistos::Fill(const char* histClass, const char* name, Double_t xval, Double_t yval, Double_t zval)
{
THashList *classTable=(THashList*)fHistoList.FindObject(histClass);
TH3* hist=0;
if (!classTable || !(hist=(TH3*)classTable->FindObject(name)) ){
Warning("UserHistogram","Cannot fill histogram. Either class '%s' or histogram '%s' not existing.",histClass,name);
return;
}
hist->Fill(xval,yval,zval);
}
void AliDielectronHistos::FillClass(const char* histClass, Int_t nValues, const Double_t *values)
{
THashList *classTable=(THashList*)fHistoList.FindObject(histClass);
if (!classTable){
Warning("FillClass","Cannot fill class '%s' its not defined. nValues %d",histClass,nValues);
return;
}
TIter nextHist(classTable);
TObject *obj=0;
while ( (obj=(TObject*)nextHist()) ) FillValues(obj, values);
return;
}
void AliDielectronHistos::UserHistogramReservedWords(const char* histClass, const TObject *hist, UInt_t valTypes)
{
TString title(hist->GetTitle());
TIter nextClass(&fHistoList);
THashList *l=0;
while ( (l=static_cast<THashList*>(nextClass())) ){
TString name(l->GetName());
if (name.Contains(histClass)){
TObject *h=hist->Clone();
((TH1*)h)->SetTitle(Form("%s %s",title.Data(),l->GetName()));
UserHistogram(l->GetName(),h,valTypes);
}
}
delete hist;
}
void AliDielectronHistos::DumpToFile(const char* file)
{
TFile f(file,"recreate");
fHistoList.Write(fHistoList.GetName(),TObject::kSingleKey);
f.Close();
}
TObject* AliDielectronHistos::GetHist(const char* histClass, const char* name) const
{
THashList *classTable=(THashList*)fHistoList.FindObject(histClass);
if (!classTable) return 0x0;
return classTable->FindObject(name);
}
TH1* AliDielectronHistos::GetHistogram(const char* histClass, const char* name) const
{
return ((TH1*) GetHist(histClass, name));
}
TObject* AliDielectronHistos::GetHist(const char* cutClass, const char* histClass, const char* name) const
{
if (!fList) return 0x0;
THashList *h=dynamic_cast<THashList*>(fList->FindObject(cutClass));
if (!h)return 0x0;
THashList *classTable=dynamic_cast<THashList*>(h->FindObject(histClass));
if (!classTable) return 0x0;
return classTable->FindObject(name);
}
TH1* AliDielectronHistos::GetHistogram(const char* cutClass, const char* histClass, const char* name) const
{
return ((TH1*) GetHist(cutClass, histClass, name));
}
void AliDielectronHistos::Draw(const Option_t* option)
{
TString drawStr(option);
TObjArray *arr=drawStr.Tokenize(";");
arr->SetOwner();
TIter nextOpt(arr);
TString drawClasses;
TObjString *ostr=0x0;
TString currentOpt;
TString testOpt;
while ( (ostr=(TObjString*)nextOpt()) ){
currentOpt=ostr->GetString();
currentOpt.Remove(TString::kBoth,'\t');
currentOpt.Remove(TString::kBoth,' ');
testOpt="classes=";
if ( currentOpt.Contains(testOpt.Data()) ){
drawClasses=currentOpt(testOpt.Length(),currentOpt.Length());
}
}
delete arr;
drawStr.ToLower();
TCanvas *c=0x0;
if (gVirtualPS) {
if (!gPad){
Error("Draw","When writing to a file you have to create a canvas before opening the file!!!");
return;
}
c=gPad->GetCanvas();
c->cd();
}
TIter nextClass(&fHistoList);
THashList *classTable=0;
while ( (classTable=(THashList*)nextClass()) ){
if (!drawClasses.IsNull() && !drawClasses.Contains(classTable->GetName())) continue;
Int_t nPads = classTable->GetEntries();
Int_t nCols = (Int_t)TMath::Ceil( TMath::Sqrt(nPads) );
Int_t nRows = (Int_t)TMath::Ceil( (Double_t)nPads/(Double_t)nCols );
if (!gVirtualPS){
TString canvasName;
canvasName.Form("c%s_%s",GetName(),classTable->GetName());
c=(TCanvas*)gROOT->FindObject(canvasName.Data());
if (!c) c=new TCanvas(canvasName.Data(),Form("%s: %s",GetName(),classTable->GetName()));
c->Clear();
} else {
if (nPads>1) c->Clear();
}
if (nCols>1||nRows>1) c->Divide(nCols,nRows);
TIter nextHist(classTable);
Int_t iPad=0;
TH1 *h=0;
while ( (h=(TH1*)nextHist()) ){
TString drawOpt;
if ( (h->InheritsFrom(TH2::Class())) ) drawOpt="colz";
if (nCols>1||nRows>1) c->cd(++iPad);
if ( TMath::Abs(h->GetXaxis()->GetBinWidth(1)-h->GetXaxis()->GetBinWidth(2))>1e-10 ) gPad->SetLogx();
if ( TMath::Abs(h->GetYaxis()->GetBinWidth(1)-h->GetYaxis()->GetBinWidth(2))>1e-10 ) gPad->SetLogy();
if ( TMath::Abs(h->GetZaxis()->GetBinWidth(1)-h->GetZaxis()->GetBinWidth(2))>1e-10 ) gPad->SetLogz();
TString histOpt=h->GetOption();
histOpt.ToLower();
if (histOpt.Contains("logx")) gPad->SetLogx();
if (histOpt.Contains("logy")) gPad->SetLogy();
if (histOpt.Contains("logz")) gPad->SetLogz();
histOpt.ReplaceAll("logx","");
histOpt.ReplaceAll("logy","");
histOpt.ReplaceAll("logz","");
h->Draw(drawOpt.Data());
}
if (gVirtualPS) {
c->Update();
}
}
}
void AliDielectronHistos::Print(const Option_t* option) const
{
TString optString(option);
if (optString.IsNull()) PrintStructure();
}
void AliDielectronHistos::PrintStructure() const
{
if (!fList){
TIter nextClass(&fHistoList);
THashList *classTable=0;
while ( (classTable=(THashList*)nextClass()) ){
TIter nextHist(classTable);
TObject *o=0;
printf("+ %s\n",classTable->GetName());
while ( (o=nextHist()) )
printf("| ->%s\n",o->GetName());
}
} else {
TIter nextCutClass(fList);
THashList *cutClass=0x0;
while ( (cutClass=(THashList*)nextCutClass()) ) {
printf("+ %s\n",cutClass->GetName());
TIter nextClass(cutClass);
THashList *classTable=0;
while ( (classTable=(THashList*)nextClass()) ){
TIter nextHist(classTable);
TObject *o=0;
printf("| + %s\n",classTable->GetName());
while ( (o=nextHist()) )
printf("| | ->%s\n",o->GetName());
}
}
}
}
void AliDielectronHistos::SetHistogramList(THashList &list, Bool_t setOwner)
{
ResetHistogramList();
TString name(GetName());
if (name == "AliDielectronHistos") SetName(list.GetName());
TIter next(&list);
TObject *o;
while ( (o=next()) ){
fHistoList.Add(o);
}
if (setOwner){
list.SetOwner(kFALSE);
fHistoList.SetOwner(kTRUE);
} else {
fHistoList.SetOwner(kFALSE);
}
}
Bool_t AliDielectronHistos::SetCutClass(const char* cutClass)
{
if (!fList) return kFALSE;
ResetHistogramList();
THashList *h=dynamic_cast<THashList*>(fList->FindObject(cutClass));
if (!h) {
Warning("SetCutClass","cutClass '%s' not found", cutClass);
return kFALSE;
}
SetHistogramList(*h,kFALSE);
return kTRUE;
}
Bool_t AliDielectronHistos::IsHistogramOk(const char* histClass, const char* name)
{
Bool_t isReserved=fReservedWords->Contains(histClass);
if (!fHistoList.FindObject(histClass)&&!isReserved){
Warning("IsHistogramOk","Cannot create histogram. Class '%s' not defined. Please create it using AddClass before.",histClass);
return kFALSE;
}
if (GetHist(histClass,name)){
Warning("IsHistogramOk","Cannot create histogram '%s' in class '%s': It already exists!",name,histClass);
return kFALSE;
}
return kTRUE;
}
void AliDielectronHistos::ReadFromFile(const char* file)
{
TFile f(file);
TIter nextKey(f.GetListOfKeys());
TKey *key=0;
while ( (key=(TKey*)nextKey()) ){
TObject *o=f.Get(key->GetName());
THashList *list=dynamic_cast<THashList*>(o);
if (!list) continue;
SetHistogramList(*list);
break;
}
f.Close();
}
void AliDielectronHistos::DrawSame(const char* histName, const Option_t *opt)
{
TString optString(opt);
optString.ToLower();
Bool_t optLeg=optString.Contains("leg");
Bool_t optCan=optString.Contains("can");
TLegend *leg=0;
TCanvas *c=0;
if (optCan){
c=(TCanvas*)gROOT->FindObject(Form("c%s",histName));
if (!c) c=new TCanvas(Form("c%s",histName),Form("All '%s' histograms",histName));
c->Clear();
c->cd();
}
if (optLeg) leg=new TLegend(.8,.3,.99,.9);
Int_t i=0;
TIter next(&fHistoList);
THashList *classTable=0;
Double_t max=-1e10;
TH1 *hFirst=0x0;
while ( (classTable=(THashList*)next()) ){
if ( TH1 *h=(TH1*)classTable->FindObject(histName) ){
if (i==0) hFirst=h;
h->SetLineColor(i+1);
h->SetMarkerColor(i+1);
h->Draw(i>0?"same":"");
if (leg) leg->AddEntry(h,classTable->GetName(),"lp");
++i;
max=TMath::Max(max,h->GetMaximum());
}
}
if (leg){
leg->SetFillColor(10);
leg->SetY1(.9-i*.05);
leg->Draw();
}
if (hFirst&&(hFirst->GetYaxis()->GetXmax()<max)){
hFirst->SetMaximum(max);
}
}
void AliDielectronHistos::SetReservedWords(const char* words)
{
(*fReservedWords)=words;
}
void AliDielectronHistos::StoreVariables(TObject *obj, UInt_t valType[20])
{
if (!obj) return;
if (obj->InheritsFrom(TH1::Class())) StoreVariables(static_cast<TH1*>(obj), valType);
else if (obj->InheritsFrom(THnBase::Class())) StoreVariables(static_cast<THnBase*>(obj), valType);
return;
}
void AliDielectronHistos::StoreVariables(TH1 *obj, UInt_t valType[20])
{
Int_t dim = obj->GetDimension();
if(obj->IsA() == TProfile::Class() || obj->IsA() == TProfile2D::Class() || obj->IsA() == TProfile3D::Class()) {
dim++;
}
switch( dim ) {
case 4:
obj->SetUniqueID(valType[3]);
case 3:
obj->GetZaxis()->SetUniqueID(valType[2]);
obj->GetZaxis()->SetName(Form("%s", AliDielectronVarManager::GetValueName(valType[2])));
case 2:
obj->GetYaxis()->SetUniqueID(valType[1]);
obj->GetYaxis()->SetName(Form("%s", AliDielectronVarManager::GetValueName(valType[1])));
case 1:
obj->GetXaxis()->SetUniqueID(valType[0]);
obj->GetXaxis()->SetName(Form("%s", AliDielectronVarManager::GetValueName(valType[0])));
}
return;
}
void AliDielectronHistos::StoreVariables(THnBase *obj, UInt_t valType[20])
{
Int_t dim = obj->GetNdimensions();
for(Int_t it=0; it<dim; it++) {
obj->GetAxis(it)->SetUniqueID(valType[it]);
obj->GetAxis(it)->SetName(Form("%s", AliDielectronVarManager::GetValueName(valType[it])));
obj->GetAxis(it)->SetTitle(Form("%s %s", AliDielectronVarManager::GetValueLabel(valType[it]), AliDielectronVarManager::GetValueUnit(valType[it])));
}
obj->Sumw2();
return;
}
void AliDielectronHistos::FillValues(TObject *obj, const Double_t *values)
{
if (!obj) return;
if (obj->InheritsFrom(TH1::Class())) FillValues(static_cast<TH1*>(obj), values);
else if (obj->InheritsFrom(THnBase::Class())) FillValues(static_cast<THnBase*>(obj), values);
return;
}
void AliDielectronHistos::FillValues(TH1 *obj, const Double_t *values)
{
Int_t dim = obj->GetDimension();
Bool_t bprf = kFALSE;
UInt_t valueTypes=obj->GetUniqueID();
if (valueTypes==(UInt_t)AliDielectronHistos::kNoAutoFill) return;
Bool_t weight = (valueTypes!=kNoWeights);
if(obj->IsA() == TProfile::Class() || obj->IsA() == TProfile2D::Class() || obj->IsA() == TProfile3D::Class())
bprf=kTRUE;
if(obj->IsA() == TProfile3D::Class()) weight=kFALSE;
UInt_t value1=obj->GetXaxis()->GetUniqueID();
UInt_t value2=obj->GetYaxis()->GetUniqueID();
UInt_t value3=obj->GetZaxis()->GetUniqueID();
UInt_t value4=obj->GetUniqueID();
if(value1!=AliDielectronVarManager::kTriggerInclONL && value1!=AliDielectronVarManager::kTriggerInclOFF &&
value2!=AliDielectronVarManager::kTriggerInclONL && value2!=AliDielectronVarManager::kTriggerInclOFF &&
value3!=AliDielectronVarManager::kTriggerInclONL && value3!=AliDielectronVarManager::kTriggerInclOFF &&
value4!=AliDielectronVarManager::kTriggerInclONL && value4!=AliDielectronVarManager::kTriggerInclOFF ) {
switch ( dim ) {
case 1:
if(!bprf && !weight) obj->Fill(values[value1]);
else if(!bprf && weight) obj->Fill(values[value1], values[value4]);
else if(bprf && !weight) ((TProfile*)obj)->Fill(values[value1],values[value2]);
else ((TProfile*)obj)->Fill(values[value1],values[value2], values[value4]);
break;
case 2:
if(!bprf && !weight) obj->Fill(values[value1], values[value2]);
else if(!bprf && weight) ((TH2*)obj)->Fill(values[value1], values[value2], values[value4]);
else if(bprf && !weight) ((TProfile2D*)obj)->Fill(values[value1], values[value2], values[value3]);
else ((TProfile2D*)obj)->Fill(values[value1], values[value2], values[value3], values[value4]);
break;
case 3:
if(!bprf && !weight) ((TH3*)obj)->Fill(values[value1], values[value2], values[value3]);
else if(!bprf && weight) ((TH3*)obj)->Fill(values[value1], values[value2], values[value3], values[value4]);
else if(bprf && !weight) ((TProfile3D*)obj)->Fill(values[value1], values[value2], values[value3], values[value4]);
else printf(" WARNING: weighting NOT yet possible for TProfile3Ds ! \n");
break;
}
}
else {
if(weight) return;
switch ( dim ) {
case 1:
for(Int_t i=0; i<30; i++) { if(TESTBIT((UInt_t)values[value1],i)) obj->Fill(i); }
break;
case 2:
if((value1==AliDielectronVarManager::kTriggerInclOFF && value2==AliDielectronVarManager::kTriggerInclONL) ||
(value1==AliDielectronVarManager::kTriggerInclONL && value2==AliDielectronVarManager::kTriggerInclOFF) ) {
for(Int_t i=0; i<30; i++) {
if((UInt_t)values[value1]==BIT(i)) {
for(Int_t i2=0; i2<30; i2++) {
if((UInt_t)values[value2]==BIT(i2)) {
obj->Fill(i, i2);
}
}
}
}
}
else if(value1==AliDielectronVarManager::kTriggerInclONL || value1==AliDielectronVarManager::kTriggerInclOFF) {
for(Int_t i=0; i<30; i++) { if(TESTBIT((UInt_t)values[value1],i)) obj->Fill(i, values[value2]); }
}
else if(value2==AliDielectronVarManager::kTriggerInclONL || value2==AliDielectronVarManager::kTriggerInclOFF) {
for(Int_t i=0; i<30; i++) { if(TESTBIT((UInt_t)values[value2],i)) obj->Fill(values[value1], i); }
}
else
return;
break;
default: return;
}
}
return;
}
void AliDielectronHistos::FillValues(THnBase *obj, const Double_t *values)
{
const Int_t dim = obj->GetNdimensions();
UInt_t valueTypes=obj->GetUniqueID();
if (valueTypes==(UInt_t)AliDielectronHistos::kNoAutoFill) return;
Bool_t weight = (valueTypes!=kNoWeights);
UInt_t value4=obj->GetUniqueID();
Double_t fill[dim];
for(Int_t it=0; it<dim; it++) fill[it] = values[obj->GetAxis(it)->GetUniqueID()];
if(!weight) obj->Fill(fill);
else obj->Fill(fill, values[value4]);
return;
}
void AliDielectronHistos::FillVarArray(TObject *obj, UInt_t *valType)
{
if (!obj) return;
if (obj->InheritsFrom(TH1::Class())) {
valType[0]=((TH1*)obj)->GetXaxis()->GetUniqueID();
valType[1]=((TH1*)obj)->GetYaxis()->GetUniqueID();
valType[2]=((TH1*)obj)->GetZaxis()->GetUniqueID();
valType[3]=((TH1*)obj)->GetUniqueID();
}
else if (obj->InheritsFrom(THnBase::Class())) {
for(Int_t it=0; it<((THn*)obj)->GetNdimensions(); it++)
valType[it]=((THn*)obj)->GetAxis(it)->GetUniqueID();
}
valType[19]=obj->GetUniqueID();
return;
}
void AliDielectronHistos::AdaptNameTitle(TH1 *hist, const char* histClass) {
Int_t dim = hist->GetDimension();
TString currentName = hist->GetName();
TString currentTitle = hist->GetTitle();
Bool_t bname = (currentName.IsNull());
Bool_t btitle = (currentTitle.IsNull());
Bool_t bprf = kFALSE;
if(hist->IsA() == TProfile::Class() || hist->IsA() == TProfile2D::Class() || hist->IsA() == TProfile3D::Class())
bprf=kTRUE;
Double_t pmin=0., pmax=0.;
TString option = "", calcrange="";
Bool_t bStdOpt=kTRUE;
if(bprf) {
switch( dim ) {
case 3:
option = ((TProfile3D*)hist)->GetErrorOption();
pmin = ((TProfile3D*)hist)->GetTmin();
pmax = ((TProfile3D*)hist)->GetTmax();
break;
case 2:
option = ((TProfile2D*)hist)->GetErrorOption();
pmin = ((TProfile2D*)hist)->GetZmin();
pmax = ((TProfile2D*)hist)->GetZmax();
break;
case 1:
option = ((TProfile*)hist)->GetErrorOption();
pmin = ((TProfile*)hist)->GetYmin();
pmax = ((TProfile*)hist)->GetYmax();
break;
}
if(option.Contains("s",TString::kIgnoreCase)) bStdOpt=kFALSE;
if(pmin!=pmax) calcrange=Form("#cbar_{%+.*f}^{%+.*f}",GetPrecision(pmin),pmin,GetPrecision(pmax),pmax);
}
UInt_t varx = hist->GetXaxis()->GetUniqueID();
UInt_t vary = hist->GetYaxis()->GetUniqueID();
UInt_t varz = hist->GetZaxis()->GetUniqueID();
UInt_t varp = hist->GetUniqueID();
Bool_t weight = (varp!=kNoWeights);
if(bprf && dim==3) weight=kFALSE;
if(btitle) {
switch( dim ) {
case 3:
hist->GetXaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(varx),
Form("%s %s",
AliDielectronVarManager::GetValueLabel(varx),
AliDielectronVarManager::GetValueUnit(varx))
);
hist->GetYaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(vary),
Form("%s %s",
AliDielectronVarManager::GetValueLabel(vary),
AliDielectronVarManager::GetValueUnit(vary))
);
hist->GetZaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(varz),
Form("%s %s",
AliDielectronVarManager::GetValueLabel(varz),
AliDielectronVarManager::GetValueUnit(varz))
);
if(bprf)
hist->SetNameTitle(AliDielectronVarManager::GetValueName(varp),
Form("%s %s%s%s%s %s",
hist->GetTitle(),
(bStdOpt ? "#LT" : "RMS("),
AliDielectronVarManager::GetValueLabel(varp),
(bStdOpt ? "#GT" : ")"),
calcrange.Data(),
AliDielectronVarManager::GetValueUnit(varp))
);
break;
case 2:
hist->GetXaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(varx),
Form("%s %s",
AliDielectronVarManager::GetValueLabel(varx),
AliDielectronVarManager::GetValueUnit(varx))
);
hist->GetYaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(vary),
Form("%s %s",
AliDielectronVarManager::GetValueLabel(vary),
AliDielectronVarManager::GetValueUnit(vary))
);
hist->GetZaxis()->SetTitle(Form("#%ss",histClass));
if(bprf)
hist->GetZaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(varz),
Form("%s%s%s%s %s",
(bStdOpt ? "#LT" : "RMS("),
AliDielectronVarManager::GetValueLabel(varz),
(bStdOpt ? "#GT" : ")"),
calcrange.Data(),
AliDielectronVarManager::GetValueUnit(varz))
);
if(weight) hist->GetZaxis()->SetTitle(Form("%s weighted %s",
AliDielectronVarManager::GetValueLabel(varp),
hist->GetZaxis()->GetTitle() )
);
break;
case 1:
hist->GetXaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(varx),
Form("%s %s",
AliDielectronVarManager::GetValueLabel(varx),
AliDielectronVarManager::GetValueUnit(varx))
);
hist->GetYaxis()->SetTitle(Form("#%ss",histClass));
if(bprf)
hist->GetYaxis()->SetNameTitle(AliDielectronVarManager::GetValueName(vary),
Form("%s%s%s%s %s",
(bStdOpt ? "#LT" : "RMS("),
AliDielectronVarManager::GetValueLabel(vary),
(bStdOpt ? "#GT" : ")"),
calcrange.Data(),
AliDielectronVarManager::GetValueUnit(vary))
);
if(weight) hist->GetYaxis()->SetTitle(Form("%s weighted %s",
AliDielectronVarManager::GetValueLabel(varp),
hist->GetYaxis()->GetTitle() )
);
break;
}
if(bname)
switch(dim) {
case 3:
currentName+=Form("%s_",AliDielectronVarManager::GetValueName(varx));
currentName+=Form("%s_",AliDielectronVarManager::GetValueName(vary));
currentName+=Form("%s",AliDielectronVarManager::GetValueName(varz));
if(bprf) currentName+=Form("-%s%s",AliDielectronVarManager::GetValueName(varp),(bStdOpt ? "avg" : "rms"));
if(weight&&!bprf) currentName+=Form("-wght%s",AliDielectronVarManager::GetValueName(varp));
break;
case 2:
currentName+=Form("%s_",AliDielectronVarManager::GetValueName(varx));
currentName+=Form("%s",AliDielectronVarManager::GetValueName(vary));
if(bprf) currentName+=Form("-%s%s",AliDielectronVarManager::GetValueName(varz),(bStdOpt ? "avg" : "rms"));
if(weight) currentName+=Form("-wght%s",AliDielectronVarManager::GetValueName(varp));
break;
case 1:
currentName+=Form("%s",AliDielectronVarManager::GetValueName(varx));
if(bprf) currentName+=Form("-%s%s",AliDielectronVarManager::GetValueName(vary),(bStdOpt ? "avg" : "rms"));
if(weight) currentName+=Form("-wght%s",AliDielectronVarManager::GetValueName(varp));
break;
}
if(!strcmp(histClass,"Pair")) currentName.Prepend("p");
hist->SetName(currentName.Data());
}
}
Int_t AliDielectronHistos::GetPrecision(Double_t value) {
Bool_t bfnd = kFALSE;
Int_t precision = 0;
value*=1e6;
while(!bfnd) {
bfnd = ((TMath::Abs(value*TMath::Power(10,precision))/1e6 - TMath::Floor(TMath::Abs(value*TMath::Power(10,precision))/1e6)) != 0.0
? kFALSE
: kTRUE);
if(!bfnd) precision++;
}
return precision;
}
AliDielectronHistos.cxx:1 AliDielectronHistos.cxx:2 AliDielectronHistos.cxx:3 AliDielectronHistos.cxx:4 AliDielectronHistos.cxx:5 AliDielectronHistos.cxx:6 AliDielectronHistos.cxx:7 AliDielectronHistos.cxx:8 AliDielectronHistos.cxx:9 AliDielectronHistos.cxx:10 AliDielectronHistos.cxx:11 AliDielectronHistos.cxx:12 AliDielectronHistos.cxx:13 AliDielectronHistos.cxx:14 AliDielectronHistos.cxx:15 AliDielectronHistos.cxx:16 AliDielectronHistos.cxx:17 AliDielectronHistos.cxx:18 AliDielectronHistos.cxx:19 AliDielectronHistos.cxx:20 AliDielectronHistos.cxx:21 AliDielectronHistos.cxx:22 AliDielectronHistos.cxx:23 AliDielectronHistos.cxx:24 AliDielectronHistos.cxx:25 AliDielectronHistos.cxx:26 AliDielectronHistos.cxx:27 AliDielectronHistos.cxx:28 AliDielectronHistos.cxx:29 AliDielectronHistos.cxx:30 AliDielectronHistos.cxx:31 AliDielectronHistos.cxx:32 AliDielectronHistos.cxx:33 AliDielectronHistos.cxx:34 AliDielectronHistos.cxx:35 AliDielectronHistos.cxx:36 AliDielectronHistos.cxx:37 AliDielectronHistos.cxx:38 AliDielectronHistos.cxx:39 AliDielectronHistos.cxx:40 AliDielectronHistos.cxx:41 AliDielectronHistos.cxx:42 AliDielectronHistos.cxx:43 AliDielectronHistos.cxx:44 AliDielectronHistos.cxx:45 AliDielectronHistos.cxx:46 AliDielectronHistos.cxx:47 AliDielectronHistos.cxx:48 AliDielectronHistos.cxx:49 AliDielectronHistos.cxx:50 AliDielectronHistos.cxx:51 AliDielectronHistos.cxx:52 AliDielectronHistos.cxx:53 AliDielectronHistos.cxx:54 AliDielectronHistos.cxx:55 AliDielectronHistos.cxx:56 AliDielectronHistos.cxx:57 AliDielectronHistos.cxx:58 AliDielectronHistos.cxx:59 AliDielectronHistos.cxx:60 AliDielectronHistos.cxx:61 AliDielectronHistos.cxx:62 AliDielectronHistos.cxx:63 AliDielectronHistos.cxx:64 AliDielectronHistos.cxx:65 AliDielectronHistos.cxx:66 AliDielectronHistos.cxx:67 AliDielectronHistos.cxx:68 AliDielectronHistos.cxx:69 AliDielectronHistos.cxx:70 AliDielectronHistos.cxx:71 AliDielectronHistos.cxx:72 AliDielectronHistos.cxx:73 AliDielectronHistos.cxx:74 AliDielectronHistos.cxx:75 AliDielectronHistos.cxx:76 AliDielectronHistos.cxx:77 AliDielectronHistos.cxx:78 AliDielectronHistos.cxx:79 AliDielectronHistos.cxx:80 AliDielectronHistos.cxx:81 AliDielectronHistos.cxx:82 AliDielectronHistos.cxx:83 AliDielectronHistos.cxx:84 AliDielectronHistos.cxx:85 AliDielectronHistos.cxx:86 AliDielectronHistos.cxx:87 AliDielectronHistos.cxx:88 AliDielectronHistos.cxx:89 AliDielectronHistos.cxx:90 AliDielectronHistos.cxx:91 AliDielectronHistos.cxx:92 AliDielectronHistos.cxx:93 AliDielectronHistos.cxx:94 AliDielectronHistos.cxx:95 AliDielectronHistos.cxx:96 AliDielectronHistos.cxx:97 AliDielectronHistos.cxx:98 AliDielectronHistos.cxx:99 AliDielectronHistos.cxx:100 AliDielectronHistos.cxx:101 AliDielectronHistos.cxx:102 AliDielectronHistos.cxx:103 AliDielectronHistos.cxx:104 AliDielectronHistos.cxx:105 AliDielectronHistos.cxx:106 AliDielectronHistos.cxx:107 AliDielectronHistos.cxx:108 AliDielectronHistos.cxx:109 AliDielectronHistos.cxx:110 AliDielectronHistos.cxx:111 AliDielectronHistos.cxx:112 AliDielectronHistos.cxx:113 AliDielectronHistos.cxx:114 AliDielectronHistos.cxx:115 AliDielectronHistos.cxx:116 AliDielectronHistos.cxx:117 AliDielectronHistos.cxx:118 AliDielectronHistos.cxx:119 AliDielectronHistos.cxx:120 AliDielectronHistos.cxx:121 AliDielectronHistos.cxx:122 AliDielectronHistos.cxx:123 AliDielectronHistos.cxx:124 AliDielectronHistos.cxx:125 AliDielectronHistos.cxx:126 AliDielectronHistos.cxx:127 AliDielectronHistos.cxx:128 AliDielectronHistos.cxx:129 AliDielectronHistos.cxx:130 AliDielectronHistos.cxx:131 AliDielectronHistos.cxx:132 AliDielectronHistos.cxx:133 AliDielectronHistos.cxx:134 AliDielectronHistos.cxx:135 AliDielectronHistos.cxx:136 AliDielectronHistos.cxx:137 AliDielectronHistos.cxx:138 AliDielectronHistos.cxx:139 AliDielectronHistos.cxx:140 AliDielectronHistos.cxx:141 AliDielectronHistos.cxx:142 AliDielectronHistos.cxx:143 AliDielectronHistos.cxx:144 AliDielectronHistos.cxx:145 AliDielectronHistos.cxx:146 AliDielectronHistos.cxx:147 AliDielectronHistos.cxx:148 AliDielectronHistos.cxx:149 AliDielectronHistos.cxx:150 AliDielectronHistos.cxx:151 AliDielectronHistos.cxx:152 AliDielectronHistos.cxx:153 AliDielectronHistos.cxx:154 AliDielectronHistos.cxx:155 AliDielectronHistos.cxx:156 AliDielectronHistos.cxx:157 AliDielectronHistos.cxx:158 AliDielectronHistos.cxx:159 AliDielectronHistos.cxx:160 AliDielectronHistos.cxx:161 AliDielectronHistos.cxx:162 AliDielectronHistos.cxx:163 AliDielectronHistos.cxx:164 AliDielectronHistos.cxx:165 AliDielectronHistos.cxx:166 AliDielectronHistos.cxx:167 AliDielectronHistos.cxx:168 AliDielectronHistos.cxx:169 AliDielectronHistos.cxx:170 AliDielectronHistos.cxx:171 AliDielectronHistos.cxx:172 AliDielectronHistos.cxx:173 AliDielectronHistos.cxx:174 AliDielectronHistos.cxx:175 AliDielectronHistos.cxx:176 AliDielectronHistos.cxx:177 AliDielectronHistos.cxx:178 AliDielectronHistos.cxx:179 AliDielectronHistos.cxx:180 AliDielectronHistos.cxx:181 AliDielectronHistos.cxx:182 AliDielectronHistos.cxx:183 AliDielectronHistos.cxx:184 AliDielectronHistos.cxx:185 AliDielectronHistos.cxx:186 AliDielectronHistos.cxx:187 AliDielectronHistos.cxx:188 AliDielectronHistos.cxx:189 AliDielectronHistos.cxx:190 AliDielectronHistos.cxx:191 AliDielectronHistos.cxx:192 AliDielectronHistos.cxx:193 AliDielectronHistos.cxx:194 AliDielectronHistos.cxx:195 AliDielectronHistos.cxx:196 AliDielectronHistos.cxx:197 AliDielectronHistos.cxx:198 AliDielectronHistos.cxx:199 AliDielectronHistos.cxx:200 AliDielectronHistos.cxx:201 AliDielectronHistos.cxx:202 AliDielectronHistos.cxx:203 AliDielectronHistos.cxx:204 AliDielectronHistos.cxx:205 AliDielectronHistos.cxx:206 AliDielectronHistos.cxx:207 AliDielectronHistos.cxx:208 AliDielectronHistos.cxx:209 AliDielectronHistos.cxx:210 AliDielectronHistos.cxx:211 AliDielectronHistos.cxx:212 AliDielectronHistos.cxx:213 AliDielectronHistos.cxx:214 AliDielectronHistos.cxx:215 AliDielectronHistos.cxx:216 AliDielectronHistos.cxx:217 AliDielectronHistos.cxx:218 AliDielectronHistos.cxx:219 AliDielectronHistos.cxx:220 AliDielectronHistos.cxx:221 AliDielectronHistos.cxx:222 AliDielectronHistos.cxx:223 AliDielectronHistos.cxx:224 AliDielectronHistos.cxx:225 AliDielectronHistos.cxx:226 AliDielectronHistos.cxx:227 AliDielectronHistos.cxx:228 AliDielectronHistos.cxx:229 AliDielectronHistos.cxx:230 AliDielectronHistos.cxx:231 AliDielectronHistos.cxx:232 AliDielectronHistos.cxx:233 AliDielectronHistos.cxx:234 AliDielectronHistos.cxx:235 AliDielectronHistos.cxx:236 AliDielectronHistos.cxx:237 AliDielectronHistos.cxx:238 AliDielectronHistos.cxx:239 AliDielectronHistos.cxx:240 AliDielectronHistos.cxx:241 AliDielectronHistos.cxx:242 AliDielectronHistos.cxx:243 AliDielectronHistos.cxx:244 AliDielectronHistos.cxx:245 AliDielectronHistos.cxx:246 AliDielectronHistos.cxx:247 AliDielectronHistos.cxx:248 AliDielectronHistos.cxx:249 AliDielectronHistos.cxx:250 AliDielectronHistos.cxx:251 AliDielectronHistos.cxx:252 AliDielectronHistos.cxx:253 AliDielectronHistos.cxx:254 AliDielectronHistos.cxx:255 AliDielectronHistos.cxx:256 AliDielectronHistos.cxx:257 AliDielectronHistos.cxx:258 AliDielectronHistos.cxx:259 AliDielectronHistos.cxx:260 AliDielectronHistos.cxx:261 AliDielectronHistos.cxx:262 AliDielectronHistos.cxx:263 AliDielectronHistos.cxx:264 AliDielectronHistos.cxx:265 AliDielectronHistos.cxx:266 AliDielectronHistos.cxx:267 AliDielectronHistos.cxx:268 AliDielectronHistos.cxx:269 AliDielectronHistos.cxx:270 AliDielectronHistos.cxx:271 AliDielectronHistos.cxx:272 AliDielectronHistos.cxx:273 AliDielectronHistos.cxx:274 AliDielectronHistos.cxx:275 AliDielectronHistos.cxx:276 AliDielectronHistos.cxx:277 AliDielectronHistos.cxx:278 AliDielectronHistos.cxx:279 AliDielectronHistos.cxx:280 AliDielectronHistos.cxx:281 AliDielectronHistos.cxx:282 AliDielectronHistos.cxx:283 AliDielectronHistos.cxx:284 AliDielectronHistos.cxx:285 AliDielectronHistos.cxx:286 AliDielectronHistos.cxx:287 AliDielectronHistos.cxx:288 AliDielectronHistos.cxx:289 AliDielectronHistos.cxx:290 AliDielectronHistos.cxx:291 AliDielectronHistos.cxx:292 AliDielectronHistos.cxx:293 AliDielectronHistos.cxx:294 AliDielectronHistos.cxx:295 AliDielectronHistos.cxx:296 AliDielectronHistos.cxx:297 AliDielectronHistos.cxx:298 AliDielectronHistos.cxx:299 AliDielectronHistos.cxx:300 AliDielectronHistos.cxx:301 AliDielectronHistos.cxx:302 AliDielectronHistos.cxx:303 AliDielectronHistos.cxx:304 AliDielectronHistos.cxx:305 AliDielectronHistos.cxx:306 AliDielectronHistos.cxx:307 AliDielectronHistos.cxx:308 AliDielectronHistos.cxx:309 AliDielectronHistos.cxx:310 AliDielectronHistos.cxx:311 AliDielectronHistos.cxx:312 AliDielectronHistos.cxx:313 AliDielectronHistos.cxx:314 AliDielectronHistos.cxx:315 AliDielectronHistos.cxx:316 AliDielectronHistos.cxx:317 AliDielectronHistos.cxx:318 AliDielectronHistos.cxx:319 AliDielectronHistos.cxx:320 AliDielectronHistos.cxx:321 AliDielectronHistos.cxx:322 AliDielectronHistos.cxx:323 AliDielectronHistos.cxx:324 AliDielectronHistos.cxx:325 AliDielectronHistos.cxx:326 AliDielectronHistos.cxx:327 AliDielectronHistos.cxx:328 AliDielectronHistos.cxx:329 AliDielectronHistos.cxx:330 AliDielectronHistos.cxx:331 AliDielectronHistos.cxx:332 AliDielectronHistos.cxx:333 AliDielectronHistos.cxx:334 AliDielectronHistos.cxx:335 AliDielectronHistos.cxx:336 AliDielectronHistos.cxx:337 AliDielectronHistos.cxx:338 AliDielectronHistos.cxx:339 AliDielectronHistos.cxx:340 AliDielectronHistos.cxx:341 AliDielectronHistos.cxx:342 AliDielectronHistos.cxx:343 AliDielectronHistos.cxx:344 AliDielectronHistos.cxx:345 AliDielectronHistos.cxx:346 AliDielectronHistos.cxx:347 AliDielectronHistos.cxx:348 AliDielectronHistos.cxx:349 AliDielectronHistos.cxx:350 AliDielectronHistos.cxx:351 AliDielectronHistos.cxx:352 AliDielectronHistos.cxx:353 AliDielectronHistos.cxx:354 AliDielectronHistos.cxx:355 AliDielectronHistos.cxx:356 AliDielectronHistos.cxx:357 AliDielectronHistos.cxx:358 AliDielectronHistos.cxx:359 AliDielectronHistos.cxx:360 AliDielectronHistos.cxx:361 AliDielectronHistos.cxx:362 AliDielectronHistos.cxx:363 AliDielectronHistos.cxx:364 AliDielectronHistos.cxx:365 AliDielectronHistos.cxx:366 AliDielectronHistos.cxx:367 AliDielectronHistos.cxx:368 AliDielectronHistos.cxx:369 AliDielectronHistos.cxx:370 AliDielectronHistos.cxx:371 AliDielectronHistos.cxx:372 AliDielectronHistos.cxx:373 AliDielectronHistos.cxx:374 AliDielectronHistos.cxx:375 AliDielectronHistos.cxx:376 AliDielectronHistos.cxx:377 AliDielectronHistos.cxx:378 AliDielectronHistos.cxx:379 AliDielectronHistos.cxx:380 AliDielectronHistos.cxx:381 AliDielectronHistos.cxx:382 AliDielectronHistos.cxx:383 AliDielectronHistos.cxx:384 AliDielectronHistos.cxx:385 AliDielectronHistos.cxx:386 AliDielectronHistos.cxx:387 AliDielectronHistos.cxx:388 AliDielectronHistos.cxx:389 AliDielectronHistos.cxx:390 AliDielectronHistos.cxx:391 AliDielectronHistos.cxx:392 AliDielectronHistos.cxx:393 AliDielectronHistos.cxx:394 AliDielectronHistos.cxx:395 AliDielectronHistos.cxx:396 AliDielectronHistos.cxx:397 AliDielectronHistos.cxx:398 AliDielectronHistos.cxx:399 AliDielectronHistos.cxx:400 AliDielectronHistos.cxx:401 AliDielectronHistos.cxx:402 AliDielectronHistos.cxx:403 AliDielectronHistos.cxx:404 AliDielectronHistos.cxx:405 AliDielectronHistos.cxx:406 AliDielectronHistos.cxx:407 AliDielectronHistos.cxx:408 AliDielectronHistos.cxx:409 AliDielectronHistos.cxx:410 AliDielectronHistos.cxx:411 AliDielectronHistos.cxx:412 AliDielectronHistos.cxx:413 AliDielectronHistos.cxx:414 AliDielectronHistos.cxx:415 AliDielectronHistos.cxx:416 AliDielectronHistos.cxx:417 AliDielectronHistos.cxx:418 AliDielectronHistos.cxx:419 AliDielectronHistos.cxx:420 AliDielectronHistos.cxx:421 AliDielectronHistos.cxx:422 AliDielectronHistos.cxx:423 AliDielectronHistos.cxx:424 AliDielectronHistos.cxx:425 AliDielectronHistos.cxx:426 AliDielectronHistos.cxx:427 AliDielectronHistos.cxx:428 AliDielectronHistos.cxx:429 AliDielectronHistos.cxx:430 AliDielectronHistos.cxx:431 AliDielectronHistos.cxx:432 AliDielectronHistos.cxx:433 AliDielectronHistos.cxx:434 AliDielectronHistos.cxx:435 AliDielectronHistos.cxx:436 AliDielectronHistos.cxx:437 AliDielectronHistos.cxx:438 AliDielectronHistos.cxx:439 AliDielectronHistos.cxx:440 AliDielectronHistos.cxx:441 AliDielectronHistos.cxx:442 AliDielectronHistos.cxx:443 AliDielectronHistos.cxx:444 AliDielectronHistos.cxx:445 AliDielectronHistos.cxx:446 AliDielectronHistos.cxx:447 AliDielectronHistos.cxx:448 AliDielectronHistos.cxx:449 AliDielectronHistos.cxx:450 AliDielectronHistos.cxx:451 AliDielectronHistos.cxx:452 AliDielectronHistos.cxx:453 AliDielectronHistos.cxx:454 AliDielectronHistos.cxx:455 AliDielectronHistos.cxx:456 AliDielectronHistos.cxx:457 AliDielectronHistos.cxx:458 AliDielectronHistos.cxx:459 AliDielectronHistos.cxx:460 AliDielectronHistos.cxx:461 AliDielectronHistos.cxx:462 AliDielectronHistos.cxx:463 AliDielectronHistos.cxx:464 AliDielectronHistos.cxx:465 AliDielectronHistos.cxx:466 AliDielectronHistos.cxx:467 AliDielectronHistos.cxx:468 AliDielectronHistos.cxx:469 AliDielectronHistos.cxx:470 AliDielectronHistos.cxx:471 AliDielectronHistos.cxx:472 AliDielectronHistos.cxx:473 AliDielectronHistos.cxx:474 AliDielectronHistos.cxx:475 AliDielectronHistos.cxx:476 AliDielectronHistos.cxx:477 AliDielectronHistos.cxx:478 AliDielectronHistos.cxx:479 AliDielectronHistos.cxx:480 AliDielectronHistos.cxx:481 AliDielectronHistos.cxx:482 AliDielectronHistos.cxx:483 AliDielectronHistos.cxx:484 AliDielectronHistos.cxx:485 AliDielectronHistos.cxx:486 AliDielectronHistos.cxx:487 AliDielectronHistos.cxx:488 AliDielectronHistos.cxx:489 AliDielectronHistos.cxx:490 AliDielectronHistos.cxx:491 AliDielectronHistos.cxx:492 AliDielectronHistos.cxx:493 AliDielectronHistos.cxx:494 AliDielectronHistos.cxx:495 AliDielectronHistos.cxx:496 AliDielectronHistos.cxx:497 AliDielectronHistos.cxx:498 AliDielectronHistos.cxx:499 AliDielectronHistos.cxx:500 AliDielectronHistos.cxx:501 AliDielectronHistos.cxx:502 AliDielectronHistos.cxx:503 AliDielectronHistos.cxx:504 AliDielectronHistos.cxx:505 AliDielectronHistos.cxx:506 AliDielectronHistos.cxx:507 AliDielectronHistos.cxx:508 AliDielectronHistos.cxx:509 AliDielectronHistos.cxx:510 AliDielectronHistos.cxx:511 AliDielectronHistos.cxx:512 AliDielectronHistos.cxx:513 AliDielectronHistos.cxx:514 AliDielectronHistos.cxx:515 AliDielectronHistos.cxx:516 AliDielectronHistos.cxx:517 AliDielectronHistos.cxx:518 AliDielectronHistos.cxx:519 AliDielectronHistos.cxx:520 AliDielectronHistos.cxx:521 AliDielectronHistos.cxx:522 AliDielectronHistos.cxx:523 AliDielectronHistos.cxx:524 AliDielectronHistos.cxx:525 AliDielectronHistos.cxx:526 AliDielectronHistos.cxx:527 AliDielectronHistos.cxx:528 AliDielectronHistos.cxx:529 AliDielectronHistos.cxx:530 AliDielectronHistos.cxx:531 AliDielectronHistos.cxx:532 AliDielectronHistos.cxx:533 AliDielectronHistos.cxx:534 AliDielectronHistos.cxx:535 AliDielectronHistos.cxx:536 AliDielectronHistos.cxx:537 AliDielectronHistos.cxx:538 AliDielectronHistos.cxx:539 AliDielectronHistos.cxx:540 AliDielectronHistos.cxx:541 AliDielectronHistos.cxx:542 AliDielectronHistos.cxx:543 AliDielectronHistos.cxx:544 AliDielectronHistos.cxx:545 AliDielectronHistos.cxx:546 AliDielectronHistos.cxx:547 AliDielectronHistos.cxx:548 AliDielectronHistos.cxx:549 AliDielectronHistos.cxx:550 AliDielectronHistos.cxx:551 AliDielectronHistos.cxx:552 AliDielectronHistos.cxx:553 AliDielectronHistos.cxx:554 AliDielectronHistos.cxx:555 AliDielectronHistos.cxx:556 AliDielectronHistos.cxx:557 AliDielectronHistos.cxx:558 AliDielectronHistos.cxx:559 AliDielectronHistos.cxx:560 AliDielectronHistos.cxx:561 AliDielectronHistos.cxx:562 AliDielectronHistos.cxx:563 AliDielectronHistos.cxx:564 AliDielectronHistos.cxx:565 AliDielectronHistos.cxx:566 AliDielectronHistos.cxx:567 AliDielectronHistos.cxx:568 AliDielectronHistos.cxx:569 AliDielectronHistos.cxx:570 AliDielectronHistos.cxx:571 AliDielectronHistos.cxx:572 AliDielectronHistos.cxx:573 AliDielectronHistos.cxx:574 AliDielectronHistos.cxx:575 AliDielectronHistos.cxx:576 AliDielectronHistos.cxx:577 AliDielectronHistos.cxx:578 AliDielectronHistos.cxx:579 AliDielectronHistos.cxx:580 AliDielectronHistos.cxx:581 AliDielectronHistos.cxx:582 AliDielectronHistos.cxx:583 AliDielectronHistos.cxx:584 AliDielectronHistos.cxx:585 AliDielectronHistos.cxx:586 AliDielectronHistos.cxx:587 AliDielectronHistos.cxx:588 AliDielectronHistos.cxx:589 AliDielectronHistos.cxx:590 AliDielectronHistos.cxx:591 AliDielectronHistos.cxx:592 AliDielectronHistos.cxx:593 AliDielectronHistos.cxx:594 AliDielectronHistos.cxx:595 AliDielectronHistos.cxx:596 AliDielectronHistos.cxx:597 AliDielectronHistos.cxx:598 AliDielectronHistos.cxx:599 AliDielectronHistos.cxx:600 AliDielectronHistos.cxx:601 AliDielectronHistos.cxx:602 AliDielectronHistos.cxx:603 AliDielectronHistos.cxx:604 AliDielectronHistos.cxx:605 AliDielectronHistos.cxx:606 AliDielectronHistos.cxx:607 AliDielectronHistos.cxx:608 AliDielectronHistos.cxx:609 AliDielectronHistos.cxx:610 AliDielectronHistos.cxx:611 AliDielectronHistos.cxx:612 AliDielectronHistos.cxx:613 AliDielectronHistos.cxx:614 AliDielectronHistos.cxx:615 AliDielectronHistos.cxx:616 AliDielectronHistos.cxx:617 AliDielectronHistos.cxx:618 AliDielectronHistos.cxx:619 AliDielectronHistos.cxx:620 AliDielectronHistos.cxx:621 AliDielectronHistos.cxx:622 AliDielectronHistos.cxx:623 AliDielectronHistos.cxx:624 AliDielectronHistos.cxx:625 AliDielectronHistos.cxx:626 AliDielectronHistos.cxx:627 AliDielectronHistos.cxx:628 AliDielectronHistos.cxx:629 AliDielectronHistos.cxx:630 AliDielectronHistos.cxx:631 AliDielectronHistos.cxx:632 AliDielectronHistos.cxx:633 AliDielectronHistos.cxx:634 AliDielectronHistos.cxx:635 AliDielectronHistos.cxx:636 AliDielectronHistos.cxx:637 AliDielectronHistos.cxx:638 AliDielectronHistos.cxx:639 AliDielectronHistos.cxx:640 AliDielectronHistos.cxx:641 AliDielectronHistos.cxx:642 AliDielectronHistos.cxx:643 AliDielectronHistos.cxx:644 AliDielectronHistos.cxx:645 AliDielectronHistos.cxx:646 AliDielectronHistos.cxx:647 AliDielectronHistos.cxx:648 AliDielectronHistos.cxx:649 AliDielectronHistos.cxx:650 AliDielectronHistos.cxx:651 AliDielectronHistos.cxx:652 AliDielectronHistos.cxx:653 AliDielectronHistos.cxx:654 AliDielectronHistos.cxx:655 AliDielectronHistos.cxx:656 AliDielectronHistos.cxx:657 AliDielectronHistos.cxx:658 AliDielectronHistos.cxx:659 AliDielectronHistos.cxx:660 AliDielectronHistos.cxx:661 AliDielectronHistos.cxx:662 AliDielectronHistos.cxx:663 AliDielectronHistos.cxx:664 AliDielectronHistos.cxx:665 AliDielectronHistos.cxx:666 AliDielectronHistos.cxx:667 AliDielectronHistos.cxx:668 AliDielectronHistos.cxx:669 AliDielectronHistos.cxx:670 AliDielectronHistos.cxx:671 AliDielectronHistos.cxx:672 AliDielectronHistos.cxx:673 AliDielectronHistos.cxx:674 AliDielectronHistos.cxx:675 AliDielectronHistos.cxx:676 AliDielectronHistos.cxx:677 AliDielectronHistos.cxx:678 AliDielectronHistos.cxx:679 AliDielectronHistos.cxx:680 AliDielectronHistos.cxx:681 AliDielectronHistos.cxx:682 AliDielectronHistos.cxx:683 AliDielectronHistos.cxx:684 AliDielectronHistos.cxx:685 AliDielectronHistos.cxx:686 AliDielectronHistos.cxx:687 AliDielectronHistos.cxx:688 AliDielectronHistos.cxx:689 AliDielectronHistos.cxx:690 AliDielectronHistos.cxx:691 AliDielectronHistos.cxx:692 AliDielectronHistos.cxx:693 AliDielectronHistos.cxx:694 AliDielectronHistos.cxx:695 AliDielectronHistos.cxx:696 AliDielectronHistos.cxx:697 AliDielectronHistos.cxx:698 AliDielectronHistos.cxx:699 AliDielectronHistos.cxx:700 AliDielectronHistos.cxx:701 AliDielectronHistos.cxx:702 AliDielectronHistos.cxx:703 AliDielectronHistos.cxx:704 AliDielectronHistos.cxx:705 AliDielectronHistos.cxx:706 AliDielectronHistos.cxx:707 AliDielectronHistos.cxx:708 AliDielectronHistos.cxx:709 AliDielectronHistos.cxx:710 AliDielectronHistos.cxx:711 AliDielectronHistos.cxx:712 AliDielectronHistos.cxx:713 AliDielectronHistos.cxx:714 AliDielectronHistos.cxx:715 AliDielectronHistos.cxx:716 AliDielectronHistos.cxx:717 AliDielectronHistos.cxx:718 AliDielectronHistos.cxx:719 AliDielectronHistos.cxx:720 AliDielectronHistos.cxx:721 AliDielectronHistos.cxx:722 AliDielectronHistos.cxx:723 AliDielectronHistos.cxx:724 AliDielectronHistos.cxx:725 AliDielectronHistos.cxx:726 AliDielectronHistos.cxx:727 AliDielectronHistos.cxx:728 AliDielectronHistos.cxx:729 AliDielectronHistos.cxx:730 AliDielectronHistos.cxx:731 AliDielectronHistos.cxx:732 AliDielectronHistos.cxx:733 AliDielectronHistos.cxx:734 AliDielectronHistos.cxx:735 AliDielectronHistos.cxx:736 AliDielectronHistos.cxx:737 AliDielectronHistos.cxx:738 AliDielectronHistos.cxx:739 AliDielectronHistos.cxx:740 AliDielectronHistos.cxx:741 AliDielectronHistos.cxx:742 AliDielectronHistos.cxx:743 AliDielectronHistos.cxx:744 AliDielectronHistos.cxx:745 AliDielectronHistos.cxx:746 AliDielectronHistos.cxx:747 AliDielectronHistos.cxx:748 AliDielectronHistos.cxx:749 AliDielectronHistos.cxx:750 AliDielectronHistos.cxx:751 AliDielectronHistos.cxx:752 AliDielectronHistos.cxx:753 AliDielectronHistos.cxx:754 AliDielectronHistos.cxx:755 AliDielectronHistos.cxx:756 AliDielectronHistos.cxx:757 AliDielectronHistos.cxx:758 AliDielectronHistos.cxx:759 AliDielectronHistos.cxx:760 AliDielectronHistos.cxx:761 AliDielectronHistos.cxx:762 AliDielectronHistos.cxx:763 AliDielectronHistos.cxx:764 AliDielectronHistos.cxx:765 AliDielectronHistos.cxx:766 AliDielectronHistos.cxx:767 AliDielectronHistos.cxx:768 AliDielectronHistos.cxx:769 AliDielectronHistos.cxx:770 AliDielectronHistos.cxx:771 AliDielectronHistos.cxx:772 AliDielectronHistos.cxx:773 AliDielectronHistos.cxx:774 AliDielectronHistos.cxx:775 AliDielectronHistos.cxx:776 AliDielectronHistos.cxx:777 AliDielectronHistos.cxx:778 AliDielectronHistos.cxx:779 AliDielectronHistos.cxx:780 AliDielectronHistos.cxx:781 AliDielectronHistos.cxx:782 AliDielectronHistos.cxx:783 AliDielectronHistos.cxx:784 AliDielectronHistos.cxx:785 AliDielectronHistos.cxx:786 AliDielectronHistos.cxx:787 AliDielectronHistos.cxx:788 AliDielectronHistos.cxx:789 AliDielectronHistos.cxx:790 AliDielectronHistos.cxx:791 AliDielectronHistos.cxx:792 AliDielectronHistos.cxx:793 AliDielectronHistos.cxx:794 AliDielectronHistos.cxx:795 AliDielectronHistos.cxx:796 AliDielectronHistos.cxx:797 AliDielectronHistos.cxx:798 AliDielectronHistos.cxx:799 AliDielectronHistos.cxx:800 AliDielectronHistos.cxx:801 AliDielectronHistos.cxx:802 AliDielectronHistos.cxx:803 AliDielectronHistos.cxx:804 AliDielectronHistos.cxx:805 AliDielectronHistos.cxx:806 AliDielectronHistos.cxx:807 AliDielectronHistos.cxx:808 AliDielectronHistos.cxx:809 AliDielectronHistos.cxx:810 AliDielectronHistos.cxx:811 AliDielectronHistos.cxx:812 AliDielectronHistos.cxx:813 AliDielectronHistos.cxx:814 AliDielectronHistos.cxx:815 AliDielectronHistos.cxx:816 AliDielectronHistos.cxx:817 AliDielectronHistos.cxx:818 AliDielectronHistos.cxx:819 AliDielectronHistos.cxx:820 AliDielectronHistos.cxx:821 AliDielectronHistos.cxx:822 AliDielectronHistos.cxx:823 AliDielectronHistos.cxx:824 AliDielectronHistos.cxx:825 AliDielectronHistos.cxx:826 AliDielectronHistos.cxx:827 AliDielectronHistos.cxx:828 AliDielectronHistos.cxx:829 AliDielectronHistos.cxx:830 AliDielectronHistos.cxx:831 AliDielectronHistos.cxx:832 AliDielectronHistos.cxx:833 AliDielectronHistos.cxx:834 AliDielectronHistos.cxx:835 AliDielectronHistos.cxx:836 AliDielectronHistos.cxx:837 AliDielectronHistos.cxx:838 AliDielectronHistos.cxx:839 AliDielectronHistos.cxx:840 AliDielectronHistos.cxx:841 AliDielectronHistos.cxx:842 AliDielectronHistos.cxx:843 AliDielectronHistos.cxx:844 AliDielectronHistos.cxx:845 AliDielectronHistos.cxx:846 AliDielectronHistos.cxx:847 AliDielectronHistos.cxx:848 AliDielectronHistos.cxx:849 AliDielectronHistos.cxx:850 AliDielectronHistos.cxx:851 AliDielectronHistos.cxx:852 AliDielectronHistos.cxx:853 AliDielectronHistos.cxx:854 AliDielectronHistos.cxx:855 AliDielectronHistos.cxx:856 AliDielectronHistos.cxx:857 AliDielectronHistos.cxx:858 AliDielectronHistos.cxx:859 AliDielectronHistos.cxx:860 AliDielectronHistos.cxx:861 AliDielectronHistos.cxx:862 AliDielectronHistos.cxx:863 AliDielectronHistos.cxx:864 AliDielectronHistos.cxx:865 AliDielectronHistos.cxx:866 AliDielectronHistos.cxx:867 AliDielectronHistos.cxx:868 AliDielectronHistos.cxx:869 AliDielectronHistos.cxx:870 AliDielectronHistos.cxx:871 AliDielectronHistos.cxx:872 AliDielectronHistos.cxx:873 AliDielectronHistos.cxx:874 AliDielectronHistos.cxx:875 AliDielectronHistos.cxx:876 AliDielectronHistos.cxx:877 AliDielectronHistos.cxx:878 AliDielectronHistos.cxx:879 AliDielectronHistos.cxx:880 AliDielectronHistos.cxx:881 AliDielectronHistos.cxx:882 AliDielectronHistos.cxx:883 AliDielectronHistos.cxx:884 AliDielectronHistos.cxx:885 AliDielectronHistos.cxx:886 AliDielectronHistos.cxx:887 AliDielectronHistos.cxx:888 AliDielectronHistos.cxx:889 AliDielectronHistos.cxx:890 AliDielectronHistos.cxx:891 AliDielectronHistos.cxx:892 AliDielectronHistos.cxx:893 AliDielectronHistos.cxx:894 AliDielectronHistos.cxx:895 AliDielectronHistos.cxx:896 AliDielectronHistos.cxx:897 AliDielectronHistos.cxx:898 AliDielectronHistos.cxx:899 AliDielectronHistos.cxx:900 AliDielectronHistos.cxx:901 AliDielectronHistos.cxx:902 AliDielectronHistos.cxx:903 AliDielectronHistos.cxx:904 AliDielectronHistos.cxx:905 AliDielectronHistos.cxx:906 AliDielectronHistos.cxx:907 AliDielectronHistos.cxx:908 AliDielectronHistos.cxx:909 AliDielectronHistos.cxx:910 AliDielectronHistos.cxx:911 AliDielectronHistos.cxx:912 AliDielectronHistos.cxx:913 AliDielectronHistos.cxx:914 AliDielectronHistos.cxx:915 AliDielectronHistos.cxx:916 AliDielectronHistos.cxx:917 AliDielectronHistos.cxx:918 AliDielectronHistos.cxx:919 AliDielectronHistos.cxx:920 AliDielectronHistos.cxx:921 AliDielectronHistos.cxx:922 AliDielectronHistos.cxx:923 AliDielectronHistos.cxx:924 AliDielectronHistos.cxx:925 AliDielectronHistos.cxx:926 AliDielectronHistos.cxx:927 AliDielectronHistos.cxx:928 AliDielectronHistos.cxx:929 AliDielectronHistos.cxx:930 AliDielectronHistos.cxx:931 AliDielectronHistos.cxx:932 AliDielectronHistos.cxx:933 AliDielectronHistos.cxx:934 AliDielectronHistos.cxx:935 AliDielectronHistos.cxx:936 AliDielectronHistos.cxx:937 AliDielectronHistos.cxx:938 AliDielectronHistos.cxx:939 AliDielectronHistos.cxx:940 AliDielectronHistos.cxx:941 AliDielectronHistos.cxx:942 AliDielectronHistos.cxx:943 AliDielectronHistos.cxx:944 AliDielectronHistos.cxx:945 AliDielectronHistos.cxx:946 AliDielectronHistos.cxx:947 AliDielectronHistos.cxx:948 AliDielectronHistos.cxx:949 AliDielectronHistos.cxx:950 AliDielectronHistos.cxx:951 AliDielectronHistos.cxx:952 AliDielectronHistos.cxx:953 AliDielectronHistos.cxx:954 AliDielectronHistos.cxx:955 AliDielectronHistos.cxx:956 AliDielectronHistos.cxx:957 AliDielectronHistos.cxx:958 AliDielectronHistos.cxx:959 AliDielectronHistos.cxx:960 AliDielectronHistos.cxx:961 AliDielectronHistos.cxx:962 AliDielectronHistos.cxx:963 AliDielectronHistos.cxx:964 AliDielectronHistos.cxx:965 AliDielectronHistos.cxx:966 AliDielectronHistos.cxx:967 AliDielectronHistos.cxx:968 AliDielectronHistos.cxx:969 AliDielectronHistos.cxx:970 AliDielectronHistos.cxx:971 AliDielectronHistos.cxx:972 AliDielectronHistos.cxx:973 AliDielectronHistos.cxx:974 AliDielectronHistos.cxx:975 AliDielectronHistos.cxx:976 AliDielectronHistos.cxx:977 AliDielectronHistos.cxx:978 AliDielectronHistos.cxx:979 AliDielectronHistos.cxx:980 AliDielectronHistos.cxx:981 AliDielectronHistos.cxx:982 AliDielectronHistos.cxx:983 AliDielectronHistos.cxx:984 AliDielectronHistos.cxx:985 AliDielectronHistos.cxx:986 AliDielectronHistos.cxx:987 AliDielectronHistos.cxx:988 AliDielectronHistos.cxx:989 AliDielectronHistos.cxx:990 AliDielectronHistos.cxx:991 AliDielectronHistos.cxx:992 AliDielectronHistos.cxx:993 AliDielectronHistos.cxx:994 AliDielectronHistos.cxx:995 AliDielectronHistos.cxx:996 AliDielectronHistos.cxx:997 AliDielectronHistos.cxx:998 AliDielectronHistos.cxx:999 AliDielectronHistos.cxx:1000 AliDielectronHistos.cxx:1001 AliDielectronHistos.cxx:1002 AliDielectronHistos.cxx:1003 AliDielectronHistos.cxx:1004 AliDielectronHistos.cxx:1005 AliDielectronHistos.cxx:1006 AliDielectronHistos.cxx:1007 AliDielectronHistos.cxx:1008 AliDielectronHistos.cxx:1009 AliDielectronHistos.cxx:1010 AliDielectronHistos.cxx:1011 AliDielectronHistos.cxx:1012 AliDielectronHistos.cxx:1013 AliDielectronHistos.cxx:1014 AliDielectronHistos.cxx:1015 AliDielectronHistos.cxx:1016 AliDielectronHistos.cxx:1017 AliDielectronHistos.cxx:1018 AliDielectronHistos.cxx:1019 AliDielectronHistos.cxx:1020 AliDielectronHistos.cxx:1021 AliDielectronHistos.cxx:1022 AliDielectronHistos.cxx:1023 AliDielectronHistos.cxx:1024 AliDielectronHistos.cxx:1025 AliDielectronHistos.cxx:1026 AliDielectronHistos.cxx:1027 AliDielectronHistos.cxx:1028 AliDielectronHistos.cxx:1029 AliDielectronHistos.cxx:1030 AliDielectronHistos.cxx:1031 AliDielectronHistos.cxx:1032 AliDielectronHistos.cxx:1033 AliDielectronHistos.cxx:1034 AliDielectronHistos.cxx:1035 AliDielectronHistos.cxx:1036 AliDielectronHistos.cxx:1037 AliDielectronHistos.cxx:1038 AliDielectronHistos.cxx:1039 AliDielectronHistos.cxx:1040 AliDielectronHistos.cxx:1041 AliDielectronHistos.cxx:1042 AliDielectronHistos.cxx:1043 AliDielectronHistos.cxx:1044 AliDielectronHistos.cxx:1045 AliDielectronHistos.cxx:1046 AliDielectronHistos.cxx:1047 AliDielectronHistos.cxx:1048 AliDielectronHistos.cxx:1049 AliDielectronHistos.cxx:1050 AliDielectronHistos.cxx:1051 AliDielectronHistos.cxx:1052 AliDielectronHistos.cxx:1053 AliDielectronHistos.cxx:1054 AliDielectronHistos.cxx:1055 AliDielectronHistos.cxx:1056 AliDielectronHistos.cxx:1057 AliDielectronHistos.cxx:1058 AliDielectronHistos.cxx:1059 AliDielectronHistos.cxx:1060 AliDielectronHistos.cxx:1061 AliDielectronHistos.cxx:1062 AliDielectronHistos.cxx:1063 AliDielectronHistos.cxx:1064 AliDielectronHistos.cxx:1065 AliDielectronHistos.cxx:1066 AliDielectronHistos.cxx:1067 AliDielectronHistos.cxx:1068 AliDielectronHistos.cxx:1069 AliDielectronHistos.cxx:1070 AliDielectronHistos.cxx:1071 AliDielectronHistos.cxx:1072 AliDielectronHistos.cxx:1073 AliDielectronHistos.cxx:1074 AliDielectronHistos.cxx:1075 AliDielectronHistos.cxx:1076 AliDielectronHistos.cxx:1077 AliDielectronHistos.cxx:1078 AliDielectronHistos.cxx:1079 AliDielectronHistos.cxx:1080 AliDielectronHistos.cxx:1081 AliDielectronHistos.cxx:1082 AliDielectronHistos.cxx:1083 AliDielectronHistos.cxx:1084 AliDielectronHistos.cxx:1085 AliDielectronHistos.cxx:1086 AliDielectronHistos.cxx:1087 AliDielectronHistos.cxx:1088 AliDielectronHistos.cxx:1089 AliDielectronHistos.cxx:1090 AliDielectronHistos.cxx:1091 AliDielectronHistos.cxx:1092 AliDielectronHistos.cxx:1093 AliDielectronHistos.cxx:1094 AliDielectronHistos.cxx:1095 AliDielectronHistos.cxx:1096 AliDielectronHistos.cxx:1097 AliDielectronHistos.cxx:1098 AliDielectronHistos.cxx:1099 AliDielectronHistos.cxx:1100 AliDielectronHistos.cxx:1101 AliDielectronHistos.cxx:1102 AliDielectronHistos.cxx:1103 AliDielectronHistos.cxx:1104 AliDielectronHistos.cxx:1105 AliDielectronHistos.cxx:1106 AliDielectronHistos.cxx:1107 AliDielectronHistos.cxx:1108 AliDielectronHistos.cxx:1109 AliDielectronHistos.cxx:1110 AliDielectronHistos.cxx:1111 AliDielectronHistos.cxx:1112 AliDielectronHistos.cxx:1113 AliDielectronHistos.cxx:1114 AliDielectronHistos.cxx:1115 AliDielectronHistos.cxx:1116 AliDielectronHistos.cxx:1117 AliDielectronHistos.cxx:1118 AliDielectronHistos.cxx:1119 AliDielectronHistos.cxx:1120 AliDielectronHistos.cxx:1121 AliDielectronHistos.cxx:1122 AliDielectronHistos.cxx:1123 AliDielectronHistos.cxx:1124 AliDielectronHistos.cxx:1125 AliDielectronHistos.cxx:1126 AliDielectronHistos.cxx:1127 AliDielectronHistos.cxx:1128 AliDielectronHistos.cxx:1129 AliDielectronHistos.cxx:1130 AliDielectronHistos.cxx:1131 AliDielectronHistos.cxx:1132 AliDielectronHistos.cxx:1133 AliDielectronHistos.cxx:1134 AliDielectronHistos.cxx:1135 AliDielectronHistos.cxx:1136 AliDielectronHistos.cxx:1137 AliDielectronHistos.cxx:1138 AliDielectronHistos.cxx:1139 AliDielectronHistos.cxx:1140 AliDielectronHistos.cxx:1141 AliDielectronHistos.cxx:1142 AliDielectronHistos.cxx:1143 AliDielectronHistos.cxx:1144 AliDielectronHistos.cxx:1145 AliDielectronHistos.cxx:1146 AliDielectronHistos.cxx:1147 AliDielectronHistos.cxx:1148 AliDielectronHistos.cxx:1149 AliDielectronHistos.cxx:1150 AliDielectronHistos.cxx:1151 AliDielectronHistos.cxx:1152 AliDielectronHistos.cxx:1153 AliDielectronHistos.cxx:1154 AliDielectronHistos.cxx:1155 AliDielectronHistos.cxx:1156 AliDielectronHistos.cxx:1157 AliDielectronHistos.cxx:1158 AliDielectronHistos.cxx:1159 AliDielectronHistos.cxx:1160 AliDielectronHistos.cxx:1161 AliDielectronHistos.cxx:1162 AliDielectronHistos.cxx:1163 AliDielectronHistos.cxx:1164 AliDielectronHistos.cxx:1165 AliDielectronHistos.cxx:1166 AliDielectronHistos.cxx:1167 AliDielectronHistos.cxx:1168 AliDielectronHistos.cxx:1169 AliDielectronHistos.cxx:1170 AliDielectronHistos.cxx:1171 AliDielectronHistos.cxx:1172 AliDielectronHistos.cxx:1173 AliDielectronHistos.cxx:1174 AliDielectronHistos.cxx:1175 AliDielectronHistos.cxx:1176 AliDielectronHistos.cxx:1177 AliDielectronHistos.cxx:1178 AliDielectronHistos.cxx:1179 AliDielectronHistos.cxx:1180 AliDielectronHistos.cxx:1181 AliDielectronHistos.cxx:1182 AliDielectronHistos.cxx:1183 AliDielectronHistos.cxx:1184 AliDielectronHistos.cxx:1185 AliDielectronHistos.cxx:1186 AliDielectronHistos.cxx:1187 AliDielectronHistos.cxx:1188 AliDielectronHistos.cxx:1189 AliDielectronHistos.cxx:1190 AliDielectronHistos.cxx:1191 AliDielectronHistos.cxx:1192 AliDielectronHistos.cxx:1193 AliDielectronHistos.cxx:1194 AliDielectronHistos.cxx:1195 AliDielectronHistos.cxx:1196 AliDielectronHistos.cxx:1197 AliDielectronHistos.cxx:1198 AliDielectronHistos.cxx:1199 AliDielectronHistos.cxx:1200 AliDielectronHistos.cxx:1201 AliDielectronHistos.cxx:1202 AliDielectronHistos.cxx:1203 AliDielectronHistos.cxx:1204 AliDielectronHistos.cxx:1205 AliDielectronHistos.cxx:1206 AliDielectronHistos.cxx:1207 AliDielectronHistos.cxx:1208 AliDielectronHistos.cxx:1209 AliDielectronHistos.cxx:1210 AliDielectronHistos.cxx:1211 AliDielectronHistos.cxx:1212 AliDielectronHistos.cxx:1213 AliDielectronHistos.cxx:1214 AliDielectronHistos.cxx:1215 AliDielectronHistos.cxx:1216 AliDielectronHistos.cxx:1217 AliDielectronHistos.cxx:1218 AliDielectronHistos.cxx:1219 AliDielectronHistos.cxx:1220 AliDielectronHistos.cxx:1221 AliDielectronHistos.cxx:1222 AliDielectronHistos.cxx:1223 AliDielectronHistos.cxx:1224 AliDielectronHistos.cxx:1225 AliDielectronHistos.cxx:1226 AliDielectronHistos.cxx:1227 AliDielectronHistos.cxx:1228 AliDielectronHistos.cxx:1229 AliDielectronHistos.cxx:1230 AliDielectronHistos.cxx:1231 AliDielectronHistos.cxx:1232 AliDielectronHistos.cxx:1233 AliDielectronHistos.cxx:1234 AliDielectronHistos.cxx:1235 AliDielectronHistos.cxx:1236 AliDielectronHistos.cxx:1237 AliDielectronHistos.cxx:1238 AliDielectronHistos.cxx:1239 AliDielectronHistos.cxx:1240 AliDielectronHistos.cxx:1241 AliDielectronHistos.cxx:1242 AliDielectronHistos.cxx:1243 AliDielectronHistos.cxx:1244 AliDielectronHistos.cxx:1245 AliDielectronHistos.cxx:1246 AliDielectronHistos.cxx:1247 AliDielectronHistos.cxx:1248 AliDielectronHistos.cxx:1249 AliDielectronHistos.cxx:1250 AliDielectronHistos.cxx:1251 AliDielectronHistos.cxx:1252 AliDielectronHistos.cxx:1253 AliDielectronHistos.cxx:1254 AliDielectronHistos.cxx:1255 AliDielectronHistos.cxx:1256 AliDielectronHistos.cxx:1257 AliDielectronHistos.cxx:1258 AliDielectronHistos.cxx:1259 AliDielectronHistos.cxx:1260 AliDielectronHistos.cxx:1261 AliDielectronHistos.cxx:1262 AliDielectronHistos.cxx:1263 AliDielectronHistos.cxx:1264 AliDielectronHistos.cxx:1265 AliDielectronHistos.cxx:1266 AliDielectronHistos.cxx:1267 AliDielectronHistos.cxx:1268 AliDielectronHistos.cxx:1269 AliDielectronHistos.cxx:1270 AliDielectronHistos.cxx:1271 AliDielectronHistos.cxx:1272 AliDielectronHistos.cxx:1273 AliDielectronHistos.cxx:1274 AliDielectronHistos.cxx:1275 AliDielectronHistos.cxx:1276 AliDielectronHistos.cxx:1277 AliDielectronHistos.cxx:1278 AliDielectronHistos.cxx:1279 AliDielectronHistos.cxx:1280 AliDielectronHistos.cxx:1281 AliDielectronHistos.cxx:1282 AliDielectronHistos.cxx:1283 AliDielectronHistos.cxx:1284 AliDielectronHistos.cxx:1285 AliDielectronHistos.cxx:1286 AliDielectronHistos.cxx:1287 AliDielectronHistos.cxx:1288 AliDielectronHistos.cxx:1289 AliDielectronHistos.cxx:1290 AliDielectronHistos.cxx:1291 AliDielectronHistos.cxx:1292 AliDielectronHistos.cxx:1293 AliDielectronHistos.cxx:1294 AliDielectronHistos.cxx:1295 AliDielectronHistos.cxx:1296 AliDielectronHistos.cxx:1297 AliDielectronHistos.cxx:1298 AliDielectronHistos.cxx:1299 AliDielectronHistos.cxx:1300 AliDielectronHistos.cxx:1301 AliDielectronHistos.cxx:1302 AliDielectronHistos.cxx:1303 AliDielectronHistos.cxx:1304 AliDielectronHistos.cxx:1305 AliDielectronHistos.cxx:1306 AliDielectronHistos.cxx:1307 AliDielectronHistos.cxx:1308 AliDielectronHistos.cxx:1309 AliDielectronHistos.cxx:1310 AliDielectronHistos.cxx:1311 AliDielectronHistos.cxx:1312 AliDielectronHistos.cxx:1313 AliDielectronHistos.cxx:1314 AliDielectronHistos.cxx:1315 AliDielectronHistos.cxx:1316 AliDielectronHistos.cxx:1317 AliDielectronHistos.cxx:1318 AliDielectronHistos.cxx:1319 AliDielectronHistos.cxx:1320 AliDielectronHistos.cxx:1321 AliDielectronHistos.cxx:1322 AliDielectronHistos.cxx:1323 AliDielectronHistos.cxx:1324 AliDielectronHistos.cxx:1325 AliDielectronHistos.cxx:1326 AliDielectronHistos.cxx:1327 AliDielectronHistos.cxx:1328 AliDielectronHistos.cxx:1329 AliDielectronHistos.cxx:1330 AliDielectronHistos.cxx:1331 AliDielectronHistos.cxx:1332 AliDielectronHistos.cxx:1333 AliDielectronHistos.cxx:1334 AliDielectronHistos.cxx:1335 AliDielectronHistos.cxx:1336 AliDielectronHistos.cxx:1337 AliDielectronHistos.cxx:1338 AliDielectronHistos.cxx:1339 AliDielectronHistos.cxx:1340 AliDielectronHistos.cxx:1341 AliDielectronHistos.cxx:1342 AliDielectronHistos.cxx:1343 AliDielectronHistos.cxx:1344 AliDielectronHistos.cxx:1345 AliDielectronHistos.cxx:1346 AliDielectronHistos.cxx:1347 AliDielectronHistos.cxx:1348 AliDielectronHistos.cxx:1349 AliDielectronHistos.cxx:1350 AliDielectronHistos.cxx:1351 AliDielectronHistos.cxx:1352 AliDielectronHistos.cxx:1353 AliDielectronHistos.cxx:1354 AliDielectronHistos.cxx:1355 AliDielectronHistos.cxx:1356 AliDielectronHistos.cxx:1357 AliDielectronHistos.cxx:1358 AliDielectronHistos.cxx:1359 AliDielectronHistos.cxx:1360 AliDielectronHistos.cxx:1361 AliDielectronHistos.cxx:1362 AliDielectronHistos.cxx:1363 AliDielectronHistos.cxx:1364 AliDielectronHistos.cxx:1365 AliDielectronHistos.cxx:1366 AliDielectronHistos.cxx:1367 AliDielectronHistos.cxx:1368 AliDielectronHistos.cxx:1369 AliDielectronHistos.cxx:1370 AliDielectronHistos.cxx:1371 AliDielectronHistos.cxx:1372 AliDielectronHistos.cxx:1373 AliDielectronHistos.cxx:1374 AliDielectronHistos.cxx:1375 AliDielectronHistos.cxx:1376 AliDielectronHistos.cxx:1377 AliDielectronHistos.cxx:1378 AliDielectronHistos.cxx:1379 AliDielectronHistos.cxx:1380 AliDielectronHistos.cxx:1381 AliDielectronHistos.cxx:1382 AliDielectronHistos.cxx:1383 AliDielectronHistos.cxx:1384 AliDielectronHistos.cxx:1385 AliDielectronHistos.cxx:1386 AliDielectronHistos.cxx:1387 AliDielectronHistos.cxx:1388 AliDielectronHistos.cxx:1389 AliDielectronHistos.cxx:1390 AliDielectronHistos.cxx:1391 AliDielectronHistos.cxx:1392 AliDielectronHistos.cxx:1393 AliDielectronHistos.cxx:1394 AliDielectronHistos.cxx:1395 AliDielectronHistos.cxx:1396 AliDielectronHistos.cxx:1397 AliDielectronHistos.cxx:1398 AliDielectronHistos.cxx:1399 AliDielectronHistos.cxx:1400 AliDielectronHistos.cxx:1401 AliDielectronHistos.cxx:1402 AliDielectronHistos.cxx:1403 AliDielectronHistos.cxx:1404 AliDielectronHistos.cxx:1405 AliDielectronHistos.cxx:1406 AliDielectronHistos.cxx:1407 AliDielectronHistos.cxx:1408 AliDielectronHistos.cxx:1409 AliDielectronHistos.cxx:1410 AliDielectronHistos.cxx:1411 AliDielectronHistos.cxx:1412 AliDielectronHistos.cxx:1413 AliDielectronHistos.cxx:1414 AliDielectronHistos.cxx:1415 AliDielectronHistos.cxx:1416 AliDielectronHistos.cxx:1417 AliDielectronHistos.cxx:1418 AliDielectronHistos.cxx:1419 AliDielectronHistos.cxx:1420 AliDielectronHistos.cxx:1421 AliDielectronHistos.cxx:1422 AliDielectronHistos.cxx:1423 AliDielectronHistos.cxx:1424 AliDielectronHistos.cxx:1425 AliDielectronHistos.cxx:1426 AliDielectronHistos.cxx:1427 AliDielectronHistos.cxx:1428 AliDielectronHistos.cxx:1429 AliDielectronHistos.cxx:1430 AliDielectronHistos.cxx:1431 AliDielectronHistos.cxx:1432 AliDielectronHistos.cxx:1433 AliDielectronHistos.cxx:1434 AliDielectronHistos.cxx:1435 AliDielectronHistos.cxx:1436 AliDielectronHistos.cxx:1437 AliDielectronHistos.cxx:1438 AliDielectronHistos.cxx:1439 AliDielectronHistos.cxx:1440 AliDielectronHistos.cxx:1441 AliDielectronHistos.cxx:1442 AliDielectronHistos.cxx:1443 AliDielectronHistos.cxx:1444 AliDielectronHistos.cxx:1445 AliDielectronHistos.cxx:1446 AliDielectronHistos.cxx:1447 AliDielectronHistos.cxx:1448 AliDielectronHistos.cxx:1449 AliDielectronHistos.cxx:1450 AliDielectronHistos.cxx:1451 AliDielectronHistos.cxx:1452 AliDielectronHistos.cxx:1453 AliDielectronHistos.cxx:1454 AliDielectronHistos.cxx:1455 AliDielectronHistos.cxx:1456 AliDielectronHistos.cxx:1457 AliDielectronHistos.cxx:1458 AliDielectronHistos.cxx:1459 AliDielectronHistos.cxx:1460 AliDielectronHistos.cxx:1461 AliDielectronHistos.cxx:1462 AliDielectronHistos.cxx:1463 AliDielectronHistos.cxx:1464 AliDielectronHistos.cxx:1465 AliDielectronHistos.cxx:1466 AliDielectronHistos.cxx:1467 AliDielectronHistos.cxx:1468 AliDielectronHistos.cxx:1469 AliDielectronHistos.cxx:1470 AliDielectronHistos.cxx:1471 AliDielectronHistos.cxx:1472 AliDielectronHistos.cxx:1473 AliDielectronHistos.cxx:1474 AliDielectronHistos.cxx:1475 AliDielectronHistos.cxx:1476 AliDielectronHistos.cxx:1477 AliDielectronHistos.cxx:1478 AliDielectronHistos.cxx:1479 AliDielectronHistos.cxx:1480 AliDielectronHistos.cxx:1481 AliDielectronHistos.cxx:1482 AliDielectronHistos.cxx:1483 AliDielectronHistos.cxx:1484 AliDielectronHistos.cxx:1485 AliDielectronHistos.cxx:1486 AliDielectronHistos.cxx:1487 AliDielectronHistos.cxx:1488 AliDielectronHistos.cxx:1489 AliDielectronHistos.cxx:1490 AliDielectronHistos.cxx:1491 AliDielectronHistos.cxx:1492 AliDielectronHistos.cxx:1493 AliDielectronHistos.cxx:1494 AliDielectronHistos.cxx:1495 AliDielectronHistos.cxx:1496 AliDielectronHistos.cxx:1497 AliDielectronHistos.cxx:1498 AliDielectronHistos.cxx:1499 AliDielectronHistos.cxx:1500 AliDielectronHistos.cxx:1501 AliDielectronHistos.cxx:1502 AliDielectronHistos.cxx:1503 AliDielectronHistos.cxx:1504 AliDielectronHistos.cxx:1505 AliDielectronHistos.cxx:1506 AliDielectronHistos.cxx:1507 AliDielectronHistos.cxx:1508 AliDielectronHistos.cxx:1509 AliDielectronHistos.cxx:1510 AliDielectronHistos.cxx:1511