#include "AliFMDDensityCalculator.h"
#include <AliESDFMD.h>
#include <TAxis.h>
#include <TList.h>
#include <TMath.h>
#include "AliForwardCorrectionManager.h"
#include "AliFMDCorrDoubleHit.h"
#include "AliFMDCorrELossFit.h"
#include "AliLog.h"
#include "AliForwardUtil.h"
#include <TH2D.h>
#include <TProfile.h>
#include <THStack.h>
#include <TROOT.h>
#include <TVector3.h>
#include <TStopwatch.h>
#include <TParameter.h>
#include <iostream>
#include <iomanip>
#include <cstring>
ClassImp(AliFMDDensityCalculator)
#if 0
;
#endif
const char* AliFMDDensityCalculator::fgkFolderName = "fmdDensityCalculator";
AliFMDDensityCalculator::AliFMDDensityCalculator()
: TNamed(),
fRingHistos(),
fSumOfWeights(0),
fWeightedSum(0),
fCorrections(0),
fMaxParticles(5),
fUsePoisson(false),
fUsePhiAcceptance(kPhiCorrectNch),
fAccI(0),
fAccO(0),
fFMD1iMax(0),
fFMD2iMax(0),
fFMD2oMax(0),
fFMD3iMax(0),
fFMD3oMax(0),
fMaxWeights(0),
fLowCuts(0),
fEtaLumping(32),
fPhiLumping(4),
fDebug(0),
fCuts(),
fRecalculatePhi(false),
fMinQuality(10),
fCache(),
fDoTiming(false),
fHTiming(0),
fMaxOutliers(0.05),
fOutlierCut(0.50)
{
DGUARD(fDebug, 3, "Default CTOR of FMD density calculator");
}
AliFMDDensityCalculator::AliFMDDensityCalculator(const char* title)
: TNamed(fgkFolderName, title),
fRingHistos(),
fSumOfWeights(0),
fWeightedSum(0),
fCorrections(0),
fMaxParticles(5),
fUsePoisson(false),
fUsePhiAcceptance(kPhiCorrectNch),
fAccI(0),
fAccO(0),
fFMD1iMax(0),
fFMD2iMax(0),
fFMD2oMax(0),
fFMD3iMax(0),
fFMD3oMax(0),
fMaxWeights(0),
fLowCuts(0),
fEtaLumping(32),
fPhiLumping(4),
fDebug(0),
fCuts(),
fRecalculatePhi(false),
fMinQuality(10),
fCache(),
fDoTiming(false),
fHTiming(0),
fMaxOutliers(0.05),
fOutlierCut(0.50)
{
DGUARD(fDebug, 3, "Named CTOR of FMD density calculator: %s", title);
fRingHistos.SetName(GetName());
fRingHistos.SetOwner();
fRingHistos.Add(new RingHistos(1, 'I'));
fRingHistos.Add(new RingHistos(2, 'I'));
fRingHistos.Add(new RingHistos(2, 'O'));
fRingHistos.Add(new RingHistos(3, 'I'));
fRingHistos.Add(new RingHistos(3, 'O'));
fSumOfWeights = new TH1D("sumOfWeights", "Sum of Landau weights",
200, 0, 20);
fSumOfWeights->SetFillColor(kRed+1);
fSumOfWeights->SetXTitle("#sum_{i} a_{i} f_{i}(#Delta)");
fWeightedSum = new TH1D("weightedSum", "Weighted sum of Landau propability",
200, 0, 20);
fWeightedSum->SetFillColor(kBlue+1);
fWeightedSum->SetXTitle("#sum_{i} i a_{i} f_{i}(#Delta)");
fCorrections = new TH1D("corrections", "Distribution of corrections",
100, 0, 10);
fCorrections->SetFillColor(kBlue+1);
fCorrections->SetXTitle("correction");
fAccI = GenerateAcceptanceCorrection('I');
fAccO = GenerateAcceptanceCorrection('O');
fMaxWeights = new TH2D("maxWeights", "Maximum i of a_{i}'s to use",
1, 0, 1, 1, 0, 1);
fMaxWeights->SetXTitle("#eta");
fMaxWeights->SetDirectory(0);
fLowCuts = new TH2D("lowCuts", "Low cuts used", 1, 0, 1, 1, 0, 1);
fLowCuts->SetXTitle("#eta");
fLowCuts->SetDirectory(0);
}
AliFMDDensityCalculator::AliFMDDensityCalculator(const
AliFMDDensityCalculator& o)
: TNamed(o),
fRingHistos(),
fSumOfWeights(o.fSumOfWeights),
fWeightedSum(o.fWeightedSum),
fCorrections(o.fCorrections),
fMaxParticles(o.fMaxParticles),
fUsePoisson(o.fUsePoisson),
fUsePhiAcceptance(o.fUsePhiAcceptance),
fAccI(o.fAccI),
fAccO(o.fAccO),
fFMD1iMax(o.fFMD1iMax),
fFMD2iMax(o.fFMD2iMax),
fFMD2oMax(o.fFMD2oMax),
fFMD3iMax(o.fFMD3iMax),
fFMD3oMax(o.fFMD3oMax),
fMaxWeights(o.fMaxWeights),
fLowCuts(o.fLowCuts),
fEtaLumping(o.fEtaLumping),
fPhiLumping(o.fPhiLumping),
fDebug(o.fDebug),
fCuts(o.fCuts),
fRecalculatePhi(o.fRecalculatePhi),
fMinQuality(o.fMinQuality),
fCache(o.fCache),
fDoTiming(o.fDoTiming),
fHTiming(o.fHTiming),
fMaxOutliers(o.fMaxOutliers),
fOutlierCut(o.fOutlierCut)
{
DGUARD(fDebug, 3, "Copy CTOR of FMD density calculator");
TIter next(&o.fRingHistos);
TObject* obj = 0;
while ((obj = next())) fRingHistos.Add(obj);
}
AliFMDDensityCalculator::~AliFMDDensityCalculator()
{
DGUARD(fDebug, 3, "DTOR of FMD density calculator");
}
AliFMDDensityCalculator&
AliFMDDensityCalculator::operator=(const AliFMDDensityCalculator& o)
{
DGUARD(fDebug, 3, "Assignment of FMD density calculator");
if (&o == this) return *this;
TNamed::operator=(o);
fDebug = o.fDebug;
fMaxParticles = o.fMaxParticles;
fUsePoisson = o.fUsePoisson;
fUsePhiAcceptance = o.fUsePhiAcceptance;
fAccI = o.fAccI;
fAccO = o.fAccO;
fFMD1iMax = o.fFMD1iMax;
fFMD2iMax = o.fFMD2iMax;
fFMD2oMax = o.fFMD2oMax;
fFMD3iMax = o.fFMD3iMax;
fFMD3oMax = o.fFMD3oMax;
fMaxWeights = o.fMaxWeights;
fLowCuts = o.fLowCuts;
fEtaLumping = o.fEtaLumping;
fPhiLumping = o.fPhiLumping;
fCuts = o.fCuts;
fRecalculatePhi = o.fRecalculatePhi;
fMinQuality = o.fMinQuality;
fCache = o.fCache;
fDoTiming = o.fDoTiming;
fHTiming = o.fHTiming;
fMaxOutliers = o.fMaxOutliers;
fOutlierCut = o.fOutlierCut;
fRingHistos.Delete();
TIter next(&o.fRingHistos);
TObject* obj = 0;
while ((obj = next())) fRingHistos.Add(obj);
return *this;
}
void
AliFMDDensityCalculator::SetupForData(const TAxis& axis)
{
DGUARD(fDebug, 1, "Initialize FMD density calculator");
CacheMaxWeights(axis);
fCache.Init(axis);
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next()))) {
o->SetupForData(axis);
}
}
AliFMDDensityCalculator::RingHistos*
AliFMDDensityCalculator::GetRingHistos(UShort_t d, Char_t r) const
{
Int_t idx = -1;
switch (d) {
case 1: idx = 0; break;
case 2: idx = 1 + (r == 'I' || r == 'i' ? 0 : 1); break;
case 3: idx = 3 + (r == 'I' || r == 'i' ? 0 : 1); break;
}
if (idx < 0 || idx >= fRingHistos.GetEntries()) {
AliWarning(Form("Index %d of FMD%d%c out of range", idx, d, r));
return 0;
}
return static_cast<RingHistos*>(fRingHistos.At(idx));
}
namespace {
Double_t Rng2Cut(UShort_t d, Char_t r, Int_t xbin, TH2* h)
{
Double_t ret = 1024;
if (xbin < 1 && xbin > h->GetXaxis()->GetNbins()) return ret;
Int_t ybin = 0;
switch(d) {
case 1: ybin = 1; break;
case 2: ybin = (r=='i' || r=='I') ? 2 : 3; break;
case 3: ybin = (r=='i' || r=='I') ? 4 : 5; break;
default: return ret;
}
ret = h->GetBinContent(xbin,ybin);
return ret;
}
}
Double_t
AliFMDDensityCalculator::GetMultCut(UShort_t d, Char_t r, Int_t ieta,
Bool_t ) const
{
return Rng2Cut(d, r, ieta, fLowCuts);
}
Double_t
AliFMDDensityCalculator::GetMultCut(UShort_t d, Char_t r, Double_t eta,
Bool_t ) const
{
Int_t ieta = fLowCuts->GetXaxis()->FindBin(eta);
return Rng2Cut(d, r, ieta, fLowCuts);
}
#ifndef NO_TIMING
# define START_TIMER(T) if (fDoTiming) T.Start(true)
# define GET_TIMER(T,V) if (fDoTiming) V = T.CpuTime()
# define ADD_TIMER(T,V) if (fDoTiming) V += T.CpuTime()
#else
# define START_TIMER(T) do {} while (false)
# define GET_TIMER(T,V) do {} while (false)
# define ADD_TIMER(T,V) do {} while (false)
#endif
Bool_t
AliFMDDensityCalculator::Calculate(const AliESDFMD& fmd,
AliForwardUtil::Histos& hists,
Bool_t lowFlux,
Double_t ,
const TVector3& ip)
{
DGUARD(fDebug, 1, "Calculate density in FMD density calculator");
TStopwatch timer;
TStopwatch totalT;
Double_t nPartTime = 0;
Double_t corrTime = 0;
Double_t rePhiTime = 0;
Double_t copyTime = 0;
Double_t poissonTime= 0;
Double_t diagTime = 0;
START_TIMER(totalT);
Double_t etaCache[20*512];
Double_t phiCache[20*512];
for (UShort_t d=1; d<=3; d++) {
UShort_t nr = (d == 1 ? 1 : 2);
for (UShort_t q=0; q<nr; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
UShort_t ns= (q == 0 ? 20 : 40);
UShort_t nt= (q == 0 ? 512 : 256);
TH2D* h = hists.Get(d,r);
RingHistos* rh= GetRingHistos(d,r);
if (!rh) {
AliError(Form("No ring histogram found for FMD%d%c", d, r));
fRingHistos.ls();
return false;
}
rh->fPoisson.Reset(0);
rh->fTotal->Reset();
rh->fGood->Reset();
memset(etaCache, 0, sizeof(Double_t)*20*512);
memset(phiCache, 0, sizeof(Double_t)*20*512);
for (UShort_t s=0; s<ns; s++) {
for (UShort_t t=0; t<nt; t++) {
Float_t mult = fmd.Multiplicity(d,r,s,t);
Float_t phi = fmd.Phi(d,r,s,t) * TMath::DegToRad();
Float_t eta = fmd.Eta(d,r,s,t);
Double_t oldPhi = phi;
START_TIMER(timer);
etaCache[s*nt+t] = eta;
rh->fTotal->Fill(eta);
if (mult == AliESDFMD::kInvalidMult) {
rh->fELoss->Fill(-1);
continue;
}
if (mult > 20)
AliWarningF("Raw multiplicity of FMD%d%c[%02d,%03d] = %f > 20",
d, r, s, t, mult);
rh->fGood->Fill(eta);
START_TIMER(timer);
if (fRecalculatePhi) {
oldPhi = phi;
phi = AliForwardUtil::GetPhiFromStrip(r, t, phi, ip.X(), ip.Y());
}
phiCache[s*nt+t] = phi;
ADD_TIMER(timer,rePhiTime);
if (fUsePhiAcceptance == kPhiCorrectELoss)
mult *= AcceptanceCorrection(r,t);
Double_t cut = 1024;
if (eta != AliESDFMD::kInvalidEta) cut = GetMultCut(d, r, eta,false);
else AliWarningF("Eta for FMD%d%c[%02d,%03d] is invalid: %f",
d, r, s, t, eta);
START_TIMER(timer);
Double_t n = 0;
if (cut > 0 && mult > cut) n = NParticles(mult,d,r,eta,lowFlux);
rh->fELoss->Fill(mult);
ADD_TIMER(timer,nPartTime);
START_TIMER(timer);
Double_t c = 1;
if (fUsePhiAcceptance == kPhiCorrectNch)
c = AcceptanceCorrection(r,t);
ADD_TIMER(timer,corrTime);
fCorrections->Fill(c);
if (c > 0) n /= c;
rh->fCorr->Fill(eta, c);
Bool_t hit = (n > 0.9 && c > 0);
if (hit) {
rh->fELossUsed->Fill(mult);
if (fRecalculatePhi) {
rh->fPhiBefore->Fill(oldPhi);
rh->fPhiAfter->Fill(phi);
}
}
rh->fPoisson.Fill(t,s,hit,1./c);
h->Fill(eta,phi,n);
if (!fUsePoisson) rh->fDensity->Fill(eta,phi,n);
}
}
rh->fGood->Divide(rh->fGood, rh->fTotal, 1, 1, "B");
START_TIMER(timer);
TH2D* hclone = fCache.Get(d,r);
if (!fUsePoisson) hclone->Reset();
else {
for (Int_t i = 0; i <= h->GetNbinsX()+1; i++) {
for (Int_t j = 0; j <= h->GetNbinsY()+1; j++) {
hclone->SetBinContent(i,j,h->GetBinContent(i,j));
hclone->SetBinError(i,j,h->GetBinError(i,j));
}
}
h->Reset();
}
ADD_TIMER(timer,copyTime);
START_TIMER(timer);
TH2D* poisson = rh->fPoisson.Result();
for (Int_t t=0; t < poisson->GetNbinsX(); t++) {
for (Int_t s=0; s < poisson->GetNbinsY(); s++) {
Double_t poissonV = poisson->GetBinContent(t+1,s+1);
Double_t phi = phiCache[s*nt+t];
Double_t eta = etaCache[s*nt+t];
if (fUsePoisson) {
h->Fill(eta,phi,poissonV);
rh->fDensity->Fill(eta, phi, poissonV);
}
else
hclone->Fill(eta,phi,poissonV);
}
}
ADD_TIMER(timer,poissonTime);
START_TIMER(timer);
Int_t nY = h->GetNbinsY();
Int_t nIn = 0;
Int_t nOut = 0;
for (Int_t ieta=1; ieta <= h->GetNbinsX(); ieta++) {
Double_t phiAcc = rh->fGood->GetBinContent(ieta);
Double_t phiAccE = rh->fGood->GetBinError(ieta);
h->SetBinContent(ieta, nY+1, phiAcc);
h->SetBinError(ieta, nY+1, phiAccE);
Double_t eta = h->GetXaxis()->GetBinCenter(ieta);
rh->fPhiAcc->Fill(eta, ip.Z(), phiAcc);
for (Int_t iphi=1; iphi<= nY; iphi++) {
Double_t poissonV = 0;
Double_t eLossV = 0;
if(fUsePoisson) {
poissonV = h->GetBinContent(ieta,iphi);
eLossV = hclone->GetBinContent(ieta,iphi);
}
else {
poissonV = hclone->GetBinContent(ieta,iphi);
eLossV = h->GetBinContent(ieta,iphi);
}
if (poissonV < 1e-12 && eLossV < 1e-12)
continue;
Bool_t outlier = CheckOutlier(eLossV, poissonV, fOutlierCut);
Double_t rel = eLossV < 1e-12 ? 0 : (poissonV - eLossV) / eLossV;
if (outlier) {
rh->fELossVsPoissonOut->Fill(eLossV, poissonV);
rh->fDiffELossPoissonOut->Fill(rel);
nOut++;
}
else {
rh->fELossVsPoisson->Fill(eLossV, poissonV);
rh->fDiffELossPoisson->Fill(rel);
nIn++;
}
}
}
Int_t nTotal = (nIn+nOut);
Double_t outRatio = (nTotal > 0 ? Double_t(nOut) / nTotal : 0);
rh->fOutliers->Fill(outRatio);
if (outRatio < fMaxOutliers) rh->fPoisson.FillDiagnostics();
else h->SetBit(AliForwardUtil::kSkipRing);
ADD_TIMER(timer,diagTime);
}
}
if (fDoTiming) {
fHTiming->Fill(2,nPartTime);
fHTiming->Fill(3,corrTime);
fHTiming->Fill(4,rePhiTime);
fHTiming->Fill(5,copyTime);
fHTiming->Fill(6,poissonTime);
fHTiming->Fill(7,diagTime);
fHTiming->Fill(8,totalT.CpuTime());
}
return kTRUE;
}
Bool_t
AliFMDDensityCalculator::CheckOutlier(Double_t eloss,
Double_t poisson,
Double_t cut) const
{
if (eloss < 1e-6) return true;
Double_t diff = TMath::Abs(poisson - eloss) / eloss;
return diff > cut;
}
Int_t
AliFMDDensityCalculator::FindMaxWeight(const AliFMDCorrELossFit* cor,
UShort_t d, Char_t r, Int_t iEta) const
{
DGUARD(fDebug, 10, "Find maximum weight in FMD density calculator");
if(!cor) return -1;
AliFMDCorrELossFit::ELossFit* fit = cor->FindFit(d,r,iEta, -1);
if (!fit) {
return -1;
}
return fit->FindMaxWeight(2*AliFMDCorrELossFit::ELossFit::fgMaxRelError,
AliFMDCorrELossFit::ELossFit::fgLeastWeight,
fMaxParticles);
}
Int_t
AliFMDDensityCalculator::FindMaxWeight(const AliFMDCorrELossFit* cor,
UShort_t d, Char_t r, Double_t eta) const
{
DGUARD(fDebug, 10, "Find maximum weight in FMD density calculator");
if(!cor) return -1;
AliFMDCorrELossFit::ELossFit* fit = cor->FindFit(d,r,eta, -1);
if (!fit) {
return -1;
}
return fit->FindMaxWeight(2*AliFMDCorrELossFit::ELossFit::fgMaxRelError,
AliFMDCorrELossFit::ELossFit::fgLeastWeight,
fMaxParticles);
}
void
AliFMDDensityCalculator::CacheMaxWeights(const TAxis& axis)
{
DGUARD(fDebug, 2, "Cache maximum weights in FMD density calculator");
AliForwardCorrectionManager& fcm = AliForwardCorrectionManager::Instance();
const AliFMDCorrELossFit* cor = fcm.GetELossFit();
cor->CacheBins(fMinQuality);
cor->Print(fDebug > 5 ? "RCS" : "C");
TAxis eta(axis.GetNbins(),
axis.GetXmin(),
axis.GetXmax());
if(cor)
eta.Set(cor->GetEtaAxis().GetNbins(),
cor->GetEtaAxis().GetXmin(),
cor->GetEtaAxis().GetXmax());
Int_t nEta = eta.GetNbins();
fFMD1iMax.Set(nEta);
fFMD2iMax.Set(nEta);
fFMD2oMax.Set(nEta);
fFMD3iMax.Set(nEta);
fFMD3oMax.Set(nEta);
fMaxWeights->SetBins(nEta, eta.GetXmin(), eta.GetXmax(), 5, .5, 5.5);
fMaxWeights->GetYaxis()->SetBinLabel(1, "FMD1i");
fMaxWeights->GetYaxis()->SetBinLabel(2, "FMD2i");
fMaxWeights->GetYaxis()->SetBinLabel(3, "FMD2o");
fMaxWeights->GetYaxis()->SetBinLabel(4, "FMD3i");
fMaxWeights->GetYaxis()->SetBinLabel(5, "FMD3o");
AliInfo(Form("Get eta axis with %d bins from %f to %f",
nEta, eta.GetXmin(), eta.GetXmax()));
fLowCuts->SetBins(nEta, eta.GetXmin(), eta.GetXmax(), 5, .5, 5.5);
fLowCuts->GetYaxis()->SetBinLabel(1, "FMD1i");
fLowCuts->GetYaxis()->SetBinLabel(2, "FMD2i");
fLowCuts->GetYaxis()->SetBinLabel(3, "FMD2o");
fLowCuts->GetYaxis()->SetBinLabel(4, "FMD3i");
fLowCuts->GetYaxis()->SetBinLabel(5, "FMD3o");
for (Int_t i = 0; i < nEta; i++) {
Double_t leta = fMaxWeights->GetXaxis()->GetBinCenter(i+1);
Double_t w[5];
w[0] = fFMD1iMax[i] = FindMaxWeight(cor, 1, 'I', leta);
w[1] = fFMD2iMax[i] = FindMaxWeight(cor, 2, 'I', leta);
w[2] = fFMD2oMax[i] = FindMaxWeight(cor, 2, 'O', leta);
w[3] = fFMD3iMax[i] = FindMaxWeight(cor, 3, 'I', leta);
w[4] = fFMD3oMax[i] = FindMaxWeight(cor, 3, 'O', leta);
for (Int_t j = 0; j < 5; j++)
if (w[j] > 0) fMaxWeights->SetBinContent(i+1, j+1, w[j]);
}
fCuts.FillHistogram(fLowCuts);
}
Int_t
AliFMDDensityCalculator::GetMaxWeight(UShort_t d, Char_t r, Int_t iEta) const
{
if (iEta < 0) return -1;
const TArrayI* max = 0;
switch (d) {
case 1: max = &fFMD1iMax; break;
case 2: max = (r == 'I' || r == 'i' ? &fFMD2iMax : &fFMD2oMax); break;
case 3: max = (r == 'I' || r == 'i' ? &fFMD3iMax : &fFMD3oMax); break;
}
if (!max) {
AliWarning(Form("No array for FMD%d%c", d, r));
return -1;
}
if (iEta >= max->fN) {
AliWarning(Form("Eta bin %3d out of bounds [0,%d]",
iEta, max->fN-1));
return -1;
}
AliDebug(30,Form("Max weight for FMD%d%c eta bin %3d: %d", d, r, iEta,
max->At(iEta)));
return max->At(iEta);
}
Int_t
AliFMDDensityCalculator::GetMaxWeight(UShort_t d, Char_t r, Float_t eta) const
{
AliForwardCorrectionManager& fcm = AliForwardCorrectionManager::Instance();
Int_t iEta = fcm.GetELossFit()->FindEtaBin(eta) -1;
return GetMaxWeight(d, r, iEta);
}
Float_t
AliFMDDensityCalculator::NParticles(Float_t mult,
UShort_t d,
Char_t r,
Float_t eta,
Bool_t lowFlux) const
{
DGUARD(fDebug, 3, "Calculate Nch in FMD density calculator");
if (lowFlux) return 1;
AliForwardCorrectionManager& fcm = AliForwardCorrectionManager::Instance();
AliFMDCorrELossFit::ELossFit* fit = fcm.GetELossFit()->FindFit(d,r,eta, -1);
if (!fit) {
AliWarning(Form("No energy loss fit for FMD%d%c at eta=%f qual=%d",
d, r, eta, fMinQuality));
return 0;
}
Int_t m = GetMaxWeight(d,r,eta);
if (m < 1) {
AliWarning(Form("No good fits for FMD%d%c at eta=%f", d, r, eta));
return 0;
}
UShort_t n = TMath::Min(fMaxParticles, UShort_t(m));
Double_t ret = fit->EvaluateWeighted(mult, n);
if (fDebug > 10) {
AliInfo(Form("FMD%d%c, eta=%7.4f, %8.5f -> %8.5f", d, r, eta, mult, ret));
}
fWeightedSum->Fill(ret);
fSumOfWeights->Fill(ret);
return ret;
}
Float_t
AliFMDDensityCalculator::Correction(UShort_t d,
Char_t r,
UShort_t t,
Float_t eta,
Bool_t lowFlux) const
{
DGUARD(fDebug, 10, "Apply correction in FMD density calculator");
Float_t correction = 1;
if (fUsePhiAcceptance == kPhiCorrectNch)
correction = AcceptanceCorrection(r,t);
if (lowFlux) {
AliForwardCorrectionManager& fcm = AliForwardCorrectionManager::Instance();
TH1D* dblHitCor = 0;
if (fcm.GetDoubleHit())
dblHitCor = fcm.GetDoubleHit()->GetCorrection(d,r);
if (dblHitCor) {
Double_t dblC = dblHitCor->GetBinContent(dblHitCor->FindBin(eta));
if (dblC > 0) correction *= dblC;
}
}
return correction;
}
TH1D*
AliFMDDensityCalculator::GenerateAcceptanceCorrection(Char_t r) const
{
DGUARD(fDebug, 3, "Make acceptance correction in FMD density calculator");
const Double_t ic1[] = { 4.9895, 15.3560 };
const Double_t ic2[] = { 1.8007, 17.2000 };
const Double_t oc1[] = { 4.2231, 26.6638 };
const Double_t oc2[] = { 1.8357, 27.9500 };
const Double_t* c1 = (r == 'I' || r == 'i' ? ic1 : oc1);
const Double_t* c2 = (r == 'I' || r == 'i' ? ic2 : oc2);
Double_t minR = (r == 'I' || r == 'i' ? 4.5213 : 15.4);
Double_t maxR = (r == 'I' || r == 'i' ? 17.2 : 28.0);
Int_t nStrips = (r == 'I' || r == 'i' ? 512 : 256);
Int_t nSec = (r == 'I' || r == 'i' ? 20 : 40);
Float_t basearc = 2 * TMath::Pi() / nSec;
Double_t rad = maxR - minR;
Float_t segment = rad / nStrips;
Float_t cr = TMath::Sqrt(c1[0]*c1[0]+c1[1]*c1[1]);
Float_t D = c1[0] * c2[1] - c1[1] * c2[0];
Float_t dx = c2[0] - c1[0];
Float_t dy = c2[1] - c1[1];
Float_t dr = TMath::Sqrt(dx*dx+dy*dy);
TH1D* ret = new TH1D(Form("acc%c", r),
Form("Acceptance correction for FMDx%c", r),
nStrips, -.5, nStrips-.5);
ret->SetXTitle("Strip");
ret->SetYTitle("#varphi acceptance");
ret->SetDirectory(0);
ret->SetFillColor(r == 'I' || r == 'i' ? kRed+1 : kBlue+1);
ret->SetFillStyle(3001);
for (Int_t t = 0; t < nStrips; t++) {
Float_t radius = minR + t * segment;
if (radius <= cr) {
ret->SetBinContent(t+1, 1);
continue;
}
Float_t det = radius * radius * dr * dr - D*D;
if (det <= 0) {
ret->SetBinContent(t+1, 1);
continue;
}
Float_t x = (+D * dy + dx * TMath::Sqrt(det)) / dr / dr;
Float_t y = (-D * dx + dy * TMath::Sqrt(det)) / dr / dr;
Float_t th = TMath::ATan2(x, y);
ret->SetBinContent(t+1, th / basearc);
}
return ret;
}
Float_t
AliFMDDensityCalculator::AcceptanceCorrection(Char_t r, UShort_t t) const
{
TH1D* acc = (r == 'I' || r == 'i' ? fAccI : fAccO);
return acc->GetBinContent(t+1);
}
void
AliFMDDensityCalculator::Terminate(const TList* dir, TList* output,
Int_t nEvents)
{
DGUARD(fDebug, 1, "Scale histograms in FMD density calculator");
if (nEvents <= 0) return;
TList* d = static_cast<TList*>(dir->FindObject(GetName()));
if (!d) return;
TList* out = new TList;
out->SetName(d->GetName());
out->SetOwner();
TIter next(&fRingHistos);
RingHistos* o = 0;
THStack* sums = new THStack("sums", "sums of ring signals");
while ((o = static_cast<RingHistos*>(next()))) {
o->Terminate(d, nEvents);
if (!o->fDensity) {
Warning("Terminate", "No density in %s", o->GetName());
continue;
}
TH1D* sum = o->fDensity->ProjectionX(o->GetName(), 1,
o->fDensity->GetNbinsY(),"e");
sum->Scale(1., "width");
sum->SetTitle(o->GetName());
sum->SetDirectory(0);
sum->SetYTitle("#sum N_{ch,incl}");
sums->Add(sum);
}
out->Add(sums);
output->Add(out);
}
void
AliFMDDensityCalculator::CreateOutputObjects(TList* dir)
{
DGUARD(fDebug, 1, "Define output FMD density calculator");
TList* d = new TList;
d->SetOwner();
d->SetName(GetName());
dir->Add(d);
d->Add(fWeightedSum);
d->Add(fSumOfWeights);
d->Add(fCorrections);
d->Add(fAccI);
d->Add(fAccO);
d->Add(fMaxWeights);
d->Add(fLowCuts);
TParameter<int>* nFiles = new TParameter<int>("nFiles", 1);
nFiles->SetMergeMode('+');
d->Add(AliForwardUtil::MakeParameter("maxParticle", fMaxParticles));
d->Add(AliForwardUtil::MakeParameter("minQuality", fMinQuality));
d->Add(AliForwardUtil::MakeParameter("method", fUsePoisson));
d->Add(AliForwardUtil::MakeParameter("phiAcceptance",fUsePhiAcceptance));
d->Add(AliForwardUtil::MakeParameter("etaLumping", fEtaLumping));
d->Add(AliForwardUtil::MakeParameter("phiLumping", fPhiLumping));
d->Add(AliForwardUtil::MakeParameter("recalcPhi", fRecalculatePhi));
d->Add(AliForwardUtil::MakeParameter("maxOutliers", fMaxOutliers));
d->Add(AliForwardUtil::MakeParameter("outlierCut", fOutlierCut));
d->Add(nFiles);
fCuts.Output(d,"lCuts");
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next()))) {
o->fPoisson.SetLumping(fEtaLumping, fPhiLumping);
o->CreateOutputObjects(d);
}
if (!fDoTiming) return;
fHTiming = new TProfile("timing", "#LTt_{part}#GT", 8, .5, 8.5);
fHTiming->SetDirectory(0);
fHTiming->SetYTitle("#LTt_{part}#GT");
fHTiming->SetXTitle("Part");
fHTiming->SetFillColor(kRed+1);
fHTiming->SetFillStyle(3001);
fHTiming->SetMarkerStyle(20);
fHTiming->SetMarkerColor(kBlack);
fHTiming->SetLineColor(kBlack);
fHTiming->SetStats(0);
TAxis* xaxis = fHTiming->GetXaxis();
xaxis->SetBinLabel(1, "Re-calculation of #eta");
xaxis->SetBinLabel(2, "N_{particle}");
xaxis->SetBinLabel(3, "Correction");
xaxis->SetBinLabel(4, "Re-calculation of #phi");
xaxis->SetBinLabel(5, "Copy to cache");
xaxis->SetBinLabel(6, "Poisson calculation");
xaxis->SetBinLabel(7, "Diagnostics");
xaxis->SetBinLabel(8, "Total");
d->Add(fHTiming);
}
#define PF(N,V,...) \
AliForwardUtil::PrintField(N,V, ## __VA_ARGS__)
#define PFB(N,FLAG) \
do { \
AliForwardUtil::PrintName(N); \
std::cout << std::boolalpha << (FLAG) << std::noboolalpha << std::endl; \
} while(false)
#define PFV(N,VALUE) \
do { \
AliForwardUtil::PrintName(N); \
std::cout << (VALUE) << std::endl; } while(false)
void
AliFMDDensityCalculator::Print(Option_t* option) const
{
AliForwardUtil::PrintTask(*this);
gROOT->IncreaseDirLevel();
TString phiM("none");
switch (fUsePhiAcceptance) {
case kPhiNoCorrect: phiM = "none"; break;
case kPhiCorrectNch: phiM = "correct Nch"; break;
case kPhiCorrectELoss: phiM = "correct energy loss"; break;
}
PFV("Max(particles)", fMaxParticles );
PFV("Min(quality)", fMinQuality );
PFB("Poisson method", fUsePoisson );
PFV("Eta lumping", fEtaLumping );
PFV("Phi lumping", fPhiLumping );
PFB("Recalculate phi", fRecalculatePhi );
PFB("Use phi acceptance", phiM);
PFV("Lower cut", "");
fCuts.Print();
TString opt(option);
opt.ToLower();
if (!opt.Contains("nomax")) {
PFV("Max weights", "");
char ind[64];
for (Int_t i = 0; i < gROOT->GetDirLevel(); i++) ind[i] = ' ';
ind[gROOT->GetDirLevel()] = '\0';
for (UShort_t d=1; d<=3; d++) {
UShort_t nr = (d == 1 ? 1 : 2);
for (UShort_t q=0; q<nr; q++) {
ind[gROOT->GetDirLevel()] = ' ';
ind[gROOT->GetDirLevel()+1] = '\0';
Char_t r = (q == 0 ? 'I' : 'O');
std::cout << ind << " FMD" << d << r << ":";
ind[gROOT->GetDirLevel()+1] = ' ';
ind[gROOT->GetDirLevel()+2] = '\0';
const TArrayI& a = (d == 1 ? fFMD1iMax :
(d == 2 ? (r == 'I' ? fFMD2iMax : fFMD2oMax) :
(r == 'I' ? fFMD3iMax : fFMD3oMax)));
Int_t j = 0;
for (Int_t i = 0; i < a.fN; i++) {
if (a.fArray[i] < 1) continue;
if (j % 6 == 0) std::cout << "\n " << ind;
j++;
std::cout << " " << std::setw(3) << i << ": " << a.fArray[i];
}
std::cout << std::endl;
}
}
}
gROOT->DecreaseDirLevel();
}
AliFMDDensityCalculator::RingHistos::RingHistos()
: AliForwardUtil::RingHistos(),
fList(0),
fCorr(0),
fDensity(0),
fELossVsPoisson(0),
fDiffELossPoisson(0),
fELossVsPoissonOut(0),
fDiffELossPoissonOut(0),
fOutliers(0),
fPoisson(),
fELoss(0),
fELossUsed(0),
fMultCut(0),
fTotal(0),
fGood(0),
fPhiAcc(0),
fPhiBefore(0),
fPhiAfter(0)
{
}
AliFMDDensityCalculator::RingHistos::RingHistos(UShort_t d, Char_t r)
: AliForwardUtil::RingHistos(d,r),
fList(0),
fCorr(0),
fDensity(0),
fELossVsPoisson(0),
fDiffELossPoisson(0),
fELossVsPoissonOut(0),
fDiffELossPoissonOut(0),
fOutliers(0),
fPoisson("ignored"),
fELoss(0),
fELossUsed(0),
fMultCut(0),
fTotal(0),
fGood(0),
fPhiAcc(0),
fPhiBefore(0),
fPhiAfter(0)
{
#if 0
fEvsN = new TH2D("elossVsNnocorr",
"#Delta E/#Delta E_{mip} vs uncorrected inclusive N_{ch}",
250, -.5, 24.5, 251, -1.5, 24.5);
fEvsN->SetXTitle("#Delta E/#Delta E_{mip}");
fEvsN->SetYTitle("Inclusive N_{ch} (uncorrected)");
fEvsN->Sumw2();
fEvsN->SetDirectory(0);
fEvsM = static_cast<TH2D*>(fEvsN->Clone("elossVsNcorr"));
fEvsM->SetTitle("#Delta E/#Delta E_{mip} vs corrected inclusive N_{ch}");
fEvsM->SetDirectory(0);
fEtaVsN = new TProfile("etaVsNnocorr",
"Average inclusive N_{ch} vs #eta (uncorrected)",
200, -4, 6);
fEtaVsN->SetXTitle("#eta");
fEtaVsN->SetYTitle("#LT N_{ch,incl}#GT (uncorrected)");
fEtaVsN->SetDirectory(0);
fEtaVsN->SetLineColor(Color());
fEtaVsN->SetFillColor(Color());
fEtaVsM = static_cast<TProfile*>(fEtaVsN->Clone("etaVsNcorr"));
fEtaVsM->SetTitle("Average inclusive N_{ch} vs #eta (corrected)");
fEtaVsM->SetYTitle("#LT N_{ch,incl}#GT (corrected)");
fEtaVsM->SetDirectory(0);
#endif
fCorr = new TProfile("corr", "Average correction", 200, -4, 6);
fCorr->SetXTitle("#eta");
fCorr->SetYTitle("#LT correction#GT");
fCorr->SetDirectory(0);
fCorr->SetLineColor(Color());
fCorr->SetFillColor(Color());
fDensity = new TH2D("inclDensity", "Inclusive N_{ch} density",
200, -4, 6, (r == 'I' || r == 'i' ? 20 : 40),
0, 2*TMath::Pi());
fDensity->SetDirectory(0);
fDensity->Sumw2(); fDensity->SetMarkerColor(Color());
fDensity->SetXTitle("#eta");
fDensity->SetYTitle("#phi [radians]");
fDensity->SetZTitle("Inclusive N_{ch} density");
TArrayD bins;
const char* nchP = "N_{ch}^{Poisson}";
const char* nchE = "N_{ch}^{#Delta}";
AliForwardUtil::MakeLogScale(300, 0, 2, bins);
fELossVsPoisson = new TH2D("elossVsPoisson",
"N_{ch} from energy loss vs from Poisson",
bins.GetSize()-1, bins.GetArray(),
bins.GetSize()-1, bins.GetArray());
fELossVsPoisson->SetDirectory(0);
fELossVsPoisson->SetXTitle(nchE);
fELossVsPoisson->SetYTitle(nchP);
fELossVsPoisson->SetZTitle("Correlation");
fELossVsPoissonOut =
static_cast<TH2D*>(fELossVsPoisson
->Clone(Form("%sOutlier",
fELossVsPoisson->GetName())));
fELossVsPoissonOut->SetDirectory(0);
fELossVsPoissonOut->SetMarkerStyle(20);
fELossVsPoissonOut->SetMarkerSize(0.3);
fELossVsPoissonOut->SetMarkerColor(kBlack);
fELossVsPoissonOut->SetTitle(Form("%s for outliers",
fELossVsPoisson->GetTitle()));
fDiffELossPoisson = new TH1D("diffElossPoisson",
Form("(%s-%s)/%s", nchP, nchE, nchE),
100, -1, 1);
fDiffELossPoisson->SetDirectory(0);
fDiffELossPoisson->SetXTitle(fDiffELossPoisson->GetTitle());
fDiffELossPoisson->SetYTitle("Frequency");
fDiffELossPoisson->SetMarkerColor(Color());
fDiffELossPoisson->SetFillColor(Color());
fDiffELossPoisson->SetFillStyle(3001);
fDiffELossPoisson->Sumw2();
fDiffELossPoissonOut =
static_cast<TH1D*>(fDiffELossPoisson
->Clone(Form("%sOutlier",fDiffELossPoisson->GetName())));
fDiffELossPoissonOut->SetDirectory(0);
fDiffELossPoissonOut->SetTitle(Form("%s for outliers",
fDiffELossPoisson->GetTitle()));
fDiffELossPoissonOut->SetMarkerColor(Color()-2);
fDiffELossPoissonOut->SetFillColor(Color()-2);
fDiffELossPoissonOut->SetFillStyle(3002);
fOutliers = new TH1D("outliers", "Fraction of outliers", 100, 0, 1);
fOutliers->SetDirectory(0);
fOutliers->SetXTitle("N_{outlier}/(N_{outlier}+N_{inside})");
fOutliers->SetYTitle("#sum_{events}#sum_{bins}");
fOutliers->SetFillColor(Color());
fOutliers->SetFillStyle(3001);
fOutliers->SetLineColor(kBlack);
fELoss = new TH1D("eloss", "#Delta/#Delta_{mip} in all strips",
640, -1, 15);
fELoss->SetXTitle("#Delta/#Delta_{mip} (selected)");
fELoss->SetYTitle("P(#Delta/#Delta_{mip})");
fELoss->SetFillColor(Color()-2);
fELoss->SetFillStyle(3003);
fELoss->SetLineColor(kBlack);
fELoss->SetLineStyle(2);
fELoss->SetLineWidth(1);
fELoss->SetDirectory(0);
fELossUsed = static_cast<TH1D*>(fELoss->Clone("elossUsed"));
fELossUsed->SetTitle("#Delta/#Delta_{mip} in used strips");
fELossUsed->SetFillStyle(3002);
fELossUsed->SetLineStyle(1);
fELossUsed->SetDirectory(0);
fPhiBefore = new TH1D("phiBefore", "#phi distribution (before recalc)",
(r == 'I' || r == 'i' ? 20 : 40), 0, 2*TMath::Pi());
fPhiBefore->SetDirectory(0);
fPhiBefore->SetXTitle("#phi");
fPhiBefore->SetYTitle("Events");
fPhiBefore->SetMarkerColor(Color());
fPhiBefore->SetLineColor(Color());
fPhiBefore->SetFillColor(Color());
fPhiBefore->SetFillStyle(3001);
fPhiBefore->SetMarkerStyle(20);
fPhiAfter = static_cast<TH1D*>(fPhiBefore->Clone("phiAfter"));
fPhiAfter->SetTitle("#phi distribution (after re-calc)");
fPhiAfter->SetDirectory(0);
}
AliFMDDensityCalculator::RingHistos::RingHistos(const RingHistos& o)
: AliForwardUtil::RingHistos(o),
fList(o.fList),
fCorr(o.fCorr),
fDensity(o.fDensity),
fELossVsPoisson(o.fELossVsPoisson),
fDiffELossPoisson(o.fDiffELossPoisson),
fELossVsPoissonOut(o.fELossVsPoissonOut),
fDiffELossPoissonOut(o.fDiffELossPoissonOut),
fOutliers(o.fOutliers),
fPoisson(o.fPoisson),
fELoss(o.fELoss),
fELossUsed(o.fELossUsed),
fMultCut(o.fMultCut),
fTotal(o.fTotal),
fGood(o.fGood),
fPhiAcc(o.fPhiAcc),
fPhiBefore(o.fPhiBefore),
fPhiAfter(o.fPhiAfter)
{
}
AliFMDDensityCalculator::RingHistos&
AliFMDDensityCalculator::RingHistos::operator=(const RingHistos& o)
{
if (&o == this) return *this;
AliForwardUtil::RingHistos::operator=(o);
if (fCorr) delete fCorr;
if (fDensity) delete fDensity;
if (fELossVsPoisson) delete fELossVsPoisson;
if (fDiffELossPoisson) delete fDiffELossPoisson;
if (fTotal) delete fTotal;
if (fGood) delete fGood;
if (fPhiAcc) delete fPhiAcc;
if (fPhiBefore) delete fPhiBefore;
if (fPhiAfter) delete fPhiAfter;
fCorr = static_cast<TProfile*>(o.fCorr->Clone());
fDensity = static_cast<TH2D*>(o.fDensity->Clone());
fELossVsPoisson = static_cast<TH2D*>(o.fELossVsPoisson->Clone());
fDiffELossPoisson = static_cast<TH1D*>(o.fDiffELossPoisson->Clone());
fELossVsPoissonOut = static_cast<TH2D*>(o.fELossVsPoisson->Clone());
fDiffELossPoissonOut = static_cast<TH1D*>(o.fDiffELossPoisson->Clone());
fOutliers = static_cast<TH1D*>(o.fOutliers->Clone());
fPoisson = o.fPoisson;
fELoss = static_cast<TH1D*>(o.fELoss->Clone());
fELossUsed = static_cast<TH1D*>(o.fELossUsed->Clone());
fTotal = static_cast<TH1D*>(o.fTotal->Clone());
fGood = static_cast<TH1D*>(o.fGood->Clone());
fPhiAcc = static_cast<TH2D*>(o.fPhiAcc->Clone());
fPhiBefore = static_cast<TH1D*>(o.fPhiBefore->Clone());
fPhiAfter = static_cast<TH1D*>(o.fPhiAfter->Clone());
return *this;
}
AliFMDDensityCalculator::RingHistos::~RingHistos()
{
}
void
AliFMDDensityCalculator::RingHistos::SetupForData(const TAxis& eAxis)
{
fPoisson.Init(-1,-1);
fTotal = new TH1D("total", "Total # of strips per #eta",
eAxis.GetNbins(), eAxis.GetXmin(), eAxis.GetXmax());
fTotal->SetDirectory(0);
fTotal->SetXTitle("#eta");
fTotal->SetYTitle("# of strips");
fGood = static_cast<TH1D*>(fTotal->Clone("good"));
fGood->SetTitle("# of good strips per #eta");
fGood->SetDirectory(0);
fPhiAcc = new TH2D("phiAcc", "#phi acceptance vs Ip_{z}",
eAxis.GetNbins(), eAxis.GetXmin(), eAxis.GetXmax(),
10, -10, 10);
fPhiAcc->SetXTitle("#eta");
fPhiAcc->SetYTitle("v_{z} [cm]");
fPhiAcc->SetZTitle("#phi acceptance");
fPhiAcc->SetDirectory(0);
if (fList) fList->Add(fPhiAcc);
}
void
AliFMDDensityCalculator::RingHistos::CreateOutputObjects(TList* dir)
{
TList* d = DefineOutputList(dir);
d->Add(fCorr);
d->Add(fDensity);
d->Add(fELossVsPoisson);
d->Add(fELossVsPoissonOut);
d->Add(fDiffELossPoisson);
d->Add(fDiffELossPoissonOut);
d->Add(fOutliers);
fPoisson.Output(d);
fPoisson.GetOccupancy()->SetFillColor(Color());
fPoisson.GetMean()->SetFillColor(Color());
fPoisson.GetOccupancy()->SetFillColor(Color());
d->Add(fELoss);
d->Add(fELossUsed);
d->Add(fPhiBefore);
d->Add(fPhiAfter);
TAxis x(NStrip(), -.5, NStrip()-.5);
TAxis y(NSector(), -.5, NSector()-.5);
x.SetTitle("strip");
y.SetTitle("sector");
fPoisson.Define(x, y);
d->Add(AliForwardUtil::MakeParameter("cut", fMultCut));
fList = d;
}
void
AliFMDDensityCalculator::RingHistos::Terminate(TList* dir, Int_t nEvents)
{
TList* l = GetOutputList(dir);
if (!l) return;
TH2D* density = static_cast<TH2D*>(GetOutputHist(l,"inclDensity"));
if (density) density->Scale(1./nEvents);
fDensity = density;
}
AliFMDDensityCalculator.cxx:1 AliFMDDensityCalculator.cxx:2 AliFMDDensityCalculator.cxx:3 AliFMDDensityCalculator.cxx:4 AliFMDDensityCalculator.cxx:5 AliFMDDensityCalculator.cxx:6 AliFMDDensityCalculator.cxx:7 AliFMDDensityCalculator.cxx:8 AliFMDDensityCalculator.cxx:9 AliFMDDensityCalculator.cxx:10 AliFMDDensityCalculator.cxx:11 AliFMDDensityCalculator.cxx:12 AliFMDDensityCalculator.cxx:13 AliFMDDensityCalculator.cxx:14 AliFMDDensityCalculator.cxx:15 AliFMDDensityCalculator.cxx:16 AliFMDDensityCalculator.cxx:17 AliFMDDensityCalculator.cxx:18 AliFMDDensityCalculator.cxx:19 AliFMDDensityCalculator.cxx:20 AliFMDDensityCalculator.cxx:21 AliFMDDensityCalculator.cxx:22 AliFMDDensityCalculator.cxx:23 AliFMDDensityCalculator.cxx:24 AliFMDDensityCalculator.cxx:25 AliFMDDensityCalculator.cxx:26 AliFMDDensityCalculator.cxx:27 AliFMDDensityCalculator.cxx:28 AliFMDDensityCalculator.cxx:29 AliFMDDensityCalculator.cxx:30 AliFMDDensityCalculator.cxx:31 AliFMDDensityCalculator.cxx:32 AliFMDDensityCalculator.cxx:33 AliFMDDensityCalculator.cxx:34 AliFMDDensityCalculator.cxx:35 AliFMDDensityCalculator.cxx:36 AliFMDDensityCalculator.cxx:37 AliFMDDensityCalculator.cxx:38 AliFMDDensityCalculator.cxx:39 AliFMDDensityCalculator.cxx:40 AliFMDDensityCalculator.cxx:41 AliFMDDensityCalculator.cxx:42 AliFMDDensityCalculator.cxx:43 AliFMDDensityCalculator.cxx:44 AliFMDDensityCalculator.cxx:45 AliFMDDensityCalculator.cxx:46 AliFMDDensityCalculator.cxx:47 AliFMDDensityCalculator.cxx:48 AliFMDDensityCalculator.cxx:49 AliFMDDensityCalculator.cxx:50 AliFMDDensityCalculator.cxx:51 AliFMDDensityCalculator.cxx:52 AliFMDDensityCalculator.cxx:53 AliFMDDensityCalculator.cxx:54 AliFMDDensityCalculator.cxx:55 AliFMDDensityCalculator.cxx:56 AliFMDDensityCalculator.cxx:57 AliFMDDensityCalculator.cxx:58 AliFMDDensityCalculator.cxx:59 AliFMDDensityCalculator.cxx:60 AliFMDDensityCalculator.cxx:61 AliFMDDensityCalculator.cxx:62 AliFMDDensityCalculator.cxx:63 AliFMDDensityCalculator.cxx:64 AliFMDDensityCalculator.cxx:65 AliFMDDensityCalculator.cxx:66 AliFMDDensityCalculator.cxx:67 AliFMDDensityCalculator.cxx:68 AliFMDDensityCalculator.cxx:69 AliFMDDensityCalculator.cxx:70 AliFMDDensityCalculator.cxx:71 AliFMDDensityCalculator.cxx:72 AliFMDDensityCalculator.cxx:73 AliFMDDensityCalculator.cxx:74 AliFMDDensityCalculator.cxx:75 AliFMDDensityCalculator.cxx:76 AliFMDDensityCalculator.cxx:77 AliFMDDensityCalculator.cxx:78 AliFMDDensityCalculator.cxx:79 AliFMDDensityCalculator.cxx:80 AliFMDDensityCalculator.cxx:81 AliFMDDensityCalculator.cxx:82 AliFMDDensityCalculator.cxx:83 AliFMDDensityCalculator.cxx:84 AliFMDDensityCalculator.cxx:85 AliFMDDensityCalculator.cxx:86 AliFMDDensityCalculator.cxx:87 AliFMDDensityCalculator.cxx:88 AliFMDDensityCalculator.cxx:89 AliFMDDensityCalculator.cxx:90 AliFMDDensityCalculator.cxx:91 AliFMDDensityCalculator.cxx:92 AliFMDDensityCalculator.cxx:93 AliFMDDensityCalculator.cxx:94 AliFMDDensityCalculator.cxx:95 AliFMDDensityCalculator.cxx:96 AliFMDDensityCalculator.cxx:97 AliFMDDensityCalculator.cxx:98 AliFMDDensityCalculator.cxx:99 AliFMDDensityCalculator.cxx:100 AliFMDDensityCalculator.cxx:101 AliFMDDensityCalculator.cxx:102 AliFMDDensityCalculator.cxx:103 AliFMDDensityCalculator.cxx:104 AliFMDDensityCalculator.cxx:105 AliFMDDensityCalculator.cxx:106 AliFMDDensityCalculator.cxx:107 AliFMDDensityCalculator.cxx:108 AliFMDDensityCalculator.cxx:109 AliFMDDensityCalculator.cxx:110 AliFMDDensityCalculator.cxx:111 AliFMDDensityCalculator.cxx:112 AliFMDDensityCalculator.cxx:113 AliFMDDensityCalculator.cxx:114 AliFMDDensityCalculator.cxx:115 AliFMDDensityCalculator.cxx:116 AliFMDDensityCalculator.cxx:117 AliFMDDensityCalculator.cxx:118 AliFMDDensityCalculator.cxx:119 AliFMDDensityCalculator.cxx:120 AliFMDDensityCalculator.cxx:121 AliFMDDensityCalculator.cxx:122 AliFMDDensityCalculator.cxx:123 AliFMDDensityCalculator.cxx:124 AliFMDDensityCalculator.cxx:125 AliFMDDensityCalculator.cxx:126 AliFMDDensityCalculator.cxx:127 AliFMDDensityCalculator.cxx:128 AliFMDDensityCalculator.cxx:129 AliFMDDensityCalculator.cxx:130 AliFMDDensityCalculator.cxx:131 AliFMDDensityCalculator.cxx:132 AliFMDDensityCalculator.cxx:133 AliFMDDensityCalculator.cxx:134 AliFMDDensityCalculator.cxx:135 AliFMDDensityCalculator.cxx:136 AliFMDDensityCalculator.cxx:137 AliFMDDensityCalculator.cxx:138 AliFMDDensityCalculator.cxx:139 AliFMDDensityCalculator.cxx:140 AliFMDDensityCalculator.cxx:141 AliFMDDensityCalculator.cxx:142 AliFMDDensityCalculator.cxx:143 AliFMDDensityCalculator.cxx:144 AliFMDDensityCalculator.cxx:145 AliFMDDensityCalculator.cxx:146 AliFMDDensityCalculator.cxx:147 AliFMDDensityCalculator.cxx:148 AliFMDDensityCalculator.cxx:149 AliFMDDensityCalculator.cxx:150 AliFMDDensityCalculator.cxx:151 AliFMDDensityCalculator.cxx:152 AliFMDDensityCalculator.cxx:153 AliFMDDensityCalculator.cxx:154 AliFMDDensityCalculator.cxx:155 AliFMDDensityCalculator.cxx:156 AliFMDDensityCalculator.cxx:157 AliFMDDensityCalculator.cxx:158 AliFMDDensityCalculator.cxx:159 AliFMDDensityCalculator.cxx:160 AliFMDDensityCalculator.cxx:161 AliFMDDensityCalculator.cxx:162 AliFMDDensityCalculator.cxx:163 AliFMDDensityCalculator.cxx:164 AliFMDDensityCalculator.cxx:165 AliFMDDensityCalculator.cxx:166 AliFMDDensityCalculator.cxx:167 AliFMDDensityCalculator.cxx:168 AliFMDDensityCalculator.cxx:169 AliFMDDensityCalculator.cxx:170 AliFMDDensityCalculator.cxx:171 AliFMDDensityCalculator.cxx:172 AliFMDDensityCalculator.cxx:173 AliFMDDensityCalculator.cxx:174 AliFMDDensityCalculator.cxx:175 AliFMDDensityCalculator.cxx:176 AliFMDDensityCalculator.cxx:177 AliFMDDensityCalculator.cxx:178 AliFMDDensityCalculator.cxx:179 AliFMDDensityCalculator.cxx:180 AliFMDDensityCalculator.cxx:181 AliFMDDensityCalculator.cxx:182 AliFMDDensityCalculator.cxx:183 AliFMDDensityCalculator.cxx:184 AliFMDDensityCalculator.cxx:185 AliFMDDensityCalculator.cxx:186 AliFMDDensityCalculator.cxx:187 AliFMDDensityCalculator.cxx:188 AliFMDDensityCalculator.cxx:189 AliFMDDensityCalculator.cxx:190 AliFMDDensityCalculator.cxx:191 AliFMDDensityCalculator.cxx:192 AliFMDDensityCalculator.cxx:193 AliFMDDensityCalculator.cxx:194 AliFMDDensityCalculator.cxx:195 AliFMDDensityCalculator.cxx:196 AliFMDDensityCalculator.cxx:197 AliFMDDensityCalculator.cxx:198 AliFMDDensityCalculator.cxx:199 AliFMDDensityCalculator.cxx:200 AliFMDDensityCalculator.cxx:201 AliFMDDensityCalculator.cxx:202 AliFMDDensityCalculator.cxx:203 AliFMDDensityCalculator.cxx:204 AliFMDDensityCalculator.cxx:205 AliFMDDensityCalculator.cxx:206 AliFMDDensityCalculator.cxx:207 AliFMDDensityCalculator.cxx:208 AliFMDDensityCalculator.cxx:209 AliFMDDensityCalculator.cxx:210 AliFMDDensityCalculator.cxx:211 AliFMDDensityCalculator.cxx:212 AliFMDDensityCalculator.cxx:213 AliFMDDensityCalculator.cxx:214 AliFMDDensityCalculator.cxx:215 AliFMDDensityCalculator.cxx:216 AliFMDDensityCalculator.cxx:217 AliFMDDensityCalculator.cxx:218 AliFMDDensityCalculator.cxx:219 AliFMDDensityCalculator.cxx:220 AliFMDDensityCalculator.cxx:221 AliFMDDensityCalculator.cxx:222 AliFMDDensityCalculator.cxx:223 AliFMDDensityCalculator.cxx:224 AliFMDDensityCalculator.cxx:225 AliFMDDensityCalculator.cxx:226 AliFMDDensityCalculator.cxx:227 AliFMDDensityCalculator.cxx:228 AliFMDDensityCalculator.cxx:229 AliFMDDensityCalculator.cxx:230 AliFMDDensityCalculator.cxx:231 AliFMDDensityCalculator.cxx:232 AliFMDDensityCalculator.cxx:233 AliFMDDensityCalculator.cxx:234 AliFMDDensityCalculator.cxx:235 AliFMDDensityCalculator.cxx:236 AliFMDDensityCalculator.cxx:237 AliFMDDensityCalculator.cxx:238 AliFMDDensityCalculator.cxx:239 AliFMDDensityCalculator.cxx:240 AliFMDDensityCalculator.cxx:241 AliFMDDensityCalculator.cxx:242 AliFMDDensityCalculator.cxx:243 AliFMDDensityCalculator.cxx:244 AliFMDDensityCalculator.cxx:245 AliFMDDensityCalculator.cxx:246 AliFMDDensityCalculator.cxx:247 AliFMDDensityCalculator.cxx:248 AliFMDDensityCalculator.cxx:249 AliFMDDensityCalculator.cxx:250 AliFMDDensityCalculator.cxx:251 AliFMDDensityCalculator.cxx:252 AliFMDDensityCalculator.cxx:253 AliFMDDensityCalculator.cxx:254 AliFMDDensityCalculator.cxx:255 AliFMDDensityCalculator.cxx:256 AliFMDDensityCalculator.cxx:257 AliFMDDensityCalculator.cxx:258 AliFMDDensityCalculator.cxx:259 AliFMDDensityCalculator.cxx:260 AliFMDDensityCalculator.cxx:261 AliFMDDensityCalculator.cxx:262 AliFMDDensityCalculator.cxx:263 AliFMDDensityCalculator.cxx:264 AliFMDDensityCalculator.cxx:265 AliFMDDensityCalculator.cxx:266 AliFMDDensityCalculator.cxx:267 AliFMDDensityCalculator.cxx:268 AliFMDDensityCalculator.cxx:269 AliFMDDensityCalculator.cxx:270 AliFMDDensityCalculator.cxx:271 AliFMDDensityCalculator.cxx:272 AliFMDDensityCalculator.cxx:273 AliFMDDensityCalculator.cxx:274 AliFMDDensityCalculator.cxx:275 AliFMDDensityCalculator.cxx:276 AliFMDDensityCalculator.cxx:277 AliFMDDensityCalculator.cxx:278 AliFMDDensityCalculator.cxx:279 AliFMDDensityCalculator.cxx:280 AliFMDDensityCalculator.cxx:281 AliFMDDensityCalculator.cxx:282 AliFMDDensityCalculator.cxx:283 AliFMDDensityCalculator.cxx:284 AliFMDDensityCalculator.cxx:285 AliFMDDensityCalculator.cxx:286 AliFMDDensityCalculator.cxx:287 AliFMDDensityCalculator.cxx:288 AliFMDDensityCalculator.cxx:289 AliFMDDensityCalculator.cxx:290 AliFMDDensityCalculator.cxx:291 AliFMDDensityCalculator.cxx:292 AliFMDDensityCalculator.cxx:293 AliFMDDensityCalculator.cxx:294 AliFMDDensityCalculator.cxx:295 AliFMDDensityCalculator.cxx:296 AliFMDDensityCalculator.cxx:297 AliFMDDensityCalculator.cxx:298 AliFMDDensityCalculator.cxx:299 AliFMDDensityCalculator.cxx:300 AliFMDDensityCalculator.cxx:301 AliFMDDensityCalculator.cxx:302 AliFMDDensityCalculator.cxx:303 AliFMDDensityCalculator.cxx:304 AliFMDDensityCalculator.cxx:305 AliFMDDensityCalculator.cxx:306 AliFMDDensityCalculator.cxx:307 AliFMDDensityCalculator.cxx:308 AliFMDDensityCalculator.cxx:309 AliFMDDensityCalculator.cxx:310 AliFMDDensityCalculator.cxx:311 AliFMDDensityCalculator.cxx:312 AliFMDDensityCalculator.cxx:313 AliFMDDensityCalculator.cxx:314 AliFMDDensityCalculator.cxx:315 AliFMDDensityCalculator.cxx:316 AliFMDDensityCalculator.cxx:317 AliFMDDensityCalculator.cxx:318 AliFMDDensityCalculator.cxx:319 AliFMDDensityCalculator.cxx:320 AliFMDDensityCalculator.cxx:321 AliFMDDensityCalculator.cxx:322 AliFMDDensityCalculator.cxx:323 AliFMDDensityCalculator.cxx:324 AliFMDDensityCalculator.cxx:325 AliFMDDensityCalculator.cxx:326 AliFMDDensityCalculator.cxx:327 AliFMDDensityCalculator.cxx:328 AliFMDDensityCalculator.cxx:329 AliFMDDensityCalculator.cxx:330 AliFMDDensityCalculator.cxx:331 AliFMDDensityCalculator.cxx:332 AliFMDDensityCalculator.cxx:333 AliFMDDensityCalculator.cxx:334 AliFMDDensityCalculator.cxx:335 AliFMDDensityCalculator.cxx:336 AliFMDDensityCalculator.cxx:337 AliFMDDensityCalculator.cxx:338 AliFMDDensityCalculator.cxx:339 AliFMDDensityCalculator.cxx:340 AliFMDDensityCalculator.cxx:341 AliFMDDensityCalculator.cxx:342 AliFMDDensityCalculator.cxx:343 AliFMDDensityCalculator.cxx:344 AliFMDDensityCalculator.cxx:345 AliFMDDensityCalculator.cxx:346 AliFMDDensityCalculator.cxx:347 AliFMDDensityCalculator.cxx:348 AliFMDDensityCalculator.cxx:349 AliFMDDensityCalculator.cxx:350 AliFMDDensityCalculator.cxx:351 AliFMDDensityCalculator.cxx:352 AliFMDDensityCalculator.cxx:353 AliFMDDensityCalculator.cxx:354 AliFMDDensityCalculator.cxx:355 AliFMDDensityCalculator.cxx:356 AliFMDDensityCalculator.cxx:357 AliFMDDensityCalculator.cxx:358 AliFMDDensityCalculator.cxx:359 AliFMDDensityCalculator.cxx:360 AliFMDDensityCalculator.cxx:361 AliFMDDensityCalculator.cxx:362 AliFMDDensityCalculator.cxx:363 AliFMDDensityCalculator.cxx:364 AliFMDDensityCalculator.cxx:365 AliFMDDensityCalculator.cxx:366 AliFMDDensityCalculator.cxx:367 AliFMDDensityCalculator.cxx:368 AliFMDDensityCalculator.cxx:369 AliFMDDensityCalculator.cxx:370 AliFMDDensityCalculator.cxx:371 AliFMDDensityCalculator.cxx:372 AliFMDDensityCalculator.cxx:373 AliFMDDensityCalculator.cxx:374 AliFMDDensityCalculator.cxx:375 AliFMDDensityCalculator.cxx:376 AliFMDDensityCalculator.cxx:377 AliFMDDensityCalculator.cxx:378 AliFMDDensityCalculator.cxx:379 AliFMDDensityCalculator.cxx:380 AliFMDDensityCalculator.cxx:381 AliFMDDensityCalculator.cxx:382 AliFMDDensityCalculator.cxx:383 AliFMDDensityCalculator.cxx:384 AliFMDDensityCalculator.cxx:385 AliFMDDensityCalculator.cxx:386 AliFMDDensityCalculator.cxx:387 AliFMDDensityCalculator.cxx:388 AliFMDDensityCalculator.cxx:389 AliFMDDensityCalculator.cxx:390 AliFMDDensityCalculator.cxx:391 AliFMDDensityCalculator.cxx:392 AliFMDDensityCalculator.cxx:393 AliFMDDensityCalculator.cxx:394 AliFMDDensityCalculator.cxx:395 AliFMDDensityCalculator.cxx:396 AliFMDDensityCalculator.cxx:397 AliFMDDensityCalculator.cxx:398 AliFMDDensityCalculator.cxx:399 AliFMDDensityCalculator.cxx:400 AliFMDDensityCalculator.cxx:401 AliFMDDensityCalculator.cxx:402 AliFMDDensityCalculator.cxx:403 AliFMDDensityCalculator.cxx:404 AliFMDDensityCalculator.cxx:405 AliFMDDensityCalculator.cxx:406 AliFMDDensityCalculator.cxx:407 AliFMDDensityCalculator.cxx:408 AliFMDDensityCalculator.cxx:409 AliFMDDensityCalculator.cxx:410 AliFMDDensityCalculator.cxx:411 AliFMDDensityCalculator.cxx:412 AliFMDDensityCalculator.cxx:413 AliFMDDensityCalculator.cxx:414 AliFMDDensityCalculator.cxx:415 AliFMDDensityCalculator.cxx:416 AliFMDDensityCalculator.cxx:417 AliFMDDensityCalculator.cxx:418 AliFMDDensityCalculator.cxx:419 AliFMDDensityCalculator.cxx:420 AliFMDDensityCalculator.cxx:421 AliFMDDensityCalculator.cxx:422 AliFMDDensityCalculator.cxx:423 AliFMDDensityCalculator.cxx:424 AliFMDDensityCalculator.cxx:425 AliFMDDensityCalculator.cxx:426 AliFMDDensityCalculator.cxx:427 AliFMDDensityCalculator.cxx:428 AliFMDDensityCalculator.cxx:429 AliFMDDensityCalculator.cxx:430 AliFMDDensityCalculator.cxx:431 AliFMDDensityCalculator.cxx:432 AliFMDDensityCalculator.cxx:433 AliFMDDensityCalculator.cxx:434 AliFMDDensityCalculator.cxx:435 AliFMDDensityCalculator.cxx:436 AliFMDDensityCalculator.cxx:437 AliFMDDensityCalculator.cxx:438 AliFMDDensityCalculator.cxx:439 AliFMDDensityCalculator.cxx:440 AliFMDDensityCalculator.cxx:441 AliFMDDensityCalculator.cxx:442 AliFMDDensityCalculator.cxx:443 AliFMDDensityCalculator.cxx:444 AliFMDDensityCalculator.cxx:445 AliFMDDensityCalculator.cxx:446 AliFMDDensityCalculator.cxx:447 AliFMDDensityCalculator.cxx:448 AliFMDDensityCalculator.cxx:449 AliFMDDensityCalculator.cxx:450 AliFMDDensityCalculator.cxx:451 AliFMDDensityCalculator.cxx:452 AliFMDDensityCalculator.cxx:453 AliFMDDensityCalculator.cxx:454 AliFMDDensityCalculator.cxx:455 AliFMDDensityCalculator.cxx:456 AliFMDDensityCalculator.cxx:457 AliFMDDensityCalculator.cxx:458 AliFMDDensityCalculator.cxx:459 AliFMDDensityCalculator.cxx:460 AliFMDDensityCalculator.cxx:461 AliFMDDensityCalculator.cxx:462 AliFMDDensityCalculator.cxx:463 AliFMDDensityCalculator.cxx:464 AliFMDDensityCalculator.cxx:465 AliFMDDensityCalculator.cxx:466 AliFMDDensityCalculator.cxx:467 AliFMDDensityCalculator.cxx:468 AliFMDDensityCalculator.cxx:469 AliFMDDensityCalculator.cxx:470 AliFMDDensityCalculator.cxx:471 AliFMDDensityCalculator.cxx:472 AliFMDDensityCalculator.cxx:473 AliFMDDensityCalculator.cxx:474 AliFMDDensityCalculator.cxx:475 AliFMDDensityCalculator.cxx:476 AliFMDDensityCalculator.cxx:477 AliFMDDensityCalculator.cxx:478 AliFMDDensityCalculator.cxx:479 AliFMDDensityCalculator.cxx:480 AliFMDDensityCalculator.cxx:481 AliFMDDensityCalculator.cxx:482 AliFMDDensityCalculator.cxx:483 AliFMDDensityCalculator.cxx:484 AliFMDDensityCalculator.cxx:485 AliFMDDensityCalculator.cxx:486 AliFMDDensityCalculator.cxx:487 AliFMDDensityCalculator.cxx:488 AliFMDDensityCalculator.cxx:489 AliFMDDensityCalculator.cxx:490 AliFMDDensityCalculator.cxx:491 AliFMDDensityCalculator.cxx:492 AliFMDDensityCalculator.cxx:493 AliFMDDensityCalculator.cxx:494 AliFMDDensityCalculator.cxx:495 AliFMDDensityCalculator.cxx:496 AliFMDDensityCalculator.cxx:497 AliFMDDensityCalculator.cxx:498 AliFMDDensityCalculator.cxx:499 AliFMDDensityCalculator.cxx:500 AliFMDDensityCalculator.cxx:501 AliFMDDensityCalculator.cxx:502 AliFMDDensityCalculator.cxx:503 AliFMDDensityCalculator.cxx:504 AliFMDDensityCalculator.cxx:505 AliFMDDensityCalculator.cxx:506 AliFMDDensityCalculator.cxx:507 AliFMDDensityCalculator.cxx:508 AliFMDDensityCalculator.cxx:509 AliFMDDensityCalculator.cxx:510 AliFMDDensityCalculator.cxx:511 AliFMDDensityCalculator.cxx:512 AliFMDDensityCalculator.cxx:513 AliFMDDensityCalculator.cxx:514 AliFMDDensityCalculator.cxx:515 AliFMDDensityCalculator.cxx:516 AliFMDDensityCalculator.cxx:517 AliFMDDensityCalculator.cxx:518 AliFMDDensityCalculator.cxx:519 AliFMDDensityCalculator.cxx:520 AliFMDDensityCalculator.cxx:521 AliFMDDensityCalculator.cxx:522 AliFMDDensityCalculator.cxx:523 AliFMDDensityCalculator.cxx:524 AliFMDDensityCalculator.cxx:525 AliFMDDensityCalculator.cxx:526 AliFMDDensityCalculator.cxx:527 AliFMDDensityCalculator.cxx:528 AliFMDDensityCalculator.cxx:529 AliFMDDensityCalculator.cxx:530 AliFMDDensityCalculator.cxx:531 AliFMDDensityCalculator.cxx:532 AliFMDDensityCalculator.cxx:533 AliFMDDensityCalculator.cxx:534 AliFMDDensityCalculator.cxx:535 AliFMDDensityCalculator.cxx:536 AliFMDDensityCalculator.cxx:537 AliFMDDensityCalculator.cxx:538 AliFMDDensityCalculator.cxx:539 AliFMDDensityCalculator.cxx:540 AliFMDDensityCalculator.cxx:541 AliFMDDensityCalculator.cxx:542 AliFMDDensityCalculator.cxx:543 AliFMDDensityCalculator.cxx:544 AliFMDDensityCalculator.cxx:545 AliFMDDensityCalculator.cxx:546 AliFMDDensityCalculator.cxx:547 AliFMDDensityCalculator.cxx:548 AliFMDDensityCalculator.cxx:549 AliFMDDensityCalculator.cxx:550 AliFMDDensityCalculator.cxx:551 AliFMDDensityCalculator.cxx:552 AliFMDDensityCalculator.cxx:553 AliFMDDensityCalculator.cxx:554 AliFMDDensityCalculator.cxx:555 AliFMDDensityCalculator.cxx:556 AliFMDDensityCalculator.cxx:557 AliFMDDensityCalculator.cxx:558 AliFMDDensityCalculator.cxx:559 AliFMDDensityCalculator.cxx:560 AliFMDDensityCalculator.cxx:561 AliFMDDensityCalculator.cxx:562 AliFMDDensityCalculator.cxx:563 AliFMDDensityCalculator.cxx:564 AliFMDDensityCalculator.cxx:565 AliFMDDensityCalculator.cxx:566 AliFMDDensityCalculator.cxx:567 AliFMDDensityCalculator.cxx:568 AliFMDDensityCalculator.cxx:569 AliFMDDensityCalculator.cxx:570 AliFMDDensityCalculator.cxx:571 AliFMDDensityCalculator.cxx:572 AliFMDDensityCalculator.cxx:573 AliFMDDensityCalculator.cxx:574 AliFMDDensityCalculator.cxx:575 AliFMDDensityCalculator.cxx:576 AliFMDDensityCalculator.cxx:577 AliFMDDensityCalculator.cxx:578 AliFMDDensityCalculator.cxx:579 AliFMDDensityCalculator.cxx:580 AliFMDDensityCalculator.cxx:581 AliFMDDensityCalculator.cxx:582 AliFMDDensityCalculator.cxx:583 AliFMDDensityCalculator.cxx:584 AliFMDDensityCalculator.cxx:585 AliFMDDensityCalculator.cxx:586 AliFMDDensityCalculator.cxx:587 AliFMDDensityCalculator.cxx:588 AliFMDDensityCalculator.cxx:589 AliFMDDensityCalculator.cxx:590 AliFMDDensityCalculator.cxx:591 AliFMDDensityCalculator.cxx:592 AliFMDDensityCalculator.cxx:593 AliFMDDensityCalculator.cxx:594 AliFMDDensityCalculator.cxx:595 AliFMDDensityCalculator.cxx:596 AliFMDDensityCalculator.cxx:597 AliFMDDensityCalculator.cxx:598 AliFMDDensityCalculator.cxx:599 AliFMDDensityCalculator.cxx:600 AliFMDDensityCalculator.cxx:601 AliFMDDensityCalculator.cxx:602 AliFMDDensityCalculator.cxx:603 AliFMDDensityCalculator.cxx:604 AliFMDDensityCalculator.cxx:605 AliFMDDensityCalculator.cxx:606 AliFMDDensityCalculator.cxx:607 AliFMDDensityCalculator.cxx:608 AliFMDDensityCalculator.cxx:609 AliFMDDensityCalculator.cxx:610 AliFMDDensityCalculator.cxx:611 AliFMDDensityCalculator.cxx:612 AliFMDDensityCalculator.cxx:613 AliFMDDensityCalculator.cxx:614 AliFMDDensityCalculator.cxx:615 AliFMDDensityCalculator.cxx:616 AliFMDDensityCalculator.cxx:617 AliFMDDensityCalculator.cxx:618 AliFMDDensityCalculator.cxx:619 AliFMDDensityCalculator.cxx:620 AliFMDDensityCalculator.cxx:621 AliFMDDensityCalculator.cxx:622 AliFMDDensityCalculator.cxx:623 AliFMDDensityCalculator.cxx:624 AliFMDDensityCalculator.cxx:625 AliFMDDensityCalculator.cxx:626 AliFMDDensityCalculator.cxx:627 AliFMDDensityCalculator.cxx:628 AliFMDDensityCalculator.cxx:629 AliFMDDensityCalculator.cxx:630 AliFMDDensityCalculator.cxx:631 AliFMDDensityCalculator.cxx:632 AliFMDDensityCalculator.cxx:633 AliFMDDensityCalculator.cxx:634 AliFMDDensityCalculator.cxx:635 AliFMDDensityCalculator.cxx:636 AliFMDDensityCalculator.cxx:637 AliFMDDensityCalculator.cxx:638 AliFMDDensityCalculator.cxx:639 AliFMDDensityCalculator.cxx:640 AliFMDDensityCalculator.cxx:641 AliFMDDensityCalculator.cxx:642 AliFMDDensityCalculator.cxx:643 AliFMDDensityCalculator.cxx:644 AliFMDDensityCalculator.cxx:645 AliFMDDensityCalculator.cxx:646 AliFMDDensityCalculator.cxx:647 AliFMDDensityCalculator.cxx:648 AliFMDDensityCalculator.cxx:649 AliFMDDensityCalculator.cxx:650 AliFMDDensityCalculator.cxx:651 AliFMDDensityCalculator.cxx:652 AliFMDDensityCalculator.cxx:653 AliFMDDensityCalculator.cxx:654 AliFMDDensityCalculator.cxx:655 AliFMDDensityCalculator.cxx:656 AliFMDDensityCalculator.cxx:657 AliFMDDensityCalculator.cxx:658 AliFMDDensityCalculator.cxx:659 AliFMDDensityCalculator.cxx:660 AliFMDDensityCalculator.cxx:661 AliFMDDensityCalculator.cxx:662 AliFMDDensityCalculator.cxx:663 AliFMDDensityCalculator.cxx:664 AliFMDDensityCalculator.cxx:665 AliFMDDensityCalculator.cxx:666 AliFMDDensityCalculator.cxx:667 AliFMDDensityCalculator.cxx:668 AliFMDDensityCalculator.cxx:669 AliFMDDensityCalculator.cxx:670 AliFMDDensityCalculator.cxx:671 AliFMDDensityCalculator.cxx:672 AliFMDDensityCalculator.cxx:673 AliFMDDensityCalculator.cxx:674 AliFMDDensityCalculator.cxx:675 AliFMDDensityCalculator.cxx:676 AliFMDDensityCalculator.cxx:677 AliFMDDensityCalculator.cxx:678 AliFMDDensityCalculator.cxx:679 AliFMDDensityCalculator.cxx:680 AliFMDDensityCalculator.cxx:681 AliFMDDensityCalculator.cxx:682 AliFMDDensityCalculator.cxx:683 AliFMDDensityCalculator.cxx:684 AliFMDDensityCalculator.cxx:685 AliFMDDensityCalculator.cxx:686 AliFMDDensityCalculator.cxx:687 AliFMDDensityCalculator.cxx:688 AliFMDDensityCalculator.cxx:689 AliFMDDensityCalculator.cxx:690 AliFMDDensityCalculator.cxx:691 AliFMDDensityCalculator.cxx:692 AliFMDDensityCalculator.cxx:693 AliFMDDensityCalculator.cxx:694 AliFMDDensityCalculator.cxx:695 AliFMDDensityCalculator.cxx:696 AliFMDDensityCalculator.cxx:697 AliFMDDensityCalculator.cxx:698 AliFMDDensityCalculator.cxx:699 AliFMDDensityCalculator.cxx:700 AliFMDDensityCalculator.cxx:701 AliFMDDensityCalculator.cxx:702 AliFMDDensityCalculator.cxx:703 AliFMDDensityCalculator.cxx:704 AliFMDDensityCalculator.cxx:705 AliFMDDensityCalculator.cxx:706 AliFMDDensityCalculator.cxx:707 AliFMDDensityCalculator.cxx:708 AliFMDDensityCalculator.cxx:709 AliFMDDensityCalculator.cxx:710 AliFMDDensityCalculator.cxx:711 AliFMDDensityCalculator.cxx:712 AliFMDDensityCalculator.cxx:713 AliFMDDensityCalculator.cxx:714 AliFMDDensityCalculator.cxx:715 AliFMDDensityCalculator.cxx:716 AliFMDDensityCalculator.cxx:717 AliFMDDensityCalculator.cxx:718 AliFMDDensityCalculator.cxx:719 AliFMDDensityCalculator.cxx:720 AliFMDDensityCalculator.cxx:721 AliFMDDensityCalculator.cxx:722 AliFMDDensityCalculator.cxx:723 AliFMDDensityCalculator.cxx:724 AliFMDDensityCalculator.cxx:725 AliFMDDensityCalculator.cxx:726 AliFMDDensityCalculator.cxx:727 AliFMDDensityCalculator.cxx:728 AliFMDDensityCalculator.cxx:729 AliFMDDensityCalculator.cxx:730 AliFMDDensityCalculator.cxx:731 AliFMDDensityCalculator.cxx:732 AliFMDDensityCalculator.cxx:733 AliFMDDensityCalculator.cxx:734 AliFMDDensityCalculator.cxx:735 AliFMDDensityCalculator.cxx:736 AliFMDDensityCalculator.cxx:737 AliFMDDensityCalculator.cxx:738 AliFMDDensityCalculator.cxx:739 AliFMDDensityCalculator.cxx:740 AliFMDDensityCalculator.cxx:741 AliFMDDensityCalculator.cxx:742 AliFMDDensityCalculator.cxx:743 AliFMDDensityCalculator.cxx:744 AliFMDDensityCalculator.cxx:745 AliFMDDensityCalculator.cxx:746 AliFMDDensityCalculator.cxx:747 AliFMDDensityCalculator.cxx:748 AliFMDDensityCalculator.cxx:749 AliFMDDensityCalculator.cxx:750 AliFMDDensityCalculator.cxx:751 AliFMDDensityCalculator.cxx:752 AliFMDDensityCalculator.cxx:753 AliFMDDensityCalculator.cxx:754 AliFMDDensityCalculator.cxx:755 AliFMDDensityCalculator.cxx:756 AliFMDDensityCalculator.cxx:757 AliFMDDensityCalculator.cxx:758 AliFMDDensityCalculator.cxx:759 AliFMDDensityCalculator.cxx:760 AliFMDDensityCalculator.cxx:761 AliFMDDensityCalculator.cxx:762 AliFMDDensityCalculator.cxx:763 AliFMDDensityCalculator.cxx:764 AliFMDDensityCalculator.cxx:765 AliFMDDensityCalculator.cxx:766 AliFMDDensityCalculator.cxx:767 AliFMDDensityCalculator.cxx:768 AliFMDDensityCalculator.cxx:769 AliFMDDensityCalculator.cxx:770 AliFMDDensityCalculator.cxx:771 AliFMDDensityCalculator.cxx:772 AliFMDDensityCalculator.cxx:773 AliFMDDensityCalculator.cxx:774 AliFMDDensityCalculator.cxx:775 AliFMDDensityCalculator.cxx:776 AliFMDDensityCalculator.cxx:777 AliFMDDensityCalculator.cxx:778 AliFMDDensityCalculator.cxx:779 AliFMDDensityCalculator.cxx:780 AliFMDDensityCalculator.cxx:781 AliFMDDensityCalculator.cxx:782 AliFMDDensityCalculator.cxx:783 AliFMDDensityCalculator.cxx:784 AliFMDDensityCalculator.cxx:785 AliFMDDensityCalculator.cxx:786 AliFMDDensityCalculator.cxx:787 AliFMDDensityCalculator.cxx:788 AliFMDDensityCalculator.cxx:789 AliFMDDensityCalculator.cxx:790 AliFMDDensityCalculator.cxx:791 AliFMDDensityCalculator.cxx:792 AliFMDDensityCalculator.cxx:793 AliFMDDensityCalculator.cxx:794 AliFMDDensityCalculator.cxx:795 AliFMDDensityCalculator.cxx:796 AliFMDDensityCalculator.cxx:797 AliFMDDensityCalculator.cxx:798 AliFMDDensityCalculator.cxx:799 AliFMDDensityCalculator.cxx:800 AliFMDDensityCalculator.cxx:801 AliFMDDensityCalculator.cxx:802 AliFMDDensityCalculator.cxx:803 AliFMDDensityCalculator.cxx:804 AliFMDDensityCalculator.cxx:805 AliFMDDensityCalculator.cxx:806 AliFMDDensityCalculator.cxx:807 AliFMDDensityCalculator.cxx:808 AliFMDDensityCalculator.cxx:809 AliFMDDensityCalculator.cxx:810 AliFMDDensityCalculator.cxx:811 AliFMDDensityCalculator.cxx:812 AliFMDDensityCalculator.cxx:813 AliFMDDensityCalculator.cxx:814 AliFMDDensityCalculator.cxx:815 AliFMDDensityCalculator.cxx:816 AliFMDDensityCalculator.cxx:817 AliFMDDensityCalculator.cxx:818 AliFMDDensityCalculator.cxx:819 AliFMDDensityCalculator.cxx:820 AliFMDDensityCalculator.cxx:821 AliFMDDensityCalculator.cxx:822 AliFMDDensityCalculator.cxx:823 AliFMDDensityCalculator.cxx:824 AliFMDDensityCalculator.cxx:825 AliFMDDensityCalculator.cxx:826 AliFMDDensityCalculator.cxx:827 AliFMDDensityCalculator.cxx:828 AliFMDDensityCalculator.cxx:829 AliFMDDensityCalculator.cxx:830 AliFMDDensityCalculator.cxx:831 AliFMDDensityCalculator.cxx:832 AliFMDDensityCalculator.cxx:833 AliFMDDensityCalculator.cxx:834 AliFMDDensityCalculator.cxx:835 AliFMDDensityCalculator.cxx:836 AliFMDDensityCalculator.cxx:837 AliFMDDensityCalculator.cxx:838 AliFMDDensityCalculator.cxx:839 AliFMDDensityCalculator.cxx:840 AliFMDDensityCalculator.cxx:841 AliFMDDensityCalculator.cxx:842 AliFMDDensityCalculator.cxx:843 AliFMDDensityCalculator.cxx:844 AliFMDDensityCalculator.cxx:845 AliFMDDensityCalculator.cxx:846 AliFMDDensityCalculator.cxx:847 AliFMDDensityCalculator.cxx:848 AliFMDDensityCalculator.cxx:849 AliFMDDensityCalculator.cxx:850 AliFMDDensityCalculator.cxx:851 AliFMDDensityCalculator.cxx:852 AliFMDDensityCalculator.cxx:853 AliFMDDensityCalculator.cxx:854 AliFMDDensityCalculator.cxx:855 AliFMDDensityCalculator.cxx:856 AliFMDDensityCalculator.cxx:857 AliFMDDensityCalculator.cxx:858 AliFMDDensityCalculator.cxx:859 AliFMDDensityCalculator.cxx:860 AliFMDDensityCalculator.cxx:861 AliFMDDensityCalculator.cxx:862 AliFMDDensityCalculator.cxx:863 AliFMDDensityCalculator.cxx:864 AliFMDDensityCalculator.cxx:865 AliFMDDensityCalculator.cxx:866 AliFMDDensityCalculator.cxx:867 AliFMDDensityCalculator.cxx:868 AliFMDDensityCalculator.cxx:869 AliFMDDensityCalculator.cxx:870 AliFMDDensityCalculator.cxx:871 AliFMDDensityCalculator.cxx:872 AliFMDDensityCalculator.cxx:873 AliFMDDensityCalculator.cxx:874 AliFMDDensityCalculator.cxx:875 AliFMDDensityCalculator.cxx:876 AliFMDDensityCalculator.cxx:877 AliFMDDensityCalculator.cxx:878 AliFMDDensityCalculator.cxx:879 AliFMDDensityCalculator.cxx:880 AliFMDDensityCalculator.cxx:881 AliFMDDensityCalculator.cxx:882 AliFMDDensityCalculator.cxx:883 AliFMDDensityCalculator.cxx:884 AliFMDDensityCalculator.cxx:885 AliFMDDensityCalculator.cxx:886 AliFMDDensityCalculator.cxx:887 AliFMDDensityCalculator.cxx:888 AliFMDDensityCalculator.cxx:889 AliFMDDensityCalculator.cxx:890 AliFMDDensityCalculator.cxx:891 AliFMDDensityCalculator.cxx:892 AliFMDDensityCalculator.cxx:893 AliFMDDensityCalculator.cxx:894 AliFMDDensityCalculator.cxx:895 AliFMDDensityCalculator.cxx:896 AliFMDDensityCalculator.cxx:897 AliFMDDensityCalculator.cxx:898 AliFMDDensityCalculator.cxx:899 AliFMDDensityCalculator.cxx:900 AliFMDDensityCalculator.cxx:901 AliFMDDensityCalculator.cxx:902 AliFMDDensityCalculator.cxx:903 AliFMDDensityCalculator.cxx:904 AliFMDDensityCalculator.cxx:905 AliFMDDensityCalculator.cxx:906 AliFMDDensityCalculator.cxx:907 AliFMDDensityCalculator.cxx:908 AliFMDDensityCalculator.cxx:909 AliFMDDensityCalculator.cxx:910 AliFMDDensityCalculator.cxx:911 AliFMDDensityCalculator.cxx:912 AliFMDDensityCalculator.cxx:913 AliFMDDensityCalculator.cxx:914 AliFMDDensityCalculator.cxx:915 AliFMDDensityCalculator.cxx:916 AliFMDDensityCalculator.cxx:917 AliFMDDensityCalculator.cxx:918 AliFMDDensityCalculator.cxx:919 AliFMDDensityCalculator.cxx:920 AliFMDDensityCalculator.cxx:921 AliFMDDensityCalculator.cxx:922 AliFMDDensityCalculator.cxx:923 AliFMDDensityCalculator.cxx:924 AliFMDDensityCalculator.cxx:925 AliFMDDensityCalculator.cxx:926 AliFMDDensityCalculator.cxx:927 AliFMDDensityCalculator.cxx:928 AliFMDDensityCalculator.cxx:929 AliFMDDensityCalculator.cxx:930 AliFMDDensityCalculator.cxx:931 AliFMDDensityCalculator.cxx:932 AliFMDDensityCalculator.cxx:933 AliFMDDensityCalculator.cxx:934 AliFMDDensityCalculator.cxx:935 AliFMDDensityCalculator.cxx:936 AliFMDDensityCalculator.cxx:937 AliFMDDensityCalculator.cxx:938 AliFMDDensityCalculator.cxx:939 AliFMDDensityCalculator.cxx:940 AliFMDDensityCalculator.cxx:941 AliFMDDensityCalculator.cxx:942 AliFMDDensityCalculator.cxx:943 AliFMDDensityCalculator.cxx:944 AliFMDDensityCalculator.cxx:945 AliFMDDensityCalculator.cxx:946 AliFMDDensityCalculator.cxx:947 AliFMDDensityCalculator.cxx:948 AliFMDDensityCalculator.cxx:949 AliFMDDensityCalculator.cxx:950 AliFMDDensityCalculator.cxx:951 AliFMDDensityCalculator.cxx:952 AliFMDDensityCalculator.cxx:953 AliFMDDensityCalculator.cxx:954 AliFMDDensityCalculator.cxx:955 AliFMDDensityCalculator.cxx:956 AliFMDDensityCalculator.cxx:957 AliFMDDensityCalculator.cxx:958 AliFMDDensityCalculator.cxx:959 AliFMDDensityCalculator.cxx:960 AliFMDDensityCalculator.cxx:961 AliFMDDensityCalculator.cxx:962 AliFMDDensityCalculator.cxx:963 AliFMDDensityCalculator.cxx:964 AliFMDDensityCalculator.cxx:965 AliFMDDensityCalculator.cxx:966 AliFMDDensityCalculator.cxx:967 AliFMDDensityCalculator.cxx:968 AliFMDDensityCalculator.cxx:969 AliFMDDensityCalculator.cxx:970 AliFMDDensityCalculator.cxx:971 AliFMDDensityCalculator.cxx:972 AliFMDDensityCalculator.cxx:973 AliFMDDensityCalculator.cxx:974 AliFMDDensityCalculator.cxx:975 AliFMDDensityCalculator.cxx:976 AliFMDDensityCalculator.cxx:977 AliFMDDensityCalculator.cxx:978 AliFMDDensityCalculator.cxx:979 AliFMDDensityCalculator.cxx:980 AliFMDDensityCalculator.cxx:981 AliFMDDensityCalculator.cxx:982 AliFMDDensityCalculator.cxx:983 AliFMDDensityCalculator.cxx:984 AliFMDDensityCalculator.cxx:985 AliFMDDensityCalculator.cxx:986 AliFMDDensityCalculator.cxx:987 AliFMDDensityCalculator.cxx:988 AliFMDDensityCalculator.cxx:989 AliFMDDensityCalculator.cxx:990 AliFMDDensityCalculator.cxx:991 AliFMDDensityCalculator.cxx:992 AliFMDDensityCalculator.cxx:993 AliFMDDensityCalculator.cxx:994 AliFMDDensityCalculator.cxx:995 AliFMDDensityCalculator.cxx:996 AliFMDDensityCalculator.cxx:997 AliFMDDensityCalculator.cxx:998 AliFMDDensityCalculator.cxx:999 AliFMDDensityCalculator.cxx:1000 AliFMDDensityCalculator.cxx:1001 AliFMDDensityCalculator.cxx:1002 AliFMDDensityCalculator.cxx:1003 AliFMDDensityCalculator.cxx:1004 AliFMDDensityCalculator.cxx:1005 AliFMDDensityCalculator.cxx:1006 AliFMDDensityCalculator.cxx:1007 AliFMDDensityCalculator.cxx:1008 AliFMDDensityCalculator.cxx:1009 AliFMDDensityCalculator.cxx:1010 AliFMDDensityCalculator.cxx:1011 AliFMDDensityCalculator.cxx:1012 AliFMDDensityCalculator.cxx:1013 AliFMDDensityCalculator.cxx:1014 AliFMDDensityCalculator.cxx:1015 AliFMDDensityCalculator.cxx:1016 AliFMDDensityCalculator.cxx:1017 AliFMDDensityCalculator.cxx:1018 AliFMDDensityCalculator.cxx:1019 AliFMDDensityCalculator.cxx:1020 AliFMDDensityCalculator.cxx:1021 AliFMDDensityCalculator.cxx:1022 AliFMDDensityCalculator.cxx:1023 AliFMDDensityCalculator.cxx:1024 AliFMDDensityCalculator.cxx:1025 AliFMDDensityCalculator.cxx:1026 AliFMDDensityCalculator.cxx:1027 AliFMDDensityCalculator.cxx:1028 AliFMDDensityCalculator.cxx:1029 AliFMDDensityCalculator.cxx:1030 AliFMDDensityCalculator.cxx:1031 AliFMDDensityCalculator.cxx:1032 AliFMDDensityCalculator.cxx:1033 AliFMDDensityCalculator.cxx:1034 AliFMDDensityCalculator.cxx:1035 AliFMDDensityCalculator.cxx:1036 AliFMDDensityCalculator.cxx:1037 AliFMDDensityCalculator.cxx:1038 AliFMDDensityCalculator.cxx:1039 AliFMDDensityCalculator.cxx:1040 AliFMDDensityCalculator.cxx:1041 AliFMDDensityCalculator.cxx:1042 AliFMDDensityCalculator.cxx:1043 AliFMDDensityCalculator.cxx:1044 AliFMDDensityCalculator.cxx:1045 AliFMDDensityCalculator.cxx:1046 AliFMDDensityCalculator.cxx:1047 AliFMDDensityCalculator.cxx:1048 AliFMDDensityCalculator.cxx:1049 AliFMDDensityCalculator.cxx:1050 AliFMDDensityCalculator.cxx:1051 AliFMDDensityCalculator.cxx:1052 AliFMDDensityCalculator.cxx:1053 AliFMDDensityCalculator.cxx:1054 AliFMDDensityCalculator.cxx:1055 AliFMDDensityCalculator.cxx:1056 AliFMDDensityCalculator.cxx:1057 AliFMDDensityCalculator.cxx:1058 AliFMDDensityCalculator.cxx:1059 AliFMDDensityCalculator.cxx:1060 AliFMDDensityCalculator.cxx:1061 AliFMDDensityCalculator.cxx:1062 AliFMDDensityCalculator.cxx:1063 AliFMDDensityCalculator.cxx:1064 AliFMDDensityCalculator.cxx:1065 AliFMDDensityCalculator.cxx:1066 AliFMDDensityCalculator.cxx:1067 AliFMDDensityCalculator.cxx:1068 AliFMDDensityCalculator.cxx:1069 AliFMDDensityCalculator.cxx:1070 AliFMDDensityCalculator.cxx:1071 AliFMDDensityCalculator.cxx:1072 AliFMDDensityCalculator.cxx:1073 AliFMDDensityCalculator.cxx:1074 AliFMDDensityCalculator.cxx:1075 AliFMDDensityCalculator.cxx:1076 AliFMDDensityCalculator.cxx:1077 AliFMDDensityCalculator.cxx:1078 AliFMDDensityCalculator.cxx:1079 AliFMDDensityCalculator.cxx:1080 AliFMDDensityCalculator.cxx:1081 AliFMDDensityCalculator.cxx:1082 AliFMDDensityCalculator.cxx:1083 AliFMDDensityCalculator.cxx:1084 AliFMDDensityCalculator.cxx:1085 AliFMDDensityCalculator.cxx:1086 AliFMDDensityCalculator.cxx:1087 AliFMDDensityCalculator.cxx:1088 AliFMDDensityCalculator.cxx:1089 AliFMDDensityCalculator.cxx:1090 AliFMDDensityCalculator.cxx:1091 AliFMDDensityCalculator.cxx:1092 AliFMDDensityCalculator.cxx:1093 AliFMDDensityCalculator.cxx:1094 AliFMDDensityCalculator.cxx:1095 AliFMDDensityCalculator.cxx:1096 AliFMDDensityCalculator.cxx:1097 AliFMDDensityCalculator.cxx:1098 AliFMDDensityCalculator.cxx:1099 AliFMDDensityCalculator.cxx:1100 AliFMDDensityCalculator.cxx:1101 AliFMDDensityCalculator.cxx:1102 AliFMDDensityCalculator.cxx:1103 AliFMDDensityCalculator.cxx:1104 AliFMDDensityCalculator.cxx:1105 AliFMDDensityCalculator.cxx:1106 AliFMDDensityCalculator.cxx:1107 AliFMDDensityCalculator.cxx:1108 AliFMDDensityCalculator.cxx:1109 AliFMDDensityCalculator.cxx:1110 AliFMDDensityCalculator.cxx:1111 AliFMDDensityCalculator.cxx:1112 AliFMDDensityCalculator.cxx:1113 AliFMDDensityCalculator.cxx:1114 AliFMDDensityCalculator.cxx:1115 AliFMDDensityCalculator.cxx:1116 AliFMDDensityCalculator.cxx:1117 AliFMDDensityCalculator.cxx:1118 AliFMDDensityCalculator.cxx:1119 AliFMDDensityCalculator.cxx:1120 AliFMDDensityCalculator.cxx:1121 AliFMDDensityCalculator.cxx:1122 AliFMDDensityCalculator.cxx:1123 AliFMDDensityCalculator.cxx:1124 AliFMDDensityCalculator.cxx:1125 AliFMDDensityCalculator.cxx:1126 AliFMDDensityCalculator.cxx:1127 AliFMDDensityCalculator.cxx:1128 AliFMDDensityCalculator.cxx:1129 AliFMDDensityCalculator.cxx:1130 AliFMDDensityCalculator.cxx:1131 AliFMDDensityCalculator.cxx:1132 AliFMDDensityCalculator.cxx:1133 AliFMDDensityCalculator.cxx:1134 AliFMDDensityCalculator.cxx:1135 AliFMDDensityCalculator.cxx:1136 AliFMDDensityCalculator.cxx:1137 AliFMDDensityCalculator.cxx:1138 AliFMDDensityCalculator.cxx:1139 AliFMDDensityCalculator.cxx:1140 AliFMDDensityCalculator.cxx:1141 AliFMDDensityCalculator.cxx:1142 AliFMDDensityCalculator.cxx:1143 AliFMDDensityCalculator.cxx:1144 AliFMDDensityCalculator.cxx:1145 AliFMDDensityCalculator.cxx:1146 AliFMDDensityCalculator.cxx:1147 AliFMDDensityCalculator.cxx:1148 AliFMDDensityCalculator.cxx:1149 AliFMDDensityCalculator.cxx:1150 AliFMDDensityCalculator.cxx:1151 AliFMDDensityCalculator.cxx:1152 AliFMDDensityCalculator.cxx:1153 AliFMDDensityCalculator.cxx:1154 AliFMDDensityCalculator.cxx:1155 AliFMDDensityCalculator.cxx:1156 AliFMDDensityCalculator.cxx:1157 AliFMDDensityCalculator.cxx:1158 AliFMDDensityCalculator.cxx:1159 AliFMDDensityCalculator.cxx:1160 AliFMDDensityCalculator.cxx:1161 AliFMDDensityCalculator.cxx:1162 AliFMDDensityCalculator.cxx:1163 AliFMDDensityCalculator.cxx:1164 AliFMDDensityCalculator.cxx:1165 AliFMDDensityCalculator.cxx:1166 AliFMDDensityCalculator.cxx:1167 AliFMDDensityCalculator.cxx:1168 AliFMDDensityCalculator.cxx:1169 AliFMDDensityCalculator.cxx:1170 AliFMDDensityCalculator.cxx:1171 AliFMDDensityCalculator.cxx:1172 AliFMDDensityCalculator.cxx:1173 AliFMDDensityCalculator.cxx:1174 AliFMDDensityCalculator.cxx:1175 AliFMDDensityCalculator.cxx:1176 AliFMDDensityCalculator.cxx:1177 AliFMDDensityCalculator.cxx:1178 AliFMDDensityCalculator.cxx:1179 AliFMDDensityCalculator.cxx:1180 AliFMDDensityCalculator.cxx:1181 AliFMDDensityCalculator.cxx:1182 AliFMDDensityCalculator.cxx:1183 AliFMDDensityCalculator.cxx:1184 AliFMDDensityCalculator.cxx:1185 AliFMDDensityCalculator.cxx:1186 AliFMDDensityCalculator.cxx:1187 AliFMDDensityCalculator.cxx:1188 AliFMDDensityCalculator.cxx:1189 AliFMDDensityCalculator.cxx:1190 AliFMDDensityCalculator.cxx:1191 AliFMDDensityCalculator.cxx:1192 AliFMDDensityCalculator.cxx:1193 AliFMDDensityCalculator.cxx:1194 AliFMDDensityCalculator.cxx:1195 AliFMDDensityCalculator.cxx:1196 AliFMDDensityCalculator.cxx:1197 AliFMDDensityCalculator.cxx:1198 AliFMDDensityCalculator.cxx:1199 AliFMDDensityCalculator.cxx:1200 AliFMDDensityCalculator.cxx:1201 AliFMDDensityCalculator.cxx:1202 AliFMDDensityCalculator.cxx:1203 AliFMDDensityCalculator.cxx:1204 AliFMDDensityCalculator.cxx:1205 AliFMDDensityCalculator.cxx:1206 AliFMDDensityCalculator.cxx:1207 AliFMDDensityCalculator.cxx:1208 AliFMDDensityCalculator.cxx:1209 AliFMDDensityCalculator.cxx:1210 AliFMDDensityCalculator.cxx:1211 AliFMDDensityCalculator.cxx:1212 AliFMDDensityCalculator.cxx:1213 AliFMDDensityCalculator.cxx:1214 AliFMDDensityCalculator.cxx:1215 AliFMDDensityCalculator.cxx:1216 AliFMDDensityCalculator.cxx:1217 AliFMDDensityCalculator.cxx:1218 AliFMDDensityCalculator.cxx:1219 AliFMDDensityCalculator.cxx:1220 AliFMDDensityCalculator.cxx:1221 AliFMDDensityCalculator.cxx:1222 AliFMDDensityCalculator.cxx:1223 AliFMDDensityCalculator.cxx:1224 AliFMDDensityCalculator.cxx:1225 AliFMDDensityCalculator.cxx:1226 AliFMDDensityCalculator.cxx:1227 AliFMDDensityCalculator.cxx:1228 AliFMDDensityCalculator.cxx:1229 AliFMDDensityCalculator.cxx:1230 AliFMDDensityCalculator.cxx:1231 AliFMDDensityCalculator.cxx:1232 AliFMDDensityCalculator.cxx:1233 AliFMDDensityCalculator.cxx:1234 AliFMDDensityCalculator.cxx:1235 AliFMDDensityCalculator.cxx:1236 AliFMDDensityCalculator.cxx:1237 AliFMDDensityCalculator.cxx:1238 AliFMDDensityCalculator.cxx:1239 AliFMDDensityCalculator.cxx:1240 AliFMDDensityCalculator.cxx:1241 AliFMDDensityCalculator.cxx:1242 AliFMDDensityCalculator.cxx:1243 AliFMDDensityCalculator.cxx:1244 AliFMDDensityCalculator.cxx:1245 AliFMDDensityCalculator.cxx:1246 AliFMDDensityCalculator.cxx:1247 AliFMDDensityCalculator.cxx:1248 AliFMDDensityCalculator.cxx:1249 AliFMDDensityCalculator.cxx:1250 AliFMDDensityCalculator.cxx:1251 AliFMDDensityCalculator.cxx:1252 AliFMDDensityCalculator.cxx:1253 AliFMDDensityCalculator.cxx:1254 AliFMDDensityCalculator.cxx:1255 AliFMDDensityCalculator.cxx:1256 AliFMDDensityCalculator.cxx:1257 AliFMDDensityCalculator.cxx:1258 AliFMDDensityCalculator.cxx:1259 AliFMDDensityCalculator.cxx:1260 AliFMDDensityCalculator.cxx:1261 AliFMDDensityCalculator.cxx:1262 AliFMDDensityCalculator.cxx:1263 AliFMDDensityCalculator.cxx:1264 AliFMDDensityCalculator.cxx:1265 AliFMDDensityCalculator.cxx:1266 AliFMDDensityCalculator.cxx:1267 AliFMDDensityCalculator.cxx:1268 AliFMDDensityCalculator.cxx:1269 AliFMDDensityCalculator.cxx:1270 AliFMDDensityCalculator.cxx:1271 AliFMDDensityCalculator.cxx:1272 AliFMDDensityCalculator.cxx:1273 AliFMDDensityCalculator.cxx:1274 AliFMDDensityCalculator.cxx:1275 AliFMDDensityCalculator.cxx:1276 AliFMDDensityCalculator.cxx:1277 AliFMDDensityCalculator.cxx:1278 AliFMDDensityCalculator.cxx:1279 AliFMDDensityCalculator.cxx:1280 AliFMDDensityCalculator.cxx:1281 AliFMDDensityCalculator.cxx:1282 AliFMDDensityCalculator.cxx:1283 AliFMDDensityCalculator.cxx:1284 AliFMDDensityCalculator.cxx:1285 AliFMDDensityCalculator.cxx:1286 AliFMDDensityCalculator.cxx:1287 AliFMDDensityCalculator.cxx:1288 AliFMDDensityCalculator.cxx:1289 AliFMDDensityCalculator.cxx:1290 AliFMDDensityCalculator.cxx:1291 AliFMDDensityCalculator.cxx:1292 AliFMDDensityCalculator.cxx:1293 AliFMDDensityCalculator.cxx:1294 AliFMDDensityCalculator.cxx:1295 AliFMDDensityCalculator.cxx:1296 AliFMDDensityCalculator.cxx:1297 AliFMDDensityCalculator.cxx:1298 AliFMDDensityCalculator.cxx:1299 AliFMDDensityCalculator.cxx:1300 AliFMDDensityCalculator.cxx:1301 AliFMDDensityCalculator.cxx:1302 AliFMDDensityCalculator.cxx:1303 AliFMDDensityCalculator.cxx:1304 AliFMDDensityCalculator.cxx:1305 AliFMDDensityCalculator.cxx:1306 AliFMDDensityCalculator.cxx:1307 AliFMDDensityCalculator.cxx:1308 AliFMDDensityCalculator.cxx:1309 AliFMDDensityCalculator.cxx:1310 AliFMDDensityCalculator.cxx:1311 AliFMDDensityCalculator.cxx:1312 AliFMDDensityCalculator.cxx:1313 AliFMDDensityCalculator.cxx:1314 AliFMDDensityCalculator.cxx:1315 AliFMDDensityCalculator.cxx:1316 AliFMDDensityCalculator.cxx:1317 AliFMDDensityCalculator.cxx:1318 AliFMDDensityCalculator.cxx:1319 AliFMDDensityCalculator.cxx:1320 AliFMDDensityCalculator.cxx:1321 AliFMDDensityCalculator.cxx:1322 AliFMDDensityCalculator.cxx:1323 AliFMDDensityCalculator.cxx:1324 AliFMDDensityCalculator.cxx:1325 AliFMDDensityCalculator.cxx:1326 AliFMDDensityCalculator.cxx:1327 AliFMDDensityCalculator.cxx:1328 AliFMDDensityCalculator.cxx:1329 AliFMDDensityCalculator.cxx:1330 AliFMDDensityCalculator.cxx:1331 AliFMDDensityCalculator.cxx:1332 AliFMDDensityCalculator.cxx:1333 AliFMDDensityCalculator.cxx:1334 AliFMDDensityCalculator.cxx:1335 AliFMDDensityCalculator.cxx:1336 AliFMDDensityCalculator.cxx:1337 AliFMDDensityCalculator.cxx:1338 AliFMDDensityCalculator.cxx:1339 AliFMDDensityCalculator.cxx:1340 AliFMDDensityCalculator.cxx:1341 AliFMDDensityCalculator.cxx:1342 AliFMDDensityCalculator.cxx:1343 AliFMDDensityCalculator.cxx:1344 AliFMDDensityCalculator.cxx:1345 AliFMDDensityCalculator.cxx:1346 AliFMDDensityCalculator.cxx:1347 AliFMDDensityCalculator.cxx:1348 AliFMDDensityCalculator.cxx:1349 AliFMDDensityCalculator.cxx:1350 AliFMDDensityCalculator.cxx:1351 AliFMDDensityCalculator.cxx:1352 AliFMDDensityCalculator.cxx:1353 AliFMDDensityCalculator.cxx:1354 AliFMDDensityCalculator.cxx:1355 AliFMDDensityCalculator.cxx:1356 AliFMDDensityCalculator.cxx:1357 AliFMDDensityCalculator.cxx:1358 AliFMDDensityCalculator.cxx:1359 AliFMDDensityCalculator.cxx:1360 AliFMDDensityCalculator.cxx:1361 AliFMDDensityCalculator.cxx:1362 AliFMDDensityCalculator.cxx:1363 AliFMDDensityCalculator.cxx:1364 AliFMDDensityCalculator.cxx:1365 AliFMDDensityCalculator.cxx:1366 AliFMDDensityCalculator.cxx:1367 AliFMDDensityCalculator.cxx:1368 AliFMDDensityCalculator.cxx:1369 AliFMDDensityCalculator.cxx:1370 AliFMDDensityCalculator.cxx:1371 AliFMDDensityCalculator.cxx:1372 AliFMDDensityCalculator.cxx:1373 AliFMDDensityCalculator.cxx:1374 AliFMDDensityCalculator.cxx:1375 AliFMDDensityCalculator.cxx:1376 AliFMDDensityCalculator.cxx:1377 AliFMDDensityCalculator.cxx:1378 AliFMDDensityCalculator.cxx:1379 AliFMDDensityCalculator.cxx:1380 AliFMDDensityCalculator.cxx:1381 AliFMDDensityCalculator.cxx:1382 AliFMDDensityCalculator.cxx:1383 AliFMDDensityCalculator.cxx:1384 AliFMDDensityCalculator.cxx:1385 AliFMDDensityCalculator.cxx:1386 AliFMDDensityCalculator.cxx:1387 AliFMDDensityCalculator.cxx:1388 AliFMDDensityCalculator.cxx:1389 AliFMDDensityCalculator.cxx:1390 AliFMDDensityCalculator.cxx:1391 AliFMDDensityCalculator.cxx:1392 AliFMDDensityCalculator.cxx:1393 AliFMDDensityCalculator.cxx:1394 AliFMDDensityCalculator.cxx:1395 AliFMDDensityCalculator.cxx:1396 AliFMDDensityCalculator.cxx:1397 AliFMDDensityCalculator.cxx:1398 AliFMDDensityCalculator.cxx:1399 AliFMDDensityCalculator.cxx:1400 AliFMDDensityCalculator.cxx:1401 AliFMDDensityCalculator.cxx:1402 AliFMDDensityCalculator.cxx:1403 AliFMDDensityCalculator.cxx:1404 AliFMDDensityCalculator.cxx:1405 AliFMDDensityCalculator.cxx:1406 AliFMDDensityCalculator.cxx:1407 AliFMDDensityCalculator.cxx:1408 AliFMDDensityCalculator.cxx:1409 AliFMDDensityCalculator.cxx:1410 AliFMDDensityCalculator.cxx:1411 AliFMDDensityCalculator.cxx:1412 AliFMDDensityCalculator.cxx:1413 AliFMDDensityCalculator.cxx:1414 AliFMDDensityCalculator.cxx:1415 AliFMDDensityCalculator.cxx:1416 AliFMDDensityCalculator.cxx:1417 AliFMDDensityCalculator.cxx:1418 AliFMDDensityCalculator.cxx:1419 AliFMDDensityCalculator.cxx:1420 AliFMDDensityCalculator.cxx:1421 AliFMDDensityCalculator.cxx:1422 AliFMDDensityCalculator.cxx:1423 AliFMDDensityCalculator.cxx:1424 AliFMDDensityCalculator.cxx:1425 AliFMDDensityCalculator.cxx:1426 AliFMDDensityCalculator.cxx:1427 AliFMDDensityCalculator.cxx:1428 AliFMDDensityCalculator.cxx:1429 AliFMDDensityCalculator.cxx:1430 AliFMDDensityCalculator.cxx:1431 AliFMDDensityCalculator.cxx:1432 AliFMDDensityCalculator.cxx:1433 AliFMDDensityCalculator.cxx:1434 AliFMDDensityCalculator.cxx:1435 AliFMDDensityCalculator.cxx:1436 AliFMDDensityCalculator.cxx:1437 AliFMDDensityCalculator.cxx:1438 AliFMDDensityCalculator.cxx:1439 AliFMDDensityCalculator.cxx:1440 AliFMDDensityCalculator.cxx:1441 AliFMDDensityCalculator.cxx:1442 AliFMDDensityCalculator.cxx:1443 AliFMDDensityCalculator.cxx:1444 AliFMDDensityCalculator.cxx:1445 AliFMDDensityCalculator.cxx:1446 AliFMDDensityCalculator.cxx:1447 AliFMDDensityCalculator.cxx:1448 AliFMDDensityCalculator.cxx:1449 AliFMDDensityCalculator.cxx:1450 AliFMDDensityCalculator.cxx:1451 AliFMDDensityCalculator.cxx:1452 AliFMDDensityCalculator.cxx:1453 AliFMDDensityCalculator.cxx:1454 AliFMDDensityCalculator.cxx:1455 AliFMDDensityCalculator.cxx:1456 AliFMDDensityCalculator.cxx:1457 AliFMDDensityCalculator.cxx:1458 AliFMDDensityCalculator.cxx:1459 AliFMDDensityCalculator.cxx:1460 AliFMDDensityCalculator.cxx:1461 AliFMDDensityCalculator.cxx:1462 AliFMDDensityCalculator.cxx:1463 AliFMDDensityCalculator.cxx:1464 AliFMDDensityCalculator.cxx:1465 AliFMDDensityCalculator.cxx:1466 AliFMDDensityCalculator.cxx:1467 AliFMDDensityCalculator.cxx:1468 AliFMDDensityCalculator.cxx:1469 AliFMDDensityCalculator.cxx:1470 AliFMDDensityCalculator.cxx:1471 AliFMDDensityCalculator.cxx:1472 AliFMDDensityCalculator.cxx:1473 AliFMDDensityCalculator.cxx:1474 AliFMDDensityCalculator.cxx:1475 AliFMDDensityCalculator.cxx:1476 AliFMDDensityCalculator.cxx:1477 AliFMDDensityCalculator.cxx:1478 AliFMDDensityCalculator.cxx:1479 AliFMDDensityCalculator.cxx:1480 AliFMDDensityCalculator.cxx:1481 AliFMDDensityCalculator.cxx:1482 AliFMDDensityCalculator.cxx:1483 AliFMDDensityCalculator.cxx:1484 AliFMDDensityCalculator.cxx:1485 AliFMDDensityCalculator.cxx:1486 AliFMDDensityCalculator.cxx:1487 AliFMDDensityCalculator.cxx:1488 AliFMDDensityCalculator.cxx:1489 AliFMDDensityCalculator.cxx:1490 AliFMDDensityCalculator.cxx:1491 AliFMDDensityCalculator.cxx:1492 AliFMDDensityCalculator.cxx:1493 AliFMDDensityCalculator.cxx:1494 AliFMDDensityCalculator.cxx:1495 AliFMDDensityCalculator.cxx:1496 AliFMDDensityCalculator.cxx:1497 AliFMDDensityCalculator.cxx:1498 AliFMDDensityCalculator.cxx:1499 AliFMDDensityCalculator.cxx:1500 AliFMDDensityCalculator.cxx:1501 AliFMDDensityCalculator.cxx:1502 AliFMDDensityCalculator.cxx:1503 AliFMDDensityCalculator.cxx:1504 AliFMDDensityCalculator.cxx:1505 AliFMDDensityCalculator.cxx:1506 AliFMDDensityCalculator.cxx:1507 AliFMDDensityCalculator.cxx:1508 AliFMDDensityCalculator.cxx:1509 AliFMDDensityCalculator.cxx:1510 AliFMDDensityCalculator.cxx:1511 AliFMDDensityCalculator.cxx:1512 AliFMDDensityCalculator.cxx:1513 AliFMDDensityCalculator.cxx:1514 AliFMDDensityCalculator.cxx:1515 AliFMDDensityCalculator.cxx:1516 AliFMDDensityCalculator.cxx:1517 AliFMDDensityCalculator.cxx:1518 AliFMDDensityCalculator.cxx:1519 AliFMDDensityCalculator.cxx:1520 AliFMDDensityCalculator.cxx:1521 AliFMDDensityCalculator.cxx:1522 AliFMDDensityCalculator.cxx:1523 AliFMDDensityCalculator.cxx:1524 AliFMDDensityCalculator.cxx:1525 AliFMDDensityCalculator.cxx:1526 AliFMDDensityCalculator.cxx:1527 AliFMDDensityCalculator.cxx:1528 AliFMDDensityCalculator.cxx:1529 AliFMDDensityCalculator.cxx:1530 AliFMDDensityCalculator.cxx:1531 AliFMDDensityCalculator.cxx:1532 AliFMDDensityCalculator.cxx:1533 AliFMDDensityCalculator.cxx:1534 AliFMDDensityCalculator.cxx:1535 AliFMDDensityCalculator.cxx:1536 AliFMDDensityCalculator.cxx:1537 AliFMDDensityCalculator.cxx:1538 AliFMDDensityCalculator.cxx:1539 AliFMDDensityCalculator.cxx:1540 AliFMDDensityCalculator.cxx:1541 AliFMDDensityCalculator.cxx:1542 AliFMDDensityCalculator.cxx:1543 AliFMDDensityCalculator.cxx:1544 AliFMDDensityCalculator.cxx:1545 AliFMDDensityCalculator.cxx:1546 AliFMDDensityCalculator.cxx:1547 AliFMDDensityCalculator.cxx:1548 AliFMDDensityCalculator.cxx:1549 AliFMDDensityCalculator.cxx:1550 AliFMDDensityCalculator.cxx:1551 AliFMDDensityCalculator.cxx:1552 AliFMDDensityCalculator.cxx:1553 AliFMDDensityCalculator.cxx:1554 AliFMDDensityCalculator.cxx:1555 AliFMDDensityCalculator.cxx:1556 AliFMDDensityCalculator.cxx:1557 AliFMDDensityCalculator.cxx:1558 AliFMDDensityCalculator.cxx:1559 AliFMDDensityCalculator.cxx:1560 AliFMDDensityCalculator.cxx:1561 AliFMDDensityCalculator.cxx:1562 AliFMDDensityCalculator.cxx:1563 AliFMDDensityCalculator.cxx:1564 AliFMDDensityCalculator.cxx:1565 AliFMDDensityCalculator.cxx:1566 AliFMDDensityCalculator.cxx:1567 AliFMDDensityCalculator.cxx:1568 AliFMDDensityCalculator.cxx:1569 AliFMDDensityCalculator.cxx:1570 AliFMDDensityCalculator.cxx:1571 AliFMDDensityCalculator.cxx:1572 AliFMDDensityCalculator.cxx:1573 AliFMDDensityCalculator.cxx:1574 AliFMDDensityCalculator.cxx:1575 AliFMDDensityCalculator.cxx:1576 AliFMDDensityCalculator.cxx:1577 AliFMDDensityCalculator.cxx:1578 AliFMDDensityCalculator.cxx:1579 AliFMDDensityCalculator.cxx:1580 AliFMDDensityCalculator.cxx:1581 AliFMDDensityCalculator.cxx:1582 AliFMDDensityCalculator.cxx:1583 AliFMDDensityCalculator.cxx:1584 AliFMDDensityCalculator.cxx:1585 AliFMDDensityCalculator.cxx:1586 AliFMDDensityCalculator.cxx:1587