#include "AliFMDEnergyFitter.h"
#include "AliForwardUtil.h"
#include "AliLandauGausFitter.h"
#include <AliESDFMD.h>
#include <TAxis.h>
#include <TList.h>
#include <TH1.h>
#include <TH2.h>
#include <TF1.h>
#include <TMath.h>
#include <AliLog.h>
#include <TClonesArray.h>
#include <TFitResult.h>
#include <THStack.h>
#include <TROOT.h>
#include <iostream>
#include <iomanip>
ClassImp(AliFMDEnergyFitter)
#if 0
;
#endif
namespace {
const char* fgkEDistFormat = "%s_etabin%03d";
}
AliFMDEnergyFitter::AliFMDEnergyFitter()
: TNamed(),
fRingHistos(),
fLowCut(0.4),
fNParticles(5),
fMinEntries(1000),
fFitRangeBinWidth(4),
fDoFits(false),
fDoMakeObject(false),
fEtaAxis(),
fCentralityAxis(),
fMaxE(10),
fNEbins(300),
fUseIncreasingBins(true),
fMaxRelParError(AliFMDCorrELossFit::ELossFit::fgMaxRelError),
fMaxChi2PerNDF(AliFMDCorrELossFit::ELossFit::fgMaxChi2nu),
fMinWeight(AliFMDCorrELossFit::ELossFit::fgLeastWeight),
fDebug(0),
fResidualMethod(kNoResiduals),
fSkips(0),
fRegularizationCut(3e6)
{
fRingHistos.SetOwner();
}
AliFMDEnergyFitter::AliFMDEnergyFitter(const char* title)
: TNamed("fmdEnergyFitter", title),
fRingHistos(),
fLowCut(0.4),
fNParticles(5),
fMinEntries(1000),
fFitRangeBinWidth(4),
fDoFits(false),
fDoMakeObject(false),
fEtaAxis(0,0,0),
fCentralityAxis(0,0,0),
fMaxE(10),
fNEbins(300),
fUseIncreasingBins(true),
fMaxRelParError(AliFMDCorrELossFit::ELossFit::fgMaxRelError),
fMaxChi2PerNDF(AliFMDCorrELossFit::ELossFit::fgMaxChi2nu),
fMinWeight(AliFMDCorrELossFit::ELossFit::fgLeastWeight),
fDebug(3),
fResidualMethod(kNoResiduals),
fSkips(0),
fRegularizationCut(3e6)
{
fEtaAxis.SetName("etaAxis");
fEtaAxis.SetTitle("#eta");
fCentralityAxis.SetName("centralityAxis");
fCentralityAxis.SetTitle("Centrality [%]");
}
AliFMDEnergyFitter::~AliFMDEnergyFitter()
{
DGUARD(fDebug, 1, "DTOR of AliFMDEnergyFitter");
}
AliFMDEnergyFitter::RingHistos*
AliFMDEnergyFitter::CreateRingHistos(UShort_t d, Char_t r) const
{
return new RingHistos(d,r);
}
AliFMDEnergyFitter::RingHistos*
AliFMDEnergyFitter::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()) return 0;
return static_cast<RingHistos*>(fRingHistos.At(idx));
}
void
AliFMDEnergyFitter::Init()
{
DGUARD(1,fDebug, "Creating histogram caches for each ring");
fRingHistos.Add(CreateRingHistos(1, 'I'));
fRingHistos.Add(CreateRingHistos(2, 'I'));
fRingHistos.Add(CreateRingHistos(2, 'O'));
fRingHistos.Add(CreateRingHistos(3, 'I'));
fRingHistos.Add(CreateRingHistos(3, 'O'));
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next()))) {
o->fDebug = fDebug;
}
}
void
AliFMDEnergyFitter::CreateOutputObjects(TList* dir)
{
DGUARD(fDebug, 1, "Define output in AliFMDEnergyFitter");
TList* d = new TList;
d->SetName(GetName());
d->SetOwner(true);
dir->Add(d);
TH1* hEta = 0;
if (fEtaAxis.GetXbins()->GetArray())
hEta = new TH1I(fEtaAxis.GetName(), fEtaAxis.GetTitle(),
fEtaAxis.GetNbins(), fEtaAxis.GetXbins()->GetArray());
else
hEta = new TH1I(fEtaAxis.GetName(), fEtaAxis.GetTitle(),
fEtaAxis.GetNbins(),fEtaAxis.GetXmin(),fEtaAxis.GetXmax());
hEta->SetXTitle("#eta");
hEta->SetYTitle("Nothing");
hEta->SetDirectory(0);
d->Add(hEta);
d->Add(AliForwardUtil::MakeParameter("lowCut", fLowCut));
d->Add(AliForwardUtil::MakeParameter("nParticles", fNParticles));
d->Add(AliForwardUtil::MakeParameter("minEntries", fMinEntries));
d->Add(AliForwardUtil::MakeParameter("subtractBins", fFitRangeBinWidth));
d->Add(AliForwardUtil::MakeParameter("doFits", fDoFits));
d->Add(AliForwardUtil::MakeParameter("doObject", fDoMakeObject));
d->Add(AliForwardUtil::MakeParameter("maxE", fMaxE));
d->Add(AliForwardUtil::MakeParameter("nEbins", fNEbins));
d->Add(AliForwardUtil::MakeParameter("increasingBins",fUseIncreasingBins));
d->Add(AliForwardUtil::MakeParameter("maxRelPerError",fMaxRelParError));
d->Add(AliForwardUtil::MakeParameter("maxChi2PerNDF", fMaxChi2PerNDF));
d->Add(AliForwardUtil::MakeParameter("minWeight", fMinWeight));
d->Add(AliForwardUtil::MakeParameter("regCut", fRegularizationCut));
d->Add(AliForwardUtil::MakeParameter("deltaShift",
AliLandauGaus::EnableSigmaShift()));
if (fRingHistos.GetEntries() <= 0) {
AliFatal("No ring histograms where defined - giving up!");
return;
}
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next()))) {
o->fDebug = fDebug;
o->CreateOutputObjects(d);
}
}
void
AliFMDEnergyFitter::SetupForData(const TAxis& eAxis)
{
DGUARD(fDebug, 1, "Initialize of AliFMDEnergyFitter");
if (fEtaAxis.GetNbins() == 0 ||
TMath::Abs(fEtaAxis.GetXmax() - fEtaAxis.GetXmin()) < 1e-7)
SetEtaAxis(eAxis);
if (fCentralityAxis.GetNbins() == 0) {
UShort_t n = 12;
Double_t bins[] = { 0., 5., 10., 15., 20., 30.,
40., 50., 60., 70., 80., 100. };
SetCentralityAxis(n, bins);
}
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next())))
o->SetupForData(fEtaAxis, fCentralityAxis, fMaxE,
fNEbins, fUseIncreasingBins);
}
void
AliFMDEnergyFitter::SetEtaAxis(const TAxis& eAxis)
{
SetEtaAxis(eAxis.GetNbins(),eAxis.GetXmin(),eAxis.GetXmax());
}
void
AliFMDEnergyFitter::SetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax)
{
fEtaAxis.Set(nBins,etaMin,etaMax);
}
void
AliFMDEnergyFitter::SetCentralityAxis(UShort_t n, Double_t* bins)
{
fCentralityAxis.Set(n-1, bins);
}
void
AliFMDEnergyFitter::SetEnableDeltaShift(Bool_t use)
{
AliLandauGaus::EnableSigmaShift(use ? 1 : 0);
}
Bool_t
AliFMDEnergyFitter::Accumulate(const AliESDFMD& input,
Double_t cent,
Bool_t empty)
{
DGUARD(fDebug, 5, "Accumulate statistics in AliFMDEnergyFitter - cholm");
Int_t icent = fCentralityAxis.FindBin(cent);
if (icent < 1 || icent > fCentralityAxis.GetNbins()) icent = 0;
UShort_t nFills = 0;
for(UShort_t d = 1; d <= 3; d++) {
Int_t nRings = (d == 1 ? 1 : 2);
for (UShort_t q = 0; q < nRings; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
UShort_t nsec = (q == 0 ? 20 : 40);
UShort_t nstr = (q == 0 ? 512 : 256);
RingHistos* histos = GetRingHistos(d, r);
if (!histos) continue;
for(UShort_t s = 0; s < nsec; s++) {
for(UShort_t t = 0; t < nstr; t++) {
Float_t mult = input.Multiplicity(d,r,s,t);
if (mult == AliESDFMD::kInvalidMult || mult > 10 || mult <= 0)
continue;
Double_t eta1 = input.Eta(d,r,s,t);
histos->Fill(empty, eta1, icent, mult);
nFills++;
}
}
}
}
DMSG(fDebug, 3, "Found a total of %d signals for c=%f, and %sempty event",
nFills, cent, (empty ? "" : "non-"));
return kTRUE;
}
void
AliFMDEnergyFitter::Fit(const TList* dir)
{
DGUARD(fDebug, 1, "Fit distributions in AliFMDEnergyFitter");
if (!fDoFits) {
AliInfo("Not asked to do fits, returning");
return;
}
TList* d = static_cast<TList*>(dir->FindObject(GetName()));
if (!d) {
AliWarningF("No list named %s found in %s", GetName(), dir->GetName());
return;
}
Int_t nStack = kN+fNParticles;
THStack* stack[nStack];
stack[0] = new THStack("chi2", "#chi^{2}/#nu");
stack[kC +1] = new THStack("c", "Constant");
stack[kDelta +1] = new THStack("delta", "#Delta_{p}");
stack[kXi +1] = new THStack("xi", "#xi");
stack[kSigma +1] = new THStack("sigma", "#sigma");
stack[kSigmaN+1] = new THStack("sigman", "#sigma_{n}");
stack[kN +1] = new THStack("n", "# Particles");
for (Int_t i = 2; i <= fNParticles; i++)
stack[kN+i] = new THStack(Form("a%d", i), Form("a_{%d}", i));
for (Int_t i = 0; i < nStack; i++)
d->Add(stack[i]);
if (fRingHistos.GetEntries() <= 0) Init();
AliInfoF("Will do fits for %d rings", fRingHistos.GetEntries());
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next()))) {
AliInfoF("Fill fit for FMD%d%c", o->fDet, o->fRing);
if (CheckSkip(o->fDet, o->fRing, fSkips)) {
AliWarningF("Skipping FMD%d%c for fitting", o->fDet, o->fRing);
continue;
}
TObjArray* l = o->Fit(d, fLowCut, fNParticles,
fMinEntries, fFitRangeBinWidth,
fMaxRelParError, fMaxChi2PerNDF,
fMinWeight, fRegularizationCut,
fResidualMethod);
if (!l) continue;
for (Int_t i = 0; i < l->GetEntriesFast()-1; i++) {
stack[i % nStack]->Add(static_cast<TH1*>(l->At(i)));
}
}
if (!fDoMakeObject) return;
MakeCorrectionsObject(d);
}
void
AliFMDEnergyFitter::MakeCorrectionsObject(TList* d)
{
DGUARD(fDebug, 1, "Make the correction objec in AliFMDEnergyFitter");
AliFMDCorrELossFit* obj = new AliFMDCorrELossFit;
obj->SetEtaAxis(fEtaAxis);
obj->SetLowCut(fLowCut);
if (AliLandauGaus::EnableSigmaShift())
obj->SetBit(AliFMDCorrELossFit::kHasShift);
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next()))) {
if (CheckSkip(o->fDet, o->fRing, fSkips)) {
AliWarningF("Skipping FMD%d%c for correction object", o->fDet, o->fRing);
continue;
}
o->FindBestFits(d, *obj, fEtaAxis);
}
d->Add(obj, "elossFits");
}
void
AliFMDEnergyFitter::SetDebug(Int_t dbg)
{
fDebug = dbg;
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next())))
o->fDebug = dbg;
}
namespace {
template <typename T>
void GetParam(Bool_t& ret, const TCollection* col,
const TString& name, T& var)
{
TObject* o = col->FindObject(name);
if (o) AliForwardUtil::GetParameter(o,var);
else ret = false;
}
}
Bool_t
AliFMDEnergyFitter::ReadParameters(const TCollection* col)
{
if (!col) return false;
Bool_t ret = true;
TH1* hist = static_cast<TH1*>(col->FindObject("etaAxis"));
if (!hist) ret = false;
else {
TAxis* axis = hist->GetXaxis();
if (axis->GetXbins()->GetArray())
fEtaAxis.Set(axis->GetNbins(), axis->GetXbins()->GetArray());
else
fEtaAxis.Set(axis->GetNbins(), axis->GetXmin(), axis->GetXmax());
}
GetParam(ret,col,"lowCut", fLowCut);
GetParam(ret,col,"nParticles", fNParticles);
GetParam(ret,col,"minEntries", fMinEntries);
GetParam(ret,col,"subtractBins", fFitRangeBinWidth);
GetParam(ret,col,"doFits", fDoFits);
GetParam(ret,col,"doObject", fDoMakeObject);
GetParam(ret,col,"maxE", fMaxE);
GetParam(ret,col,"nEbins", fNEbins);
GetParam(ret,col,"increasingBins",fUseIncreasingBins);
GetParam(ret,col,"maxRelPerError",fMaxRelParError);
GetParam(ret,col,"maxChi2PerNDF", fMaxChi2PerNDF);
GetParam(ret,col,"minWeight", fMinWeight);
Bool_t dummy;
GetParam(dummy,col,"regCut", fRegularizationCut);
return ret;
}
Bool_t
AliFMDEnergyFitter::CheckSkip(UShort_t d, Char_t r, UShort_t skips)
{
UShort_t q = (r == 'I' || r == 'i' ? 0 : 1);
UShort_t c = 1 << (d-1);
UShort_t t = 1 << (c+q-1);
return (t & skips) == t;
}
#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
AliFMDEnergyFitter::Print(Option_t*) const
{
AliForwardUtil::PrintTask(*this);
gROOT->IncreaseDirLevel();
PFV("Low cut [E/E_mip]", fLowCut);
PFV("Max(particles)", fNParticles);
PFV("Min(entries)", fMinEntries);
PFV("Fit range [bins]", fFitRangeBinWidth);
PFB("Make fits", fDoFits);
PFB("Make object", fDoMakeObject);
PFV("Max E/E_mip", fMaxE);
PFV("N bins", fNEbins);
PFB("Increasing bins", fUseIncreasingBins);
PFV("max(delta p/p)", fMaxRelParError);
PFV("max(chi^2/nu)", fMaxChi2PerNDF);
PFV("min(a_i)", fMinWeight);
PFV("Regularization cut", fRegularizationCut);
TString r = "";
switch (fResidualMethod) {
case kNoResiduals: r = "None"; break;
case kResidualDifference: r = "Difference"; break;
case kResidualScaledDifference: r = "Scaled difference"; break;
case kResidualSquareDifference: r = "Square difference"; break;
}
PFV("Residuals", r);
gROOT->DecreaseDirLevel();
}
AliFMDEnergyFitter::RingHistos::RingHistos()
: AliForwardUtil::RingHistos(),
fEDist(0),
fEmpty(0),
fHist(0),
fList(0),
fBest(0),
fFits("AliFMDCorrELossFit::ELossFit", 200),
fDebug(0)
{
DGUARD(fDebug, 3, "Default CTOR AliFMDEnergyFitter::RingHistos");
fBest.Expand(0);
}
AliFMDEnergyFitter::RingHistos::RingHistos(UShort_t d, Char_t r)
: AliForwardUtil::RingHistos(d,r),
fEDist(0),
fEmpty(0),
fHist(0),
fList(0),
fBest(0),
fFits("AliFMDCorrELossFit::ELossFit", 200),
fDebug(0)
{
DGUARD(fDebug, 3, "Named CTOR AliFMDEnergyFitter::RingHistos: FMD%d%c",
d, r);
fBest.Expand(0);
}
AliFMDEnergyFitter::RingHistos::~RingHistos()
{
DGUARD(fDebug, 3, "DTOR of AliFMDEnergyFitter::RingHistos");
}
TArrayD
AliFMDEnergyFitter::RingHistos::MakeIncreasingAxis(Int_t n, Double_t min,
Double_t max) const
{
TArrayD bins(n+1);
Double_t dx = (max-min) / n;
bins[0] = min;
Int_t i = 1;
for (i = 1; i < n+1; i++) {
Double_t dI = float(i)/n;
Double_t next = bins[i-1] + dx + dI * dI * dx;
bins[i] = next;
if (next > max) break;
}
bins.Set(i+1);
return bins;
}
TH2*
AliFMDEnergyFitter::RingHistos::Make(const char* name,
const char* title,
const TAxis& eAxis,
Double_t deMax,
Int_t nDeBins,
Bool_t incr)
{
TH2* h = 0;
TAxis mAxis;
if (incr) {
TArrayD deAxis = MakeIncreasingAxis(nDeBins, 0, deMax);
mAxis.Set(deAxis.GetSize()-1, deAxis.GetArray());
}
else
mAxis.Set(nDeBins, 0, deMax);
if (mAxis.GetXbins()->GetArray()) {
if (eAxis.GetXbins()->GetArray()) {
h = new TH2D(name, title,
eAxis.GetNbins(), eAxis.GetXbins()->GetArray(),
mAxis.GetNbins(), mAxis.GetXbins()->GetArray());
}
else {
h = new TH2D(name, title,
eAxis.GetNbins(), eAxis.GetXmin(), eAxis.GetXmax(),
mAxis.GetNbins(), mAxis.GetXbins()->GetArray());
}
}
else {
if (eAxis.GetXbins()->GetArray()) {
h = new TH2D(name, title,
eAxis.GetNbins(), eAxis.GetXbins()->GetArray(),
mAxis.GetNbins(), mAxis.GetXmin(), mAxis.GetXmax());
}
else {
h = new TH2D(name, title,
eAxis.GetNbins(), eAxis.GetXmin(), eAxis.GetXmax(),
mAxis.GetNbins(), mAxis.GetXmin(), mAxis.GetXmax());
}
}
h->SetDirectory(0);
h->SetYTitle("#sum#DeltaE/#DeltaE_{mip}");
h->SetXTitle("#eta");
h->SetFillColor(Color());
h->SetMarkerColor(Color());
h->SetLineColor(Color());
h->SetFillStyle(3001);
h->SetMarkerStyle(20);
h->Sumw2();
return h;
}
void
AliFMDEnergyFitter::RingHistos::CreateOutputObjects(TList* dir)
{
DGUARD(fDebug, 2, "Define output in AliFMDEnergyFitter::RingHistos");
fList = DefineOutputList(dir);
}
void
AliFMDEnergyFitter::RingHistos::SetupForData(const TAxis& eAxis,
const TAxis& ,
Double_t maxDE,
Int_t nDEbins,
Bool_t useIncrBin)
{
DGUARD(fDebug, 2, "Initialize in AliFMDEnergyFitter::RingHistos");
fEDist = new TH1D(Form("%s_edist", fName.Data()),
Form("#sum#DeltaE/#DeltaE_{mip} for %s", fName.Data()),
200, 0, 6);
fEDist->SetXTitle("#sum#Delta/#Delta_{mip}");
fEDist->SetFillColor(Color());
fEDist->SetLineColor(Color());
fEDist->SetMarkerColor(Color());
fEDist->SetFillStyle(3001);
fEDist->SetMarkerStyle(20);
fEDist->Sumw2();
fEDist->SetDirectory(0);
fEmpty = static_cast<TH1D*>(fEDist->Clone(Form("%s_empty", fName.Data())));
fEmpty->SetTitle(Form("#sum#DeltaE/#DeltaE_{mip} for %s (empty events)",
fName.Data()));
fEmpty->SetDirectory(0);
fList->Add(fEDist);
fList->Add(fEmpty);
fHist = Make("eloss", "#sum#Delta/#Delta_{mip}", eAxis,
maxDE, nDEbins, useIncrBin);
fList->Add(fHist);
}
void
AliFMDEnergyFitter::RingHistos::Fill(Bool_t empty,
Double_t eta,
Int_t ,
Double_t mult)
{
DGUARD(fDebug, 10, "Filling in AliFMDEnergyFitter::RingHistos");
if (empty) {
fEmpty->Fill(mult);
return;
}
fEDist->Fill(mult);
if (!fHist) {
Warning("Fill", "No list of E dists defined");
return;
}
fHist->Fill(eta, mult);
}
TH1*
AliFMDEnergyFitter::RingHistos::MakePar(const char* name,
const char* title,
const TAxis& eta) const
{
TH1D* h = new TH1D(Form("%s_%s", fName.Data(), name),
Form("%s for %s", title, fName.Data()),
eta.GetNbins(), eta.GetXmin(), eta.GetXmax());
h->SetXTitle("#eta");
h->SetYTitle(title);
h->SetDirectory(0);
h->SetFillColor(Color());
h->SetMarkerColor(Color());
h->SetLineColor(Color());
h->SetFillStyle(3001);
h->Sumw2();
return h;
}
TH1*
AliFMDEnergyFitter::RingHistos::MakeTotal(const char* name,
const char* title,
const TAxis& eta,
Int_t low,
Int_t high,
Double_t val,
Double_t err) const
{
Double_t xlow = eta.GetBinLowEdge(low);
Double_t xhigh = eta.GetBinUpEdge(high);
TH1D* h = new TH1D(Form("%s_%s", fName.Data(), name),
Form("%s for %s", title, fName.Data()),
1, xlow, xhigh);
h->SetBinContent(1, val);
h->SetBinError(1, err);
h->SetXTitle("#eta");
h->SetYTitle(title);
h->SetDirectory(0);
h->SetFillColor(0);
h->SetMarkerColor(Color());
h->SetLineColor(Color());
h->SetFillStyle(0);
h->SetLineStyle(2);
h->SetLineWidth(2);
return h;
}
TObjArray*
AliFMDEnergyFitter::RingHistos::Fit(TList* dir,
Double_t lowCut,
UShort_t nParticles,
UShort_t minEntries,
UShort_t minusBins,
Double_t relErrorCut,
Double_t chi2nuCut,
Double_t minWeight,
Double_t regCut,
EResidualMethod residuals) const
{
return FitSlices(dir, "eloss", lowCut, nParticles, minEntries,
minusBins, relErrorCut, chi2nuCut, minWeight, regCut,
residuals, true, &fBest);
}
TObjArray*
AliFMDEnergyFitter::RingHistos::FitSlices(TList* dir,
const char* name,
Double_t lowCut,
UShort_t nParticles,
UShort_t minEntries,
UShort_t minusBins,
Double_t relErrorCut,
Double_t chi2nuCut,
Double_t minWeight,
Double_t regCut,
EResidualMethod residuals,
Bool_t scaleToPeak,
TObjArray* best) const
{
DGUARD(fDebug, 2, "Fit in AliFMDEnergyFitter::RingHistos");
TList* l = GetOutputList(dir);
if (!l) return 0;
TList* dists = 0;
TH2* h = static_cast<TH2*>(l->FindObject(name));
if (!h) {
AliWarningF("Didn't find 2D histogram '%s' in %s", name, l->GetName());
dists = static_cast<TList*>(l->FindObject("EDists"));
if (!dists) {
AliWarningF("Didn't find EtaEDists (%s) in %s",
fName.Data(), l->GetName());
l->ls();
return 0;
}
}
if (!h && !dists) return 0;
const TAxis* pEta = (h ? h->GetXaxis() :
static_cast<TAxis*>(dir->FindObject("etaAxis")));
if (!pEta) {
AliWarningF("Didn't find the eta axis - either from histogram %p or "
"list %p (%s)", h, dir, (dir ? dir->GetName() : "-"));
return 0;
}
const TAxis& eta = *pEta;
TList* out = new TList;
out->SetOwner();
out->SetName(Form("%sDists", name));
l->Add(out);
TList* resi = 0;
if (residuals != kNoResiduals) {
resi = new TList();
resi->SetName(Form("%sResiduals", name));
resi->SetOwner();
l->Add(resi);
}
TObjArray* pars = new TObjArray(3+nParticles+1);
pars->SetName(Form("%sResults", name));
l->Add(pars);
TH1* hChi2 = 0;
TH1* hC = 0;
TH1* hDelta = 0;
TH1* hXi = 0;
TH1* hSigma = 0;
TH1* hSigmaN = 0;
TH1* hN = 0;
TH1* hA[nParticles-1];
pars->Add(hChi2 = MakePar("chi2", "#chi^{2}/#nu", eta));
pars->Add(hC = MakePar("c", "Constant", eta));
pars->Add(hDelta = MakePar("delta", "#Delta_{p}", eta));
pars->Add(hXi = MakePar("xi", "#xi", eta));
pars->Add(hSigma = MakePar("sigma", "#sigma", eta));
pars->Add(hSigmaN = MakePar("sigman", "#sigma_{n}", eta));
pars->Add(hN = MakePar("n", "N", eta));
for (UShort_t i = 1; i < nParticles; i++)
pars->Add(hA[i-1] = MakePar(Form("a%d",i+1), Form("a_{%d}",i+1), eta));
Int_t nDists = h ? h->GetNbinsX() : dists->GetEntries();
Int_t low = nDists;
Int_t high = 0;
Int_t nEmpty = 0;
Int_t nLow = 0;
Int_t nFitted= 0;
if (best) {
best->Expand(nDists+1);
best->Clear();
best->SetOwner(false);
}
for (Int_t i = 0; i < nDists; i++) {
Int_t b = i+1;
TH1D* dist = (h ? h->ProjectionY(Form(fgkEDistFormat,GetName(),b),b,b,"e")
: static_cast<TH1D*>(dists->At(i)));
if (!dist) {
nEmpty++;
continue;
}
dist->SetDirectory(0);
dist->SetTitle(Form("#Delta/#Delta_{mip} for %s in %6.2f<#eta<%6.2f",
GetName(), eta.GetBinLowEdge(b),
eta.GetBinUpEdge(b)));
UShort_t status1 = 0;
ELossFit_t* res = FitHist(dist,
lowCut,
nParticles,
minEntries,
minusBins,
relErrorCut,
chi2nuCut,
minWeight,
regCut,
scaleToPeak,
status1);
if (!res) {
switch (status1) {
case 1: nEmpty++; break;
case 2: nLow++; break;
}
if (h) delete dist;
continue;
}
nFitted++;
res->fBin = b;
if (best) best->AddAt(res, b);
out->Add(dist);
if (residuals != kNoResiduals && resi)
CalculateResiduals(residuals, lowCut, dist, res, resi);
low = TMath::Min(low,b);
high = TMath::Max(high,b);
Double_t chi2 = res->fChi2;
Int_t ndf = res->fNu;
hChi2 ->SetBinContent(b, ndf > 0 ? chi2 / ndf : 0);
hC ->SetBinContent(b, res->fC);
hDelta ->SetBinContent(b, res->fDelta);
hXi ->SetBinContent(b, res->fXi);
hSigma ->SetBinContent(b, res->fSigma);
hSigmaN ->SetBinContent(b, res->fSigmaN);
hN ->SetBinContent(b, res->fN);
hC ->SetBinError(b, res->fEC);
hDelta ->SetBinError(b, res->fEDelta);
hXi ->SetBinError(b, res->fEXi);
hSigma ->SetBinError(b, res->fESigma);
hSigmaN->SetBinError(b, res->fESigmaN);
for (UShort_t j = 0; j < nParticles-1; j++) {
hA[j]->SetBinContent(b, res->fA[j]);
hA[j]->SetBinError(b, res->fEA[j]);
}
}
printf("%s: Out of %d histograms, %d where empty, %d had too little data,"
"leaving %d to be fitted, of which %d succeeded\n",
GetName(), nDists, nEmpty, nLow, nDists-nEmpty-nLow, nFitted);
TH1* total = GetOutputHist(l, Form("%s_edist", fName.Data()));
if (total) {
UShort_t statusT = 0;
ELossFit_t* resT = FitHist(total,
lowCut,
nParticles,
minEntries,
minusBins,
relErrorCut,
chi2nuCut,
minWeight,
regCut,
scaleToPeak,
statusT);
if (resT) {
Double_t chi2 = resT->GetChi2();
Int_t ndf = resT->GetNu();
pars->Add(MakeTotal("t_chi2", "#chi^{2}/#nu", eta, low, high,
ndf > 0 ? chi2/ndf : 0, 0));
pars->Add(MakeTotal("t_c", "Constant", eta, low, high,
resT->GetC(), resT->GetEC()));
pars->Add(MakeTotal("t_delta", "#Delta_{p}", eta, low, high,
resT->GetDelta(), resT->GetEDelta()));
pars->Add(MakeTotal("t_xi", "#xi", eta, low, high,
resT->GetXi(), resT->GetEXi()));
pars->Add(MakeTotal("t_sigma", "#sigma", eta, low, high,
resT->GetSigma(), resT->GetESigma()));
pars->Add(MakeTotal("t_sigman", "#sigma_{n}", eta, low, high,
resT->GetSigmaN(), resT->GetESigmaN()));
pars->Add(MakeTotal("t_n", "N", eta, low, high,
resT->GetN(), 0));
for (UShort_t j = 0; j < nParticles-1; j++)
pars->Add(MakeTotal(Form("t_a%d",j+2),
Form("a_{%d}",j+2), eta, low, high,
resT->GetA(j), resT->GetEA(j)));
}
}
TH1* status = new TH1I(Form("%sStatus",name), "Status of Fits", 5, 0, 5);
status->GetXaxis()->SetBinLabel(1, "Total");
status->GetXaxis()->SetBinLabel(2, "Empty");
status->GetXaxis()->SetBinLabel(3, Form("<%d", minEntries));
status->GetXaxis()->SetBinLabel(4, "Candidates");
status->GetXaxis()->SetBinLabel(5, "Fitted");
status->SetXTitle("Status");
status->SetYTitle("# of #Delta distributions");
status->SetBinContent(1, nDists);
status->SetBinContent(2, nEmpty);
status->SetBinContent(3, nLow);
status->SetBinContent(4, nDists-nLow-nEmpty);
status->SetBinContent(5, nFitted);
status->SetFillColor(Color());
status->SetFillStyle(3001);
status->SetLineColor(Color());
status->SetDirectory(0);
status->SetStats(0);
pars->Add(status);
return pars;
}
void
AliFMDEnergyFitter::RingHistos::Scale(TH1* dist) const
{
dist->Scale(1., "width");
}
AliFMDEnergyFitter::RingHistos::ELossFit_t*
AliFMDEnergyFitter::RingHistos::FitHist(TH1* dist,
Double_t lowCut,
UShort_t nParticles,
UShort_t minEntries,
UShort_t minusBins,
Double_t relErrorCut,
Double_t chi2nuCut,
Double_t minWeight,
Double_t regCut,
Bool_t scaleToPeak,
UShort_t& status) const
{
DGUARD(fDebug, 2, "Fit histogram in AliFMDEnergyFitter::RingHistos: %s",
dist->GetName());
Double_t maxRange = 10;
if (dist->GetEntries() <= 0) {
status = 1;
return 0;
}
Scale(dist);
Int_t cutBin = TMath::Max(dist->GetXaxis()->FindBin(lowCut),3);
Int_t maxBin = TMath::Min(dist->GetXaxis()->FindBin(10),
dist->GetNbinsX());
dist->GetXaxis()->SetRange(cutBin, maxBin);
Int_t peakBin = dist->GetMaximumBin();
Double_t max = dist->GetBinContent(peakBin);
if (max <= 0) {
status = 1;
return 0;
}
if (scaleToPeak) dist->Scale(1/max);
DMSG(fDebug,5,"max(%s) -> %f", dist->GetName(), max);
Double_t nEntries = dist->GetEntries();
if (nEntries <= minEntries) {
AliWarning(Form("Histogram at %s has too few entries (%f <= %d)",
dist->GetName(), nEntries, minEntries));
status = 2;
return 0;
}
AliLandauGausFitter f(lowCut, maxRange, minusBins);
f.Clear();
f.SetDebug(fDebug > 2);
if (dist->GetEntries() > regCut) {
Double_t s = TMath::Sqrt(dist->GetEntries() / regCut);
if (fDebug > 0) printf("Error scale: %f ", s);
for (Int_t i = 1; i <= dist->GetNbinsX(); i++) {
Double_t e = dist->GetBinError(i);
dist->SetBinError(i, e * s);
}
}
if (nParticles == 1) {
TF1* r = f.Fit1Particle(dist, 0);
if (!r) {
status = 3;
return 0;
}
TF1* ff = new TF1(*r);
dist->GetListOfFunctions()->Add(ff);
ELossFit_t* ret = new ELossFit_t(0, *ff);
ret->CalculateQuality(chi2nuCut, relErrorCut, minWeight);
status = 0;
return ret;
}
for (Int_t i = 2; i <= nParticles; i++) f.FitNParticle(dist, i, 0);
Int_t nFits = f.GetFitResults().GetEntriesFast();
for (Int_t i = nFits-1; i >= 0; i--) {
TF1* ff = static_cast<TF1*>(f.GetFunctions().At(i));
dist->GetListOfFunctions()->Add(new TF1(*ff));
}
status = 0;
ELossFit_t* ret = FindBestFit(dist, relErrorCut, chi2nuCut, minWeight);
if (!ret) status = 3;
return ret;
}
AliFMDEnergyFitter::RingHistos::ELossFit_t*
AliFMDEnergyFitter::RingHistos::FindBestFit(const TH1* dist,
Double_t relErrorCut,
Double_t chi2nuCut,
Double_t minWeightCut) const
{
TList* funcs = dist->GetListOfFunctions();
TF1* func = 0;
Int_t i = 0;
TIter next(funcs);
fFits.Clear();
if (fDebug) printf("Find best fit for %s ... ", dist->GetName());
if (fDebug > 2) printf("\n");
while ((func = static_cast<TF1*>(next()))) {
ELossFit_t* fit = new(fFits[i++]) ELossFit_t(0,*func);
fit->fDet = fDet;
fit->fRing = fRing;
fit->CalculateQuality(chi2nuCut, relErrorCut, minWeightCut);
if (fDebug > 2)
Printf("%10s: %3d (chi^2/nu: %6.3f)",
func->GetName(), fit->fQuality,
(fit->fNu > 0 ? fit->fChi2 / fit->fNu : 999));
}
fFits.Sort();
if (fDebug > 1) fFits.Print("s");
ELossFit_t* ret = static_cast<ELossFit_t*>(fFits.At(i-1));
if (!ret) {
AliWarningF("No fit found for %s", GetName());
return 0;
}
if (ret && fDebug > 0) {
if (fDebug > 1) printf(" %d: ", i-1);
ret->Print("s");
}
return new ELossFit_t(*ret);
}
void
AliFMDEnergyFitter::RingHistos::CalculateResiduals(EResidualMethod mode,
Double_t lowCut,
TH1* dist,
ELossFit_t* fit,
TCollection* out) const
{
TH1* resi = static_cast<TH1*>(dist->Clone());
TString tit(resi->GetTitle());
tit.ReplaceAll("#DeltaE/#DeltaE_{mip}", "Residuals");
resi->SetTitle(tit);
resi->SetDirectory(0);
switch (mode) {
case kResidualDifference:
resi->SetYTitle("h_{i}-f(#Delta_{i}) #pm #delta_{i}");
break;
case kResidualScaledDifference:
resi->SetYTitle("[h_{i}-f(#Delta_{i})]/#delta_{i}"); break;
case kResidualSquareDifference:
resi->SetYTitle("#chi_{i}^{2}=[h_{i}-f(#Delta_{i})]^{2}/#delta^{2}_{i}");
break;
default:
resi->SetYTitle("Unknown");
break;
}
out->Add(resi);
Double_t highCut = dist->GetXaxis()->GetXmax();
TString funcName("landau1");
if (fit->GetN() > 1)
funcName = Form("nlandau%d", fit->GetN());
TF1* func = dist->GetFunction(funcName);
if (func) func->GetRange(lowCut, highCut);
resi->Reset("ICES");
resi->GetListOfFunctions()->Clear();
resi->SetUniqueID(mode);
Int_t nX = resi->GetNbinsX();
for (Int_t i = 1; i <= nX; i++) {
Double_t x = dist->GetBinCenter(i);
if (x < lowCut) continue;
if (x > highCut) break;
Double_t h = dist->GetBinContent(i);
Double_t e = dist->GetBinError(i);
Double_t r = 0;
Double_t er = 0;
if (h > 0 && e > 0) {
Double_t f = fit->GetC() * fit->Evaluate(x);
if (f > 0) {
r = h-f;
switch (mode) {
case kResidualDifference: er = e; break;
case kResidualScaledDifference: r /= e; break;
case kResidualSquareDifference: r *= r; r /= (e*e); break;
default: r = 0; break;
}
}
}
resi->SetBinContent(i, r);
resi->SetBinError(i, er);
}
}
void
AliFMDEnergyFitter::RingHistos::FindBestFits(const TList* d,
AliFMDCorrELossFit& obj,
const TAxis& eta)
{
TList* l = GetOutputList(d);
if (!l) return;
TList* dists = static_cast<TList*>(l->FindObject("elossDists"));
if (!dists) {
AliWarningF("Didn't find elossDists in %s", l->GetName());
l->ls();
return;
}
Int_t nBin = eta.GetNbins();
if (fBest.GetEntriesFast() <= 0) {
AliWarningF("No fits found for %s", GetName());
return;
}
for (Int_t b = 1; b <= nBin; b++) {
ELossFit_t* best = static_cast<ELossFit_t*>(fBest.At(b));
if (!best) {
continue;
}
best->fDet = fDet;
best->fRing = fRing;
best->fBin = b;
if (fDebug > 0) {
printf("Bin # %3d: ", b);
best->Print("s");
}
obj.SetFit(fDet, fRing, b, best);
}
}
AliFMDEnergyFitter.cxx:10 AliFMDEnergyFitter.cxx:11 AliFMDEnergyFitter.cxx:12 AliFMDEnergyFitter.cxx:13 AliFMDEnergyFitter.cxx:14 AliFMDEnergyFitter.cxx:15 AliFMDEnergyFitter.cxx:16 AliFMDEnergyFitter.cxx:17 AliFMDEnergyFitter.cxx:18 AliFMDEnergyFitter.cxx:19 AliFMDEnergyFitter.cxx:20 AliFMDEnergyFitter.cxx:21 AliFMDEnergyFitter.cxx:22 AliFMDEnergyFitter.cxx:23 AliFMDEnergyFitter.cxx:24 AliFMDEnergyFitter.cxx:25 AliFMDEnergyFitter.cxx:26 AliFMDEnergyFitter.cxx:27 AliFMDEnergyFitter.cxx:28 AliFMDEnergyFitter.cxx:29 AliFMDEnergyFitter.cxx:30 AliFMDEnergyFitter.cxx:31 AliFMDEnergyFitter.cxx:32 AliFMDEnergyFitter.cxx:33 AliFMDEnergyFitter.cxx:34 AliFMDEnergyFitter.cxx:35 AliFMDEnergyFitter.cxx:36 AliFMDEnergyFitter.cxx:37 AliFMDEnergyFitter.cxx:38 AliFMDEnergyFitter.cxx:39 AliFMDEnergyFitter.cxx:40 AliFMDEnergyFitter.cxx:41 AliFMDEnergyFitter.cxx:42 AliFMDEnergyFitter.cxx:43 AliFMDEnergyFitter.cxx:44 AliFMDEnergyFitter.cxx:45 AliFMDEnergyFitter.cxx:46 AliFMDEnergyFitter.cxx:47 AliFMDEnergyFitter.cxx:48 AliFMDEnergyFitter.cxx:49 AliFMDEnergyFitter.cxx:50 AliFMDEnergyFitter.cxx:51 AliFMDEnergyFitter.cxx:52 AliFMDEnergyFitter.cxx:53 AliFMDEnergyFitter.cxx:54 AliFMDEnergyFitter.cxx:55 AliFMDEnergyFitter.cxx:56 AliFMDEnergyFitter.cxx:57 AliFMDEnergyFitter.cxx:58 AliFMDEnergyFitter.cxx:59 AliFMDEnergyFitter.cxx:60 AliFMDEnergyFitter.cxx:61 AliFMDEnergyFitter.cxx:62 AliFMDEnergyFitter.cxx:63 AliFMDEnergyFitter.cxx:64 AliFMDEnergyFitter.cxx:65 AliFMDEnergyFitter.cxx:66 AliFMDEnergyFitter.cxx:67 AliFMDEnergyFitter.cxx:68 AliFMDEnergyFitter.cxx:69 AliFMDEnergyFitter.cxx:70 AliFMDEnergyFitter.cxx:71 AliFMDEnergyFitter.cxx:72 AliFMDEnergyFitter.cxx:73 AliFMDEnergyFitter.cxx:74 AliFMDEnergyFitter.cxx:75 AliFMDEnergyFitter.cxx:76 AliFMDEnergyFitter.cxx:77 AliFMDEnergyFitter.cxx:78 AliFMDEnergyFitter.cxx:79 AliFMDEnergyFitter.cxx:80 AliFMDEnergyFitter.cxx:81 AliFMDEnergyFitter.cxx:82 AliFMDEnergyFitter.cxx:83 AliFMDEnergyFitter.cxx:84 AliFMDEnergyFitter.cxx:85 AliFMDEnergyFitter.cxx:86 AliFMDEnergyFitter.cxx:87 AliFMDEnergyFitter.cxx:88 AliFMDEnergyFitter.cxx:89 AliFMDEnergyFitter.cxx:90 AliFMDEnergyFitter.cxx:91 AliFMDEnergyFitter.cxx:92 AliFMDEnergyFitter.cxx:93 AliFMDEnergyFitter.cxx:94 AliFMDEnergyFitter.cxx:95 AliFMDEnergyFitter.cxx:96 AliFMDEnergyFitter.cxx:97 AliFMDEnergyFitter.cxx:98 AliFMDEnergyFitter.cxx:99 AliFMDEnergyFitter.cxx:100 AliFMDEnergyFitter.cxx:101 AliFMDEnergyFitter.cxx:102 AliFMDEnergyFitter.cxx:103 AliFMDEnergyFitter.cxx:104 AliFMDEnergyFitter.cxx:105 AliFMDEnergyFitter.cxx:106 AliFMDEnergyFitter.cxx:107 AliFMDEnergyFitter.cxx:108 AliFMDEnergyFitter.cxx:109 AliFMDEnergyFitter.cxx:110 AliFMDEnergyFitter.cxx:111 AliFMDEnergyFitter.cxx:112 AliFMDEnergyFitter.cxx:113 AliFMDEnergyFitter.cxx:114 AliFMDEnergyFitter.cxx:115 AliFMDEnergyFitter.cxx:116 AliFMDEnergyFitter.cxx:117 AliFMDEnergyFitter.cxx:118 AliFMDEnergyFitter.cxx:119 AliFMDEnergyFitter.cxx:120 AliFMDEnergyFitter.cxx:121 AliFMDEnergyFitter.cxx:122 AliFMDEnergyFitter.cxx:123 AliFMDEnergyFitter.cxx:124 AliFMDEnergyFitter.cxx:125 AliFMDEnergyFitter.cxx:126 AliFMDEnergyFitter.cxx:127 AliFMDEnergyFitter.cxx:128 AliFMDEnergyFitter.cxx:129 AliFMDEnergyFitter.cxx:130 AliFMDEnergyFitter.cxx:131 AliFMDEnergyFitter.cxx:132 AliFMDEnergyFitter.cxx:133 AliFMDEnergyFitter.cxx:134 AliFMDEnergyFitter.cxx:135 AliFMDEnergyFitter.cxx:136 AliFMDEnergyFitter.cxx:137 AliFMDEnergyFitter.cxx:138 AliFMDEnergyFitter.cxx:139 AliFMDEnergyFitter.cxx:140 AliFMDEnergyFitter.cxx:141 AliFMDEnergyFitter.cxx:142 AliFMDEnergyFitter.cxx:143 AliFMDEnergyFitter.cxx:144 AliFMDEnergyFitter.cxx:145 AliFMDEnergyFitter.cxx:146 AliFMDEnergyFitter.cxx:147 AliFMDEnergyFitter.cxx:148 AliFMDEnergyFitter.cxx:149 AliFMDEnergyFitter.cxx:150 AliFMDEnergyFitter.cxx:151 AliFMDEnergyFitter.cxx:152 AliFMDEnergyFitter.cxx:153 AliFMDEnergyFitter.cxx:154 AliFMDEnergyFitter.cxx:155 AliFMDEnergyFitter.cxx:156 AliFMDEnergyFitter.cxx:157 AliFMDEnergyFitter.cxx:158 AliFMDEnergyFitter.cxx:159 AliFMDEnergyFitter.cxx:160 AliFMDEnergyFitter.cxx:161 AliFMDEnergyFitter.cxx:162 AliFMDEnergyFitter.cxx:163 AliFMDEnergyFitter.cxx:164 AliFMDEnergyFitter.cxx:165 AliFMDEnergyFitter.cxx:166 AliFMDEnergyFitter.cxx:167 AliFMDEnergyFitter.cxx:168 AliFMDEnergyFitter.cxx:169 AliFMDEnergyFitter.cxx:170 AliFMDEnergyFitter.cxx:171 AliFMDEnergyFitter.cxx:172 AliFMDEnergyFitter.cxx:173 AliFMDEnergyFitter.cxx:174 AliFMDEnergyFitter.cxx:175 AliFMDEnergyFitter.cxx:176 AliFMDEnergyFitter.cxx:177 AliFMDEnergyFitter.cxx:178 AliFMDEnergyFitter.cxx:179 AliFMDEnergyFitter.cxx:180 AliFMDEnergyFitter.cxx:181 AliFMDEnergyFitter.cxx:182 AliFMDEnergyFitter.cxx:183 AliFMDEnergyFitter.cxx:184 AliFMDEnergyFitter.cxx:185 AliFMDEnergyFitter.cxx:186 AliFMDEnergyFitter.cxx:187 AliFMDEnergyFitter.cxx:188 AliFMDEnergyFitter.cxx:189 AliFMDEnergyFitter.cxx:190 AliFMDEnergyFitter.cxx:191 AliFMDEnergyFitter.cxx:192 AliFMDEnergyFitter.cxx:193 AliFMDEnergyFitter.cxx:194 AliFMDEnergyFitter.cxx:195 AliFMDEnergyFitter.cxx:196 AliFMDEnergyFitter.cxx:197 AliFMDEnergyFitter.cxx:198 AliFMDEnergyFitter.cxx:199 AliFMDEnergyFitter.cxx:200 AliFMDEnergyFitter.cxx:201 AliFMDEnergyFitter.cxx:202 AliFMDEnergyFitter.cxx:203 AliFMDEnergyFitter.cxx:204 AliFMDEnergyFitter.cxx:205 AliFMDEnergyFitter.cxx:206 AliFMDEnergyFitter.cxx:207 AliFMDEnergyFitter.cxx:208 AliFMDEnergyFitter.cxx:209 AliFMDEnergyFitter.cxx:210 AliFMDEnergyFitter.cxx:211 AliFMDEnergyFitter.cxx:212 AliFMDEnergyFitter.cxx:213 AliFMDEnergyFitter.cxx:214 AliFMDEnergyFitter.cxx:215 AliFMDEnergyFitter.cxx:216 AliFMDEnergyFitter.cxx:217 AliFMDEnergyFitter.cxx:218 AliFMDEnergyFitter.cxx:219 AliFMDEnergyFitter.cxx:220 AliFMDEnergyFitter.cxx:221 AliFMDEnergyFitter.cxx:222 AliFMDEnergyFitter.cxx:223 AliFMDEnergyFitter.cxx:224 AliFMDEnergyFitter.cxx:225 AliFMDEnergyFitter.cxx:226 AliFMDEnergyFitter.cxx:227 AliFMDEnergyFitter.cxx:228 AliFMDEnergyFitter.cxx:229 AliFMDEnergyFitter.cxx:230 AliFMDEnergyFitter.cxx:231 AliFMDEnergyFitter.cxx:232 AliFMDEnergyFitter.cxx:233 AliFMDEnergyFitter.cxx:234 AliFMDEnergyFitter.cxx:235 AliFMDEnergyFitter.cxx:236 AliFMDEnergyFitter.cxx:237 AliFMDEnergyFitter.cxx:238 AliFMDEnergyFitter.cxx:239 AliFMDEnergyFitter.cxx:240 AliFMDEnergyFitter.cxx:241 AliFMDEnergyFitter.cxx:242 AliFMDEnergyFitter.cxx:243 AliFMDEnergyFitter.cxx:244 AliFMDEnergyFitter.cxx:245 AliFMDEnergyFitter.cxx:246 AliFMDEnergyFitter.cxx:247 AliFMDEnergyFitter.cxx:248 AliFMDEnergyFitter.cxx:249 AliFMDEnergyFitter.cxx:250 AliFMDEnergyFitter.cxx:251 AliFMDEnergyFitter.cxx:252 AliFMDEnergyFitter.cxx:253 AliFMDEnergyFitter.cxx:254 AliFMDEnergyFitter.cxx:255 AliFMDEnergyFitter.cxx:256 AliFMDEnergyFitter.cxx:257 AliFMDEnergyFitter.cxx:258 AliFMDEnergyFitter.cxx:259 AliFMDEnergyFitter.cxx:260 AliFMDEnergyFitter.cxx:261 AliFMDEnergyFitter.cxx:262 AliFMDEnergyFitter.cxx:263 AliFMDEnergyFitter.cxx:264 AliFMDEnergyFitter.cxx:265 AliFMDEnergyFitter.cxx:266 AliFMDEnergyFitter.cxx:267 AliFMDEnergyFitter.cxx:268 AliFMDEnergyFitter.cxx:269 AliFMDEnergyFitter.cxx:270 AliFMDEnergyFitter.cxx:271 AliFMDEnergyFitter.cxx:272 AliFMDEnergyFitter.cxx:273 AliFMDEnergyFitter.cxx:274 AliFMDEnergyFitter.cxx:275 AliFMDEnergyFitter.cxx:276 AliFMDEnergyFitter.cxx:277 AliFMDEnergyFitter.cxx:278 AliFMDEnergyFitter.cxx:279 AliFMDEnergyFitter.cxx:280 AliFMDEnergyFitter.cxx:281 AliFMDEnergyFitter.cxx:282 AliFMDEnergyFitter.cxx:283 AliFMDEnergyFitter.cxx:284 AliFMDEnergyFitter.cxx:285 AliFMDEnergyFitter.cxx:286 AliFMDEnergyFitter.cxx:287 AliFMDEnergyFitter.cxx:288 AliFMDEnergyFitter.cxx:289 AliFMDEnergyFitter.cxx:290 AliFMDEnergyFitter.cxx:291 AliFMDEnergyFitter.cxx:292 AliFMDEnergyFitter.cxx:293 AliFMDEnergyFitter.cxx:294 AliFMDEnergyFitter.cxx:295 AliFMDEnergyFitter.cxx:296 AliFMDEnergyFitter.cxx:297 AliFMDEnergyFitter.cxx:298 AliFMDEnergyFitter.cxx:299 AliFMDEnergyFitter.cxx:300 AliFMDEnergyFitter.cxx:301 AliFMDEnergyFitter.cxx:302 AliFMDEnergyFitter.cxx:303 AliFMDEnergyFitter.cxx:304 AliFMDEnergyFitter.cxx:305 AliFMDEnergyFitter.cxx:306 AliFMDEnergyFitter.cxx:307 AliFMDEnergyFitter.cxx:308 AliFMDEnergyFitter.cxx:309 AliFMDEnergyFitter.cxx:310 AliFMDEnergyFitter.cxx:311 AliFMDEnergyFitter.cxx:312 AliFMDEnergyFitter.cxx:313 AliFMDEnergyFitter.cxx:314 AliFMDEnergyFitter.cxx:315 AliFMDEnergyFitter.cxx:316 AliFMDEnergyFitter.cxx:317 AliFMDEnergyFitter.cxx:318 AliFMDEnergyFitter.cxx:319 AliFMDEnergyFitter.cxx:320 AliFMDEnergyFitter.cxx:321 AliFMDEnergyFitter.cxx:322 AliFMDEnergyFitter.cxx:323 AliFMDEnergyFitter.cxx:324 AliFMDEnergyFitter.cxx:325 AliFMDEnergyFitter.cxx:326 AliFMDEnergyFitter.cxx:327 AliFMDEnergyFitter.cxx:328 AliFMDEnergyFitter.cxx:329 AliFMDEnergyFitter.cxx:330 AliFMDEnergyFitter.cxx:331 AliFMDEnergyFitter.cxx:332 AliFMDEnergyFitter.cxx:333 AliFMDEnergyFitter.cxx:334 AliFMDEnergyFitter.cxx:335 AliFMDEnergyFitter.cxx:336 AliFMDEnergyFitter.cxx:337 AliFMDEnergyFitter.cxx:338 AliFMDEnergyFitter.cxx:339 AliFMDEnergyFitter.cxx:340 AliFMDEnergyFitter.cxx:341 AliFMDEnergyFitter.cxx:342 AliFMDEnergyFitter.cxx:343 AliFMDEnergyFitter.cxx:344 AliFMDEnergyFitter.cxx:345 AliFMDEnergyFitter.cxx:346 AliFMDEnergyFitter.cxx:347 AliFMDEnergyFitter.cxx:348 AliFMDEnergyFitter.cxx:349 AliFMDEnergyFitter.cxx:350 AliFMDEnergyFitter.cxx:351 AliFMDEnergyFitter.cxx:352 AliFMDEnergyFitter.cxx:353 AliFMDEnergyFitter.cxx:354 AliFMDEnergyFitter.cxx:355 AliFMDEnergyFitter.cxx:356 AliFMDEnergyFitter.cxx:357 AliFMDEnergyFitter.cxx:358 AliFMDEnergyFitter.cxx:359 AliFMDEnergyFitter.cxx:360 AliFMDEnergyFitter.cxx:361 AliFMDEnergyFitter.cxx:362 AliFMDEnergyFitter.cxx:363 AliFMDEnergyFitter.cxx:364 AliFMDEnergyFitter.cxx:365 AliFMDEnergyFitter.cxx:366 AliFMDEnergyFitter.cxx:367 AliFMDEnergyFitter.cxx:368 AliFMDEnergyFitter.cxx:369 AliFMDEnergyFitter.cxx:370 AliFMDEnergyFitter.cxx:371 AliFMDEnergyFitter.cxx:372 AliFMDEnergyFitter.cxx:373 AliFMDEnergyFitter.cxx:374 AliFMDEnergyFitter.cxx:375 AliFMDEnergyFitter.cxx:376 AliFMDEnergyFitter.cxx:377 AliFMDEnergyFitter.cxx:378 AliFMDEnergyFitter.cxx:379 AliFMDEnergyFitter.cxx:380 AliFMDEnergyFitter.cxx:381 AliFMDEnergyFitter.cxx:382 AliFMDEnergyFitter.cxx:383 AliFMDEnergyFitter.cxx:384 AliFMDEnergyFitter.cxx:385 AliFMDEnergyFitter.cxx:386 AliFMDEnergyFitter.cxx:387 AliFMDEnergyFitter.cxx:388 AliFMDEnergyFitter.cxx:389 AliFMDEnergyFitter.cxx:390 AliFMDEnergyFitter.cxx:391 AliFMDEnergyFitter.cxx:392 AliFMDEnergyFitter.cxx:393 AliFMDEnergyFitter.cxx:394 AliFMDEnergyFitter.cxx:395 AliFMDEnergyFitter.cxx:396 AliFMDEnergyFitter.cxx:397 AliFMDEnergyFitter.cxx:398 AliFMDEnergyFitter.cxx:399 AliFMDEnergyFitter.cxx:400 AliFMDEnergyFitter.cxx:401 AliFMDEnergyFitter.cxx:402 AliFMDEnergyFitter.cxx:403 AliFMDEnergyFitter.cxx:404 AliFMDEnergyFitter.cxx:405 AliFMDEnergyFitter.cxx:406 AliFMDEnergyFitter.cxx:407 AliFMDEnergyFitter.cxx:408 AliFMDEnergyFitter.cxx:409 AliFMDEnergyFitter.cxx:410 AliFMDEnergyFitter.cxx:411 AliFMDEnergyFitter.cxx:412 AliFMDEnergyFitter.cxx:413 AliFMDEnergyFitter.cxx:414 AliFMDEnergyFitter.cxx:415 AliFMDEnergyFitter.cxx:416 AliFMDEnergyFitter.cxx:417 AliFMDEnergyFitter.cxx:418 AliFMDEnergyFitter.cxx:419 AliFMDEnergyFitter.cxx:420 AliFMDEnergyFitter.cxx:421 AliFMDEnergyFitter.cxx:422 AliFMDEnergyFitter.cxx:423 AliFMDEnergyFitter.cxx:424 AliFMDEnergyFitter.cxx:425 AliFMDEnergyFitter.cxx:426 AliFMDEnergyFitter.cxx:427 AliFMDEnergyFitter.cxx:428 AliFMDEnergyFitter.cxx:429 AliFMDEnergyFitter.cxx:430 AliFMDEnergyFitter.cxx:431 AliFMDEnergyFitter.cxx:432 AliFMDEnergyFitter.cxx:433 AliFMDEnergyFitter.cxx:434 AliFMDEnergyFitter.cxx:435 AliFMDEnergyFitter.cxx:436 AliFMDEnergyFitter.cxx:437 AliFMDEnergyFitter.cxx:438 AliFMDEnergyFitter.cxx:439 AliFMDEnergyFitter.cxx:440 AliFMDEnergyFitter.cxx:441 AliFMDEnergyFitter.cxx:442 AliFMDEnergyFitter.cxx:443 AliFMDEnergyFitter.cxx:444 AliFMDEnergyFitter.cxx:445 AliFMDEnergyFitter.cxx:446 AliFMDEnergyFitter.cxx:447 AliFMDEnergyFitter.cxx:448 AliFMDEnergyFitter.cxx:449 AliFMDEnergyFitter.cxx:450 AliFMDEnergyFitter.cxx:451 AliFMDEnergyFitter.cxx:452 AliFMDEnergyFitter.cxx:453 AliFMDEnergyFitter.cxx:454 AliFMDEnergyFitter.cxx:455 AliFMDEnergyFitter.cxx:456 AliFMDEnergyFitter.cxx:457 AliFMDEnergyFitter.cxx:458 AliFMDEnergyFitter.cxx:459 AliFMDEnergyFitter.cxx:460 AliFMDEnergyFitter.cxx:461 AliFMDEnergyFitter.cxx:462 AliFMDEnergyFitter.cxx:463 AliFMDEnergyFitter.cxx:464 AliFMDEnergyFitter.cxx:465 AliFMDEnergyFitter.cxx:466 AliFMDEnergyFitter.cxx:467 AliFMDEnergyFitter.cxx:468 AliFMDEnergyFitter.cxx:469 AliFMDEnergyFitter.cxx:470 AliFMDEnergyFitter.cxx:471 AliFMDEnergyFitter.cxx:472 AliFMDEnergyFitter.cxx:473 AliFMDEnergyFitter.cxx:474 AliFMDEnergyFitter.cxx:475 AliFMDEnergyFitter.cxx:476 AliFMDEnergyFitter.cxx:477 AliFMDEnergyFitter.cxx:478 AliFMDEnergyFitter.cxx:479 AliFMDEnergyFitter.cxx:480 AliFMDEnergyFitter.cxx:481 AliFMDEnergyFitter.cxx:482 AliFMDEnergyFitter.cxx:483 AliFMDEnergyFitter.cxx:484 AliFMDEnergyFitter.cxx:485 AliFMDEnergyFitter.cxx:486 AliFMDEnergyFitter.cxx:487 AliFMDEnergyFitter.cxx:488 AliFMDEnergyFitter.cxx:489 AliFMDEnergyFitter.cxx:490 AliFMDEnergyFitter.cxx:491 AliFMDEnergyFitter.cxx:492 AliFMDEnergyFitter.cxx:493 AliFMDEnergyFitter.cxx:494 AliFMDEnergyFitter.cxx:495 AliFMDEnergyFitter.cxx:496 AliFMDEnergyFitter.cxx:497 AliFMDEnergyFitter.cxx:498 AliFMDEnergyFitter.cxx:499 AliFMDEnergyFitter.cxx:500 AliFMDEnergyFitter.cxx:501 AliFMDEnergyFitter.cxx:502 AliFMDEnergyFitter.cxx:503 AliFMDEnergyFitter.cxx:504 AliFMDEnergyFitter.cxx:505 AliFMDEnergyFitter.cxx:506 AliFMDEnergyFitter.cxx:507 AliFMDEnergyFitter.cxx:508 AliFMDEnergyFitter.cxx:509 AliFMDEnergyFitter.cxx:510 AliFMDEnergyFitter.cxx:511 AliFMDEnergyFitter.cxx:512 AliFMDEnergyFitter.cxx:513 AliFMDEnergyFitter.cxx:514 AliFMDEnergyFitter.cxx:515 AliFMDEnergyFitter.cxx:516 AliFMDEnergyFitter.cxx:517 AliFMDEnergyFitter.cxx:518 AliFMDEnergyFitter.cxx:519 AliFMDEnergyFitter.cxx:520 AliFMDEnergyFitter.cxx:521 AliFMDEnergyFitter.cxx:522 AliFMDEnergyFitter.cxx:523 AliFMDEnergyFitter.cxx:524 AliFMDEnergyFitter.cxx:525 AliFMDEnergyFitter.cxx:526 AliFMDEnergyFitter.cxx:527 AliFMDEnergyFitter.cxx:528 AliFMDEnergyFitter.cxx:529 AliFMDEnergyFitter.cxx:530 AliFMDEnergyFitter.cxx:531 AliFMDEnergyFitter.cxx:532 AliFMDEnergyFitter.cxx:533 AliFMDEnergyFitter.cxx:534 AliFMDEnergyFitter.cxx:535 AliFMDEnergyFitter.cxx:536 AliFMDEnergyFitter.cxx:537 AliFMDEnergyFitter.cxx:538 AliFMDEnergyFitter.cxx:539 AliFMDEnergyFitter.cxx:540 AliFMDEnergyFitter.cxx:541 AliFMDEnergyFitter.cxx:542 AliFMDEnergyFitter.cxx:543 AliFMDEnergyFitter.cxx:544 AliFMDEnergyFitter.cxx:545 AliFMDEnergyFitter.cxx:546 AliFMDEnergyFitter.cxx:547 AliFMDEnergyFitter.cxx:548 AliFMDEnergyFitter.cxx:549 AliFMDEnergyFitter.cxx:550 AliFMDEnergyFitter.cxx:551 AliFMDEnergyFitter.cxx:552 AliFMDEnergyFitter.cxx:553 AliFMDEnergyFitter.cxx:554 AliFMDEnergyFitter.cxx:555 AliFMDEnergyFitter.cxx:556 AliFMDEnergyFitter.cxx:557 AliFMDEnergyFitter.cxx:558 AliFMDEnergyFitter.cxx:559 AliFMDEnergyFitter.cxx:560 AliFMDEnergyFitter.cxx:561 AliFMDEnergyFitter.cxx:562 AliFMDEnergyFitter.cxx:563 AliFMDEnergyFitter.cxx:564 AliFMDEnergyFitter.cxx:565 AliFMDEnergyFitter.cxx:566 AliFMDEnergyFitter.cxx:567 AliFMDEnergyFitter.cxx:568 AliFMDEnergyFitter.cxx:569 AliFMDEnergyFitter.cxx:570 AliFMDEnergyFitter.cxx:571 AliFMDEnergyFitter.cxx:572 AliFMDEnergyFitter.cxx:573 AliFMDEnergyFitter.cxx:574 AliFMDEnergyFitter.cxx:575 AliFMDEnergyFitter.cxx:576 AliFMDEnergyFitter.cxx:577 AliFMDEnergyFitter.cxx:578 AliFMDEnergyFitter.cxx:579 AliFMDEnergyFitter.cxx:580 AliFMDEnergyFitter.cxx:581 AliFMDEnergyFitter.cxx:582 AliFMDEnergyFitter.cxx:583 AliFMDEnergyFitter.cxx:584 AliFMDEnergyFitter.cxx:585 AliFMDEnergyFitter.cxx:586 AliFMDEnergyFitter.cxx:587 AliFMDEnergyFitter.cxx:588 AliFMDEnergyFitter.cxx:589 AliFMDEnergyFitter.cxx:590 AliFMDEnergyFitter.cxx:591 AliFMDEnergyFitter.cxx:592 AliFMDEnergyFitter.cxx:593 AliFMDEnergyFitter.cxx:594 AliFMDEnergyFitter.cxx:595 AliFMDEnergyFitter.cxx:596 AliFMDEnergyFitter.cxx:597 AliFMDEnergyFitter.cxx:598 AliFMDEnergyFitter.cxx:599 AliFMDEnergyFitter.cxx:600 AliFMDEnergyFitter.cxx:601 AliFMDEnergyFitter.cxx:602 AliFMDEnergyFitter.cxx:603 AliFMDEnergyFitter.cxx:604 AliFMDEnergyFitter.cxx:605 AliFMDEnergyFitter.cxx:606 AliFMDEnergyFitter.cxx:607 AliFMDEnergyFitter.cxx:608 AliFMDEnergyFitter.cxx:609 AliFMDEnergyFitter.cxx:610 AliFMDEnergyFitter.cxx:611 AliFMDEnergyFitter.cxx:612 AliFMDEnergyFitter.cxx:613 AliFMDEnergyFitter.cxx:614 AliFMDEnergyFitter.cxx:615 AliFMDEnergyFitter.cxx:616 AliFMDEnergyFitter.cxx:617 AliFMDEnergyFitter.cxx:618 AliFMDEnergyFitter.cxx:619 AliFMDEnergyFitter.cxx:620 AliFMDEnergyFitter.cxx:621 AliFMDEnergyFitter.cxx:622 AliFMDEnergyFitter.cxx:623 AliFMDEnergyFitter.cxx:624 AliFMDEnergyFitter.cxx:625 AliFMDEnergyFitter.cxx:626 AliFMDEnergyFitter.cxx:627 AliFMDEnergyFitter.cxx:628 AliFMDEnergyFitter.cxx:629 AliFMDEnergyFitter.cxx:630 AliFMDEnergyFitter.cxx:631 AliFMDEnergyFitter.cxx:632 AliFMDEnergyFitter.cxx:633 AliFMDEnergyFitter.cxx:634 AliFMDEnergyFitter.cxx:635 AliFMDEnergyFitter.cxx:636 AliFMDEnergyFitter.cxx:637 AliFMDEnergyFitter.cxx:638 AliFMDEnergyFitter.cxx:639 AliFMDEnergyFitter.cxx:640 AliFMDEnergyFitter.cxx:641 AliFMDEnergyFitter.cxx:642 AliFMDEnergyFitter.cxx:643 AliFMDEnergyFitter.cxx:644 AliFMDEnergyFitter.cxx:645 AliFMDEnergyFitter.cxx:646 AliFMDEnergyFitter.cxx:647 AliFMDEnergyFitter.cxx:648 AliFMDEnergyFitter.cxx:649 AliFMDEnergyFitter.cxx:650 AliFMDEnergyFitter.cxx:651 AliFMDEnergyFitter.cxx:652 AliFMDEnergyFitter.cxx:653 AliFMDEnergyFitter.cxx:654 AliFMDEnergyFitter.cxx:655 AliFMDEnergyFitter.cxx:656 AliFMDEnergyFitter.cxx:657 AliFMDEnergyFitter.cxx:658 AliFMDEnergyFitter.cxx:659 AliFMDEnergyFitter.cxx:660 AliFMDEnergyFitter.cxx:661 AliFMDEnergyFitter.cxx:662 AliFMDEnergyFitter.cxx:663 AliFMDEnergyFitter.cxx:664 AliFMDEnergyFitter.cxx:665 AliFMDEnergyFitter.cxx:666 AliFMDEnergyFitter.cxx:667 AliFMDEnergyFitter.cxx:668 AliFMDEnergyFitter.cxx:669 AliFMDEnergyFitter.cxx:670 AliFMDEnergyFitter.cxx:671 AliFMDEnergyFitter.cxx:672 AliFMDEnergyFitter.cxx:673 AliFMDEnergyFitter.cxx:674 AliFMDEnergyFitter.cxx:675 AliFMDEnergyFitter.cxx:676 AliFMDEnergyFitter.cxx:677 AliFMDEnergyFitter.cxx:678 AliFMDEnergyFitter.cxx:679 AliFMDEnergyFitter.cxx:680 AliFMDEnergyFitter.cxx:681 AliFMDEnergyFitter.cxx:682 AliFMDEnergyFitter.cxx:683 AliFMDEnergyFitter.cxx:684 AliFMDEnergyFitter.cxx:685 AliFMDEnergyFitter.cxx:686 AliFMDEnergyFitter.cxx:687 AliFMDEnergyFitter.cxx:688 AliFMDEnergyFitter.cxx:689 AliFMDEnergyFitter.cxx:690 AliFMDEnergyFitter.cxx:691 AliFMDEnergyFitter.cxx:692 AliFMDEnergyFitter.cxx:693 AliFMDEnergyFitter.cxx:694 AliFMDEnergyFitter.cxx:695 AliFMDEnergyFitter.cxx:696 AliFMDEnergyFitter.cxx:697 AliFMDEnergyFitter.cxx:698 AliFMDEnergyFitter.cxx:699 AliFMDEnergyFitter.cxx:700 AliFMDEnergyFitter.cxx:701 AliFMDEnergyFitter.cxx:702 AliFMDEnergyFitter.cxx:703 AliFMDEnergyFitter.cxx:704 AliFMDEnergyFitter.cxx:705 AliFMDEnergyFitter.cxx:706 AliFMDEnergyFitter.cxx:707 AliFMDEnergyFitter.cxx:708 AliFMDEnergyFitter.cxx:709 AliFMDEnergyFitter.cxx:710 AliFMDEnergyFitter.cxx:711 AliFMDEnergyFitter.cxx:712 AliFMDEnergyFitter.cxx:713 AliFMDEnergyFitter.cxx:714 AliFMDEnergyFitter.cxx:715 AliFMDEnergyFitter.cxx:716 AliFMDEnergyFitter.cxx:717 AliFMDEnergyFitter.cxx:718 AliFMDEnergyFitter.cxx:719 AliFMDEnergyFitter.cxx:720 AliFMDEnergyFitter.cxx:721 AliFMDEnergyFitter.cxx:722 AliFMDEnergyFitter.cxx:723 AliFMDEnergyFitter.cxx:724 AliFMDEnergyFitter.cxx:725 AliFMDEnergyFitter.cxx:726 AliFMDEnergyFitter.cxx:727 AliFMDEnergyFitter.cxx:728 AliFMDEnergyFitter.cxx:729 AliFMDEnergyFitter.cxx:730 AliFMDEnergyFitter.cxx:731 AliFMDEnergyFitter.cxx:732 AliFMDEnergyFitter.cxx:733 AliFMDEnergyFitter.cxx:734 AliFMDEnergyFitter.cxx:735 AliFMDEnergyFitter.cxx:736 AliFMDEnergyFitter.cxx:737 AliFMDEnergyFitter.cxx:738 AliFMDEnergyFitter.cxx:739 AliFMDEnergyFitter.cxx:740 AliFMDEnergyFitter.cxx:741 AliFMDEnergyFitter.cxx:742 AliFMDEnergyFitter.cxx:743 AliFMDEnergyFitter.cxx:744 AliFMDEnergyFitter.cxx:745 AliFMDEnergyFitter.cxx:746 AliFMDEnergyFitter.cxx:747 AliFMDEnergyFitter.cxx:748 AliFMDEnergyFitter.cxx:749 AliFMDEnergyFitter.cxx:750 AliFMDEnergyFitter.cxx:751 AliFMDEnergyFitter.cxx:752 AliFMDEnergyFitter.cxx:753 AliFMDEnergyFitter.cxx:754 AliFMDEnergyFitter.cxx:755 AliFMDEnergyFitter.cxx:756 AliFMDEnergyFitter.cxx:757 AliFMDEnergyFitter.cxx:758 AliFMDEnergyFitter.cxx:759 AliFMDEnergyFitter.cxx:760 AliFMDEnergyFitter.cxx:761 AliFMDEnergyFitter.cxx:762 AliFMDEnergyFitter.cxx:763 AliFMDEnergyFitter.cxx:764 AliFMDEnergyFitter.cxx:765 AliFMDEnergyFitter.cxx:766 AliFMDEnergyFitter.cxx:767 AliFMDEnergyFitter.cxx:768 AliFMDEnergyFitter.cxx:769 AliFMDEnergyFitter.cxx:770 AliFMDEnergyFitter.cxx:771 AliFMDEnergyFitter.cxx:772 AliFMDEnergyFitter.cxx:773 AliFMDEnergyFitter.cxx:774 AliFMDEnergyFitter.cxx:775 AliFMDEnergyFitter.cxx:776 AliFMDEnergyFitter.cxx:777 AliFMDEnergyFitter.cxx:778 AliFMDEnergyFitter.cxx:779 AliFMDEnergyFitter.cxx:780 AliFMDEnergyFitter.cxx:781 AliFMDEnergyFitter.cxx:782 AliFMDEnergyFitter.cxx:783 AliFMDEnergyFitter.cxx:784 AliFMDEnergyFitter.cxx:785 AliFMDEnergyFitter.cxx:786 AliFMDEnergyFitter.cxx:787 AliFMDEnergyFitter.cxx:788 AliFMDEnergyFitter.cxx:789 AliFMDEnergyFitter.cxx:790 AliFMDEnergyFitter.cxx:791 AliFMDEnergyFitter.cxx:792 AliFMDEnergyFitter.cxx:793 AliFMDEnergyFitter.cxx:794 AliFMDEnergyFitter.cxx:795 AliFMDEnergyFitter.cxx:796 AliFMDEnergyFitter.cxx:797 AliFMDEnergyFitter.cxx:798 AliFMDEnergyFitter.cxx:799 AliFMDEnergyFitter.cxx:800 AliFMDEnergyFitter.cxx:801 AliFMDEnergyFitter.cxx:802 AliFMDEnergyFitter.cxx:803 AliFMDEnergyFitter.cxx:804 AliFMDEnergyFitter.cxx:805 AliFMDEnergyFitter.cxx:806 AliFMDEnergyFitter.cxx:807 AliFMDEnergyFitter.cxx:808 AliFMDEnergyFitter.cxx:809 AliFMDEnergyFitter.cxx:810 AliFMDEnergyFitter.cxx:811 AliFMDEnergyFitter.cxx:812 AliFMDEnergyFitter.cxx:813 AliFMDEnergyFitter.cxx:814 AliFMDEnergyFitter.cxx:815 AliFMDEnergyFitter.cxx:816 AliFMDEnergyFitter.cxx:817 AliFMDEnergyFitter.cxx:818 AliFMDEnergyFitter.cxx:819 AliFMDEnergyFitter.cxx:820 AliFMDEnergyFitter.cxx:821 AliFMDEnergyFitter.cxx:822 AliFMDEnergyFitter.cxx:823 AliFMDEnergyFitter.cxx:824 AliFMDEnergyFitter.cxx:825 AliFMDEnergyFitter.cxx:826 AliFMDEnergyFitter.cxx:827 AliFMDEnergyFitter.cxx:828 AliFMDEnergyFitter.cxx:829 AliFMDEnergyFitter.cxx:830 AliFMDEnergyFitter.cxx:831 AliFMDEnergyFitter.cxx:832 AliFMDEnergyFitter.cxx:833 AliFMDEnergyFitter.cxx:834 AliFMDEnergyFitter.cxx:835 AliFMDEnergyFitter.cxx:836 AliFMDEnergyFitter.cxx:837 AliFMDEnergyFitter.cxx:838 AliFMDEnergyFitter.cxx:839 AliFMDEnergyFitter.cxx:840 AliFMDEnergyFitter.cxx:841 AliFMDEnergyFitter.cxx:842 AliFMDEnergyFitter.cxx:843 AliFMDEnergyFitter.cxx:844 AliFMDEnergyFitter.cxx:845 AliFMDEnergyFitter.cxx:846 AliFMDEnergyFitter.cxx:847 AliFMDEnergyFitter.cxx:848 AliFMDEnergyFitter.cxx:849 AliFMDEnergyFitter.cxx:850 AliFMDEnergyFitter.cxx:851 AliFMDEnergyFitter.cxx:852 AliFMDEnergyFitter.cxx:853 AliFMDEnergyFitter.cxx:854 AliFMDEnergyFitter.cxx:855 AliFMDEnergyFitter.cxx:856 AliFMDEnergyFitter.cxx:857 AliFMDEnergyFitter.cxx:858 AliFMDEnergyFitter.cxx:859 AliFMDEnergyFitter.cxx:860 AliFMDEnergyFitter.cxx:861 AliFMDEnergyFitter.cxx:862 AliFMDEnergyFitter.cxx:863 AliFMDEnergyFitter.cxx:864 AliFMDEnergyFitter.cxx:865 AliFMDEnergyFitter.cxx:866 AliFMDEnergyFitter.cxx:867 AliFMDEnergyFitter.cxx:868 AliFMDEnergyFitter.cxx:869 AliFMDEnergyFitter.cxx:870 AliFMDEnergyFitter.cxx:871 AliFMDEnergyFitter.cxx:872 AliFMDEnergyFitter.cxx:873 AliFMDEnergyFitter.cxx:874 AliFMDEnergyFitter.cxx:875 AliFMDEnergyFitter.cxx:876 AliFMDEnergyFitter.cxx:877 AliFMDEnergyFitter.cxx:878 AliFMDEnergyFitter.cxx:879 AliFMDEnergyFitter.cxx:880 AliFMDEnergyFitter.cxx:881 AliFMDEnergyFitter.cxx:882 AliFMDEnergyFitter.cxx:883 AliFMDEnergyFitter.cxx:884 AliFMDEnergyFitter.cxx:885 AliFMDEnergyFitter.cxx:886 AliFMDEnergyFitter.cxx:887 AliFMDEnergyFitter.cxx:888 AliFMDEnergyFitter.cxx:889 AliFMDEnergyFitter.cxx:890 AliFMDEnergyFitter.cxx:891 AliFMDEnergyFitter.cxx:892 AliFMDEnergyFitter.cxx:893 AliFMDEnergyFitter.cxx:894 AliFMDEnergyFitter.cxx:895 AliFMDEnergyFitter.cxx:896 AliFMDEnergyFitter.cxx:897 AliFMDEnergyFitter.cxx:898 AliFMDEnergyFitter.cxx:899 AliFMDEnergyFitter.cxx:900 AliFMDEnergyFitter.cxx:901 AliFMDEnergyFitter.cxx:902 AliFMDEnergyFitter.cxx:903 AliFMDEnergyFitter.cxx:904 AliFMDEnergyFitter.cxx:905 AliFMDEnergyFitter.cxx:906 AliFMDEnergyFitter.cxx:907 AliFMDEnergyFitter.cxx:908 AliFMDEnergyFitter.cxx:909 AliFMDEnergyFitter.cxx:910 AliFMDEnergyFitter.cxx:911 AliFMDEnergyFitter.cxx:912 AliFMDEnergyFitter.cxx:913 AliFMDEnergyFitter.cxx:914 AliFMDEnergyFitter.cxx:915 AliFMDEnergyFitter.cxx:916 AliFMDEnergyFitter.cxx:917 AliFMDEnergyFitter.cxx:918 AliFMDEnergyFitter.cxx:919 AliFMDEnergyFitter.cxx:920 AliFMDEnergyFitter.cxx:921 AliFMDEnergyFitter.cxx:922 AliFMDEnergyFitter.cxx:923 AliFMDEnergyFitter.cxx:924 AliFMDEnergyFitter.cxx:925 AliFMDEnergyFitter.cxx:926 AliFMDEnergyFitter.cxx:927 AliFMDEnergyFitter.cxx:928 AliFMDEnergyFitter.cxx:929 AliFMDEnergyFitter.cxx:930 AliFMDEnergyFitter.cxx:931 AliFMDEnergyFitter.cxx:932 AliFMDEnergyFitter.cxx:933 AliFMDEnergyFitter.cxx:934 AliFMDEnergyFitter.cxx:935 AliFMDEnergyFitter.cxx:936 AliFMDEnergyFitter.cxx:937 AliFMDEnergyFitter.cxx:938 AliFMDEnergyFitter.cxx:939 AliFMDEnergyFitter.cxx:940 AliFMDEnergyFitter.cxx:941 AliFMDEnergyFitter.cxx:942 AliFMDEnergyFitter.cxx:943 AliFMDEnergyFitter.cxx:944 AliFMDEnergyFitter.cxx:945 AliFMDEnergyFitter.cxx:946 AliFMDEnergyFitter.cxx:947 AliFMDEnergyFitter.cxx:948 AliFMDEnergyFitter.cxx:949 AliFMDEnergyFitter.cxx:950 AliFMDEnergyFitter.cxx:951 AliFMDEnergyFitter.cxx:952 AliFMDEnergyFitter.cxx:953 AliFMDEnergyFitter.cxx:954 AliFMDEnergyFitter.cxx:955 AliFMDEnergyFitter.cxx:956 AliFMDEnergyFitter.cxx:957 AliFMDEnergyFitter.cxx:958 AliFMDEnergyFitter.cxx:959 AliFMDEnergyFitter.cxx:960 AliFMDEnergyFitter.cxx:961 AliFMDEnergyFitter.cxx:962 AliFMDEnergyFitter.cxx:963 AliFMDEnergyFitter.cxx:964 AliFMDEnergyFitter.cxx:965 AliFMDEnergyFitter.cxx:966 AliFMDEnergyFitter.cxx:967 AliFMDEnergyFitter.cxx:968 AliFMDEnergyFitter.cxx:969 AliFMDEnergyFitter.cxx:970 AliFMDEnergyFitter.cxx:971 AliFMDEnergyFitter.cxx:972 AliFMDEnergyFitter.cxx:973 AliFMDEnergyFitter.cxx:974 AliFMDEnergyFitter.cxx:975 AliFMDEnergyFitter.cxx:976 AliFMDEnergyFitter.cxx:977 AliFMDEnergyFitter.cxx:978 AliFMDEnergyFitter.cxx:979 AliFMDEnergyFitter.cxx:980 AliFMDEnergyFitter.cxx:981 AliFMDEnergyFitter.cxx:982 AliFMDEnergyFitter.cxx:983 AliFMDEnergyFitter.cxx:984 AliFMDEnergyFitter.cxx:985 AliFMDEnergyFitter.cxx:986 AliFMDEnergyFitter.cxx:987 AliFMDEnergyFitter.cxx:988 AliFMDEnergyFitter.cxx:989 AliFMDEnergyFitter.cxx:990 AliFMDEnergyFitter.cxx:991 AliFMDEnergyFitter.cxx:992 AliFMDEnergyFitter.cxx:993 AliFMDEnergyFitter.cxx:994 AliFMDEnergyFitter.cxx:995 AliFMDEnergyFitter.cxx:996 AliFMDEnergyFitter.cxx:997 AliFMDEnergyFitter.cxx:998 AliFMDEnergyFitter.cxx:999 AliFMDEnergyFitter.cxx:1000 AliFMDEnergyFitter.cxx:1001 AliFMDEnergyFitter.cxx:1002 AliFMDEnergyFitter.cxx:1003 AliFMDEnergyFitter.cxx:1004 AliFMDEnergyFitter.cxx:1005 AliFMDEnergyFitter.cxx:1006 AliFMDEnergyFitter.cxx:1007 AliFMDEnergyFitter.cxx:1008 AliFMDEnergyFitter.cxx:1009 AliFMDEnergyFitter.cxx:1010 AliFMDEnergyFitter.cxx:1011 AliFMDEnergyFitter.cxx:1012 AliFMDEnergyFitter.cxx:1013 AliFMDEnergyFitter.cxx:1014 AliFMDEnergyFitter.cxx:1015 AliFMDEnergyFitter.cxx:1016 AliFMDEnergyFitter.cxx:1017 AliFMDEnergyFitter.cxx:1018 AliFMDEnergyFitter.cxx:1019 AliFMDEnergyFitter.cxx:1020 AliFMDEnergyFitter.cxx:1021 AliFMDEnergyFitter.cxx:1022 AliFMDEnergyFitter.cxx:1023 AliFMDEnergyFitter.cxx:1024 AliFMDEnergyFitter.cxx:1025 AliFMDEnergyFitter.cxx:1026 AliFMDEnergyFitter.cxx:1027 AliFMDEnergyFitter.cxx:1028 AliFMDEnergyFitter.cxx:1029 AliFMDEnergyFitter.cxx:1030 AliFMDEnergyFitter.cxx:1031 AliFMDEnergyFitter.cxx:1032 AliFMDEnergyFitter.cxx:1033 AliFMDEnergyFitter.cxx:1034 AliFMDEnergyFitter.cxx:1035 AliFMDEnergyFitter.cxx:1036 AliFMDEnergyFitter.cxx:1037 AliFMDEnergyFitter.cxx:1038 AliFMDEnergyFitter.cxx:1039 AliFMDEnergyFitter.cxx:1040 AliFMDEnergyFitter.cxx:1041 AliFMDEnergyFitter.cxx:1042 AliFMDEnergyFitter.cxx:1043 AliFMDEnergyFitter.cxx:1044 AliFMDEnergyFitter.cxx:1045 AliFMDEnergyFitter.cxx:1046 AliFMDEnergyFitter.cxx:1047 AliFMDEnergyFitter.cxx:1048 AliFMDEnergyFitter.cxx:1049 AliFMDEnergyFitter.cxx:1050 AliFMDEnergyFitter.cxx:1051 AliFMDEnergyFitter.cxx:1052 AliFMDEnergyFitter.cxx:1053 AliFMDEnergyFitter.cxx:1054 AliFMDEnergyFitter.cxx:1055 AliFMDEnergyFitter.cxx:1056 AliFMDEnergyFitter.cxx:1057 AliFMDEnergyFitter.cxx:1058 AliFMDEnergyFitter.cxx:1059 AliFMDEnergyFitter.cxx:1060 AliFMDEnergyFitter.cxx:1061 AliFMDEnergyFitter.cxx:1062 AliFMDEnergyFitter.cxx:1063 AliFMDEnergyFitter.cxx:1064 AliFMDEnergyFitter.cxx:1065 AliFMDEnergyFitter.cxx:1066 AliFMDEnergyFitter.cxx:1067 AliFMDEnergyFitter.cxx:1068 AliFMDEnergyFitter.cxx:1069 AliFMDEnergyFitter.cxx:1070 AliFMDEnergyFitter.cxx:1071 AliFMDEnergyFitter.cxx:1072 AliFMDEnergyFitter.cxx:1073 AliFMDEnergyFitter.cxx:1074 AliFMDEnergyFitter.cxx:1075 AliFMDEnergyFitter.cxx:1076 AliFMDEnergyFitter.cxx:1077 AliFMDEnergyFitter.cxx:1078 AliFMDEnergyFitter.cxx:1079 AliFMDEnergyFitter.cxx:1080 AliFMDEnergyFitter.cxx:1081 AliFMDEnergyFitter.cxx:1082 AliFMDEnergyFitter.cxx:1083 AliFMDEnergyFitter.cxx:1084 AliFMDEnergyFitter.cxx:1085 AliFMDEnergyFitter.cxx:1086 AliFMDEnergyFitter.cxx:1087 AliFMDEnergyFitter.cxx:1088 AliFMDEnergyFitter.cxx:1089 AliFMDEnergyFitter.cxx:1090 AliFMDEnergyFitter.cxx:1091 AliFMDEnergyFitter.cxx:1092 AliFMDEnergyFitter.cxx:1093 AliFMDEnergyFitter.cxx:1094 AliFMDEnergyFitter.cxx:1095 AliFMDEnergyFitter.cxx:1096 AliFMDEnergyFitter.cxx:1097 AliFMDEnergyFitter.cxx:1098 AliFMDEnergyFitter.cxx:1099 AliFMDEnergyFitter.cxx:1100 AliFMDEnergyFitter.cxx:1101 AliFMDEnergyFitter.cxx:1102 AliFMDEnergyFitter.cxx:1103 AliFMDEnergyFitter.cxx:1104 AliFMDEnergyFitter.cxx:1105 AliFMDEnergyFitter.cxx:1106 AliFMDEnergyFitter.cxx:1107 AliFMDEnergyFitter.cxx:1108 AliFMDEnergyFitter.cxx:1109 AliFMDEnergyFitter.cxx:1110 AliFMDEnergyFitter.cxx:1111 AliFMDEnergyFitter.cxx:1112 AliFMDEnergyFitter.cxx:1113 AliFMDEnergyFitter.cxx:1114 AliFMDEnergyFitter.cxx:1115 AliFMDEnergyFitter.cxx:1116 AliFMDEnergyFitter.cxx:1117 AliFMDEnergyFitter.cxx:1118 AliFMDEnergyFitter.cxx:1119 AliFMDEnergyFitter.cxx:1120 AliFMDEnergyFitter.cxx:1121 AliFMDEnergyFitter.cxx:1122 AliFMDEnergyFitter.cxx:1123 AliFMDEnergyFitter.cxx:1124 AliFMDEnergyFitter.cxx:1125 AliFMDEnergyFitter.cxx:1126 AliFMDEnergyFitter.cxx:1127 AliFMDEnergyFitter.cxx:1128 AliFMDEnergyFitter.cxx:1129 AliFMDEnergyFitter.cxx:1130 AliFMDEnergyFitter.cxx:1131 AliFMDEnergyFitter.cxx:1132 AliFMDEnergyFitter.cxx:1133 AliFMDEnergyFitter.cxx:1134 AliFMDEnergyFitter.cxx:1135 AliFMDEnergyFitter.cxx:1136 AliFMDEnergyFitter.cxx:1137 AliFMDEnergyFitter.cxx:1138 AliFMDEnergyFitter.cxx:1139 AliFMDEnergyFitter.cxx:1140 AliFMDEnergyFitter.cxx:1141 AliFMDEnergyFitter.cxx:1142 AliFMDEnergyFitter.cxx:1143 AliFMDEnergyFitter.cxx:1144 AliFMDEnergyFitter.cxx:1145 AliFMDEnergyFitter.cxx:1146 AliFMDEnergyFitter.cxx:1147 AliFMDEnergyFitter.cxx:1148 AliFMDEnergyFitter.cxx:1149 AliFMDEnergyFitter.cxx:1150 AliFMDEnergyFitter.cxx:1151 AliFMDEnergyFitter.cxx:1152 AliFMDEnergyFitter.cxx:1153 AliFMDEnergyFitter.cxx:1154 AliFMDEnergyFitter.cxx:1155 AliFMDEnergyFitter.cxx:1156 AliFMDEnergyFitter.cxx:1157 AliFMDEnergyFitter.cxx:1158 AliFMDEnergyFitter.cxx:1159 AliFMDEnergyFitter.cxx:1160 AliFMDEnergyFitter.cxx:1161 AliFMDEnergyFitter.cxx:1162 AliFMDEnergyFitter.cxx:1163 AliFMDEnergyFitter.cxx:1164 AliFMDEnergyFitter.cxx:1165 AliFMDEnergyFitter.cxx:1166 AliFMDEnergyFitter.cxx:1167 AliFMDEnergyFitter.cxx:1168 AliFMDEnergyFitter.cxx:1169 AliFMDEnergyFitter.cxx:1170 AliFMDEnergyFitter.cxx:1171 AliFMDEnergyFitter.cxx:1172 AliFMDEnergyFitter.cxx:1173 AliFMDEnergyFitter.cxx:1174 AliFMDEnergyFitter.cxx:1175 AliFMDEnergyFitter.cxx:1176 AliFMDEnergyFitter.cxx:1177 AliFMDEnergyFitter.cxx:1178 AliFMDEnergyFitter.cxx:1179 AliFMDEnergyFitter.cxx:1180 AliFMDEnergyFitter.cxx:1181 AliFMDEnergyFitter.cxx:1182 AliFMDEnergyFitter.cxx:1183 AliFMDEnergyFitter.cxx:1184 AliFMDEnergyFitter.cxx:1185 AliFMDEnergyFitter.cxx:1186 AliFMDEnergyFitter.cxx:1187 AliFMDEnergyFitter.cxx:1188 AliFMDEnergyFitter.cxx:1189 AliFMDEnergyFitter.cxx:1190 AliFMDEnergyFitter.cxx:1191 AliFMDEnergyFitter.cxx:1192 AliFMDEnergyFitter.cxx:1193 AliFMDEnergyFitter.cxx:1194 AliFMDEnergyFitter.cxx:1195 AliFMDEnergyFitter.cxx:1196 AliFMDEnergyFitter.cxx:1197 AliFMDEnergyFitter.cxx:1198 AliFMDEnergyFitter.cxx:1199 AliFMDEnergyFitter.cxx:1200 AliFMDEnergyFitter.cxx:1201 AliFMDEnergyFitter.cxx:1202 AliFMDEnergyFitter.cxx:1203 AliFMDEnergyFitter.cxx:1204 AliFMDEnergyFitter.cxx:1205 AliFMDEnergyFitter.cxx:1206 AliFMDEnergyFitter.cxx:1207 AliFMDEnergyFitter.cxx:1208 AliFMDEnergyFitter.cxx:1209 AliFMDEnergyFitter.cxx:1210 AliFMDEnergyFitter.cxx:1211 AliFMDEnergyFitter.cxx:1212 AliFMDEnergyFitter.cxx:1213 AliFMDEnergyFitter.cxx:1214 AliFMDEnergyFitter.cxx:1215 AliFMDEnergyFitter.cxx:1216 AliFMDEnergyFitter.cxx:1217 AliFMDEnergyFitter.cxx:1218 AliFMDEnergyFitter.cxx:1219 AliFMDEnergyFitter.cxx:1220 AliFMDEnergyFitter.cxx:1221 AliFMDEnergyFitter.cxx:1222 AliFMDEnergyFitter.cxx:1223 AliFMDEnergyFitter.cxx:1224 AliFMDEnergyFitter.cxx:1225 AliFMDEnergyFitter.cxx:1226 AliFMDEnergyFitter.cxx:1227 AliFMDEnergyFitter.cxx:1228 AliFMDEnergyFitter.cxx:1229 AliFMDEnergyFitter.cxx:1230 AliFMDEnergyFitter.cxx:1231 AliFMDEnergyFitter.cxx:1232 AliFMDEnergyFitter.cxx:1233 AliFMDEnergyFitter.cxx:1234 AliFMDEnergyFitter.cxx:1235 AliFMDEnergyFitter.cxx:1236 AliFMDEnergyFitter.cxx:1237 AliFMDEnergyFitter.cxx:1238 AliFMDEnergyFitter.cxx:1239 AliFMDEnergyFitter.cxx:1240 AliFMDEnergyFitter.cxx:1241 AliFMDEnergyFitter.cxx:1242 AliFMDEnergyFitter.cxx:1243 AliFMDEnergyFitter.cxx:1244 AliFMDEnergyFitter.cxx:1245 AliFMDEnergyFitter.cxx:1246 AliFMDEnergyFitter.cxx:1247 AliFMDEnergyFitter.cxx:1248 AliFMDEnergyFitter.cxx:1249 AliFMDEnergyFitter.cxx:1250 AliFMDEnergyFitter.cxx:1251 AliFMDEnergyFitter.cxx:1252 AliFMDEnergyFitter.cxx:1253 AliFMDEnergyFitter.cxx:1254 AliFMDEnergyFitter.cxx:1255 AliFMDEnergyFitter.cxx:1256 AliFMDEnergyFitter.cxx:1257 AliFMDEnergyFitter.cxx:1258 AliFMDEnergyFitter.cxx:1259 AliFMDEnergyFitter.cxx:1260 AliFMDEnergyFitter.cxx:1261 AliFMDEnergyFitter.cxx:1262 AliFMDEnergyFitter.cxx:1263 AliFMDEnergyFitter.cxx:1264 AliFMDEnergyFitter.cxx:1265 AliFMDEnergyFitter.cxx:1266 AliFMDEnergyFitter.cxx:1267 AliFMDEnergyFitter.cxx:1268 AliFMDEnergyFitter.cxx:1269 AliFMDEnergyFitter.cxx:1270 AliFMDEnergyFitter.cxx:1271 AliFMDEnergyFitter.cxx:1272 AliFMDEnergyFitter.cxx:1273 AliFMDEnergyFitter.cxx:1274 AliFMDEnergyFitter.cxx:1275 AliFMDEnergyFitter.cxx:1276 AliFMDEnergyFitter.cxx:1277 AliFMDEnergyFitter.cxx:1278 AliFMDEnergyFitter.cxx:1279 AliFMDEnergyFitter.cxx:1280 AliFMDEnergyFitter.cxx:1281 AliFMDEnergyFitter.cxx:1282 AliFMDEnergyFitter.cxx:1283 AliFMDEnergyFitter.cxx:1284 AliFMDEnergyFitter.cxx:1285 AliFMDEnergyFitter.cxx:1286 AliFMDEnergyFitter.cxx:1287 AliFMDEnergyFitter.cxx:1288 AliFMDEnergyFitter.cxx:1289 AliFMDEnergyFitter.cxx:1290 AliFMDEnergyFitter.cxx:1291 AliFMDEnergyFitter.cxx:1292 AliFMDEnergyFitter.cxx:1293 AliFMDEnergyFitter.cxx:1294 AliFMDEnergyFitter.cxx:1295 AliFMDEnergyFitter.cxx:1296 AliFMDEnergyFitter.cxx:1297 AliFMDEnergyFitter.cxx:1298 AliFMDEnergyFitter.cxx:1299 AliFMDEnergyFitter.cxx:1300 AliFMDEnergyFitter.cxx:1301 AliFMDEnergyFitter.cxx:1302 AliFMDEnergyFitter.cxx:1303 AliFMDEnergyFitter.cxx:1304 AliFMDEnergyFitter.cxx:1305 AliFMDEnergyFitter.cxx:1306 AliFMDEnergyFitter.cxx:1307 AliFMDEnergyFitter.cxx:1308 AliFMDEnergyFitter.cxx:1309 AliFMDEnergyFitter.cxx:1310 AliFMDEnergyFitter.cxx:1311 AliFMDEnergyFitter.cxx:1312 AliFMDEnergyFitter.cxx:1313 AliFMDEnergyFitter.cxx:1314 AliFMDEnergyFitter.cxx:1315 AliFMDEnergyFitter.cxx:1316 AliFMDEnergyFitter.cxx:1317 AliFMDEnergyFitter.cxx:1318 AliFMDEnergyFitter.cxx:1319 AliFMDEnergyFitter.cxx:1320 AliFMDEnergyFitter.cxx:1321 AliFMDEnergyFitter.cxx:1322 AliFMDEnergyFitter.cxx:1323 AliFMDEnergyFitter.cxx:1324 AliFMDEnergyFitter.cxx:1325 AliFMDEnergyFitter.cxx:1326 AliFMDEnergyFitter.cxx:1327 AliFMDEnergyFitter.cxx:1328 AliFMDEnergyFitter.cxx:1329 AliFMDEnergyFitter.cxx:1330 AliFMDEnergyFitter.cxx:1331 AliFMDEnergyFitter.cxx:1332 AliFMDEnergyFitter.cxx:1333 AliFMDEnergyFitter.cxx:1334 AliFMDEnergyFitter.cxx:1335 AliFMDEnergyFitter.cxx:1336 AliFMDEnergyFitter.cxx:1337 AliFMDEnergyFitter.cxx:1338 AliFMDEnergyFitter.cxx:1339 AliFMDEnergyFitter.cxx:1340 AliFMDEnergyFitter.cxx:1341 AliFMDEnergyFitter.cxx:1342 AliFMDEnergyFitter.cxx:1343 AliFMDEnergyFitter.cxx:1344 AliFMDEnergyFitter.cxx:1345 AliFMDEnergyFitter.cxx:1346 AliFMDEnergyFitter.cxx:1347 AliFMDEnergyFitter.cxx:1348 AliFMDEnergyFitter.cxx:1349 AliFMDEnergyFitter.cxx:1350 AliFMDEnergyFitter.cxx:1351 AliFMDEnergyFitter.cxx:1352 AliFMDEnergyFitter.cxx:1353 AliFMDEnergyFitter.cxx:1354 AliFMDEnergyFitter.cxx:1355 AliFMDEnergyFitter.cxx:1356 AliFMDEnergyFitter.cxx:1357 AliFMDEnergyFitter.cxx:1358 AliFMDEnergyFitter.cxx:1359 AliFMDEnergyFitter.cxx:1360 AliFMDEnergyFitter.cxx:1361 AliFMDEnergyFitter.cxx:1362 AliFMDEnergyFitter.cxx:1363 AliFMDEnergyFitter.cxx:1364 AliFMDEnergyFitter.cxx:1365 AliFMDEnergyFitter.cxx:1366 AliFMDEnergyFitter.cxx:1367 AliFMDEnergyFitter.cxx:1368 AliFMDEnergyFitter.cxx:1369 AliFMDEnergyFitter.cxx:1370 AliFMDEnergyFitter.cxx:1371 AliFMDEnergyFitter.cxx:1372 AliFMDEnergyFitter.cxx:1373 AliFMDEnergyFitter.cxx:1374 AliFMDEnergyFitter.cxx:1375 AliFMDEnergyFitter.cxx:1376 AliFMDEnergyFitter.cxx:1377 AliFMDEnergyFitter.cxx:1378 AliFMDEnergyFitter.cxx:1379 AliFMDEnergyFitter.cxx:1380 AliFMDEnergyFitter.cxx:1381 AliFMDEnergyFitter.cxx:1382 AliFMDEnergyFitter.cxx:1383 AliFMDEnergyFitter.cxx:1384 AliFMDEnergyFitter.cxx:1385 AliFMDEnergyFitter.cxx:1386 AliFMDEnergyFitter.cxx:1387 AliFMDEnergyFitter.cxx:1388 AliFMDEnergyFitter.cxx:1389 AliFMDEnergyFitter.cxx:1390 AliFMDEnergyFitter.cxx:1391 AliFMDEnergyFitter.cxx:1392 AliFMDEnergyFitter.cxx:1393 AliFMDEnergyFitter.cxx:1394 AliFMDEnergyFitter.cxx:1395 AliFMDEnergyFitter.cxx:1396 AliFMDEnergyFitter.cxx:1397 AliFMDEnergyFitter.cxx:1398 AliFMDEnergyFitter.cxx:1399 AliFMDEnergyFitter.cxx:1400 AliFMDEnergyFitter.cxx:1401 AliFMDEnergyFitter.cxx:1402 AliFMDEnergyFitter.cxx:1403 AliFMDEnergyFitter.cxx:1404 AliFMDEnergyFitter.cxx:1405 AliFMDEnergyFitter.cxx:1406 AliFMDEnergyFitter.cxx:1407 AliFMDEnergyFitter.cxx:1408 AliFMDEnergyFitter.cxx:1409 AliFMDEnergyFitter.cxx:1410 AliFMDEnergyFitter.cxx:1411 AliFMDEnergyFitter.cxx:1412 AliFMDEnergyFitter.cxx:1413 AliFMDEnergyFitter.cxx:1414 AliFMDEnergyFitter.cxx:1415 AliFMDEnergyFitter.cxx:1416 AliFMDEnergyFitter.cxx:1417 AliFMDEnergyFitter.cxx:1418 AliFMDEnergyFitter.cxx:1419 AliFMDEnergyFitter.cxx:1420 AliFMDEnergyFitter.cxx:1421 AliFMDEnergyFitter.cxx:1422 AliFMDEnergyFitter.cxx:1423 AliFMDEnergyFitter.cxx:1424 AliFMDEnergyFitter.cxx:1425 AliFMDEnergyFitter.cxx:1426 AliFMDEnergyFitter.cxx:1427 AliFMDEnergyFitter.cxx:1428 AliFMDEnergyFitter.cxx:1429 AliFMDEnergyFitter.cxx:1430 AliFMDEnergyFitter.cxx:1431 AliFMDEnergyFitter.cxx:1432 AliFMDEnergyFitter.cxx:1433 AliFMDEnergyFitter.cxx:1434 AliFMDEnergyFitter.cxx:1435 AliFMDEnergyFitter.cxx:1436 AliFMDEnergyFitter.cxx:1437 AliFMDEnergyFitter.cxx:1438 AliFMDEnergyFitter.cxx:1439 AliFMDEnergyFitter.cxx:1440 AliFMDEnergyFitter.cxx:1441 AliFMDEnergyFitter.cxx:1442 AliFMDEnergyFitter.cxx:1443 AliFMDEnergyFitter.cxx:1444 AliFMDEnergyFitter.cxx:1445 AliFMDEnergyFitter.cxx:1446 AliFMDEnergyFitter.cxx:1447 AliFMDEnergyFitter.cxx:1448 AliFMDEnergyFitter.cxx:1449 AliFMDEnergyFitter.cxx:1450 AliFMDEnergyFitter.cxx:1451 AliFMDEnergyFitter.cxx:1452 AliFMDEnergyFitter.cxx:1453 AliFMDEnergyFitter.cxx:1454 AliFMDEnergyFitter.cxx:1455 AliFMDEnergyFitter.cxx:1456 AliFMDEnergyFitter.cxx:1457 AliFMDEnergyFitter.cxx:1458 AliFMDEnergyFitter.cxx:1459 AliFMDEnergyFitter.cxx:1460 AliFMDEnergyFitter.cxx:1461 AliFMDEnergyFitter.cxx:1462 AliFMDEnergyFitter.cxx:1463 AliFMDEnergyFitter.cxx:1464 AliFMDEnergyFitter.cxx:1465 AliFMDEnergyFitter.cxx:1466 AliFMDEnergyFitter.cxx:1467 AliFMDEnergyFitter.cxx:1468 AliFMDEnergyFitter.cxx:1469 AliFMDEnergyFitter.cxx:1470 AliFMDEnergyFitter.cxx:1471 AliFMDEnergyFitter.cxx:1472 AliFMDEnergyFitter.cxx:1473 AliFMDEnergyFitter.cxx:1474 AliFMDEnergyFitter.cxx:1475 AliFMDEnergyFitter.cxx:1476 AliFMDEnergyFitter.cxx:1477 AliFMDEnergyFitter.cxx:1478 AliFMDEnergyFitter.cxx:1479 AliFMDEnergyFitter.cxx:1480 AliFMDEnergyFitter.cxx:1481 AliFMDEnergyFitter.cxx:1482 AliFMDEnergyFitter.cxx:1483 AliFMDEnergyFitter.cxx:1484 AliFMDEnergyFitter.cxx:1485 AliFMDEnergyFitter.cxx:1486 AliFMDEnergyFitter.cxx:1487 AliFMDEnergyFitter.cxx:1488 AliFMDEnergyFitter.cxx:1489 AliFMDEnergyFitter.cxx:1490 AliFMDEnergyFitter.cxx:1491 AliFMDEnergyFitter.cxx:1492 AliFMDEnergyFitter.cxx:1493 AliFMDEnergyFitter.cxx:1494 AliFMDEnergyFitter.cxx:1495 AliFMDEnergyFitter.cxx:1496 AliFMDEnergyFitter.cxx:1497 AliFMDEnergyFitter.cxx:1498 AliFMDEnergyFitter.cxx:1499 AliFMDEnergyFitter.cxx:1500 AliFMDEnergyFitter.cxx:1501 AliFMDEnergyFitter.cxx:1502 AliFMDEnergyFitter.cxx:1503 AliFMDEnergyFitter.cxx:1504 AliFMDEnergyFitter.cxx:1505 AliFMDEnergyFitter.cxx:1506 AliFMDEnergyFitter.cxx:1507 AliFMDEnergyFitter.cxx:1508 AliFMDEnergyFitter.cxx:1509 AliFMDEnergyFitter.cxx:1510 AliFMDEnergyFitter.cxx:1511 AliFMDEnergyFitter.cxx:1512 AliFMDEnergyFitter.cxx:1513 AliFMDEnergyFitter.cxx:1514 AliFMDEnergyFitter.cxx:1515 AliFMDEnergyFitter.cxx:1516 AliFMDEnergyFitter.cxx:1517 AliFMDEnergyFitter.cxx:1518 AliFMDEnergyFitter.cxx:1519 AliFMDEnergyFitter.cxx:1520 AliFMDEnergyFitter.cxx:1521 AliFMDEnergyFitter.cxx:1522 AliFMDEnergyFitter.cxx:1523 AliFMDEnergyFitter.cxx:1524 AliFMDEnergyFitter.cxx:1525 AliFMDEnergyFitter.cxx:1526 AliFMDEnergyFitter.cxx:1527 AliFMDEnergyFitter.cxx:1528 AliFMDEnergyFitter.cxx:1529