ROOT logo
//====================================================================
// 
// Base class for classes that calculate the multiplicity in the
// central region event-by-event
// 
// Inputs: 
//   - AliESDEvent 
//
// Outputs: 
//   - AliAODCentralMult 
// 
// Histograms 
//   
// Corrections used 
#include "AliCentralMultiplicityTask.h"
#include "AliCentralCorrectionManager.h"
#include "AliCentralCorrAcceptance.h"
#include "AliCentralCorrSecondaryMap.h"
#include "AliAODForwardMult.h"
#include "AliForwardUtil.h"
#include "AliLog.h"
#include "AliAODHandler.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliMultiplicity.h"
#include <TROOT.h>
#include <TSystem.h>
#include <TFile.h>
#include <TError.h>
#include <TSystem.h>
#include <TObjArray.h>
#include <iostream>
#include <iomanip>

//====================================================================
AliCentralMultiplicityTask::AliCentralMultiplicityTask(const char* name) 
  : AliBaseESDTask(name, "AliCentralMultiplicityTask", 
		   &(AliCentralCorrectionManager::Instance())),
    fInspector("event"),
    fAODCentral(kFALSE),
    fUseSecondary(true),
    fUseAcceptance(true),
  fIvz(0),
  fNClusterTracklet(0),
  fClusterPerTracklet(0),
  fNCluster(0),
  fNTracklet(0),
    fVtxList(0),
    fStore(false),
    fHData(0)
{
  // 
  // Constructor 
  //   
  DGUARD(fDebug, 3,"Named CTOR of AliCentralMultiplicityTask: %s", name);
  fBranchNames = 
    "ESD:AliESDRun.,AliESDHeader.,AliMultiplicity.,"
    "SPDVertex.,PrimaryVertex.";
}
//____________________________________________________________________
AliCentralMultiplicityTask::AliCentralMultiplicityTask() 
  : AliBaseESDTask(),
    fInspector(),
    fAODCentral(),
    fUseSecondary(true),
    fUseAcceptance(true),
  fIvz(0),
    fNClusterTracklet(0),
    fClusterPerTracklet(0),
    fNCluster(0),
    fNTracklet(0),
    fVtxList(0),
    fStore(false),
    fHData(0)
{
  // 
  // Constructor 
  // 
  DGUARD(fDebug, 3,"Default CTOR of AliCentralMultiplicityTask");
}

//____________________________________________________________________
void
AliCentralMultiplicityTask::CreateBranches(AliAODHandler* ah) 
{
  // 
  // Create output objects 
  // 
  //
  DGUARD(fDebug,1,"Create user output in AliCentralMultiplicityTask");

  if (!ah) 
    //AliFatal("No AOD output handler set in analysis manager");
    return;

  TObject* obj = &fAODCentral;
  ah->AddBranch("AliAODCentralMult", &obj);
}
//____________________________________________________________________
Bool_t
AliCentralMultiplicityTask::Book()
{
  fNeededCorrections = (AliCentralCorrectionManager::kSecondaryMap|
			AliCentralCorrectionManager::kAcceptance);
  return true;
}

