ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/*   Origin: Alberica Toia, CERN, Alberica.Toia@cern.ch                   */

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  class to determine centrality percentiles from 1D distributions          // 
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

#include <TNamed.h>
#include <TH1D.h>
#include <TString.h>
#include <TFile.h>
#include <TMath.h>
#include <TROOT.h>
#include <TH2F.h>
#include <TF1.h>
#include <TNtuple.h>
#include <TStyle.h>
#include <TGraphErrors.h>
#include <vector>
#include <TMinuit.h>
#include <TStopwatch.h>
#include <TRandom.h>
#include "AliCentralityGlauberFit.h"
#include "AliLog.h"

ClassImp(AliCentralityGlauberFit)  
 
//______________________________________________________________________________
AliCentralityGlauberFit::AliCentralityGlauberFit(const char *filename) : 
  fNmu(0),    
  fMulow(0),  
  fMuhigh(0), 
  fNk(0),     
  fKlow(0),   
  fKhigh(0),  
  fNalpha(0), 
  fAlphalow(0),   
  fAlphahigh(0),  
  fRebinFactor(0),
  fScalemin(0),    
  fMultmin(0),    
  fMultmax(0),    
  fGlauntuple(0), 
  fNpart(0),       
  fNcoll(0),       
  fB(0),           
  fTaa(0),         
  fEffi(0),        
  fhEffi(0),      
  fTempHist(0),   
  fGlauberHist(0), 
  fFastFit(0),      
  fAncestor(2),      
  fNBD(0),         
  fUseChi2(kTRUE),      
  fUseAverage(kFALSE),
  fhAncestor(0),
  fNevents(100000),
  fNtrials(100),
  fInrootfilename(0),
  fInntuplename(0),
  fOutrootfilename(0),
  fOutntuplename(0),
  fAncfilename("ancestor_hists.root"),
  fHistnames()
{
  // Standard constructor.
  TFile *f = 0;
  if (filename) {  // glauber file
    f = TFile::Open(filename);
    fGlauntuple = (TNtuple*) f->Get("nt_Pb_Pb");
    fGlauntuple->SetBranchAddress("Npart",&fNpart);
    fGlauntuple->SetBranchAddress("Ncoll",&fNcoll);
    fGlauntuple->SetBranchAddress("B",&fB);
    fGlauntuple->SetBranchAddress("tAA",&fTaa);
  }

  fNBD = new TF1 ("fNBD", AliCentralityGlauberFit::NBDFunc, 0, 100,2);
}

//--------------------------------------------------------------------------------------------------
void AliCentralityGlauberFit::SetRangeToFit(Double_t fmultmin, Double_t fmultmax)
{
  // Set fit range.

  fMultmin=fmultmin;
  fMultmax=fmultmax;
}

//--------------------------------------------------------------------------------------------------
void AliCentralityGlauberFit::SetRangeToScale(Double_t fscalemin)
{
  // Set range where to scale simulated histo to data

  fScalemin=fscalemin;
}

//--------------------------------------------------------------------------------------------------
void AliCentralityGlauberFit::SetGlauberParam(
					      Int_t   Nmu,
					      Double_t mulow,
					      Double_t muhigh,
					      Int_t   Nk,
					      Double_t klow,
					      Double_t khigh,
					      Int_t   Nalpha,
					      Double_t alphalow,
					      Double_t alphahigh)
{
  // Set Glauber parameters.

  fNmu=Nmu;
  fMulow=mulow;
  fMuhigh=muhigh;
  fNk=Nk;
  fKlow=klow;
  fKhigh=khigh;
  fNalpha=Nalpha;
  fAlphalow=alphalow;
  fAlphahigh=alphahigh;
}

//--------------------------------------------------------------------------------------------------
void AliCentralityGlauberFit::MakeFits() 
{
  // Make fits.

  TH1F *hDATA;
  TH1F *thistGlau; 
  TFile *inrootfile;
  TFile *outrootfile;  
  //FILE* fTxt = fopen ("parameters.txt","w");
  
  // open inrootfile, outrootfile
  std::cout << "input file "  << fInrootfilename  << std::endl;
  std::cout << "output file " << fOutrootfilename << std::endl;
  inrootfile  = new TFile(fInrootfilename,"OPEN");
  outrootfile = new TFile(fOutrootfilename,"RECREATE");
  
  // loop over all distribution names  
  std::vector<TString>::const_iterator hni;
  for(hni=fHistnames.begin(); hni!=fHistnames.end(); hni++) {
    hDATA  = (TH1F*) (inrootfile->Get(*hni)); 
    if (!hDATA) {
      TList *list  = (TList*) (inrootfile->Get("CentralityStat")); 
      //TList *list  = (TList*) (inrootfile->Get("VZEROEquaFactorStat")); 
      hDATA  = (TH1F*) (list->FindObject(*hni));
    } 
    hDATA->Rebin(fRebinFactor);
    //TH1F *hGLAU = new TH1F("hGLAU","hGLAU",hDATA->GetNbinsX(),0,hDATA->GetNbinsX()*hDATA->GetBinWidth(1));
    Double_t chi2min = 9999999.0;
    Double_t alpha_min=-1;
    Double_t mu_min=-1;
    Double_t k_min=-1;
    Double_t alpha, mu, k, chi2;   

    for (Int_t nalpha=0;nalpha<fNalpha;nalpha++) {
      alpha = fAlphalow   + ((Double_t) nalpha ) * (fAlphahigh  - fAlphalow ) / fNalpha;

      mu=0.0;
      for (Int_t nmu=0; nmu<fNmu; nmu++) {
	mu = fMulow   + ((Double_t) nmu ) * (fMuhigh  - fMulow ) / fNmu;

	for (Int_t nk=0; nk<fNk; nk++) {
	  k = fKlow  + ((Double_t) nk ) * (fKhigh  - fKlow ) / fNk;
	  	    
	  thistGlau = GlauberHisto(mu,k,alpha,hDATA,kFALSE);
	  chi2 = CalculateChi2(hDATA,thistGlau);
	  //fprintf(fTxt, "%3.3f %3.3f %3.3f %3.3f\n", (float) mu, (float) k, (float) alpha, chi2);
	  if ( chi2 < chi2min ) {
	    chi2min = chi2;
	    alpha_min=alpha;
	    mu_min=mu;
	    k_min=k;
	  }
	}
      }
    }
    
    thistGlau = GlauberHisto(mu_min,k_min,alpha_min,hDATA,kTRUE);
    
    TH1F * hGLAU = 0x0;
    hGLAU = (TH1F *) thistGlau->Clone("hGLAU");
    hGLAU->SetName( ((TString)hDATA->GetName()).Append(Form("_GLAU")));
    hGLAU->SetTitle( ((TString)hDATA->GetName()).Append(Form("_GLAU_%.3f_%.3f_%.3f",
                                                             mu_min,k_min,alpha_min)));

    Double_t mcintegral = hGLAU->Integral(hGLAU->FindBin(fScalemin),hGLAU->GetNbinsX());
    Double_t scale = (hDATA->Integral(hDATA->FindBin(fScalemin),hDATA->GetNbinsX())/mcintegral);
    hGLAU->Scale(scale);

    fhEffi = GetTriggerEfficiencyFunction(hDATA, hGLAU);
    SaveHisto(hDATA,hGLAU,fhEffi,outrootfile);
    //fclose (fTxt);

    std::cout << "chi2 min is " << chi2min << std::endl;
    std::cout << "fitted " << hGLAU->Integral(hGLAU->FindBin(fMultmin),
                                              hGLAU->FindBin(fMultmax))/hGLAU->Integral() 
              << " of the total cross section" << std::endl; 
    fTempHist=hDATA;
    fGlauberHist=hGLAU;
  }

  // close inrootfile, outrootfile
  inrootfile->Close();
  outrootfile->Close();
}