//____________________________________________________________________
Bool_t
AliCentralMultiplicityTask::PreData(const TAxis& vertex, const TAxis& eta)
{
  // FindEtaLimits();
  // unsigned short s = 1;
  TH2D* hCoverage = new TH2D("coverage", "#eta coverage per v_{z}", 
			     eta.GetNbins(), eta.GetXmin(), eta.GetXmax(),
			     vertex.GetNbins(),vertex.GetXmin(),
			     vertex.GetXmax());
  hCoverage->SetDirectory(0);
  hCoverage->SetXTitle("#eta");
  hCoverage->SetYTitle("v_{z} [cm]");
  hCoverage->SetZTitle("n_{bins}");
  
  fAODCentral.Init(eta);
  
  UShort_t nVz = vertex.GetNbins();
  fVtxList     = new TObjArray(nVz, 1);
  fVtxList->SetName("centMultVtxBins");
  fVtxList->SetOwner();
  
  // Bool_t store = false;
  for (Int_t v = 1; v <= nVz; v++) { 
    VtxBin* bin = new VtxBin(v, vertex.GetBinLowEdge(v), 
			     vertex.GetBinUpEdge(v));
    bin->SetupForData(fList, hCoverage, fStore);
    fVtxList->AddAt(bin, v);
  }
  fList->Add(hCoverage);

  // Bins are 
  TArrayD bins;
  // N-bins, loweset order, higest order, return array
  AliForwardUtil::MakeLogScale(300, 0, 5, bins);
  fNClusterTracklet = new TH2D("nClusterVsnTracklet", 
			       "Total number of cluster vs number of tracklets",
			       bins.GetSize()-1, bins.GetArray(),
			       bins.GetSize()-1, bins.GetArray());
  fNClusterTracklet->SetDirectory(0);
  fNClusterTracklet->SetXTitle("N_{free cluster}");
  fNClusterTracklet->SetYTitle("N_{tracklet}");
  fNClusterTracklet->SetStats(0);
  fList->Add(fNClusterTracklet);

  Int_t    nEta = 80;
  Double_t lEta = 2;
  fClusterPerTracklet = new TH2D("clusterPerTracklet", 
				 "N_{free cluster}/N_{tracklet} vs. #eta", 
				 nEta,-lEta,lEta, 101, -.05, 10.05);
  fClusterPerTracklet->SetDirectory(0);
  fClusterPerTracklet->SetXTitle("#eta");
  fClusterPerTracklet->SetYTitle("N_{free cluster}/N_{tracklet}");
  fClusterPerTracklet->SetStats(0);
  fList->Add(fClusterPerTracklet);

  // Cache histograms 
  fNCluster = new TH1D("cacheCluster", "", nEta,-lEta,lEta);
  fNCluster->SetDirectory(0);
  fNCluster->Sumw2();
		       
  fNTracklet = new TH1D("cacheTracklet", "", nEta,-lEta,lEta);
  fNTracklet->SetDirectory(0);
  fNTracklet->Sumw2();

  fList->Add(AliForwardUtil::MakeParameter("secondary",  fUseSecondary));
  fList->Add(AliForwardUtil::MakeParameter("acceptance", fUseAcceptance));

  fHData = static_cast<TH2D*>(fAODCentral.GetHistogram().Clone("d2Ndetadphi"));
  fHData->SetStats(0);
  fHData->SetDirectory(0);
  fList->Add(fHData);

  // Initialize the inspecto 
  // fInspector.SetupForData(vertex);

  fAODCentral.SetBit(AliAODCentralMult::kSecondary,  fUseSecondary);
  fAODCentral.SetBit(AliAODCentralMult::kAcceptance, fUseAcceptance);

  return true;
}
//____________________________________________________________________
Bool_t 
AliCentralMultiplicityTask::PreEvent()
{
  fAODCentral.Clear("");
  return true;
}
//____________________________________________________________________
Bool_t 
AliCentralMultiplicityTask::Event(AliESDEvent& esd)
{
  // 
  // Process each event 
  // 
  // Parameters:
  //    option Not used
  //  
  DGUARD(fDebug,1,"Process event in AliCentralMultiplicityTask");
  fIvz               = 0;
  Bool_t   lowFlux   = kFALSE;
  UInt_t   triggers  = 0;
  UShort_t ivz       = 0;
  TVector3 ip;
  Double_t cent      = -1;
  UShort_t nClusters = 0;
  UInt_t   found     = fInspector.Process(&esd, triggers, lowFlux, 
					  ivz, ip, cent, nClusters);

  // No event or no trigger 
  if (found & AliFMDEventInspector::kNoEvent)    return false;
  if (found & AliFMDEventInspector::kNoTriggers) return false;
  
  // Make sure AOD is filled
  MarkEventForStore();

  if (found    & AliFMDEventInspector::kNoSPD)      return false;
  if (found    & AliFMDEventInspector::kNoVertex)   return false;
  if (triggers & AliAODForwardMult::kPileUp)        return false;
  if (found    & AliFMDEventInspector::kBadVertex)  return false; 
  
  //Doing analysis
  const AliMultiplicity* spdmult = esd.GetMultiplicity();

  TH2D& aodHist = fAODCentral.GetHistogram();

  VtxBin* bin = static_cast<VtxBin*>(fVtxList->At(ivz));
  if (!bin) return false;

  ProcessESD(aodHist, spdmult);
  bin->Correct(aodHist, fUseSecondary, fUseAcceptance);
  
  if (triggers & AliAODForwardMult::kInel) 
    fHData->Add(&(fAODCentral.GetHistogram()));

  return true;
}
//____________________________________________________________________
void 
AliCentralMultiplicityTask::ProcessESD(TH2D& aodHist, 
				       const AliMultiplicity* spdmult) const
{
  DGUARD(fDebug,1,"Process the ESD in AliCentralMultiplicityTask");
  fNTracklet->Reset();
  fNCluster->Reset();

  //Filling clusters in layer 1 used for tracklets...
  for(Int_t j = 0; j< spdmult->GetNumberOfTracklets();j++) {
    Double_t eta = spdmult->GetEta(j);
    fNTracklet->Fill(eta);
    aodHist.Fill(eta,spdmult->GetPhi(j));
  }

  //...and then the unused ones in layer 1 
  for(Int_t j = 0; j< spdmult->GetNumberOfSingleClusters();j++) {
    Double_t eta = -TMath::Log(TMath::Tan(spdmult->GetThetaSingle(j)/2.));
    fNCluster->Fill(eta);
    aodHist.Fill(eta, spdmult->GetPhiSingle(j));
  }
  fNClusterTracklet->Fill(fNCluster->GetEntries(), 
			  fNTracklet->GetEntries());
  
  fNCluster->Divide(fNTracklet);
  for (Int_t j = 1; j <= fNCluster->GetNbinsX(); j++)  
    fClusterPerTracklet->Fill(fNCluster->GetXaxis()->GetBinCenter(j), 
			      fNCluster->GetBinContent(j));

}

//____________________________________________________________________
Bool_t 
AliCentralMultiplicityTask::Finalize()
{
  // 
  // End of job
  // 
  // Parameters:
  //    option Not used 
  //
  DGUARD(fDebug,1,"Process merged output in AliCentralMultiplicityTask");

  Double_t nTr = 0, nTrVtx = 0, nAcc = 0;
  MakeSimpledNdeta(fList, fResults, nTr, nTrVtx, nAcc);
  AliInfoF("\n"
	   "\t# events w/trigger:                 %f\n"
	   "\t# events w/trigger+vertex:          %f\n"
	   "\t# events accepted by cuts:          %f", 
	   nTr, nTrVtx, nAcc);
  return true;
}

//____________________________________________________________________
Bool_t
AliCentralMultiplicityTask::MakeSimpledNdeta(const TList* input, 
					     TList*       output,
					     Double_t&    nTr, 
					     Double_t&    nTrVtx, 
					     Double_t&    nAcc)
{
  // Get our histograms from the container 
  TH1I* hEventsTr    = 0;
  TH1I* hEventsTrVtx = 0;
  TH1I* hEventsAcc   = 0;
  TH1I* hTriggers    = 0;
  if (!GetEventInspector().FetchHistograms(input, 
					   hEventsTr, 
					   hEventsTrVtx, 
					   hEventsAcc,
					   hTriggers)) { 
    AliError(Form("Didn't get histograms from event selector "
		  "(hEventsTr=%p,hEventsTrVtx=%p,hEventsAcc=%p,hTriggers=%p)", 
		  hEventsTr, hEventsTrVtx, hEventsAcc, hTriggers));
    input->ls();
    return false;
  }
  nTr             = hEventsTr->Integral();
  nTrVtx          = hEventsTrVtx->Integral();
  nAcc            = hEventsAcc->Integral();
  Double_t vtxEff = nTrVtx / nTr;
  TH2D*   hData   = static_cast<TH2D*>(input->FindObject("d2Ndetadphi"));
  if (!hData) { 
    AliError(Form("Couldn't get our summed histogram from output "
		  "list %s (d2Ndetadphi=%p)", input->GetName(), hData));
    input->ls();
    return false;
  }

  Int_t nY      = hData->GetNbinsY();
  TH1D* dNdeta  = hData->ProjectionX("dNdeta",  1,     nY, "e");
  TH1D* dNdeta_ = hData->ProjectionX("dNdeta_", 1,     nY, "e");
  TH1D* norm    = hData->ProjectionX("norm",    0,     0,  "");
  TH1D* phi     = hData->ProjectionX("phi",     nY+1,  nY+1,  "");
  dNdeta->SetTitle("dN_{ch}/d#eta in the forward regions");
  dNdeta->SetYTitle("#frac{1}{N}#frac{dN_{ch}}{d#eta}");
  dNdeta->SetMarkerColor(kRed+1);
  dNdeta->SetMarkerStyle(20);
  dNdeta->SetDirectory(0);

  dNdeta_->SetTitle("dN_{ch}/d#eta in the forward regions");
  dNdeta_->SetYTitle("#frac{1}{N}#frac{dN_{ch}}{d#eta}");
  dNdeta_->SetMarkerColor(kMagenta+1);
  dNdeta_->SetMarkerStyle(21);
  dNdeta_->SetDirectory(0);

  norm->SetTitle("Normalization to  #eta coverage");
  norm->SetYTitle("#eta coverage");
  norm->SetLineColor(kBlue+1);
  norm->SetMarkerColor(kBlue+1);
  norm->SetMarkerStyle(21);
  norm->SetFillColor(kBlue+1);
  norm->SetFillStyle(3005);
  norm->SetDirectory(0);

  phi->SetTitle("Normalization to  #phi acceptance");
  phi->SetYTitle("#phi acceptance");
  phi->SetLineColor(kGreen+1);
  phi->SetMarkerColor(kGreen+1);
  phi->SetMarkerStyle(20);
  phi->SetFillColor(kGreen+1);
  phi->SetFillStyle(3004);
  // phi->Scale(1. / nAcc);
  phi->SetDirectory(0);

  // dNdeta->Divide(norm);
  dNdeta->Divide(phi);
  dNdeta->SetStats(0);
  dNdeta->Scale(vtxEff,	"width");

  dNdeta_->Divide(norm);
  dNdeta_->SetStats(0);
  dNdeta_->Scale(vtxEff, "width");

  output->Add(dNdeta);
  output->Add(dNdeta_);
  output->Add(norm);
  output->Add(phi);

  return true;
}