//--------------------------------------------------------------------------------------------------
void AliCentralityGlauberFit::MakeFitsMinuitNBD(Double_t alpha, Double_t mu, Double_t k) 
{
  // Make fits using Minuit.

  if (alpha<0) 
    alpha = fAlphalow;
  if (mu<0)
    mu = fMulow;
  if (k<0)
    k = fKlow;
  printf("Calling Minuit with starting values: %f %f %f\n", alpha, mu, k);

  TH1F *hDATA;
  TH1F *thistGlau; 
  TFile *inrootfile;
  TFile *outrootfile;
  
  // open inrootfile, outrootfile
  std::cout << "input file "  << fInrootfilename  << std::endl;
  std::cout << "output file " << fOutrootfilename << std::endl;
  inrootfile  = new TFile(fInrootfilename,"OPEN");
  outrootfile = new TFile(fOutrootfilename,"RECREATE");

  // loop over all distribution names  
  std::vector<TString>::const_iterator hni;
  for(hni=fHistnames.begin(); hni!=fHistnames.end(); hni++) {
    hDATA  = (TH1F*) (inrootfile->Get(*hni)); 
    if (!hDATA) {
      TList *list  = (TList*) (inrootfile->Get("CentralityStat")); 
      //TList *list  = (TList*) (inrootfile->Get("VZEROEquaFactorStat")); 
      hDATA  = (TH1F*) (list->FindObject(*hni));
    } 
    hDATA->Rebin(fRebinFactor);

    fTempHist=hDATA;
    TH1F *hGLAU = new TH1F("hGLAU","hGLAU",hDATA->GetNbinsX(),0,hDATA->GetNbinsX()*hDATA->GetBinWidth(1));
    hGLAU->Sumw2();

    // Minimize here
    if(gMinuit) delete gMinuit;
    new TMinuit(3);
    gMinuit->mncler();
    gMinuit->SetFCN(AliCentralityGlauberFit::MinuitFcnNBD);
    gMinuit->SetObjectFit(this); 

    Double_t arglist[2]={0};
    Int_t ierflg;
    if (fUseChi2) arglist[0] = 1; // should be 1 if you want to minimize chi2
    else arglist[0] = 0.5;        // should be 0.5 for ll
    gMinuit->mnexcm("SET ERR",arglist, 1, ierflg);
    gMinuit->mnparm(0,"alpha", alpha,  (fAlphahigh-fAlphalow)/fNalpha,  fAlphalow, fAlphahigh, ierflg);
    gMinuit->mnparm(1,"mu"   , mu,     (fMuhigh-fMulow)/fNmu, fMulow, fMuhigh, ierflg);
    gMinuit->mnparm(2,"k"    , k,      (fKhigh-fKlow)/fNk, fKlow, fKhigh, ierflg);

    // Call migrad
    arglist[0] = 100; // max calls
    arglist[1] = 0.1; // tolerance    
    gMinuit->mnexcm("SIMPLEX",arglist, 2, ierflg);
    arglist[0] = 1000; // max calls
    arglist[1] = 0.1;  // tolerance    
    gMinuit->mnexcm("MIGrad",arglist, 2, ierflg);
    //gMinuit->mnexcm("IMPROVE",arglist, 0, ierflg);

    if (ierflg != 0) {
      AliWarning("Abnormal termination of minimization.");
    }
    
    // ______________________ Get chi2 and Fit Status __________
    Double_t amin,edm,errdef;
    Int_t    nvpar, nparx, icstat;
    
    gMinuit->mnstat(amin,edm,errdef,nvpar,nparx,icstat);
    Double_t chi2min = amin;
    std::cout << "Fit status " << icstat << std::endl;

    Double_t alpha_min, mu_min, k_min;
    Double_t alpha_mine, mu_mine, k_mine;
    gMinuit->GetParameter(0, alpha_min , alpha_mine );
    gMinuit->GetParameter(1, mu_min    , mu_mine    );
    gMinuit->GetParameter(2, k_min     , k_mine     );

    // print some infos
    std::cout << "chi2 min is " << chi2min << ", " << alpha_min << ", "<< mu_min<< ", "  
              << k_min << std::endl;

    thistGlau = GlauberHisto(mu_min,k_min,alpha_min,hDATA,kTRUE);

    hGLAU = (TH1F *) thistGlau->Clone("hGLAU");
    hGLAU->SetName( ((TString)hDATA->GetName()).Append(Form("_GLAU")));
    hGLAU->SetTitle( ((TString)hDATA->GetName()).Append(Form("_GLAU_%.3f_%.3f_%.3f",
                                                             mu_min,k_min,alpha_min)));

    
    std::cout << "fitted " << hGLAU->Integral(hGLAU->FindBin(fMultmin),
                                              hGLAU->FindBin(fMultmax))/hGLAU->Integral() 
              << " of the total cross section" << std::endl; 

    Double_t mcintegral = hGLAU->Integral(hGLAU->FindBin(fScalemin),hGLAU->GetNbinsX());
    Double_t scale = (hDATA->Integral(hDATA->FindBin(fScalemin),hDATA->GetNbinsX())/mcintegral);
    hGLAU->Scale(scale);

    std::cout << "Chi2 final " << CalculateChi2(hDATA,hGLAU) << std::endl;

    fhEffi = GetTriggerEfficiencyFunction(hDATA, hGLAU);
    SaveHisto(hDATA,hGLAU,fhEffi,outrootfile);
    fGlauberHist=hGLAU;
  }
  // close inrootfile, outrootfile
  inrootfile->Close();
  outrootfile->Close();
}