#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
AliCentralMultiplicityTask::Print(Option_t* option) const
{
  // 
  // Print information 
  // 
  // Parameters:
  //    option Not used
  //
  AliBaseESDTask::Print(option);
  PFB("Use secondary correction", fUseSecondary);
  PFB("Use acceptance correction", fUseAcceptance);
  
  AliCentralCorrectionManager& ccm = 
    AliCentralCorrectionManager::Instance();
  if (ccm.IsInit()) {
    const AliCentralCorrSecondaryMap* secMap = ccm.GetSecondaryMap();
    if (secMap) {
      const TAxis& vaxis = secMap->GetVertexAxis();
      // fVtxList->ls();
      std::cout << "  Eta ranges:\n"
		<< "     Vertex        | Eta bins\n"
		<< "   bin     range   | \n"
		<< "   ----------------+-----------" << std::endl;
      for (Int_t v = 1; v <= vaxis.GetNbins(); v++) { 
	VtxBin* bin = static_cast<VtxBin*>(fVtxList->At(v));
	if (!bin) continue;
	bin->Print();
      }
    }
  }

  gROOT->IncreaseDirLevel();
  ccm.Print(option);
  // fInspector.Print(option);
  gROOT->DecreaseDirLevel();
  
}

//====================================================================
AliCentralMultiplicityTask::VtxBin::VtxBin(Int_t iVz, 
					   Double_t minIpZ, 
					   Double_t maxIpZ) 
  : fId(iVz), 
    fMinIpZ(minIpZ), 
    fMaxIpZ(maxIpZ),
    fEtaMin(999), 
    fEtaMax(0),
    fSec(0),
    fAcc(0),
    fHits(0)
{
}
//____________________________________________________________________
AliCentralMultiplicityTask::VtxBin::VtxBin(const VtxBin& o) 
  : TObject(o),
    fId(o.fId), 
    fMinIpZ(o.fMinIpZ), 
    fMaxIpZ(o.fMaxIpZ),
    fEtaMin(o.fEtaMin), 
    fEtaMax(o.fEtaMax),
    fSec(o.fSec),
    fAcc(o.fAcc),
    fHits(o.fHits)
{
}
//____________________________________________________________________
AliCentralMultiplicityTask::VtxBin&
AliCentralMultiplicityTask::VtxBin::operator=(const VtxBin& o) 
{
  if (&o == this) return *this;
  fId		= o.fId; 
  fMinIpZ	= o.fMinIpZ; 
  fMaxIpZ	= o.fMaxIpZ;
  fEtaMin	= o.fEtaMin; 
  fEtaMax	= o.fEtaMax;
  fSec		= o.fSec;
  fAcc		= o.fAcc;
  fHits		= o.fHits;

  return *this;
}