//--------------------------------------------------------------------------------------------------
TH1F *AliCentralityGlauberFit::GlauberHisto(Double_t mu, Double_t k, Double_t alpha, 
                                            TH1F *hDATA, Bool_t save) 
{
  // Get Glauber histogram.
  static TH1F *h1 = (TH1F*)hDATA->Clone();
  h1->Reset();
  h1->SetName(Form("fit_%.3f_%.3f_%.3f",mu,k,alpha));

  if (fUseAverage) {
    fhAncestor = MakeAncestor(alpha);
    for (Int_t np=1; np<=fhAncestor->GetNbinsX(); ++np) {  
      Double_t nanc = fhAncestor->GetBinCenter(np);
      Double_t weights = fhAncestor->GetBinContent(np);

      if (weights <= 0) continue;
      Int_t trials = (Int_t) (20 * nanc * (Int_t) mu);
      if (trials <=0) continue;
      for (Int_t j=0; j<trials; j++) {
       	Double_t nbdvalue = NBD(j, mu * nanc, k * nanc);
       	h1->Fill((Double_t) j, nbdvalue * weights);
      }
    }
    return h1;
  }

  TH1F *hSample = fFastFit != 2 ? NBDhist(mu,k) : 0;

  TFile *outFile = NULL;
  TNtuple *ntuple = NULL;
 
  if (save) {
    outFile = new TFile(fOutntuplename,"RECREATE");
    ntuple = new TNtuple("gnt", "Glauber ntuple", "Npart:Ncoll:B:tAA:ntot");
  } 

  Int_t nents = 0;
  if (fGlauntuple)
    nents = fGlauntuple->GetEntries(); 

  for (Int_t i=0;i<fNevents;++i) {
    if (fGlauntuple)
      fGlauntuple->GetEntry(i % nents);
    else {
      fNpart = 2;
      fNcoll = 1;
    }
    Int_t n=0;
    if (fAncestor == 1)      n = (Int_t)(TMath::Power(fNpart,alpha));
    //if (fAncestor == 1)      n = (Int_t)(TMath::Power(fNcoll,alpha));
    else if (fAncestor == 2) n = (Int_t)(alpha * fNpart + (1-alpha) * fNcoll);
    else if (fAncestor == 3) n = (Int_t)((1-alpha) * fNpart/2 + alpha * fNcoll);

    Int_t ntot=0;
    if (fFastFit == 1) {
      ntot = (Int_t)(n*hSample->GetRandom()); // NBD
    }
    else if (fFastFit == 2) {
      Double_t sigma = k*TMath::Sqrt(n*mu);    
      ntot = (Int_t)(gRandom->Gaus(n*mu,sigma)); // Gaussian
    }
    else {
      for(Int_t j = 0; j<(Int_t)n; ++j) 
	ntot += (Int_t)hSample->GetRandom();
    }
    h1->Fill(ntot);    

    if (save) 
      ntuple->Fill(fNpart,fNcoll,fB,fTaa,ntot);
  }

  if (save) {
    ntuple->Write();
    outFile->Close();
  }
  
  if (fFastFit != 2) delete hSample;
  return h1;
}

//--------------------------------------------------------------------------------------------------
Double_t AliCentralityGlauberFit::CalculateChi2(TH1F *hDATA, TH1F *thistGlau) 
{
  // Note that for different values of neff the mc distribution is identical, just re-scaled below
  // normalize the two histogram, scale MC up but leave data alone - that preserves error bars !!!!
  
  Int_t lowchibin =   hDATA->FindBin(fMultmin);
  Int_t highchibin =  hDATA->FindBin(fMultmax);

  Double_t mcintegral = thistGlau->Integral(1,thistGlau->GetNbinsX());
  Double_t scale = (hDATA->Integral(1,hDATA->GetNbinsX())/mcintegral);
  thistGlau->Scale(scale);

  // calculate the chi2 between MC and real data over some range ????
  if (fUseChi2) {
    Double_t chi2 = 0.0;
    for (Int_t i=lowchibin; i<=highchibin; i++) {
      if (hDATA->GetBinContent(i) < 1.0) continue;
      Double_t diff = TMath::Power((thistGlau->GetBinContent(i) - hDATA->GetBinContent(i)),2);
      diff = diff / (TMath::Power(hDATA->GetBinError(i),2) + TMath::Power(thistGlau->GetBinError(i),2)); 
      chi2 += diff;
    }
    chi2 = chi2 / (highchibin - lowchibin + 1);
    return chi2;
  }
  // "-2 log likelihood ratio(mu;n) = 2[(mu - n) + n ln(n/mu)]"
  else {
    std::cout << "LL" << std::endl;

    Double_t ll = 0.0;
    for (Int_t i=lowchibin; i<=highchibin; i++) {
      Double_t data = hDATA    ->GetBinContent(i);
      Double_t mc   = thistGlau->GetBinContent(i);
      Int_t idata = TMath::Nint(data);
      if (mc < 1.e-9) mc = 1.e-9;
      Double_t fsub = - mc + idata * TMath::Log(mc);
      Double_t fobs = 0;
      if (idata > 0) {
	for(Int_t istep = 0; istep < idata; istep++){
	  if (istep > 1) 
	    fobs += TMath::Log(istep);
	}
      }
      fsub -= fobs;
      ll -=  fsub ;
    }
    return 2*ll;
  }
}

//--------------------------------------------------------------------------------------------------
TH1F *AliCentralityGlauberFit::GetTriggerEfficiencyFunction(TH1F *hist1, TH1F *hist2) 
{
  // Get efficiency.

  fhEffi = (TH1F*)hist1->Clone("heffi");
  fhEffi->Divide(hist2);
  return fhEffi;
}

//--------------------------------------------------------------------------------------------------
Double_t AliCentralityGlauberFit::GetTriggerEfficiencyIntegral(TH1F *hist1, TH1F *hist2) 
{
  // Get eff integral.

  fEffi = hist1->Integral()/hist2->Integral();
  return fEffi;
}

//--------------------------------------------------------------------------------------------------
void AliCentralityGlauberFit::SaveHisto(TH1F *hist1, TH1F *hist2, TH1F *heffi, TFile *outrootfile) 
{
  // Save histograms.

  outrootfile->cd();
  hist1->Write();
  hist2->Write();
  heffi->Write();
}

//--------------------------------------------------------------------------------------------------
Double_t AliCentralityGlauberFit::NBD(Int_t n, Double_t mu, Double_t k) const
{
  // Compute NBD.
  Double_t F;
  Double_t f;

  if (n+k > 100.0) {
    // log method for handling large numbers
    F  = TMath::LnGamma(n + k)- TMath::LnGamma(n + 1.)- TMath::LnGamma(k);
    f  = n * TMath::Log(mu/k) - (n + k) * TMath::Log(1.0 + mu/k);
    F = F+f;
    F = TMath::Exp(F);
  } else {
    F  = TMath::Gamma(n + k) / ( TMath::Gamma(n + 1.) * TMath::Gamma(k) );
    f  = n * TMath::Log(mu/k) - (n + k) * TMath::Log(1.0 + mu/k);
    f  = TMath::Exp(f);
    F *= f;
  }

  return F;

}