//____________________________________________________________________
const char*
AliCentralMultiplicityTask::VtxBin::GetName() const
{
  return Form("%c%03d_%c%03d", 
	      (fMinIpZ >= 0 ? 'p' : 'm'), Int_t(TMath::Abs(fMinIpZ)), 
	      (fMaxIpZ >= 0 ? 'p' : 'm'), Int_t(TMath::Abs(fMaxIpZ)));
}

//____________________________________________________________________
void
AliCentralMultiplicityTask::VtxBin::SetupForData(TList* l, 
						 TH2* coverage, 
						 Bool_t store)
{
  TList* out = 0;
  if (store) { 
    out = new TList;
    out->SetName(GetName());
    out->SetOwner();
    l->Add(out);
  }

  AliCentralCorrectionManager& ccm = 
    AliCentralCorrectionManager::Instance();

  // Clean-up 
  if (fSec) { 
    // delete fSec;
    fSec = 0;
  }
  if (fAcc) { 
    // delete fAcc;
    fAcc = 0;
  }
  // Get secondary correction and make a projection onto eta
  TH2* sec = ccm.GetSecondaryMap()->GetCorrection(UShort_t(fId));
  TH1* acc = ccm.GetAcceptance()->GetCorrection(UShort_t(fId));
  fSec = static_cast<TH2*>(sec->Clone());
  fAcc = static_cast<TH1*>(acc->Clone());
  fSec->SetDirectory(0);
  fAcc->SetDirectory(0);

  TH1D* proj = fSec->ProjectionX("secondary");
  proj->SetDirectory(0);
  proj->Scale(1. / fSec->GetNbinsY());

  // Find lower bound on eta 
  fEtaMin = proj->GetNbinsX();
  for (Int_t e = 1; e <= proj->GetNbinsX(); e++) { 
    Double_t c = proj->GetBinContent(e);
    if (c > .5 /*&& TMath::Abs(c - prev) < .1*c*/) {
      fEtaMin = e;
      break;
    }
  }
  // Find upper bound on eta 
  fEtaMax = 1;
  for (Int_t e = proj->GetNbinsX(); e >= 1; e--) { 
    Double_t c = proj->GetBinContent(e);
    if (c > .5 /*&& TMath::Abs(c - prev) < .1*c*/) {
      fEtaMax = e;
      break;
    }
  }
  // Fill our coverage histogram
  for (Int_t nn = fEtaMin; nn<=fEtaMax; nn++) { 
    coverage->SetBinContent(nn,fId,1);
  }
  
  if (!store) {
    // If we're not asked to store anything, clean-up, and get out
    delete proj;
    return;
  }

  // Modify the title of the projection 
  proj->SetTitle(Form("Projection of secondary correction "
		      "for %+5.1f<v_{z}<%+5.1f",fMinIpZ, fMaxIpZ));
  proj->SetYTitle("#LT 2^{nd} correction#GT");
  proj->SetMarkerStyle(20);
  proj->SetMarkerColor(kBlue+1);
  out->Add(proj);

  // Make some histograms to store diagnostics 
  TH2D* obg = static_cast<TH2D*>(fSec->Clone("secondaryMapFiducial"));
  obg->SetTitle(Form("%s - fiducial volume", obg->GetTitle()));
  obg->GetYaxis()->SetTitle("#varphi");
  obg->SetDirectory(0);
  out->Add(obg);
    
  TH1D* after = static_cast<TH1D*>(proj->Clone("secondaryFiducial"));
  after->SetDirectory(0);
  after->GetYaxis()->SetTitle("#LT 2^{nd} correction#GT");
  after->SetTitle(Form("%s - fiducial volume", after->GetTitle()));
  after->SetMarkerColor(kRed+1);
  out->Add(after);

  if (fHits) { 
    // delete fHits;
    fHits = 0;
  }
  fHits = static_cast<TH2D*>(fSec->Clone("hitMap"));
  fHits->SetDirectory(0);
  fHits->SetTitle(Form("d^{2}N/d#eta d#phi for %+5.1f<v_{z}<%+5.1f",
		      fMinIpZ, fMaxIpZ));
  fHits->GetYaxis()->SetTitle("#varphi");
  fHits->GetZaxis()->SetTitle("d^{2}N/d#eta d#varphi");
  fHits->SetMarkerColor(kBlack);
  fHits->SetMarkerStyle(1);
  out->Add(fHits);
    
  // Get the acceptance, and store that 
  TH1D* accClone   = static_cast<TH1D*>(fAcc->Clone("acceptance"));
  accClone->SetTitle(Form("Acceptance for %+5.1f<v_{z}<%+5.1f",
			  fMinIpZ, fMaxIpZ));
  accClone->SetDirectory(0);
  out->Add(accClone);
    
  // Now zero content outside our eta range 
  for (Int_t e = 1; e < fEtaMin; e++) { 
    after->SetBinContent(e, 0);
    after->SetBinError(e, 0);
    for(Int_t nn =1; nn <=obg->GetNbinsY();nn++) 
      obg->SetBinContent(e,nn,0);
  }

  for (Int_t e = fEtaMax+1; e <= proj->GetNbinsX(); e++) { 
    after->SetBinContent(e, 0);
    after->SetBinError(e, 0);
    for(Int_t nn =1; nn <=obg->GetNbinsY();nn++)
      obg->SetBinContent(e,nn,0);
  }
}
//____________________________________________________________________
void
AliCentralMultiplicityTask::VtxBin::Correct(TH2D&  aodHist,
					    Bool_t useSecondary,
					    Bool_t useAcceptance,
					    Bool_t  sum) const
{
  if (useSecondary && fSec) aodHist.Divide(fSec);

  Int_t nY = aodHist.GetNbinsY();
  for(Int_t ix = 1; ix <= aodHist.GetNbinsX(); ix++) {
    Bool_t fiducial = true;
    if (ix < fEtaMin || ix > fEtaMax) fiducial = false;
    //  Bool_t etabinSeen = kFALSE;  

    Double_t eta    = aodHist.GetXaxis()->GetBinCenter(ix);
    Int_t    iax    = fAcc->GetXaxis()->FindBin(eta);
    Float_t  accCor = fAcc->GetBinContent(iax);
    // For test
    // Float_t accErr = fAcc->GetBinError(ix);

    // Loop over phi 
    for(Int_t iy = 1; iy <= nY; iy++) {
      // If outside our fiducial volume, zero content 
      if (!fiducial) { 
	aodHist.SetBinContent(ix, iy, 0);
	aodHist.SetBinError(ix, iy, 0);
	continue;
      }
      // Get currrent value 
      Float_t aodValue = aodHist.GetBinContent(ix,iy);
      Float_t aodErr   = aodHist.GetBinError(ix,iy);

      // Ignore very small values
      if (aodValue < 0.000001) { 
	aodHist.SetBinContent(ix,iy, 0); 
	aodHist.SetBinError(ix,iy, 0); 
	continue; 
      }
      if (!useAcceptance) continue; 

      // Acceptance correction 
      Float_t accTmp = accCor;
      if (accTmp   < 0.000001) accTmp = 1;
      Float_t aodNew   = aodValue / accTmp ;
      aodHist.SetBinContent(ix,iy, aodNew);
      aodHist.SetBinError(ix,iy,aodErr);
      // - Test - 
      // Float_t error    = aodNew*TMath::Sqrt(TMath::Power(aodErr/aodValue,2) +
      // TMath::Power(accErr/accCor,2) );
      // test - aodHist.SetBinError(ix,iy,error);
    } // for (iy)
    //Filling underflow bin if we eta bin is in range
    if (fiducial) {
      aodHist.SetBinContent(ix,0, 1.);
      aodHist.SetBinContent(ix,nY+1, accCor);
    }
  } // for (ix)
  if (sum && fHits) fHits->Add(&aodHist);
}
    
//____________________________________________________________________
void
AliCentralMultiplicityTask::VtxBin::Print(Option_t* /*option*/) const
{
  std::cout << "   " 
	    << std::setw(2) << fId << "  " 
	    << std::setw(5) << fMinIpZ << "-"
	    << std::setw(5) << fMaxIpZ << " | "
	    << std::setw(3) << fEtaMin << "-" 
	    << std::setw(3) << fEtaMax << std::endl;
}

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