//--------------------------------------------------------------------------------------------------
TH1F *AliCentralityGlauberFit::NBDhist(Double_t mu, Double_t k)
{
  // Interface for TH1F.

  TH1F *h = new TH1F("htemp","",100,-0.5,299.5);
  h->SetName(Form("nbd_%f_%f",mu,k));
  h->SetDirectory(0);
  for (Int_t i=0;i<300;++i) {
    Double_t val = NBD(i,mu,k);
    if (val>1e-20) h->Fill(i,val);
  }
  return h;
}

//--------------------------------------------------------------------------------------------------
void AliCentralityGlauberFit::MinuitFcnNBD(Int_t &/*npar*/, Double_t */*gin*/, Double_t &f, Double_t *par, Int_t /*iflag*/)
{
  // FCN for minuit.

  Double_t alpha = par[0];
  Double_t mu    = par[1];
  Double_t k     = par[2];

  AliCentralityGlauberFit * obj = (AliCentralityGlauberFit *) gMinuit->GetObjectFit();
  TH1F * thistGlau = obj->GlauberHisto(mu,k,alpha,obj->GetTempHist(),kFALSE);
  f = obj->CalculateChi2(obj->GetTempHist(),thistGlau);
  Printf("Minuit step: chi2=%f, alpha=%f,  mu=%f, k=%f\n",f,alpha,mu,k);
}

//--------------------------------------------------------------------------------------------------
Double_t AliCentralityGlauberFit::NBDFunc(const Double_t *x, const Double_t *par) 
{
  // TF1  interface.

  Double_t mu = par[0];
  Double_t k  = par[1];
  Double_t n  = x[0];
  Double_t ret = exp( TMath::LnGamma(n+k) - TMath::LnGamma(k) - TMath::LnGamma(n+1) ) * 
    TMath::Power(mu/(mu+k),n) * TMath::Power(1-mu/(mu+k),k);
  return ret;
}

//--------------------------------------------------------------------------------------------------
TH1F *AliCentralityGlauberFit::MakeAncestor(Double_t alpha)
{
  // Make ancestor histogram.

  TString hname(Form("fhAncestor_%.3f",alpha));
  if (fhAncestor) {
    if (hname.CompareTo(fhAncestor->GetName())==0)
      return fhAncestor;
  }

  delete fhAncestor;
  fhAncestor = 0;
  TFile *ancfile = TFile::Open(fAncfilename,"read");
  if (ancfile && ancfile->IsOpen()) {
    fhAncestor = dynamic_cast<TH1F*>(ancfile->Get(hname));
    if (fhAncestor) {
      fhAncestor->SetDirectory(0);
      delete ancfile;
      return fhAncestor;
    }
  }
  delete ancfile;
  
  fhAncestor = new TH1F(hname,hname,3000,0,3000);
  fhAncestor->SetDirectory(0);
  Int_t nents = fGlauntuple->GetEntries(); 
  for (Int_t i=0;i<nents;++i) {
    fGlauntuple->GetEntry(i % nents);
    Int_t n=0;
    if (fAncestor == 1)    n = (Int_t) (TMath::Power(fNpart,alpha));
    //if (fAncestor == 1)      n = (Int_t) (TMath::Power(fNcoll,alpha));
    else if (fAncestor == 2) n = (Int_t) (alpha * fNpart + (1-alpha) * fNcoll);
    else if (fAncestor == 3) n = (Int_t) ((1-alpha) * fNpart/2 + alpha * fNcoll);
    fhAncestor->Fill(n);
  }

  ancfile = TFile::Open(fAncfilename,"update");
  if (ancfile && ancfile->IsOpen()) {
    fhAncestor->Write();
  }
  delete ancfile;
  return fhAncestor;
}
 AliCentralityGlauberFit.cxx:1
 AliCentralityGlauberFit.cxx:2
 AliCentralityGlauberFit.cxx:3
 AliCentralityGlauberFit.cxx:4
 AliCentralityGlauberFit.cxx:5
 AliCentralityGlauberFit.cxx:6
 AliCentralityGlauberFit.cxx:7
 AliCentralityGlauberFit.cxx:8
 AliCentralityGlauberFit.cxx:9
 AliCentralityGlauberFit.cxx:10
 AliCentralityGlauberFit.cxx:11
 AliCentralityGlauberFit.cxx:12
 AliCentralityGlauberFit.cxx:13
 AliCentralityGlauberFit.cxx:14
 AliCentralityGlauberFit.cxx:15
 AliCentralityGlauberFit.cxx:16
 AliCentralityGlauberFit.cxx:17
 AliCentralityGlauberFit.cxx:18
 AliCentralityGlauberFit.cxx:19
 AliCentralityGlauberFit.cxx:20
 AliCentralityGlauberFit.cxx:21
 AliCentralityGlauberFit.cxx:22
 AliCentralityGlauberFit.cxx:23
 AliCentralityGlauberFit.cxx:24
 AliCentralityGlauberFit.cxx:25
 AliCentralityGlauberFit.cxx:26
 AliCentralityGlauberFit.cxx:27
 AliCentralityGlauberFit.cxx:28
 AliCentralityGlauberFit.cxx:29
 AliCentralityGlauberFit.cxx:30
 AliCentralityGlauberFit.cxx:31
 AliCentralityGlauberFit.cxx:32
 AliCentralityGlauberFit.cxx:33
 AliCentralityGlauberFit.cxx:34
 AliCentralityGlauberFit.cxx:35
 AliCentralityGlauberFit.cxx:36
 AliCentralityGlauberFit.cxx:37
 AliCentralityGlauberFit.cxx:38
 AliCentralityGlauberFit.cxx:39
 AliCentralityGlauberFit.cxx:40
 AliCentralityGlauberFit.cxx:41
 AliCentralityGlauberFit.cxx:42
 AliCentralityGlauberFit.cxx:43
 AliCentralityGlauberFit.cxx:44
 AliCentralityGlauberFit.cxx:45
 AliCentralityGlauberFit.cxx:46
 AliCentralityGlauberFit.cxx:47
 AliCentralityGlauberFit.cxx:48
 AliCentralityGlauberFit.cxx:49
 AliCentralityGlauberFit.cxx:50
 AliCentralityGlauberFit.cxx:51
 AliCentralityGlauberFit.cxx:52
 AliCentralityGlauberFit.cxx:53
 AliCentralityGlauberFit.cxx:54
 AliCentralityGlauberFit.cxx:55
 AliCentralityGlauberFit.cxx:56
 AliCentralityGlauberFit.cxx:57
 AliCentralityGlauberFit.cxx:58
 AliCentralityGlauberFit.cxx:59
 AliCentralityGlauberFit.cxx:60
 AliCentralityGlauberFit.cxx:61
 AliCentralityGlauberFit.cxx:62
 AliCentralityGlauberFit.cxx:63
 AliCentralityGlauberFit.cxx:64
 AliCentralityGlauberFit.cxx:65
 AliCentralityGlauberFit.cxx:66
 AliCentralityGlauberFit.cxx:67
 AliCentralityGlauberFit.cxx:68
 AliCentralityGlauberFit.cxx:69
 AliCentralityGlauberFit.cxx:70
 AliCentralityGlauberFit.cxx:71
 AliCentralityGlauberFit.cxx:72
 AliCentralityGlauberFit.cxx:73
 AliCentralityGlauberFit.cxx:74
 AliCentralityGlauberFit.cxx:75
 AliCentralityGlauberFit.cxx:76
 AliCentralityGlauberFit.cxx:77
 AliCentralityGlauberFit.cxx:78
 AliCentralityGlauberFit.cxx:79
 AliCentralityGlauberFit.cxx:80
 AliCentralityGlauberFit.cxx:81
 AliCentralityGlauberFit.cxx:82
 AliCentralityGlauberFit.cxx:83
 AliCentralityGlauberFit.cxx:84
 AliCentralityGlauberFit.cxx:85
 AliCentralityGlauberFit.cxx:86
 AliCentralityGlauberFit.cxx:87
 AliCentralityGlauberFit.cxx:88
 AliCentralityGlauberFit.cxx:89
 AliCentralityGlauberFit.cxx:90
 AliCentralityGlauberFit.cxx:91
 AliCentralityGlauberFit.cxx:92
 AliCentralityGlauberFit.cxx:93
 AliCentralityGlauberFit.cxx:94
 AliCentralityGlauberFit.cxx:95
 AliCentralityGlauberFit.cxx:96
 AliCentralityGlauberFit.cxx:97
 AliCentralityGlauberFit.cxx:98
 AliCentralityGlauberFit.cxx:99
 AliCentralityGlauberFit.cxx:100
 AliCentralityGlauberFit.cxx:101
 AliCentralityGlauberFit.cxx:102
 AliCentralityGlauberFit.cxx:103
 AliCentralityGlauberFit.cxx:104
 AliCentralityGlauberFit.cxx:105
 AliCentralityGlauberFit.cxx:106
 AliCentralityGlauberFit.cxx:107
 AliCentralityGlauberFit.cxx:108
 AliCentralityGlauberFit.cxx:109
 AliCentralityGlauberFit.cxx:110
 AliCentralityGlauberFit.cxx:111
 AliCentralityGlauberFit.cxx:112
 AliCentralityGlauberFit.cxx:113
 AliCentralityGlauberFit.cxx:114
 AliCentralityGlauberFit.cxx:115
 AliCentralityGlauberFit.cxx:116
 AliCentralityGlauberFit.cxx:117
 AliCentralityGlauberFit.cxx:118
 AliCentralityGlauberFit.cxx:119
 AliCentralityGlauberFit.cxx:120
 AliCentralityGlauberFit.cxx:121
 AliCentralityGlauberFit.cxx:122
 AliCentralityGlauberFit.cxx:123
 AliCentralityGlauberFit.cxx:124
 AliCentralityGlauberFit.cxx:125
 AliCentralityGlauberFit.cxx:126
 AliCentralityGlauberFit.cxx:127
 AliCentralityGlauberFit.cxx:128
 AliCentralityGlauberFit.cxx:129
 AliCentralityGlauberFit.cxx:130
 AliCentralityGlauberFit.cxx:131
 AliCentralityGlauberFit.cxx:132
 AliCentralityGlauberFit.cxx:133
 AliCentralityGlauberFit.cxx:134
 AliCentralityGlauberFit.cxx:135
 AliCentralityGlauberFit.cxx:136
 AliCentralityGlauberFit.cxx:137
 AliCentralityGlauberFit.cxx:138
 AliCentralityGlauberFit.cxx:139
 AliCentralityGlauberFit.cxx:140
 AliCentralityGlauberFit.cxx:141
 AliCentralityGlauberFit.cxx:142
 AliCentralityGlauberFit.cxx:143
 AliCentralityGlauberFit.cxx:144
 AliCentralityGlauberFit.cxx:145
 AliCentralityGlauberFit.cxx:146
 AliCentralityGlauberFit.cxx:147
 AliCentralityGlauberFit.cxx:148
 AliCentralityGlauberFit.cxx:149
 AliCentralityGlauberFit.cxx:150
 AliCentralityGlauberFit.cxx:151
 AliCentralityGlauberFit.cxx:152
 AliCentralityGlauberFit.cxx:153
 AliCentralityGlauberFit.cxx:154
 AliCentralityGlauberFit.cxx:155
 AliCentralityGlauberFit.cxx:156
 AliCentralityGlauberFit.cxx:157
 AliCentralityGlauberFit.cxx:158
 AliCentralityGlauberFit.cxx:159
 AliCentralityGlauberFit.cxx:160
 AliCentralityGlauberFit.cxx:161
 AliCentralityGlauberFit.cxx:162
 AliCentralityGlauberFit.cxx:163
 AliCentralityGlauberFit.cxx:164
 AliCentralityGlauberFit.cxx:165
 AliCentralityGlauberFit.cxx:166
 AliCentralityGlauberFit.cxx:167
 AliCentralityGlauberFit.cxx:168
 AliCentralityGlauberFit.cxx:169
 AliCentralityGlauberFit.cxx:170
 AliCentralityGlauberFit.cxx:171
 AliCentralityGlauberFit.cxx:172
 AliCentralityGlauberFit.cxx:173
 AliCentralityGlauberFit.cxx:174
 AliCentralityGlauberFit.cxx:175
 AliCentralityGlauberFit.cxx:176
 AliCentralityGlauberFit.cxx:177
 AliCentralityGlauberFit.cxx:178
 AliCentralityGlauberFit.cxx:179
 AliCentralityGlauberFit.cxx:180
 AliCentralityGlauberFit.cxx:181
 AliCentralityGlauberFit.cxx:182
 AliCentralityGlauberFit.cxx:183
 AliCentralityGlauberFit.cxx:184
 AliCentralityGlauberFit.cxx:185
 AliCentralityGlauberFit.cxx:186
 AliCentralityGlauberFit.cxx:187
 AliCentralityGlauberFit.cxx:188
 AliCentralityGlauberFit.cxx:189
 AliCentralityGlauberFit.cxx:190
 AliCentralityGlauberFit.cxx:191
 AliCentralityGlauberFit.cxx:192
 AliCentralityGlauberFit.cxx:193
 AliCentralityGlauberFit.cxx:194
 AliCentralityGlauberFit.cxx:195
 AliCentralityGlauberFit.cxx:196
 AliCentralityGlauberFit.cxx:197
 AliCentralityGlauberFit.cxx:198
 AliCentralityGlauberFit.cxx:199
 AliCentralityGlauberFit.cxx:200
 AliCentralityGlauberFit.cxx:201
 AliCentralityGlauberFit.cxx:202
 AliCentralityGlauberFit.cxx:203
 AliCentralityGlauberFit.cxx:204
 AliCentralityGlauberFit.cxx:205
 AliCentralityGlauberFit.cxx:206
 AliCentralityGlauberFit.cxx:207
 AliCentralityGlauberFit.cxx:208
 AliCentralityGlauberFit.cxx:209
 AliCentralityGlauberFit.cxx:210
 AliCentralityGlauberFit.cxx:211
 AliCentralityGlauberFit.cxx:212
 AliCentralityGlauberFit.cxx:213
 AliCentralityGlauberFit.cxx:214
 AliCentralityGlauberFit.cxx:215
 AliCentralityGlauberFit.cxx:216
 AliCentralityGlauberFit.cxx:217
 AliCentralityGlauberFit.cxx:218
 AliCentralityGlauberFit.cxx:219
 AliCentralityGlauberFit.cxx:220
 AliCentralityGlauberFit.cxx:221
 AliCentralityGlauberFit.cxx:222
 AliCentralityGlauberFit.cxx:223
 AliCentralityGlauberFit.cxx:224
 AliCentralityGlauberFit.cxx:225
 AliCentralityGlauberFit.cxx:226
 AliCentralityGlauberFit.cxx:227
 AliCentralityGlauberFit.cxx:228
 AliCentralityGlauberFit.cxx:229
 AliCentralityGlauberFit.cxx:230
 AliCentralityGlauberFit.cxx:231
 AliCentralityGlauberFit.cxx:232
 AliCentralityGlauberFit.cxx:233
 AliCentralityGlauberFit.cxx:234
 AliCentralityGlauberFit.cxx:235
 AliCentralityGlauberFit.cxx:236
 AliCentralityGlauberFit.cxx:237
 AliCentralityGlauberFit.cxx:238
 AliCentralityGlauberFit.cxx:239
 AliCentralityGlauberFit.cxx:240
 AliCentralityGlauberFit.cxx:241
 AliCentralityGlauberFit.cxx:242
 AliCentralityGlauberFit.cxx:243
 AliCentralityGlauberFit.cxx:244
 AliCentralityGlauberFit.cxx:245
 AliCentralityGlauberFit.cxx:246
 AliCentralityGlauberFit.cxx:247
 AliCentralityGlauberFit.cxx:248
 AliCentralityGlauberFit.cxx:249
 AliCentralityGlauberFit.cxx:250
 AliCentralityGlauberFit.cxx:251
 AliCentralityGlauberFit.cxx:252
 AliCentralityGlauberFit.cxx:253
 AliCentralityGlauberFit.cxx:254
 AliCentralityGlauberFit.cxx:255
 AliCentralityGlauberFit.cxx:256
 AliCentralityGlauberFit.cxx:257
 AliCentralityGlauberFit.cxx:258
 AliCentralityGlauberFit.cxx:259
 AliCentralityGlauberFit.cxx:260
 AliCentralityGlauberFit.cxx:261
 AliCentralityGlauberFit.cxx:262
 AliCentralityGlauberFit.cxx:263
 AliCentralityGlauberFit.cxx:264
 AliCentralityGlauberFit.cxx:265
 AliCentralityGlauberFit.cxx:266
 AliCentralityGlauberFit.cxx:267
 AliCentralityGlauberFit.cxx:268
 AliCentralityGlauberFit.cxx:269
 AliCentralityGlauberFit.cxx:270
 AliCentralityGlauberFit.cxx:271
 AliCentralityGlauberFit.cxx:272
 AliCentralityGlauberFit.cxx:273
 AliCentralityGlauberFit.cxx:274
 AliCentralityGlauberFit.cxx:275
 AliCentralityGlauberFit.cxx:276
 AliCentralityGlauberFit.cxx:277
 AliCentralityGlauberFit.cxx:278
 AliCentralityGlauberFit.cxx:279
 AliCentralityGlauberFit.cxx:280
 AliCentralityGlauberFit.cxx:281
 AliCentralityGlauberFit.cxx:282
 AliCentralityGlauberFit.cxx:283
 AliCentralityGlauberFit.cxx:284
 AliCentralityGlauberFit.cxx:285
 AliCentralityGlauberFit.cxx:286
 AliCentralityGlauberFit.cxx:287
 AliCentralityGlauberFit.cxx:288
 AliCentralityGlauberFit.cxx:289
 AliCentralityGlauberFit.cxx:290
 AliCentralityGlauberFit.cxx:291
 AliCentralityGlauberFit.cxx:292
 AliCentralityGlauberFit.cxx:293
 AliCentralityGlauberFit.cxx:294
 AliCentralityGlauberFit.cxx:295
 AliCentralityGlauberFit.cxx:296
 AliCentralityGlauberFit.cxx:297
 AliCentralityGlauberFit.cxx:298
 AliCentralityGlauberFit.cxx:299
 AliCentralityGlauberFit.cxx:300
 AliCentralityGlauberFit.cxx:301
 AliCentralityGlauberFit.cxx:302
 AliCentralityGlauberFit.cxx:303
 AliCentralityGlauberFit.cxx:304
 AliCentralityGlauberFit.cxx:305
 AliCentralityGlauberFit.cxx:306
 AliCentralityGlauberFit.cxx:307
 AliCentralityGlauberFit.cxx:308
 AliCentralityGlauberFit.cxx:309
 AliCentralityGlauberFit.cxx:310
 AliCentralityGlauberFit.cxx:311
 AliCentralityGlauberFit.cxx:312
 AliCentralityGlauberFit.cxx:313
 AliCentralityGlauberFit.cxx:314
 AliCentralityGlauberFit.cxx:315
 AliCentralityGlauberFit.cxx:316
 AliCentralityGlauberFit.cxx:317
 AliCentralityGlauberFit.cxx:318
 AliCentralityGlauberFit.cxx:319
 AliCentralityGlauberFit.cxx:320
 AliCentralityGlauberFit.cxx:321
 AliCentralityGlauberFit.cxx:322
 AliCentralityGlauberFit.cxx:323
 AliCentralityGlauberFit.cxx:324
 AliCentralityGlauberFit.cxx:325
 AliCentralityGlauberFit.cxx:326
 AliCentralityGlauberFit.cxx:327
 AliCentralityGlauberFit.cxx:328
 AliCentralityGlauberFit.cxx:329
 AliCentralityGlauberFit.cxx:330
 AliCentralityGlauberFit.cxx:331
 AliCentralityGlauberFit.cxx:332
 AliCentralityGlauberFit.cxx:333
 AliCentralityGlauberFit.cxx:334
 AliCentralityGlauberFit.cxx:335
 AliCentralityGlauberFit.cxx:336
 AliCentralityGlauberFit.cxx:337
 AliCentralityGlauberFit.cxx:338
 AliCentralityGlauberFit.cxx:339
 AliCentralityGlauberFit.cxx:340
 AliCentralityGlauberFit.cxx:341
 AliCentralityGlauberFit.cxx:342
 AliCentralityGlauberFit.cxx:343
 AliCentralityGlauberFit.cxx:344
 AliCentralityGlauberFit.cxx:345
 AliCentralityGlauberFit.cxx:346
 AliCentralityGlauberFit.cxx:347
 AliCentralityGlauberFit.cxx:348
 AliCentralityGlauberFit.cxx:349
 AliCentralityGlauberFit.cxx:350
 AliCentralityGlauberFit.cxx:351
 AliCentralityGlauberFit.cxx:352
 AliCentralityGlauberFit.cxx:353
 AliCentralityGlauberFit.cxx:354
 AliCentralityGlauberFit.cxx:355
 AliCentralityGlauberFit.cxx:356
 AliCentralityGlauberFit.cxx:357
 AliCentralityGlauberFit.cxx:358
 AliCentralityGlauberFit.cxx:359
 AliCentralityGlauberFit.cxx:360
 AliCentralityGlauberFit.cxx:361
 AliCentralityGlauberFit.cxx:362
 AliCentralityGlauberFit.cxx:363
 AliCentralityGlauberFit.cxx:364
 AliCentralityGlauberFit.cxx:365
 AliCentralityGlauberFit.cxx:366
 AliCentralityGlauberFit.cxx:367
 AliCentralityGlauberFit.cxx:368
 AliCentralityGlauberFit.cxx:369
 AliCentralityGlauberFit.cxx:370
 AliCentralityGlauberFit.cxx:371
 AliCentralityGlauberFit.cxx:372
 AliCentralityGlauberFit.cxx:373
 AliCentralityGlauberFit.cxx:374
 AliCentralityGlauberFit.cxx:375
 AliCentralityGlauberFit.cxx:376
 AliCentralityGlauberFit.cxx:377
 AliCentralityGlauberFit.cxx:378
 AliCentralityGlauberFit.cxx:379
 AliCentralityGlauberFit.cxx:380
 AliCentralityGlauberFit.cxx:381
 AliCentralityGlauberFit.cxx:382
 AliCentralityGlauberFit.cxx:383
 AliCentralityGlauberFit.cxx:384
 AliCentralityGlauberFit.cxx:385
 AliCentralityGlauberFit.cxx:386
 AliCentralityGlauberFit.cxx:387
 AliCentralityGlauberFit.cxx:388
 AliCentralityGlauberFit.cxx:389
 AliCentralityGlauberFit.cxx:390
 AliCentralityGlauberFit.cxx:391
 AliCentralityGlauberFit.cxx:392
 AliCentralityGlauberFit.cxx:393
 AliCentralityGlauberFit.cxx:394
 AliCentralityGlauberFit.cxx:395
 AliCentralityGlauberFit.cxx:396
 AliCentralityGlauberFit.cxx:397
 AliCentralityGlauberFit.cxx:398
 AliCentralityGlauberFit.cxx:399
 AliCentralityGlauberFit.cxx:400
 AliCentralityGlauberFit.cxx:401
 AliCentralityGlauberFit.cxx:402
 AliCentralityGlauberFit.cxx:403
 AliCentralityGlauberFit.cxx:404
 AliCentralityGlauberFit.cxx:405
 AliCentralityGlauberFit.cxx:406
 AliCentralityGlauberFit.cxx:407
 AliCentralityGlauberFit.cxx:408
 AliCentralityGlauberFit.cxx:409
 AliCentralityGlauberFit.cxx:410
 AliCentralityGlauberFit.cxx:411
 AliCentralityGlauberFit.cxx:412
 AliCentralityGlauberFit.cxx:413
 AliCentralityGlauberFit.cxx:414
 AliCentralityGlauberFit.cxx:415
 AliCentralityGlauberFit.cxx:416
 AliCentralityGlauberFit.cxx:417
 AliCentralityGlauberFit.cxx:418
 AliCentralityGlauberFit.cxx:419
 AliCentralityGlauberFit.cxx:420
 AliCentralityGlauberFit.cxx:421
 AliCentralityGlauberFit.cxx:422
 AliCentralityGlauberFit.cxx:423
 AliCentralityGlauberFit.cxx:424
 AliCentralityGlauberFit.cxx:425
 AliCentralityGlauberFit.cxx:426
 AliCentralityGlauberFit.cxx:427
 AliCentralityGlauberFit.cxx:428
 AliCentralityGlauberFit.cxx:429
 AliCentralityGlauberFit.cxx:430
 AliCentralityGlauberFit.cxx:431
 AliCentralityGlauberFit.cxx:432
 AliCentralityGlauberFit.cxx:433
 AliCentralityGlauberFit.cxx:434
 AliCentralityGlauberFit.cxx:435
 AliCentralityGlauberFit.cxx:436
 AliCentralityGlauberFit.cxx:437
 AliCentralityGlauberFit.cxx:438
 AliCentralityGlauberFit.cxx:439
 AliCentralityGlauberFit.cxx:440
 AliCentralityGlauberFit.cxx:441
 AliCentralityGlauberFit.cxx:442
 AliCentralityGlauberFit.cxx:443
 AliCentralityGlauberFit.cxx:444
 AliCentralityGlauberFit.cxx:445
 AliCentralityGlauberFit.cxx:446
 AliCentralityGlauberFit.cxx:447
 AliCentralityGlauberFit.cxx:448
 AliCentralityGlauberFit.cxx:449
 AliCentralityGlauberFit.cxx:450
 AliCentralityGlauberFit.cxx:451
 AliCentralityGlauberFit.cxx:452
 AliCentralityGlauberFit.cxx:453
 AliCentralityGlauberFit.cxx:454
 AliCentralityGlauberFit.cxx:455
 AliCentralityGlauberFit.cxx:456
 AliCentralityGlauberFit.cxx:457
 AliCentralityGlauberFit.cxx:458
 AliCentralityGlauberFit.cxx:459
 AliCentralityGlauberFit.cxx:460
 AliCentralityGlauberFit.cxx:461
 AliCentralityGlauberFit.cxx:462
 AliCentralityGlauberFit.cxx:463
 AliCentralityGlauberFit.cxx:464
 AliCentralityGlauberFit.cxx:465
 AliCentralityGlauberFit.cxx:466
 AliCentralityGlauberFit.cxx:467
 AliCentralityGlauberFit.cxx:468
 AliCentralityGlauberFit.cxx:469
 AliCentralityGlauberFit.cxx:470
 AliCentralityGlauberFit.cxx:471
 AliCentralityGlauberFit.cxx:472
 AliCentralityGlauberFit.cxx:473
 AliCentralityGlauberFit.cxx:474
 AliCentralityGlauberFit.cxx:475
 AliCentralityGlauberFit.cxx:476
 AliCentralityGlauberFit.cxx:477
 AliCentralityGlauberFit.cxx:478
 AliCentralityGlauberFit.cxx:479
 AliCentralityGlauberFit.cxx:480
 AliCentralityGlauberFit.cxx:481
 AliCentralityGlauberFit.cxx:482
 AliCentralityGlauberFit.cxx:483
 AliCentralityGlauberFit.cxx:484
 AliCentralityGlauberFit.cxx:485
 AliCentralityGlauberFit.cxx:486
 AliCentralityGlauberFit.cxx:487
 AliCentralityGlauberFit.cxx:488
 AliCentralityGlauberFit.cxx:489
 AliCentralityGlauberFit.cxx:490
 AliCentralityGlauberFit.cxx:491
 AliCentralityGlauberFit.cxx:492
 AliCentralityGlauberFit.cxx:493
 AliCentralityGlauberFit.cxx:494
 AliCentralityGlauberFit.cxx:495
 AliCentralityGlauberFit.cxx:496
 AliCentralityGlauberFit.cxx:497
 AliCentralityGlauberFit.cxx:498
 AliCentralityGlauberFit.cxx:499
 AliCentralityGlauberFit.cxx:500
 AliCentralityGlauberFit.cxx:501
 AliCentralityGlauberFit.cxx:502
 AliCentralityGlauberFit.cxx:503
 AliCentralityGlauberFit.cxx:504
 AliCentralityGlauberFit.cxx:505
 AliCentralityGlauberFit.cxx:506
 AliCentralityGlauberFit.cxx:507
 AliCentralityGlauberFit.cxx:508
 AliCentralityGlauberFit.cxx:509
 AliCentralityGlauberFit.cxx:510
 AliCentralityGlauberFit.cxx:511
 AliCentralityGlauberFit.cxx:512
 AliCentralityGlauberFit.cxx:513
 AliCentralityGlauberFit.cxx:514
 AliCentralityGlauberFit.cxx:515
 AliCentralityGlauberFit.cxx:516
 AliCentralityGlauberFit.cxx:517
 AliCentralityGlauberFit.cxx:518
 AliCentralityGlauberFit.cxx:519
 AliCentralityGlauberFit.cxx:520
 AliCentralityGlauberFit.cxx:521
 AliCentralityGlauberFit.cxx:522
 AliCentralityGlauberFit.cxx:523
 AliCentralityGlauberFit.cxx:524
 AliCentralityGlauberFit.cxx:525
 AliCentralityGlauberFit.cxx:526
 AliCentralityGlauberFit.cxx:527
 AliCentralityGlauberFit.cxx:528
 AliCentralityGlauberFit.cxx:529
 AliCentralityGlauberFit.cxx:530
 AliCentralityGlauberFit.cxx:531
 AliCentralityGlauberFit.cxx:532
 AliCentralityGlauberFit.cxx:533
 AliCentralityGlauberFit.cxx:534
 AliCentralityGlauberFit.cxx:535
 AliCentralityGlauberFit.cxx:536
 AliCentralityGlauberFit.cxx:537
 AliCentralityGlauberFit.cxx:538
 AliCentralityGlauberFit.cxx:539
 AliCentralityGlauberFit.cxx:540
 AliCentralityGlauberFit.cxx:541
 AliCentralityGlauberFit.cxx:542
 AliCentralityGlauberFit.cxx:543
 AliCentralityGlauberFit.cxx:544
 AliCentralityGlauberFit.cxx:545
 AliCentralityGlauberFit.cxx:546
 AliCentralityGlauberFit.cxx:547
 AliCentralityGlauberFit.cxx:548
 AliCentralityGlauberFit.cxx:549
 AliCentralityGlauberFit.cxx:550
 AliCentralityGlauberFit.cxx:551
 AliCentralityGlauberFit.cxx:552
 AliCentralityGlauberFit.cxx:553
 AliCentralityGlauberFit.cxx:554
 AliCentralityGlauberFit.cxx:555
 AliCentralityGlauberFit.cxx:556
 AliCentralityGlauberFit.cxx:557
 AliCentralityGlauberFit.cxx:558
 AliCentralityGlauberFit.cxx:559
 AliCentralityGlauberFit.cxx:560
 AliCentralityGlauberFit.cxx:561
 AliCentralityGlauberFit.cxx:562
 AliCentralityGlauberFit.cxx:563
 AliCentralityGlauberFit.cxx:564
 AliCentralityGlauberFit.cxx:565
 AliCentralityGlauberFit.cxx:566
 AliCentralityGlauberFit.cxx:567
 AliCentralityGlauberFit.cxx:568
 AliCentralityGlauberFit.cxx:569
 AliCentralityGlauberFit.cxx:570
 AliCentralityGlauberFit.cxx:571
 AliCentralityGlauberFit.cxx:572
 AliCentralityGlauberFit.cxx:573
 AliCentralityGlauberFit.cxx:574
 AliCentralityGlauberFit.cxx:575
 AliCentralityGlauberFit.cxx:576
 AliCentralityGlauberFit.cxx:577
 AliCentralityGlauberFit.cxx:578
 AliCentralityGlauberFit.cxx:579
 AliCentralityGlauberFit.cxx:580
 AliCentralityGlauberFit.cxx:581
 AliCentralityGlauberFit.cxx:582
 AliCentralityGlauberFit.cxx:583
 AliCentralityGlauberFit.cxx:584
 AliCentralityGlauberFit.cxx:585
 AliCentralityGlauberFit.cxx:586
 AliCentralityGlauberFit.cxx:587
 AliCentralityGlauberFit.cxx:588
 AliCentralityGlauberFit.cxx:589
 AliCentralityGlauberFit.cxx:590
 AliCentralityGlauberFit.cxx:591
 AliCentralityGlauberFit.cxx:592
 AliCentralityGlauberFit.cxx:593
 AliCentralityGlauberFit.cxx:594
 AliCentralityGlauberFit.cxx:595
 AliCentralityGlauberFit.cxx:596
 AliCentralityGlauberFit.cxx:597
 AliCentralityGlauberFit.cxx:598
 AliCentralityGlauberFit.cxx:599
 AliCentralityGlauberFit.cxx:600
 AliCentralityGlauberFit.cxx:601
 AliCentralityGlauberFit.cxx:602
 AliCentralityGlauberFit.cxx:603
 AliCentralityGlauberFit.cxx:604
 AliCentralityGlauberFit.cxx:605
 AliCentralityGlauberFit.cxx:606
 AliCentralityGlauberFit.cxx:607
 AliCentralityGlauberFit.cxx:608