ROOT logo
// $Id$
//
// General QA task.
//
// Author: S.Aiola

#include <TClonesArray.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>
#include <TList.h>
#include <TLorentzVector.h>

#include "AliAnalysisManager.h"
#include "AliCentrality.h"
#include "AliVCluster.h"
#include "AliVParticle.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliVEventHandler.h"
#include "AliAODEvent.h"
#include "AliExternalTrackParam.h"
#include "AliTrackerBase.h"
#include "AliLog.h"
#include "AliEMCALGeometry.h"
#include "AliEMCALGeoParams.h"
#include "AliPicoTrack.h"
#include "AliVVZERO.h"
#include "AliESDUtils.h"

#include "AliAnalysisTaskSAQA.h"

ClassImp(AliAnalysisTaskSAQA)

//________________________________________________________________________
AliAnalysisTaskSAQA::AliAnalysisTaskSAQA() : 
  AliAnalysisTaskEmcalJet("AliAnalysisTaskSAQA", kTRUE),
  fCellEnergyCut(0.05),
  fParticleLevel(kFALSE),
  fIsMC(kFALSE),
  fCentMethod2(""),
  fCentMethod3(""),
  fDoV0QA(0),
  fDoEPQA(0),
  fDoLeadingObjectPosition(0),
  fMaxCellsInCluster(50),
  fCent2(0),
  fCent3(0),
  fVZERO(0),
  fV0ATotMult(0),
  fV0CTotMult(0),
  fHistEventQA(0),
  fHistTrNegativeLabels(0),
  fHistTrZeroLabels(0),
  fHistTrPhiEtaPt(0),
  fHistTrPhiEtaZeroLab(0),
  fHistTrPtZeroLab(0),
  fHistTrEmcPhiEta(0),
  fHistTrEmcPt(0),
  fHistTrPhiEtaNonProp(0),
  fHistTrPtNonProp(0),
  fHistDeltaEtaPt(0),
  fHistDeltaPhiPt(0),
  fHistDeltaPtvsPt(0),
  fHistClusPhiEtaEnergy(0),
  fHistClusDeltaPhiEPEnergy(0),
  fHistNCellsEnergy(0),
  fHistFcrossEnergy(0),
  fHistClusTimeEnergy(0),
  fHistClusMCEnergyFraction(0),
  fHistCellsAbsIdEnergy(0),
  fHistJetsPhiEta(0),
  fHistJetsPtArea(0)
{
  // Default constructor.

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliAnalysisTaskSAQA::AliAnalysisTaskSAQA(const char *name) : 
  AliAnalysisTaskEmcalJet(name, kTRUE),
  fCellEnergyCut(0.05),
  fParticleLevel(kFALSE),
  fIsMC(kFALSE),
  fCentMethod2(""),
  fCentMethod3(""),
  fDoV0QA(0),
  fDoEPQA(0),
  fDoLeadingObjectPosition(0),
  fMaxCellsInCluster(50),
  fCent2(0),
  fCent3(0),
  fVZERO(0),
  fV0ATotMult(0),
  fV0CTotMult(0),
  fHistEventQA(0),
  fHistTrNegativeLabels(0),
  fHistTrZeroLabels(0),
  fHistTrPhiEtaPt(0),
  fHistTrPhiEtaZeroLab(0),
  fHistTrPtZeroLab(0),
  fHistTrEmcPhiEta(0),
  fHistTrEmcPt(0),
  fHistTrPhiEtaNonProp(0),
  fHistTrPtNonProp(0),
  fHistDeltaEtaPt(0),
  fHistDeltaPhiPt(0),
  fHistDeltaPtvsPt(0),
  fHistClusPhiEtaEnergy(0),
  fHistClusDeltaPhiEPEnergy(0),
  fHistNCellsEnergy(0),
  fHistFcrossEnergy(0),
  fHistClusTimeEnergy(0),
  fHistClusMCEnergyFraction(0),
  fHistCellsAbsIdEnergy(0),
  fHistJetsPhiEta(0),
  fHistJetsPtArea(0)
{
  // Standard 

  SetMakeGeneralHistograms(kTRUE);
}

//________________________________________________________________________
AliAnalysisTaskSAQA::~AliAnalysisTaskSAQA()
{
  // Destructor
}

//________________________________________________________________________
void AliAnalysisTaskSAQA::AllocateHistogramArrays()
{
  fHistTrNegativeLabels = new TH1*[fNcentBins];
  fHistTrZeroLabels = new TH1*[fNcentBins];
  fHistTrPhiEtaZeroLab = new TH2*[fNcentBins];
  fHistTrPtZeroLab = new TH1*[fNcentBins];
  fHistTrEmcPhiEta = new TH2*[fNcentBins];
  fHistTrEmcPt = new TH1*[fNcentBins];
  fHistTrPhiEtaNonProp = new TH2*[fNcentBins];
  fHistTrPtNonProp = new TH1*[fNcentBins];
  fHistDeltaEtaPt = new TH2*[fNcentBins];
  fHistDeltaPhiPt = new TH2*[fNcentBins];
  fHistDeltaPtvsPt = new TH2*[fNcentBins];

  fHistClusPhiEtaEnergy = new TH3*[fNcentBins];
  fHistClusDeltaPhiEPEnergy = new TH2*[fNcentBins];
  fHistNCellsEnergy = new TH2*[fNcentBins];
  fHistFcrossEnergy = new TH2*[fNcentBins];
  fHistClusTimeEnergy = new TH2*[fNcentBins];
  fHistClusMCEnergyFraction = new TH1*[fNcentBins];

  fHistCellsAbsIdEnergy = new TH2*[fNcentBins];

  fHistJetsPhiEta = new TH2*[fNcentBins];
  fHistJetsPtArea = new TH2*[fNcentBins];

  fHistTrPhiEtaPt = new TH3**[fNcentBins];

  for (Int_t i = 0; i < fNcentBins; i++) {

    fHistTrPhiEtaPt[i] = new TH3*[4];
    for (Int_t j = 0; j < 4; j++) fHistTrPhiEtaPt[i][j] = 0;

    fHistTrNegativeLabels[i] = 0;
    fHistTrZeroLabels[i] = 0;
    fHistTrPhiEtaZeroLab[i] = 0;
    fHistTrPtZeroLab[i] = 0;
    fHistTrEmcPhiEta[i] = 0;
    fHistTrEmcPt[i] = 0;
    fHistTrPhiEtaNonProp[i] = 0;
    fHistTrPtNonProp[i] = 0;
    fHistDeltaEtaPt[i] = 0;
    fHistDeltaPhiPt[i] = 0;
    fHistDeltaPtvsPt[i] = 0;

    fHistClusPhiEtaEnergy[i] = 0;
    fHistClusDeltaPhiEPEnergy[i] = 0;
    fHistNCellsEnergy[i] = 0;
    fHistFcrossEnergy[i] = 0;
    fHistClusTimeEnergy[i] = 0;
    fHistClusMCEnergyFraction[i] = 0;

    fHistCellsAbsIdEnergy[i] = 0;

    fHistJetsPhiEta[i] = 0;
    fHistJetsPtArea[i] = 0;
  }
}

//________________________________________________________________________
void AliAnalysisTaskSAQA::UserCreateOutputObjects()
{
  // Create histograms

  AliAnalysisTaskEmcalJet::UserCreateOutputObjects();

  AllocateHistogramArrays();

  TString histname;

  if (fParticleCollArray.GetEntriesFast()>0) {
    if (!fParticleLevel && fIsMC) {
      for (Int_t i = 0; i < fNcentBins; i++) {
	histname = Form("fHistTrNegativeLabels_%d",i);
	fHistTrNegativeLabels[i] = new TH1F(histname,histname, 500, 0, 1);
	fHistTrNegativeLabels[i]->GetXaxis()->SetTitle("% of negative labels");
	fHistTrNegativeLabels[i]->GetYaxis()->SetTitle("counts");
	fOutput->Add(fHistTrNegativeLabels[i]);

	histname = Form("fHistTrZeroLabels_%d",i);	
	fHistTrZeroLabels[i] = new TH1F(histname,histname, 500, 0, 1);
	fHistTrZeroLabels[i]->GetXaxis()->SetTitle("% of negative labels");
	fHistTrZeroLabels[i]->GetYaxis()->SetTitle("counts");
	fOutput->Add(fHistTrZeroLabels[i]);
      }
    }

    Int_t nlabels = 4;
    if (fParticleLevel)
      nlabels = 1;

    for (Int_t i = 0; i < fNcentBins; i++) {
      for (Int_t j = 0; j < nlabels; j++) {
	histname = Form("fHistTrPhiEtaPt_%d_%d",i,j);
	fHistTrPhiEtaPt[i][j] = new TH3F(histname,histname, 100, -1, 1, 101, 0, TMath::Pi() * 2.02, fNbins, fMinBinPt, fMaxBinPt);
	fHistTrPhiEtaPt[i][j]->GetXaxis()->SetTitle("#eta");
	fHistTrPhiEtaPt[i][j]->GetYaxis()->SetTitle("#phi");
	fHistTrPhiEtaPt[i][j]->GetZaxis()->SetTitle("p_{T} (GeV/c)");
	fOutput->Add(fHistTrPhiEtaPt[i][j]);
      }

      if (!fParticleLevel) {
	if (fIsMC) {
	  histname = Form("fHistTrPhiEtaZeroLab_%d",i);
	  fHistTrPhiEtaZeroLab[i] = new TH2F(histname,histname, 100, -1, 1, 101, 0, TMath::Pi() * 2.02);
	  fHistTrPhiEtaZeroLab[i]->GetXaxis()->SetTitle("#eta");
	  fHistTrPhiEtaZeroLab[i]->GetYaxis()->SetTitle("#phi");
	  fHistTrPhiEtaZeroLab[i]->GetZaxis()->SetTitle("counts");
	  fOutput->Add(fHistTrPhiEtaZeroLab[i]);

	  histname = Form("fHistTrPtZeroLab_%d",i);
	  fHistTrPtZeroLab[i] = new TH1F(histname,histname, fNbins, fMinBinPt, fMaxBinPt);
	  fHistTrPtZeroLab[i]->GetZaxis()->SetTitle("p_{T} (GeV/c)");
	  fHistTrPtZeroLab[i]->GetYaxis()->SetTitle("counts");
	  fOutput->Add(fHistTrPtZeroLab[i]);
	}
	
	histname = Form("fHistTrEmcPhiEta_%d",i);
	fHistTrEmcPhiEta[i] = new TH2F(histname,histname, 100, -1, 1, 101, 0, TMath::Pi() * 2.02);
	fHistTrEmcPhiEta[i]->GetXaxis()->SetTitle("#eta");
	fHistTrEmcPhiEta[i]->GetYaxis()->SetTitle("#phi");
	fOutput->Add(fHistTrEmcPhiEta[i]);
	
	histname = Form("fHistTrEmcPt_%d",i);
	fHistTrEmcPt[i] = new TH1F(histname,histname, fNbins, fMinBinPt, fMaxBinPt);
	fHistTrEmcPt[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
	fHistTrEmcPt[i]->GetYaxis()->SetTitle("counts");
	fOutput->Add(fHistTrEmcPt[i]);
	
	histname = Form("fHistTrPhiEtaNonProp_%d",i);
	fHistTrPhiEtaNonProp[i] = new TH2F(histname,histname, 100, -1, 1, 101, 0, TMath::Pi() * 2.02);
	fHistTrPhiEtaNonProp[i]->GetXaxis()->SetTitle("#eta");
	fHistTrPhiEtaNonProp[i]->GetYaxis()->SetTitle("#phi");
	fOutput->Add(fHistTrPhiEtaNonProp[i]);

	histname = Form("fHistTrPtNonProp_%d",i);
	fHistTrPtNonProp[i] = new TH1F(histname,histname, fNbins, fMinBinPt, fMaxBinPt);
	fHistTrPtNonProp[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
	fHistTrPtNonProp[i]->GetYaxis()->SetTitle("counts");
	fOutput->Add(fHistTrPtNonProp[i]);
	
	histname = Form("fHistDeltaEtaPt_%d",i);
	fHistDeltaEtaPt[i] = new TH2F(histname,histname, fNbins, fMinBinPt, fMaxBinPt, 50, -0.5, 0.5);
	fHistDeltaEtaPt[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
	fHistDeltaEtaPt[i]->GetYaxis()->SetTitle("#delta#eta");
	fOutput->Add(fHistDeltaEtaPt[i]);
	
	histname = Form("fHistDeltaPhiPt_%d",i);
	fHistDeltaPhiPt[i] = new TH2F(histname,histname, fNbins, fMinBinPt, fMaxBinPt, 200, -2, 2);
	fHistDeltaPhiPt[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
	fHistDeltaPhiPt[i]->GetYaxis()->SetTitle("#delta#phi");
	fOutput->Add(fHistDeltaPhiPt[i]);
	
	histname = Form("fHistDeltaPtvsPt_%d",i);
	fHistDeltaPtvsPt[i] = new TH2F(histname,histname, fNbins, fMinBinPt, fMaxBinPt, fNbins, -fMaxBinPt/2, fMaxBinPt/2);
	fHistDeltaPtvsPt[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
	fHistDeltaPtvsPt[i]->GetYaxis()->SetTitle("#deltap_{T} (GeV/c)");
	fHistDeltaPtvsPt[i]->GetZaxis()->SetTitle("counts");
	fOutput->Add(fHistDeltaPtvsPt[i]);
      }
    }
  }

  if (fClusterCollArray.GetEntriesFast()>0) {
    for (Int_t i = 0; i < fNcentBins; i++) {
      histname = "fHistClusPhiEtaEnergy_";
      histname += i;
      fHistClusPhiEtaEnergy[i] = new TH3F(histname, histname, 100, -1, 1, 101, 0, TMath::Pi() * 2.02, fNbins, fMinBinPt, fMaxBinPt);
      fHistClusPhiEtaEnergy[i]->GetXaxis()->SetTitle("#eta");
      fHistClusPhiEtaEnergy[i]->GetYaxis()->SetTitle("#phi");
      fHistClusPhiEtaEnergy[i]->GetZaxis()->SetTitle("E_{cluster} (GeV)");
      fOutput->Add(fHistClusPhiEtaEnergy[i]);

      histname = "fHistClusDeltaPhiEPEnergy_";
      histname += i;
      fHistClusDeltaPhiEPEnergy[i] = new TH2F(histname, histname, fNbins, fMinBinPt, fMaxBinPt, 100, 0, TMath::Pi());
      fHistClusDeltaPhiEPEnergy[i]->GetXaxis()->SetTitle("E_{cluster} (GeV)");
      fHistClusDeltaPhiEPEnergy[i]->GetYaxis()->SetTitle("#phi_{cluster} - #psi_{RP}");
      fOutput->Add(fHistClusDeltaPhiEPEnergy[i]);

      if (fIsEmbedded) {
	histname = "fHistClusMCEnergyFraction_";
	histname += i;
	fHistClusMCEnergyFraction[i] = new TH1F(histname, histname, fNbins, 0, 1.2);
	fHistClusMCEnergyFraction[i]->GetXaxis()->SetTitle("MC fraction");
	fHistClusMCEnergyFraction[i]->GetYaxis()->SetTitle("counts");
	fOutput->Add(fHistClusMCEnergyFraction[i]);
      }

      histname = "fHistClusTimeEnergy_";
      histname += i;
      fHistClusTimeEnergy[i] = new TH2F(histname,histname, fNbins, fMinBinPt, fMaxBinPt, fNbins,  -1e-6, 1e-6);
      fHistClusTimeEnergy[i]->GetXaxis()->SetTitle("E_{cluster} (GeV)");
      fHistClusTimeEnergy[i]->GetYaxis()->SetTitle("Time");
      fOutput->Add(fHistClusTimeEnergy[i]);

      Int_t nbins = fMaxCellsInCluster;
      while (nbins > fNbins) nbins /= 2;
      histname = "fHistNCellsEnergy_";
      histname += i;
      fHistNCellsEnergy[i] = new TH2F(histname,histname, fNbins, fMinBinPt, fMaxBinPt, nbins, -0.5, fMaxCellsInCluster-0.5);
      fHistNCellsEnergy[i]->GetXaxis()->SetTitle("E_{cluster} (GeV)");
      fHistNCellsEnergy[i]->GetYaxis()->SetTitle("N_{cells}");
      fOutput->Add(fHistNCellsEnergy[i]);

      histname = "fHistFcrossEnergy_";
      histname += i;
      fHistFcrossEnergy[i] = new TH2F(histname,histname, fNbins, fMinBinPt, fMaxBinPt, 200, -3.5, 1.5);
      fHistFcrossEnergy[i]->GetXaxis()->SetTitle("E_{cluster} (GeV)");
      fHistFcrossEnergy[i]->GetYaxis()->SetTitle("F_{cross}");
      fOutput->Add(fHistFcrossEnergy[i]); 

      histname = "fHistCellsAbsIdEnergy_";
      histname += i;
      fHistCellsAbsIdEnergy[i] = new TH2F(histname,histname, 11600,0,11599,(Int_t)(fNbins / 2), fMinBinPt, fMaxBinPt / 2);
      fHistCellsAbsIdEnergy[i]->GetXaxis()->SetTitle("cell abs. Id");
      fHistCellsAbsIdEnergy[i]->GetYaxis()->SetTitle("E_{cluster} (GeV)");
      fHistCellsAbsIdEnergy[i]->GetZaxis()->SetTitle("counts");    
      fOutput->Add(fHistCellsAbsIdEnergy[i]);
    }
  }
       
  if (fJetCollArray.GetEntriesFast()>0) {
    for (Int_t i = 0; i < fNcentBins; i++) {
      histname = "fHistJetsPhiEta_";
      histname += i;
      fHistJetsPhiEta[i] = new TH2F(histname.Data(), histname.Data(), 100, -1, 1, 101, 0, TMath::Pi() * 2.02);
      fHistJetsPhiEta[i]->GetXaxis()->SetTitle("#eta");
      fHistJetsPhiEta[i]->GetYaxis()->SetTitle("#phi");
      fHistJetsPhiEta[i]->GetZaxis()->SetTitle("counts");
      fOutput->Add(fHistJetsPhiEta[i]);

      histname = "fHistJetsPtArea_";
      histname += i;
      fHistJetsPtArea[i] = new TH2F(histname.Data(), histname.Data(), (Int_t)(fNbins * 2.5), fMinBinPt, fMaxBinPt * 2.5, 50, 0, 1.5);
      fHistJetsPtArea[i]->GetXaxis()->SetTitle("p_{T} (GeV/c)");
      fHistJetsPtArea[i]->GetYaxis()->SetTitle("area");
      fOutput->Add(fHistJetsPtArea[i]);
    }
  }
  
  Int_t dim = 0;
  TString title[20];
  Int_t nbins[20] = {0};
  Double_t min[20] = {0};
  Double_t max[20] = {0};
  
  if (fForceBeamType != AliAnalysisTaskEmcal::kpp) {
    title[dim] = "Centrality %";
    nbins[dim] = 101;
    min[dim] = 0;
    max[dim] = 101;
    dim++;

    if (!fCentMethod2.IsNull()) {
      title[dim] = Form("Centrality %s %%", fCentMethod2.Data());
      nbins[dim] = 101;
      min[dim] = 0;
      max[dim] = 101;
      dim++;
    }

    if (!fCentMethod3.IsNull()) {
      title[dim] = Form("Centrality %s %%", fCentMethod3.Data());
      nbins[dim] = 101;
      min[dim] = 0;
      max[dim] = 101;
      dim++;
    }
    
    if (fDoV0QA==1) {
      title[dim] = "V0A total multiplicity";
      nbins[dim] = 200;
      min[dim] = 0;
      max[dim] = 20000;
      dim++;

      title[dim] = "V0C total multiplicity";
      nbins[dim] = 200;
      min[dim] = 0;
      max[dim] = 20000;
      dim++;
    }
    else if (fDoV0QA==2) {
      title[dim] = "V0A+V0C total multiplicity";
      nbins[dim] = 300;
      min[dim] = 0;
      max[dim] = 30000;
      dim++;
    }

    if (!fRhoName.IsNull()) {
      title[dim] = "#rho (GeV/c)";
      nbins[dim] = fNbins*4;
      min[dim] = 0;
      max[dim] = 400;
      dim++;
    }

    if (fDoEPQA) {
      title[dim] = "#psi_{RP}";
      nbins[dim] = 200;
      min[dim] = -TMath::Pi();
      max[dim] = TMath::Pi();
      dim++;
    }
  }

  if (fParticleCollArray.GetEntriesFast()>0) {
    title[dim] = "No. of tracks";
    nbins[dim] = 3000;
    min[dim] = -0.5;
    max[dim] = 6000-0.5;
    dim++;

    title[dim] = "p_{T,track}^{leading} (GeV/c)";
    nbins[dim] = fNbins;
    min[dim] = fMinBinPt;
    max[dim] = fMaxBinPt;
    dim++;

    if (fDoLeadingObjectPosition) {
      title[dim] = "#eta_{track}^{leading}";
      nbins[dim] = 100;
      min[dim] = -1;
      max[dim] = 1;
      dim++;

      title[dim] = "#phi_{track}^{leading}";
      nbins[dim] = 101;
      min[dim] = 0;
      max[dim] = TMath::Pi() * 2.02;
      dim++;
    }
  }

  if (fClusterCollArray.GetEntriesFast()>0) {
    title[dim] = "No. of clusters";
    nbins[dim] = 2000;
    min[dim] = 0;
    max[dim] = 4000-0.5;
    dim++;

    title[dim] = "E_{cluster}^{leading} (GeV)";
    nbins[dim] = fNbins;
    min[dim] = fMinBinPt;
    max[dim] = fMaxBinPt;
    dim++;

    if (fDoLeadingObjectPosition) {
      title[dim] = "#eta_{cluster}^{leading}";
      nbins[dim] = 100;
      min[dim] = -1;
      max[dim] = 1;
      dim++;

      title[dim] = "#phi_{cluster}^{leading}";
      nbins[dim] = 101;
      min[dim] = 0;
      max[dim] = TMath::Pi() * 2.02;
      dim++;
    }
  }

  if (!fCaloCellsName.IsNull()) {
    title[dim] = "No. of cells";
    nbins[dim] = 3000;
    min[dim] = 0;
    max[dim] = 6000-0.5;
    dim++;
  }

  if (fJetCollArray.GetEntriesFast()>0) {
    title[dim] = "No. of jets";
    nbins[dim] = 200;
    min[dim] = 0;
    max[dim] = 200-0.5;
    dim++;

    title[dim] = "p_{T,jet}^{leading} (GeV/c)";
    nbins[dim] = fNbins;
    min[dim] = fMinBinPt;
    max[dim] = fMaxBinPt;
    dim++;

    if (fDoLeadingObjectPosition) {
      title[dim] = "#eta_{jet}^{leading}";
      nbins[dim] = 100;
      min[dim] = -1;
      max[dim] = 1;
      dim++;

      title[dim] = "#phi_{jet}^{leading}";
      nbins[dim] = 101;
      min[dim] = 0;
      max[dim] = TMath::Pi() * 2.02;
      dim++;
    }
  }

  fHistEventQA = new THnSparseF("fHistEventQA","fHistEventQA",dim,nbins,min,max);
  for (Int_t i = 0; i < dim; i++)
    fHistEventQA->GetAxis(i)->SetTitle(title[i]);
  fOutput->Add(fHistEventQA);

  PostData(1, fOutput); // Post data for ALL output slots >0 here, to get at least an empty histogram
}

//________________________________________________________________________
void AliAnalysisTaskSAQA::ExecOnce()
{
  AliAnalysisTaskEmcalJet::ExecOnce();
  
  if (fDoV0QA) {
    fVZERO = InputEvent()->GetVZEROData();
    if (!fVZERO) {
      AliError("AliVVZERO not available");
    }
  }
}

//________________________________________________________________________
Bool_t AliAnalysisTaskSAQA::RetrieveEventObjects()
{
  // Retrieve event objects.

  if (!AliAnalysisTaskEmcalJet::RetrieveEventObjects())
    return kFALSE;

  if (!fCentMethod2.IsNull() || !fCentMethod3.IsNull()) {
    if (fBeamType == kAA || fBeamType == kpA ) {
      AliCentrality *aliCent = InputEvent()->GetCentrality();
      if (aliCent) {
	if (!fCentMethod2.IsNull()) 
	  fCent2 = aliCent->GetCentralityPercentile(fCentMethod2); 
	if (!fCentMethod3.IsNull()) 
	  fCent3 = aliCent->GetCentralityPercentile(fCentMethod3);
      }
    }
  }

  if (fVZERO) {
    fV0ATotMult = AliESDUtils::GetCorrV0A(fVZERO->GetMTotV0A(),fVertex[2]);
    fV0CTotMult = AliESDUtils::GetCorrV0C(fVZERO->GetMTotV0C(),fVertex[2]);
  }

  return kTRUE;
}


//________________________________________________________________________
Bool_t AliAnalysisTaskSAQA::FillHistograms()
{
  // Fill histograms.

  Float_t trackSum = 0;
  Float_t clusSum = 0;
  Float_t cellSum = 0;

  Int_t ntracks = 0;
  Int_t nclusters = 0;
  Int_t ncells = 0;
  Int_t njets = 0;

  Float_t leadingClusE = 0;
  Float_t leadingClusEta = 0;
  Float_t leadingClusPhi = 0;

  Float_t leadingTrackPt = 0;
  Float_t leadingTrackEta = 0;
  Float_t leadingTrackPhi = 0;

  Float_t leadingJetPt = 0;
  Float_t leadingJetEta = 0;
  Float_t leadingJetPhi = 0;
    
  if (fTracks) {
    AliVParticle *leadingTrack = 0;

    ntracks = DoTrackLoop(trackSum, leadingTrack);
    AliDebug(2,Form("%d tracks found in the event", ntracks));

    if (leadingTrack) {
      leadingTrackPt = leadingTrack->Pt();
      leadingTrackEta = leadingTrack->Eta();
      leadingTrackPhi = leadingTrack->Phi();
    }
  } 

  if (fCaloClusters) {
    AliVCluster  *leadingClus = 0;

    nclusters = DoClusterLoop(clusSum, leadingClus);
    AliDebug(2,Form("%d clusters found in the event", nclusters));

    if (leadingClus) {
      TLorentzVector leadingClusVect;
      leadingClus->GetMomentum(leadingClusVect, fVertex);
      leadingClusE = leadingClus->E();
      leadingClusEta = leadingClusVect.Eta();
      leadingClusPhi = leadingClusVect.Phi();
    }
  }
  
  if (fCaloCells) {
    ncells = DoCellLoop(cellSum);
    AliDebug(2,Form("%d cells found in the event", ncells));
  }

  if (fJets) {
    AliEmcalJet  *leadingJet = 0;

    njets = DoJetLoop(leadingJet);
    AliDebug(2,Form("%d jets found in the event", njets));

    if (leadingJet) {
      leadingJetPt = leadingJet->Pt();
      leadingJetEta = leadingJet->Eta();
      leadingJetPhi = leadingJet->Phi();
    }
  }

  FillEventQAHisto(fCent, fCent2, fCent3, fV0ATotMult, fV0CTotMult, fEPV0, fRhoVal, 
		   ntracks, nclusters, ncells, njets, 
		   leadingTrackPt, leadingTrackEta, leadingTrackPhi, 
		   leadingClusE, leadingClusEta, leadingClusPhi, 
		   leadingJetPt, leadingJetEta, leadingJetPhi);

  return kTRUE;
}

//________________________________________________________________________
void AliAnalysisTaskSAQA::FillEventQAHisto(Float_t cent, Float_t cent2, Float_t cent3, Float_t v0a, Float_t v0c, 
					   Float_t ep, Float_t rho, Int_t ntracks, Int_t nclusters, Int_t ncells, Int_t njets, 
					   Float_t maxTrackPt, Float_t maxTrackEta, Float_t maxTrackPhi,
					   Float_t maxClusterE, Float_t maxClusterEta, Float_t maxClusterPhi,
					   Float_t maxJetPt, Float_t maxJetEta, Float_t maxJetPhi)
{
  Double_t contents[20]={0};

  for (Int_t i = 0; i < fHistEventQA->GetNdimensions(); i++) {
    TString title(fHistEventQA->GetAxis(i)->GetTitle());
    if (title=="Centrality %")
      contents[i] = cent;
    else if (title==Form("Centrality %s %%", fCentMethod2.Data()))
      contents[i] = cent2;
    else if (title==Form("Centrality %s %%", fCentMethod3.Data()))
      contents[i] = cent3;
    else if (title=="V0A total multiplicity")
      contents[i] = v0a;
    else if (title=="V0C total multiplicity")
      contents[i] = v0c;
    else if (title=="V0A+V0C total multiplicity")
      contents[i] = v0a+v0c;
    else if (title=="#psi_{RP}")
      contents[i] = ep;
    else if (title=="#rho (GeV/c)")
      contents[i] = rho;
    else if (title=="No. of tracks")
	contents[i] = ntracks;
    else if (title=="No. of clusters")
      contents[i] = nclusters;
    else if (title=="No. of cells")
      contents[i] = ncells;
    else if (title=="No. of jets")
      contents[i] = njets;
    else if (title=="p_{T,track}^{leading} (GeV/c)")
      contents[i] = maxTrackPt;
    else if (title=="#eta_{track}^{leading}")
      contents[i] = maxTrackEta;
    else if (title=="#phi_{track}^{leading}")
      contents[i] = maxTrackPhi;
    else if (title=="E_{cluster}^{leading} (GeV)")
      contents[i] = maxClusterE;
    else if (title=="#eta_{cluster}^{leading}")
      contents[i] = maxClusterEta;
    else if (title=="#phi_{cluster}^{leading}")
      contents[i] = maxClusterPhi;
    else if (title=="p_{T,jet}^{leading} (GeV/c)")
      contents[i] = maxJetPt;
    else if (title=="#eta_{jet}^{leading}")
      contents[i] = maxJetEta;
    else if (title=="#phi_{jet}^{leading}")
      contents[i] = maxJetPhi;
    else 
      AliWarning(Form("Unable to fill dimension %s!",title.Data()));
  }

  fHistEventQA->Fill(contents);
}

//________________________________________________________________________
Int_t AliAnalysisTaskSAQA::DoCellLoop(Float_t &sum)
{
  // Do cell loop.

  AliVCaloCells *cells = InputEvent()->GetEMCALCells();

  if (!cells)
    return 0;

  const Int_t ncells = cells->GetNumberOfCells();
  Int_t nAccCells = 0;

  for (Int_t pos = 0; pos < ncells; pos++) {
    Float_t amp   = cells->GetAmplitude(pos);
    Int_t   absId = cells->GetCellNumber(pos);

    if (amp < fCellEnergyCut)
      continue;

    fHistCellsAbsIdEnergy[fCentBin]->Fill(absId,amp);
    nAccCells++;
    sum += amp;
  } 

  return nAccCells;
}

//________________________________________________________________________
Double_t AliAnalysisTaskSAQA::GetFcross(AliVCluster *cluster, AliVCaloCells *cells)
{
  Int_t    AbsIdseed  = -1;
  Double_t Eseed      = 0;
  for (Int_t i = 0; i < cluster->GetNCells(); i++) {
    if (cells->GetCellAmplitude(cluster->GetCellAbsId(i)) > AbsIdseed) {
      Eseed     = cells->GetCellAmplitude(cluster->GetCellAbsId(i));
      AbsIdseed = cluster->GetCellAbsId(i);
    }
  }

  if (Eseed < 1e-9)
    return 100;

  Int_t imod = -1, iphi =-1, ieta=-1,iTower = -1, iIphi = -1, iIeta = -1; 
  fGeom->GetCellIndex(AbsIdseed,imod,iTower,iIphi,iIeta); 
  fGeom->GetCellPhiEtaIndexInSModule(imod,iTower,iIphi,iIeta,iphi,ieta);  
  
  //Get close cells index and energy, not in corners
  
  Int_t absID1 = -1;
  Int_t absID2 = -1;
  
  if (iphi < AliEMCALGeoParams::fgkEMCALRows-1) absID1 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi+1, ieta);
  if (iphi > 0)                                 absID2 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi-1, ieta);
  
  // In case of cell in eta = 0 border, depending on SM shift the cross cell index
  
  Int_t absID3 = -1;
  Int_t absID4 = -1;
  
  if (ieta == AliEMCALGeoParams::fgkEMCALCols-1 && !(imod%2)) {
    absID3 = fGeom->GetAbsCellIdFromCellIndexes(imod+1, iphi, 0);
    absID4 = fGeom->GetAbsCellIdFromCellIndexes(imod,   iphi, ieta-1); 
  }
  else if (ieta == 0 && imod%2) {
    absID3 = fGeom->GetAbsCellIdFromCellIndexes(imod,   iphi, ieta+1);
    absID4 = fGeom->GetAbsCellIdFromCellIndexes(imod-1, iphi, AliEMCALGeoParams::fgkEMCALCols-1); 
  }
  else {
    if (ieta < AliEMCALGeoParams::fgkEMCALCols-1) 
      absID3 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi, ieta+1);
    if (ieta > 0)                                 
      absID4 = fGeom->GetAbsCellIdFromCellIndexes(imod, iphi, ieta-1); 
  }
  
  Double_t  ecell1 = cells->GetCellAmplitude(absID1);
  Double_t  ecell2 = cells->GetCellAmplitude(absID2);
  Double_t  ecell3 = cells->GetCellAmplitude(absID3);
  Double_t  ecell4 = cells->GetCellAmplitude(absID4);

  Double_t Ecross = ecell1 + ecell2 + ecell3 + ecell4;
  
  Double_t Fcross = 1 - Ecross/Eseed;

  return Fcross;
}

//________________________________________________________________________
Int_t AliAnalysisTaskSAQA::DoClusterLoop(Float_t &sum, AliVCluster* &leading)
{
  // Do cluster loop.

  if (!fCaloClusters)
    return 0;

  Int_t nAccClusters = 0;

  AliVCaloCells *cells = InputEvent()->GetEMCALCells();

  sum = 0;
  leading = 0;

  // Cluster loop
  const Int_t nclusters = fCaloClusters->GetEntriesFast();

  for (Int_t iClusters = 0; iClusters < nclusters; iClusters++) {
    AliVCluster* cluster = static_cast<AliVCluster*>(fCaloClusters->At(iClusters));
    if (!cluster) {
      AliError(Form("Could not receive cluster %d", iClusters));
      continue;
    }  

    if (!AcceptCluster(cluster))
      continue;

    sum += cluster->E();

    if (!leading || leading->E() < cluster->E()) leading = cluster;

    TLorentzVector nPart;
    cluster->GetMomentum(nPart, fVertex);

    fHistClusPhiEtaEnergy[fCentBin]->Fill(nPart.Eta(), nPart.Phi(), cluster->E());

    Double_t ep = nPart.Phi() - fEPV0;
    while (ep < 0) ep += TMath::Pi();
    while (ep >= TMath::Pi()) ep -= TMath::Pi();
    fHistClusDeltaPhiEPEnergy[fCentBin]->Fill(cluster->E(), ep);

    fHistNCellsEnergy[fCentBin]->Fill(cluster->E(), cluster->GetNCells());

    fHistClusTimeEnergy[fCentBin]->Fill(cluster->E(), cluster->GetTOF());

    if (cells) fHistFcrossEnergy[fCentBin]->Fill(cluster->E(), GetFcross(cluster, cells));

    if (fHistClusMCEnergyFraction[fCentBin])
      fHistClusMCEnergyFraction[fCentBin]->Fill(cluster->GetMCEnergyFraction());

    nAccClusters++;
  }

  return nAccClusters;
}

//________________________________________________________________________
Int_t AliAnalysisTaskSAQA::DoTrackLoop(Float_t &sum, AliVParticle* &leading)
{
  // Do track loop.
  if (!fTracks)
    return 0;

  Int_t nAccTracks = 0;

  sum = 0;
  leading = 0;

  const Int_t ntracks = fTracks->GetEntriesFast();
  Int_t neg = 0;
  Int_t zero = 0;

  for (Int_t i = 0; i < ntracks; i++) {
    AliVParticle* track = static_cast<AliVParticle*>(fTracks->At(i)); // pointer to reconstructed to track  

    if (!track) {
      AliError(Form("Could not retrieve track %d",i)); 
      continue; 
    }

    if (!AcceptTrack(track)) 
      continue;

    nAccTracks++;

    sum += track->P();

    if (!leading || leading->Pt() < track->Pt()) leading = track;

    if (fParticleLevel) {
      fHistTrPhiEtaPt[fCentBin][0]->Fill(track->Eta(), track->Phi(), track->Pt());
    }
    else {
      fHistTrPhiEtaPt[fCentBin][3]->Fill(track->Eta(), track->Phi(), track->Pt());
      if (track->GetLabel() == 0) {
	zero++;
	if (fHistTrPhiEtaZeroLab[fCentBin]) {
	  fHistTrPhiEtaZeroLab[fCentBin]->Fill(track->Eta(), track->Phi());
	  fHistTrPtZeroLab[fCentBin]->Fill(track->Pt());
	}
      }

      if (track->GetLabel() < 0)
	neg++;

      Int_t type = 0;

      AliPicoTrack* ptrack = dynamic_cast<AliPicoTrack*>(track);
      if (ptrack)
	type = ptrack->GetTrackType();

      if (type >= 0 && type < 3)
	fHistTrPhiEtaPt[fCentBin][type]->Fill(track->Eta(), track->Phi(), track->Pt());
      else
	AliDebug(2,Form("%s: track type %d not recognized!", GetName(), type));
    }

    AliVTrack* vtrack = dynamic_cast<AliVTrack*>(track); 

    if (!vtrack)
      continue;

    if ((vtrack->GetTrackEtaOnEMCal() == -999 || vtrack->GetTrackPhiOnEMCal() == -999) && fHistTrPhiEtaNonProp[fCentBin]) {
      fHistTrPhiEtaNonProp[fCentBin]->Fill(vtrack->Eta(), vtrack->Phi());
      fHistTrPtNonProp[fCentBin]->Fill(vtrack->Pt());
    }

    if (fHistTrEmcPhiEta[fCentBin])
      fHistTrEmcPhiEta[fCentBin]->Fill(vtrack->GetTrackEtaOnEMCal(), vtrack->GetTrackPhiOnEMCal());   
    if (fHistTrEmcPt[fCentBin])
      fHistTrEmcPt[fCentBin]->Fill(vtrack->GetTrackPtOnEMCal());   
    if (fHistDeltaEtaPt[fCentBin])
      fHistDeltaEtaPt[fCentBin]->Fill(vtrack->Pt(), vtrack->Eta() - vtrack->GetTrackEtaOnEMCal());
    if (fHistDeltaPhiPt[fCentBin])
      fHistDeltaPhiPt[fCentBin]->Fill(vtrack->Pt(), vtrack->Phi() - vtrack->GetTrackPhiOnEMCal());
    if (fHistDeltaPtvsPt[fCentBin])
      fHistDeltaPtvsPt[fCentBin]->Fill(vtrack->Pt(), vtrack->Pt() - vtrack->GetTrackPtOnEMCal());
  }

  if (fHistTrNegativeLabels[fCentBin])
    fHistTrNegativeLabels[fCentBin]->Fill(1. * neg / ntracks);

  if (fHistTrZeroLabels[fCentBin])
    fHistTrZeroLabels[fCentBin]->Fill(1. * zero / ntracks);

  return nAccTracks;
}

//________________________________________________________________________
Int_t AliAnalysisTaskSAQA::DoJetLoop(AliEmcalJet* &leading)
{
  // Do jet loop.

  if (!fJets)
    return 0;

  Int_t nAccJets = 0;

  leading = 0;

  Int_t njets = fJets->GetEntriesFast();

  for (Int_t ij = 0; ij < njets; ij++) {

    AliEmcalJet* jet = static_cast<AliEmcalJet*>(fJets->At(ij));

    if (!jet) {
      AliError(Form("Could not receive jet %d", ij));
      continue;
    }  

    if (!AcceptJet(jet))
      continue;

    if (!leading || leading->Pt() < jet->Pt()) leading = jet;

    nAccJets++;

    fHistJetsPhiEta[fCentBin]->Fill(jet->Eta(), jet->Phi());
    fHistJetsPtArea[fCentBin]->Fill(jet->Pt(), jet->Area());
  }

  return nAccJets;
}
 AliAnalysisTaskSAQA.cxx:1
 AliAnalysisTaskSAQA.cxx:2
 AliAnalysisTaskSAQA.cxx:3
 AliAnalysisTaskSAQA.cxx:4
 AliAnalysisTaskSAQA.cxx:5
 AliAnalysisTaskSAQA.cxx:6
 AliAnalysisTaskSAQA.cxx:7
 AliAnalysisTaskSAQA.cxx:8
 AliAnalysisTaskSAQA.cxx:9
 AliAnalysisTaskSAQA.cxx:10
 AliAnalysisTaskSAQA.cxx:11
 AliAnalysisTaskSAQA.cxx:12
 AliAnalysisTaskSAQA.cxx:13
 AliAnalysisTaskSAQA.cxx:14
 AliAnalysisTaskSAQA.cxx:15
 AliAnalysisTaskSAQA.cxx:16
 AliAnalysisTaskSAQA.cxx:17
 AliAnalysisTaskSAQA.cxx:18
 AliAnalysisTaskSAQA.cxx:19
 AliAnalysisTaskSAQA.cxx:20
 AliAnalysisTaskSAQA.cxx:21
 AliAnalysisTaskSAQA.cxx:22
 AliAnalysisTaskSAQA.cxx:23
 AliAnalysisTaskSAQA.cxx:24
 AliAnalysisTaskSAQA.cxx:25
 AliAnalysisTaskSAQA.cxx:26
 AliAnalysisTaskSAQA.cxx:27
 AliAnalysisTaskSAQA.cxx:28
 AliAnalysisTaskSAQA.cxx:29
 AliAnalysisTaskSAQA.cxx:30
 AliAnalysisTaskSAQA.cxx:31
 AliAnalysisTaskSAQA.cxx:32
 AliAnalysisTaskSAQA.cxx:33
 AliAnalysisTaskSAQA.cxx:34
 AliAnalysisTaskSAQA.cxx:35
 AliAnalysisTaskSAQA.cxx:36
 AliAnalysisTaskSAQA.cxx:37
 AliAnalysisTaskSAQA.cxx:38
 AliAnalysisTaskSAQA.cxx:39
 AliAnalysisTaskSAQA.cxx:40
 AliAnalysisTaskSAQA.cxx:41
 AliAnalysisTaskSAQA.cxx:42
 AliAnalysisTaskSAQA.cxx:43
 AliAnalysisTaskSAQA.cxx:44
 AliAnalysisTaskSAQA.cxx:45
 AliAnalysisTaskSAQA.cxx:46
 AliAnalysisTaskSAQA.cxx:47
 AliAnalysisTaskSAQA.cxx:48
 AliAnalysisTaskSAQA.cxx:49
 AliAnalysisTaskSAQA.cxx:50
 AliAnalysisTaskSAQA.cxx:51
 AliAnalysisTaskSAQA.cxx:52
 AliAnalysisTaskSAQA.cxx:53
 AliAnalysisTaskSAQA.cxx:54
 AliAnalysisTaskSAQA.cxx:55
 AliAnalysisTaskSAQA.cxx:56
 AliAnalysisTaskSAQA.cxx:57
 AliAnalysisTaskSAQA.cxx:58
 AliAnalysisTaskSAQA.cxx:59
 AliAnalysisTaskSAQA.cxx:60
 AliAnalysisTaskSAQA.cxx:61
 AliAnalysisTaskSAQA.cxx:62
 AliAnalysisTaskSAQA.cxx:63
 AliAnalysisTaskSAQA.cxx:64
 AliAnalysisTaskSAQA.cxx:65
 AliAnalysisTaskSAQA.cxx:66
 AliAnalysisTaskSAQA.cxx:67
 AliAnalysisTaskSAQA.cxx:68
 AliAnalysisTaskSAQA.cxx:69
 AliAnalysisTaskSAQA.cxx:70
 AliAnalysisTaskSAQA.cxx:71
 AliAnalysisTaskSAQA.cxx:72
 AliAnalysisTaskSAQA.cxx:73
 AliAnalysisTaskSAQA.cxx:74
 AliAnalysisTaskSAQA.cxx:75
 AliAnalysisTaskSAQA.cxx:76
 AliAnalysisTaskSAQA.cxx:77
 AliAnalysisTaskSAQA.cxx:78
 AliAnalysisTaskSAQA.cxx:79
 AliAnalysisTaskSAQA.cxx:80
 AliAnalysisTaskSAQA.cxx:81
 AliAnalysisTaskSAQA.cxx:82
 AliAnalysisTaskSAQA.cxx:83
 AliAnalysisTaskSAQA.cxx:84
 AliAnalysisTaskSAQA.cxx:85
 AliAnalysisTaskSAQA.cxx:86
 AliAnalysisTaskSAQA.cxx:87
 AliAnalysisTaskSAQA.cxx:88
 AliAnalysisTaskSAQA.cxx:89
 AliAnalysisTaskSAQA.cxx:90
 AliAnalysisTaskSAQA.cxx:91
 AliAnalysisTaskSAQA.cxx:92
 AliAnalysisTaskSAQA.cxx:93
 AliAnalysisTaskSAQA.cxx:94
 AliAnalysisTaskSAQA.cxx:95
 AliAnalysisTaskSAQA.cxx:96
 AliAnalysisTaskSAQA.cxx:97
 AliAnalysisTaskSAQA.cxx:98
 AliAnalysisTaskSAQA.cxx:99
 AliAnalysisTaskSAQA.cxx:100
 AliAnalysisTaskSAQA.cxx:101
 AliAnalysisTaskSAQA.cxx:102
 AliAnalysisTaskSAQA.cxx:103
 AliAnalysisTaskSAQA.cxx:104
 AliAnalysisTaskSAQA.cxx:105
 AliAnalysisTaskSAQA.cxx:106
 AliAnalysisTaskSAQA.cxx:107
 AliAnalysisTaskSAQA.cxx:108
 AliAnalysisTaskSAQA.cxx:109
 AliAnalysisTaskSAQA.cxx:110
 AliAnalysisTaskSAQA.cxx:111
 AliAnalysisTaskSAQA.cxx:112
 AliAnalysisTaskSAQA.cxx:113
 AliAnalysisTaskSAQA.cxx:114
 AliAnalysisTaskSAQA.cxx:115
 AliAnalysisTaskSAQA.cxx:116
 AliAnalysisTaskSAQA.cxx:117
 AliAnalysisTaskSAQA.cxx:118
 AliAnalysisTaskSAQA.cxx:119
 AliAnalysisTaskSAQA.cxx:120
 AliAnalysisTaskSAQA.cxx:121
 AliAnalysisTaskSAQA.cxx:122
 AliAnalysisTaskSAQA.cxx:123
 AliAnalysisTaskSAQA.cxx:124
 AliAnalysisTaskSAQA.cxx:125
 AliAnalysisTaskSAQA.cxx:126
 AliAnalysisTaskSAQA.cxx:127
 AliAnalysisTaskSAQA.cxx:128
 AliAnalysisTaskSAQA.cxx:129
 AliAnalysisTaskSAQA.cxx:130
 AliAnalysisTaskSAQA.cxx:131
 AliAnalysisTaskSAQA.cxx:132
 AliAnalysisTaskSAQA.cxx:133
 AliAnalysisTaskSAQA.cxx:134
 AliAnalysisTaskSAQA.cxx:135
 AliAnalysisTaskSAQA.cxx:136
 AliAnalysisTaskSAQA.cxx:137
 AliAnalysisTaskSAQA.cxx:138
 AliAnalysisTaskSAQA.cxx:139
 AliAnalysisTaskSAQA.cxx:140
 AliAnalysisTaskSAQA.cxx:141
 AliAnalysisTaskSAQA.cxx:142
 AliAnalysisTaskSAQA.cxx:143
 AliAnalysisTaskSAQA.cxx:144
 AliAnalysisTaskSAQA.cxx:145
 AliAnalysisTaskSAQA.cxx:146
 AliAnalysisTaskSAQA.cxx:147
 AliAnalysisTaskSAQA.cxx:148
 AliAnalysisTaskSAQA.cxx:149
 AliAnalysisTaskSAQA.cxx:150
 AliAnalysisTaskSAQA.cxx:151
 AliAnalysisTaskSAQA.cxx:152
 AliAnalysisTaskSAQA.cxx:153
 AliAnalysisTaskSAQA.cxx:154
 AliAnalysisTaskSAQA.cxx:155
 AliAnalysisTaskSAQA.cxx:156
 AliAnalysisTaskSAQA.cxx:157
 AliAnalysisTaskSAQA.cxx:158
 AliAnalysisTaskSAQA.cxx:159
 AliAnalysisTaskSAQA.cxx:160
 AliAnalysisTaskSAQA.cxx:161
 AliAnalysisTaskSAQA.cxx:162
 AliAnalysisTaskSAQA.cxx:163
 AliAnalysisTaskSAQA.cxx:164
 AliAnalysisTaskSAQA.cxx:165
 AliAnalysisTaskSAQA.cxx:166
 AliAnalysisTaskSAQA.cxx:167
 AliAnalysisTaskSAQA.cxx:168
 AliAnalysisTaskSAQA.cxx:169
 AliAnalysisTaskSAQA.cxx:170
 AliAnalysisTaskSAQA.cxx:171
 AliAnalysisTaskSAQA.cxx:172
 AliAnalysisTaskSAQA.cxx:173
 AliAnalysisTaskSAQA.cxx:174
 AliAnalysisTaskSAQA.cxx:175
 AliAnalysisTaskSAQA.cxx:176
 AliAnalysisTaskSAQA.cxx:177
 AliAnalysisTaskSAQA.cxx:178
 AliAnalysisTaskSAQA.cxx:179
 AliAnalysisTaskSAQA.cxx:180
 AliAnalysisTaskSAQA.cxx:181
 AliAnalysisTaskSAQA.cxx:182
 AliAnalysisTaskSAQA.cxx:183
 AliAnalysisTaskSAQA.cxx:184
 AliAnalysisTaskSAQA.cxx:185
 AliAnalysisTaskSAQA.cxx:186
 AliAnalysisTaskSAQA.cxx:187
 AliAnalysisTaskSAQA.cxx:188
 AliAnalysisTaskSAQA.cxx:189
 AliAnalysisTaskSAQA.cxx:190
 AliAnalysisTaskSAQA.cxx:191
 AliAnalysisTaskSAQA.cxx:192
 AliAnalysisTaskSAQA.cxx:193
 AliAnalysisTaskSAQA.cxx:194
 AliAnalysisTaskSAQA.cxx:195
 AliAnalysisTaskSAQA.cxx:196
 AliAnalysisTaskSAQA.cxx:197
 AliAnalysisTaskSAQA.cxx:198
 AliAnalysisTaskSAQA.cxx:199
 AliAnalysisTaskSAQA.cxx:200
 AliAnalysisTaskSAQA.cxx:201
 AliAnalysisTaskSAQA.cxx:202
 AliAnalysisTaskSAQA.cxx:203
 AliAnalysisTaskSAQA.cxx:204
 AliAnalysisTaskSAQA.cxx:205
 AliAnalysisTaskSAQA.cxx:206
 AliAnalysisTaskSAQA.cxx:207
 AliAnalysisTaskSAQA.cxx:208
 AliAnalysisTaskSAQA.cxx:209
 AliAnalysisTaskSAQA.cxx:210
 AliAnalysisTaskSAQA.cxx:211
 AliAnalysisTaskSAQA.cxx:212
 AliAnalysisTaskSAQA.cxx:213
 AliAnalysisTaskSAQA.cxx:214
 AliAnalysisTaskSAQA.cxx:215
 AliAnalysisTaskSAQA.cxx:216
 AliAnalysisTaskSAQA.cxx:217
 AliAnalysisTaskSAQA.cxx:218
 AliAnalysisTaskSAQA.cxx:219
 AliAnalysisTaskSAQA.cxx:220
 AliAnalysisTaskSAQA.cxx:221
 AliAnalysisTaskSAQA.cxx:222
 AliAnalysisTaskSAQA.cxx:223
 AliAnalysisTaskSAQA.cxx:224
 AliAnalysisTaskSAQA.cxx:225
 AliAnalysisTaskSAQA.cxx:226
 AliAnalysisTaskSAQA.cxx:227
 AliAnalysisTaskSAQA.cxx:228
 AliAnalysisTaskSAQA.cxx:229
 AliAnalysisTaskSAQA.cxx:230
 AliAnalysisTaskSAQA.cxx:231
 AliAnalysisTaskSAQA.cxx:232
 AliAnalysisTaskSAQA.cxx:233
 AliAnalysisTaskSAQA.cxx:234
 AliAnalysisTaskSAQA.cxx:235
 AliAnalysisTaskSAQA.cxx:236
 AliAnalysisTaskSAQA.cxx:237
 AliAnalysisTaskSAQA.cxx:238
 AliAnalysisTaskSAQA.cxx:239
 AliAnalysisTaskSAQA.cxx:240
 AliAnalysisTaskSAQA.cxx:241
 AliAnalysisTaskSAQA.cxx:242
 AliAnalysisTaskSAQA.cxx:243
 AliAnalysisTaskSAQA.cxx:244
 AliAnalysisTaskSAQA.cxx:245
 AliAnalysisTaskSAQA.cxx:246
 AliAnalysisTaskSAQA.cxx:247
 AliAnalysisTaskSAQA.cxx:248
 AliAnalysisTaskSAQA.cxx:249
 AliAnalysisTaskSAQA.cxx:250
 AliAnalysisTaskSAQA.cxx:251
 AliAnalysisTaskSAQA.cxx:252
 AliAnalysisTaskSAQA.cxx:253
 AliAnalysisTaskSAQA.cxx:254
 AliAnalysisTaskSAQA.cxx:255
 AliAnalysisTaskSAQA.cxx:256
 AliAnalysisTaskSAQA.cxx:257
 AliAnalysisTaskSAQA.cxx:258
 AliAnalysisTaskSAQA.cxx:259
 AliAnalysisTaskSAQA.cxx:260
 AliAnalysisTaskSAQA.cxx:261
 AliAnalysisTaskSAQA.cxx:262
 AliAnalysisTaskSAQA.cxx:263
 AliAnalysisTaskSAQA.cxx:264
 AliAnalysisTaskSAQA.cxx:265
 AliAnalysisTaskSAQA.cxx:266
 AliAnalysisTaskSAQA.cxx:267
 AliAnalysisTaskSAQA.cxx:268
 AliAnalysisTaskSAQA.cxx:269
 AliAnalysisTaskSAQA.cxx:270
 AliAnalysisTaskSAQA.cxx:271
 AliAnalysisTaskSAQA.cxx:272
 AliAnalysisTaskSAQA.cxx:273
 AliAnalysisTaskSAQA.cxx:274
 AliAnalysisTaskSAQA.cxx:275
 AliAnalysisTaskSAQA.cxx:276
 AliAnalysisTaskSAQA.cxx:277
 AliAnalysisTaskSAQA.cxx:278
 AliAnalysisTaskSAQA.cxx:279
 AliAnalysisTaskSAQA.cxx:280
 AliAnalysisTaskSAQA.cxx:281
 AliAnalysisTaskSAQA.cxx:282
 AliAnalysisTaskSAQA.cxx:283
 AliAnalysisTaskSAQA.cxx:284
 AliAnalysisTaskSAQA.cxx:285
 AliAnalysisTaskSAQA.cxx:286
 AliAnalysisTaskSAQA.cxx:287
 AliAnalysisTaskSAQA.cxx:288
 AliAnalysisTaskSAQA.cxx:289
 AliAnalysisTaskSAQA.cxx:290
 AliAnalysisTaskSAQA.cxx:291
 AliAnalysisTaskSAQA.cxx:292
 AliAnalysisTaskSAQA.cxx:293
 AliAnalysisTaskSAQA.cxx:294
 AliAnalysisTaskSAQA.cxx:295
 AliAnalysisTaskSAQA.cxx:296
 AliAnalysisTaskSAQA.cxx:297
 AliAnalysisTaskSAQA.cxx:298
 AliAnalysisTaskSAQA.cxx:299
 AliAnalysisTaskSAQA.cxx:300
 AliAnalysisTaskSAQA.cxx:301
 AliAnalysisTaskSAQA.cxx:302
 AliAnalysisTaskSAQA.cxx:303
 AliAnalysisTaskSAQA.cxx:304
 AliAnalysisTaskSAQA.cxx:305
 AliAnalysisTaskSAQA.cxx:306
 AliAnalysisTaskSAQA.cxx:307
 AliAnalysisTaskSAQA.cxx:308
 AliAnalysisTaskSAQA.cxx:309
 AliAnalysisTaskSAQA.cxx:310
 AliAnalysisTaskSAQA.cxx:311
 AliAnalysisTaskSAQA.cxx:312
 AliAnalysisTaskSAQA.cxx:313
 AliAnalysisTaskSAQA.cxx:314
 AliAnalysisTaskSAQA.cxx:315
 AliAnalysisTaskSAQA.cxx:316
 AliAnalysisTaskSAQA.cxx:317
 AliAnalysisTaskSAQA.cxx:318
 AliAnalysisTaskSAQA.cxx:319
 AliAnalysisTaskSAQA.cxx:320
 AliAnalysisTaskSAQA.cxx:321
 AliAnalysisTaskSAQA.cxx:322
 AliAnalysisTaskSAQA.cxx:323
 AliAnalysisTaskSAQA.cxx:324
 AliAnalysisTaskSAQA.cxx:325
 AliAnalysisTaskSAQA.cxx:326
 AliAnalysisTaskSAQA.cxx:327
 AliAnalysisTaskSAQA.cxx:328
 AliAnalysisTaskSAQA.cxx:329
 AliAnalysisTaskSAQA.cxx:330
 AliAnalysisTaskSAQA.cxx:331
 AliAnalysisTaskSAQA.cxx:332
 AliAnalysisTaskSAQA.cxx:333
 AliAnalysisTaskSAQA.cxx:334
 AliAnalysisTaskSAQA.cxx:335
 AliAnalysisTaskSAQA.cxx:336
 AliAnalysisTaskSAQA.cxx:337
 AliAnalysisTaskSAQA.cxx:338
 AliAnalysisTaskSAQA.cxx:339
 AliAnalysisTaskSAQA.cxx:340
 AliAnalysisTaskSAQA.cxx:341
 AliAnalysisTaskSAQA.cxx:342
 AliAnalysisTaskSAQA.cxx:343
 AliAnalysisTaskSAQA.cxx:344
 AliAnalysisTaskSAQA.cxx:345
 AliAnalysisTaskSAQA.cxx:346
 AliAnalysisTaskSAQA.cxx:347
 AliAnalysisTaskSAQA.cxx:348
 AliAnalysisTaskSAQA.cxx:349
 AliAnalysisTaskSAQA.cxx:350
 AliAnalysisTaskSAQA.cxx:351
 AliAnalysisTaskSAQA.cxx:352
 AliAnalysisTaskSAQA.cxx:353
 AliAnalysisTaskSAQA.cxx:354
 AliAnalysisTaskSAQA.cxx:355
 AliAnalysisTaskSAQA.cxx:356
 AliAnalysisTaskSAQA.cxx:357
 AliAnalysisTaskSAQA.cxx:358
 AliAnalysisTaskSAQA.cxx:359
 AliAnalysisTaskSAQA.cxx:360
 AliAnalysisTaskSAQA.cxx:361
 AliAnalysisTaskSAQA.cxx:362
 AliAnalysisTaskSAQA.cxx:363
 AliAnalysisTaskSAQA.cxx:364
 AliAnalysisTaskSAQA.cxx:365
 AliAnalysisTaskSAQA.cxx:366
 AliAnalysisTaskSAQA.cxx:367
 AliAnalysisTaskSAQA.cxx:368
 AliAnalysisTaskSAQA.cxx:369
 AliAnalysisTaskSAQA.cxx:370
 AliAnalysisTaskSAQA.cxx:371
 AliAnalysisTaskSAQA.cxx:372
 AliAnalysisTaskSAQA.cxx:373
 AliAnalysisTaskSAQA.cxx:374
 AliAnalysisTaskSAQA.cxx:375
 AliAnalysisTaskSAQA.cxx:376
 AliAnalysisTaskSAQA.cxx:377
 AliAnalysisTaskSAQA.cxx:378
 AliAnalysisTaskSAQA.cxx:379
 AliAnalysisTaskSAQA.cxx:380
 AliAnalysisTaskSAQA.cxx:381
 AliAnalysisTaskSAQA.cxx:382
 AliAnalysisTaskSAQA.cxx:383
 AliAnalysisTaskSAQA.cxx:384
 AliAnalysisTaskSAQA.cxx:385
 AliAnalysisTaskSAQA.cxx:386
 AliAnalysisTaskSAQA.cxx:387
 AliAnalysisTaskSAQA.cxx:388
 AliAnalysisTaskSAQA.cxx:389
 AliAnalysisTaskSAQA.cxx:390
 AliAnalysisTaskSAQA.cxx:391
 AliAnalysisTaskSAQA.cxx:392
 AliAnalysisTaskSAQA.cxx:393
 AliAnalysisTaskSAQA.cxx:394
 AliAnalysisTaskSAQA.cxx:395
 AliAnalysisTaskSAQA.cxx:396
 AliAnalysisTaskSAQA.cxx:397
 AliAnalysisTaskSAQA.cxx:398
 AliAnalysisTaskSAQA.cxx:399
 AliAnalysisTaskSAQA.cxx:400
 AliAnalysisTaskSAQA.cxx:401
 AliAnalysisTaskSAQA.cxx:402
 AliAnalysisTaskSAQA.cxx:403
 AliAnalysisTaskSAQA.cxx:404
 AliAnalysisTaskSAQA.cxx:405
 AliAnalysisTaskSAQA.cxx:406
 AliAnalysisTaskSAQA.cxx:407
 AliAnalysisTaskSAQA.cxx:408
 AliAnalysisTaskSAQA.cxx:409
 AliAnalysisTaskSAQA.cxx:410
 AliAnalysisTaskSAQA.cxx:411
 AliAnalysisTaskSAQA.cxx:412
 AliAnalysisTaskSAQA.cxx:413
 AliAnalysisTaskSAQA.cxx:414
 AliAnalysisTaskSAQA.cxx:415
 AliAnalysisTaskSAQA.cxx:416
 AliAnalysisTaskSAQA.cxx:417
 AliAnalysisTaskSAQA.cxx:418
 AliAnalysisTaskSAQA.cxx:419
 AliAnalysisTaskSAQA.cxx:420
 AliAnalysisTaskSAQA.cxx:421
 AliAnalysisTaskSAQA.cxx:422
 AliAnalysisTaskSAQA.cxx:423
 AliAnalysisTaskSAQA.cxx:424
 AliAnalysisTaskSAQA.cxx:425
 AliAnalysisTaskSAQA.cxx:426
 AliAnalysisTaskSAQA.cxx:427
 AliAnalysisTaskSAQA.cxx:428
 AliAnalysisTaskSAQA.cxx:429
 AliAnalysisTaskSAQA.cxx:430
 AliAnalysisTaskSAQA.cxx:431
 AliAnalysisTaskSAQA.cxx:432
 AliAnalysisTaskSAQA.cxx:433
 AliAnalysisTaskSAQA.cxx:434
 AliAnalysisTaskSAQA.cxx:435
 AliAnalysisTaskSAQA.cxx:436
 AliAnalysisTaskSAQA.cxx:437
 AliAnalysisTaskSAQA.cxx:438
 AliAnalysisTaskSAQA.cxx:439
 AliAnalysisTaskSAQA.cxx:440
 AliAnalysisTaskSAQA.cxx:441
 AliAnalysisTaskSAQA.cxx:442
 AliAnalysisTaskSAQA.cxx:443
 AliAnalysisTaskSAQA.cxx:444
 AliAnalysisTaskSAQA.cxx:445
 AliAnalysisTaskSAQA.cxx:446
 AliAnalysisTaskSAQA.cxx:447
 AliAnalysisTaskSAQA.cxx:448
 AliAnalysisTaskSAQA.cxx:449
 AliAnalysisTaskSAQA.cxx:450
 AliAnalysisTaskSAQA.cxx:451
 AliAnalysisTaskSAQA.cxx:452
 AliAnalysisTaskSAQA.cxx:453
 AliAnalysisTaskSAQA.cxx:454
 AliAnalysisTaskSAQA.cxx:455
 AliAnalysisTaskSAQA.cxx:456
 AliAnalysisTaskSAQA.cxx:457
 AliAnalysisTaskSAQA.cxx:458
 AliAnalysisTaskSAQA.cxx:459
 AliAnalysisTaskSAQA.cxx:460
 AliAnalysisTaskSAQA.cxx:461
 AliAnalysisTaskSAQA.cxx:462
 AliAnalysisTaskSAQA.cxx:463
 AliAnalysisTaskSAQA.cxx:464
 AliAnalysisTaskSAQA.cxx:465
 AliAnalysisTaskSAQA.cxx:466
 AliAnalysisTaskSAQA.cxx:467
 AliAnalysisTaskSAQA.cxx:468
 AliAnalysisTaskSAQA.cxx:469
 AliAnalysisTaskSAQA.cxx:470
 AliAnalysisTaskSAQA.cxx:471
 AliAnalysisTaskSAQA.cxx:472
 AliAnalysisTaskSAQA.cxx:473
 AliAnalysisTaskSAQA.cxx:474
 AliAnalysisTaskSAQA.cxx:475
 AliAnalysisTaskSAQA.cxx:476
 AliAnalysisTaskSAQA.cxx:477
 AliAnalysisTaskSAQA.cxx:478
 AliAnalysisTaskSAQA.cxx:479
 AliAnalysisTaskSAQA.cxx:480
 AliAnalysisTaskSAQA.cxx:481
 AliAnalysisTaskSAQA.cxx:482
 AliAnalysisTaskSAQA.cxx:483
 AliAnalysisTaskSAQA.cxx:484
 AliAnalysisTaskSAQA.cxx:485
 AliAnalysisTaskSAQA.cxx:486
 AliAnalysisTaskSAQA.cxx:487
 AliAnalysisTaskSAQA.cxx:488
 AliAnalysisTaskSAQA.cxx:489
 AliAnalysisTaskSAQA.cxx:490
 AliAnalysisTaskSAQA.cxx:491
 AliAnalysisTaskSAQA.cxx:492
 AliAnalysisTaskSAQA.cxx:493
 AliAnalysisTaskSAQA.cxx:494
 AliAnalysisTaskSAQA.cxx:495
 AliAnalysisTaskSAQA.cxx:496
 AliAnalysisTaskSAQA.cxx:497
 AliAnalysisTaskSAQA.cxx:498
 AliAnalysisTaskSAQA.cxx:499
 AliAnalysisTaskSAQA.cxx:500
 AliAnalysisTaskSAQA.cxx:501
 AliAnalysisTaskSAQA.cxx:502
 AliAnalysisTaskSAQA.cxx:503
 AliAnalysisTaskSAQA.cxx:504
 AliAnalysisTaskSAQA.cxx:505
 AliAnalysisTaskSAQA.cxx:506
 AliAnalysisTaskSAQA.cxx:507
 AliAnalysisTaskSAQA.cxx:508
 AliAnalysisTaskSAQA.cxx:509
 AliAnalysisTaskSAQA.cxx:510
 AliAnalysisTaskSAQA.cxx:511
 AliAnalysisTaskSAQA.cxx:512
 AliAnalysisTaskSAQA.cxx:513
 AliAnalysisTaskSAQA.cxx:514
 AliAnalysisTaskSAQA.cxx:515
 AliAnalysisTaskSAQA.cxx:516
 AliAnalysisTaskSAQA.cxx:517
 AliAnalysisTaskSAQA.cxx:518
 AliAnalysisTaskSAQA.cxx:519
 AliAnalysisTaskSAQA.cxx:520
 AliAnalysisTaskSAQA.cxx:521
 AliAnalysisTaskSAQA.cxx:522
 AliAnalysisTaskSAQA.cxx:523
 AliAnalysisTaskSAQA.cxx:524
 AliAnalysisTaskSAQA.cxx:525
 AliAnalysisTaskSAQA.cxx:526
 AliAnalysisTaskSAQA.cxx:527
 AliAnalysisTaskSAQA.cxx:528
 AliAnalysisTaskSAQA.cxx:529
 AliAnalysisTaskSAQA.cxx:530
 AliAnalysisTaskSAQA.cxx:531
 AliAnalysisTaskSAQA.cxx:532
 AliAnalysisTaskSAQA.cxx:533
 AliAnalysisTaskSAQA.cxx:534
 AliAnalysisTaskSAQA.cxx:535
 AliAnalysisTaskSAQA.cxx:536
 AliAnalysisTaskSAQA.cxx:537
 AliAnalysisTaskSAQA.cxx:538
 AliAnalysisTaskSAQA.cxx:539
 AliAnalysisTaskSAQA.cxx:540
 AliAnalysisTaskSAQA.cxx:541
 AliAnalysisTaskSAQA.cxx:542
 AliAnalysisTaskSAQA.cxx:543
 AliAnalysisTaskSAQA.cxx:544
 AliAnalysisTaskSAQA.cxx:545
 AliAnalysisTaskSAQA.cxx:546
 AliAnalysisTaskSAQA.cxx:547
 AliAnalysisTaskSAQA.cxx:548
 AliAnalysisTaskSAQA.cxx:549
 AliAnalysisTaskSAQA.cxx:550
 AliAnalysisTaskSAQA.cxx:551
 AliAnalysisTaskSAQA.cxx:552
 AliAnalysisTaskSAQA.cxx:553
 AliAnalysisTaskSAQA.cxx:554
 AliAnalysisTaskSAQA.cxx:555
 AliAnalysisTaskSAQA.cxx:556
 AliAnalysisTaskSAQA.cxx:557
 AliAnalysisTaskSAQA.cxx:558
 AliAnalysisTaskSAQA.cxx:559
 AliAnalysisTaskSAQA.cxx:560
 AliAnalysisTaskSAQA.cxx:561
 AliAnalysisTaskSAQA.cxx:562
 AliAnalysisTaskSAQA.cxx:563
 AliAnalysisTaskSAQA.cxx:564
 AliAnalysisTaskSAQA.cxx:565
 AliAnalysisTaskSAQA.cxx:566
 AliAnalysisTaskSAQA.cxx:567
 AliAnalysisTaskSAQA.cxx:568
 AliAnalysisTaskSAQA.cxx:569
 AliAnalysisTaskSAQA.cxx:570
 AliAnalysisTaskSAQA.cxx:571
 AliAnalysisTaskSAQA.cxx:572
 AliAnalysisTaskSAQA.cxx:573
 AliAnalysisTaskSAQA.cxx:574
 AliAnalysisTaskSAQA.cxx:575
 AliAnalysisTaskSAQA.cxx:576
 AliAnalysisTaskSAQA.cxx:577
 AliAnalysisTaskSAQA.cxx:578
 AliAnalysisTaskSAQA.cxx:579
 AliAnalysisTaskSAQA.cxx:580
 AliAnalysisTaskSAQA.cxx:581
 AliAnalysisTaskSAQA.cxx:582
 AliAnalysisTaskSAQA.cxx:583
 AliAnalysisTaskSAQA.cxx:584
 AliAnalysisTaskSAQA.cxx:585
 AliAnalysisTaskSAQA.cxx:586
 AliAnalysisTaskSAQA.cxx:587
 AliAnalysisTaskSAQA.cxx:588
 AliAnalysisTaskSAQA.cxx:589
 AliAnalysisTaskSAQA.cxx:590
 AliAnalysisTaskSAQA.cxx:591
 AliAnalysisTaskSAQA.cxx:592
 AliAnalysisTaskSAQA.cxx:593
 AliAnalysisTaskSAQA.cxx:594
 AliAnalysisTaskSAQA.cxx:595
 AliAnalysisTaskSAQA.cxx:596
 AliAnalysisTaskSAQA.cxx:597
 AliAnalysisTaskSAQA.cxx:598
 AliAnalysisTaskSAQA.cxx:599
 AliAnalysisTaskSAQA.cxx:600
 AliAnalysisTaskSAQA.cxx:601
 AliAnalysisTaskSAQA.cxx:602
 AliAnalysisTaskSAQA.cxx:603
 AliAnalysisTaskSAQA.cxx:604
 AliAnalysisTaskSAQA.cxx:605
 AliAnalysisTaskSAQA.cxx:606
 AliAnalysisTaskSAQA.cxx:607
 AliAnalysisTaskSAQA.cxx:608
 AliAnalysisTaskSAQA.cxx:609
 AliAnalysisTaskSAQA.cxx:610
 AliAnalysisTaskSAQA.cxx:611
 AliAnalysisTaskSAQA.cxx:612
 AliAnalysisTaskSAQA.cxx:613
 AliAnalysisTaskSAQA.cxx:614
 AliAnalysisTaskSAQA.cxx:615
 AliAnalysisTaskSAQA.cxx:616
 AliAnalysisTaskSAQA.cxx:617
 AliAnalysisTaskSAQA.cxx:618
 AliAnalysisTaskSAQA.cxx:619
 AliAnalysisTaskSAQA.cxx:620
 AliAnalysisTaskSAQA.cxx:621
 AliAnalysisTaskSAQA.cxx:622
 AliAnalysisTaskSAQA.cxx:623
 AliAnalysisTaskSAQA.cxx:624
 AliAnalysisTaskSAQA.cxx:625
 AliAnalysisTaskSAQA.cxx:626
 AliAnalysisTaskSAQA.cxx:627
 AliAnalysisTaskSAQA.cxx:628
 AliAnalysisTaskSAQA.cxx:629
 AliAnalysisTaskSAQA.cxx:630
 AliAnalysisTaskSAQA.cxx:631
 AliAnalysisTaskSAQA.cxx:632
 AliAnalysisTaskSAQA.cxx:633
 AliAnalysisTaskSAQA.cxx:634
 AliAnalysisTaskSAQA.cxx:635
 AliAnalysisTaskSAQA.cxx:636
 AliAnalysisTaskSAQA.cxx:637
 AliAnalysisTaskSAQA.cxx:638
 AliAnalysisTaskSAQA.cxx:639
 AliAnalysisTaskSAQA.cxx:640
 AliAnalysisTaskSAQA.cxx:641
 AliAnalysisTaskSAQA.cxx:642
 AliAnalysisTaskSAQA.cxx:643
 AliAnalysisTaskSAQA.cxx:644
 AliAnalysisTaskSAQA.cxx:645
 AliAnalysisTaskSAQA.cxx:646
 AliAnalysisTaskSAQA.cxx:647
 AliAnalysisTaskSAQA.cxx:648
 AliAnalysisTaskSAQA.cxx:649
 AliAnalysisTaskSAQA.cxx:650
 AliAnalysisTaskSAQA.cxx:651
 AliAnalysisTaskSAQA.cxx:652
 AliAnalysisTaskSAQA.cxx:653
 AliAnalysisTaskSAQA.cxx:654
 AliAnalysisTaskSAQA.cxx:655
 AliAnalysisTaskSAQA.cxx:656
 AliAnalysisTaskSAQA.cxx:657
 AliAnalysisTaskSAQA.cxx:658
 AliAnalysisTaskSAQA.cxx:659
 AliAnalysisTaskSAQA.cxx:660
 AliAnalysisTaskSAQA.cxx:661
 AliAnalysisTaskSAQA.cxx:662
 AliAnalysisTaskSAQA.cxx:663
 AliAnalysisTaskSAQA.cxx:664
 AliAnalysisTaskSAQA.cxx:665
 AliAnalysisTaskSAQA.cxx:666
 AliAnalysisTaskSAQA.cxx:667
 AliAnalysisTaskSAQA.cxx:668
 AliAnalysisTaskSAQA.cxx:669
 AliAnalysisTaskSAQA.cxx:670
 AliAnalysisTaskSAQA.cxx:671
 AliAnalysisTaskSAQA.cxx:672
 AliAnalysisTaskSAQA.cxx:673
 AliAnalysisTaskSAQA.cxx:674
 AliAnalysisTaskSAQA.cxx:675
 AliAnalysisTaskSAQA.cxx:676
 AliAnalysisTaskSAQA.cxx:677
 AliAnalysisTaskSAQA.cxx:678
 AliAnalysisTaskSAQA.cxx:679
 AliAnalysisTaskSAQA.cxx:680
 AliAnalysisTaskSAQA.cxx:681
 AliAnalysisTaskSAQA.cxx:682
 AliAnalysisTaskSAQA.cxx:683
 AliAnalysisTaskSAQA.cxx:684
 AliAnalysisTaskSAQA.cxx:685
 AliAnalysisTaskSAQA.cxx:686
 AliAnalysisTaskSAQA.cxx:687
 AliAnalysisTaskSAQA.cxx:688
 AliAnalysisTaskSAQA.cxx:689
 AliAnalysisTaskSAQA.cxx:690
 AliAnalysisTaskSAQA.cxx:691
 AliAnalysisTaskSAQA.cxx:692
 AliAnalysisTaskSAQA.cxx:693
 AliAnalysisTaskSAQA.cxx:694
 AliAnalysisTaskSAQA.cxx:695
 AliAnalysisTaskSAQA.cxx:696
 AliAnalysisTaskSAQA.cxx:697
 AliAnalysisTaskSAQA.cxx:698
 AliAnalysisTaskSAQA.cxx:699
 AliAnalysisTaskSAQA.cxx:700
 AliAnalysisTaskSAQA.cxx:701
 AliAnalysisTaskSAQA.cxx:702
 AliAnalysisTaskSAQA.cxx:703
 AliAnalysisTaskSAQA.cxx:704
 AliAnalysisTaskSAQA.cxx:705
 AliAnalysisTaskSAQA.cxx:706
 AliAnalysisTaskSAQA.cxx:707
 AliAnalysisTaskSAQA.cxx:708
 AliAnalysisTaskSAQA.cxx:709
 AliAnalysisTaskSAQA.cxx:710
 AliAnalysisTaskSAQA.cxx:711
 AliAnalysisTaskSAQA.cxx:712
 AliAnalysisTaskSAQA.cxx:713
 AliAnalysisTaskSAQA.cxx:714
 AliAnalysisTaskSAQA.cxx:715
 AliAnalysisTaskSAQA.cxx:716
 AliAnalysisTaskSAQA.cxx:717
 AliAnalysisTaskSAQA.cxx:718
 AliAnalysisTaskSAQA.cxx:719
 AliAnalysisTaskSAQA.cxx:720
 AliAnalysisTaskSAQA.cxx:721
 AliAnalysisTaskSAQA.cxx:722
 AliAnalysisTaskSAQA.cxx:723
 AliAnalysisTaskSAQA.cxx:724
 AliAnalysisTaskSAQA.cxx:725
 AliAnalysisTaskSAQA.cxx:726
 AliAnalysisTaskSAQA.cxx:727
 AliAnalysisTaskSAQA.cxx:728
 AliAnalysisTaskSAQA.cxx:729
 AliAnalysisTaskSAQA.cxx:730
 AliAnalysisTaskSAQA.cxx:731
 AliAnalysisTaskSAQA.cxx:732
 AliAnalysisTaskSAQA.cxx:733
 AliAnalysisTaskSAQA.cxx:734
 AliAnalysisTaskSAQA.cxx:735
 AliAnalysisTaskSAQA.cxx:736
 AliAnalysisTaskSAQA.cxx:737
 AliAnalysisTaskSAQA.cxx:738
 AliAnalysisTaskSAQA.cxx:739
 AliAnalysisTaskSAQA.cxx:740
 AliAnalysisTaskSAQA.cxx:741
 AliAnalysisTaskSAQA.cxx:742
 AliAnalysisTaskSAQA.cxx:743
 AliAnalysisTaskSAQA.cxx:744
 AliAnalysisTaskSAQA.cxx:745
 AliAnalysisTaskSAQA.cxx:746
 AliAnalysisTaskSAQA.cxx:747
 AliAnalysisTaskSAQA.cxx:748
 AliAnalysisTaskSAQA.cxx:749
 AliAnalysisTaskSAQA.cxx:750
 AliAnalysisTaskSAQA.cxx:751
 AliAnalysisTaskSAQA.cxx:752
 AliAnalysisTaskSAQA.cxx:753
 AliAnalysisTaskSAQA.cxx:754
 AliAnalysisTaskSAQA.cxx:755
 AliAnalysisTaskSAQA.cxx:756
 AliAnalysisTaskSAQA.cxx:757
 AliAnalysisTaskSAQA.cxx:758
 AliAnalysisTaskSAQA.cxx:759
 AliAnalysisTaskSAQA.cxx:760
 AliAnalysisTaskSAQA.cxx:761
 AliAnalysisTaskSAQA.cxx:762
 AliAnalysisTaskSAQA.cxx:763
 AliAnalysisTaskSAQA.cxx:764
 AliAnalysisTaskSAQA.cxx:765
 AliAnalysisTaskSAQA.cxx:766
 AliAnalysisTaskSAQA.cxx:767
 AliAnalysisTaskSAQA.cxx:768
 AliAnalysisTaskSAQA.cxx:769
 AliAnalysisTaskSAQA.cxx:770
 AliAnalysisTaskSAQA.cxx:771
 AliAnalysisTaskSAQA.cxx:772
 AliAnalysisTaskSAQA.cxx:773
 AliAnalysisTaskSAQA.cxx:774
 AliAnalysisTaskSAQA.cxx:775
 AliAnalysisTaskSAQA.cxx:776
 AliAnalysisTaskSAQA.cxx:777
 AliAnalysisTaskSAQA.cxx:778
 AliAnalysisTaskSAQA.cxx:779
 AliAnalysisTaskSAQA.cxx:780
 AliAnalysisTaskSAQA.cxx:781
 AliAnalysisTaskSAQA.cxx:782
 AliAnalysisTaskSAQA.cxx:783
 AliAnalysisTaskSAQA.cxx:784
 AliAnalysisTaskSAQA.cxx:785
 AliAnalysisTaskSAQA.cxx:786
 AliAnalysisTaskSAQA.cxx:787
 AliAnalysisTaskSAQA.cxx:788
 AliAnalysisTaskSAQA.cxx:789
 AliAnalysisTaskSAQA.cxx:790
 AliAnalysisTaskSAQA.cxx:791
 AliAnalysisTaskSAQA.cxx:792
 AliAnalysisTaskSAQA.cxx:793
 AliAnalysisTaskSAQA.cxx:794
 AliAnalysisTaskSAQA.cxx:795
 AliAnalysisTaskSAQA.cxx:796
 AliAnalysisTaskSAQA.cxx:797
 AliAnalysisTaskSAQA.cxx:798
 AliAnalysisTaskSAQA.cxx:799
 AliAnalysisTaskSAQA.cxx:800
 AliAnalysisTaskSAQA.cxx:801
 AliAnalysisTaskSAQA.cxx:802
 AliAnalysisTaskSAQA.cxx:803
 AliAnalysisTaskSAQA.cxx:804
 AliAnalysisTaskSAQA.cxx:805
 AliAnalysisTaskSAQA.cxx:806
 AliAnalysisTaskSAQA.cxx:807
 AliAnalysisTaskSAQA.cxx:808
 AliAnalysisTaskSAQA.cxx:809
 AliAnalysisTaskSAQA.cxx:810
 AliAnalysisTaskSAQA.cxx:811
 AliAnalysisTaskSAQA.cxx:812
 AliAnalysisTaskSAQA.cxx:813
 AliAnalysisTaskSAQA.cxx:814
 AliAnalysisTaskSAQA.cxx:815
 AliAnalysisTaskSAQA.cxx:816
 AliAnalysisTaskSAQA.cxx:817
 AliAnalysisTaskSAQA.cxx:818
 AliAnalysisTaskSAQA.cxx:819
 AliAnalysisTaskSAQA.cxx:820
 AliAnalysisTaskSAQA.cxx:821
 AliAnalysisTaskSAQA.cxx:822
 AliAnalysisTaskSAQA.cxx:823
 AliAnalysisTaskSAQA.cxx:824
 AliAnalysisTaskSAQA.cxx:825
 AliAnalysisTaskSAQA.cxx:826
 AliAnalysisTaskSAQA.cxx:827
 AliAnalysisTaskSAQA.cxx:828
 AliAnalysisTaskSAQA.cxx:829
 AliAnalysisTaskSAQA.cxx:830
 AliAnalysisTaskSAQA.cxx:831
 AliAnalysisTaskSAQA.cxx:832
 AliAnalysisTaskSAQA.cxx:833
 AliAnalysisTaskSAQA.cxx:834
 AliAnalysisTaskSAQA.cxx:835
 AliAnalysisTaskSAQA.cxx:836
 AliAnalysisTaskSAQA.cxx:837
 AliAnalysisTaskSAQA.cxx:838
 AliAnalysisTaskSAQA.cxx:839
 AliAnalysisTaskSAQA.cxx:840
 AliAnalysisTaskSAQA.cxx:841
 AliAnalysisTaskSAQA.cxx:842
 AliAnalysisTaskSAQA.cxx:843
 AliAnalysisTaskSAQA.cxx:844
 AliAnalysisTaskSAQA.cxx:845
 AliAnalysisTaskSAQA.cxx:846
 AliAnalysisTaskSAQA.cxx:847
 AliAnalysisTaskSAQA.cxx:848
 AliAnalysisTaskSAQA.cxx:849
 AliAnalysisTaskSAQA.cxx:850
 AliAnalysisTaskSAQA.cxx:851
 AliAnalysisTaskSAQA.cxx:852
 AliAnalysisTaskSAQA.cxx:853
 AliAnalysisTaskSAQA.cxx:854
 AliAnalysisTaskSAQA.cxx:855
 AliAnalysisTaskSAQA.cxx:856
 AliAnalysisTaskSAQA.cxx:857
 AliAnalysisTaskSAQA.cxx:858
 AliAnalysisTaskSAQA.cxx:859
 AliAnalysisTaskSAQA.cxx:860
 AliAnalysisTaskSAQA.cxx:861
 AliAnalysisTaskSAQA.cxx:862
 AliAnalysisTaskSAQA.cxx:863
 AliAnalysisTaskSAQA.cxx:864
 AliAnalysisTaskSAQA.cxx:865
 AliAnalysisTaskSAQA.cxx:866
 AliAnalysisTaskSAQA.cxx:867
 AliAnalysisTaskSAQA.cxx:868
 AliAnalysisTaskSAQA.cxx:869
 AliAnalysisTaskSAQA.cxx:870
 AliAnalysisTaskSAQA.cxx:871
 AliAnalysisTaskSAQA.cxx:872
 AliAnalysisTaskSAQA.cxx:873
 AliAnalysisTaskSAQA.cxx:874
 AliAnalysisTaskSAQA.cxx:875
 AliAnalysisTaskSAQA.cxx:876
 AliAnalysisTaskSAQA.cxx:877
 AliAnalysisTaskSAQA.cxx:878
 AliAnalysisTaskSAQA.cxx:879
 AliAnalysisTaskSAQA.cxx:880
 AliAnalysisTaskSAQA.cxx:881
 AliAnalysisTaskSAQA.cxx:882
 AliAnalysisTaskSAQA.cxx:883
 AliAnalysisTaskSAQA.cxx:884
 AliAnalysisTaskSAQA.cxx:885
 AliAnalysisTaskSAQA.cxx:886
 AliAnalysisTaskSAQA.cxx:887
 AliAnalysisTaskSAQA.cxx:888
 AliAnalysisTaskSAQA.cxx:889
 AliAnalysisTaskSAQA.cxx:890
 AliAnalysisTaskSAQA.cxx:891
 AliAnalysisTaskSAQA.cxx:892
 AliAnalysisTaskSAQA.cxx:893
 AliAnalysisTaskSAQA.cxx:894
 AliAnalysisTaskSAQA.cxx:895
 AliAnalysisTaskSAQA.cxx:896
 AliAnalysisTaskSAQA.cxx:897
 AliAnalysisTaskSAQA.cxx:898
 AliAnalysisTaskSAQA.cxx:899
 AliAnalysisTaskSAQA.cxx:900
 AliAnalysisTaskSAQA.cxx:901
 AliAnalysisTaskSAQA.cxx:902
 AliAnalysisTaskSAQA.cxx:903
 AliAnalysisTaskSAQA.cxx:904
 AliAnalysisTaskSAQA.cxx:905
 AliAnalysisTaskSAQA.cxx:906
 AliAnalysisTaskSAQA.cxx:907
 AliAnalysisTaskSAQA.cxx:908
 AliAnalysisTaskSAQA.cxx:909
 AliAnalysisTaskSAQA.cxx:910
 AliAnalysisTaskSAQA.cxx:911
 AliAnalysisTaskSAQA.cxx:912
 AliAnalysisTaskSAQA.cxx:913
 AliAnalysisTaskSAQA.cxx:914
 AliAnalysisTaskSAQA.cxx:915
 AliAnalysisTaskSAQA.cxx:916
 AliAnalysisTaskSAQA.cxx:917
 AliAnalysisTaskSAQA.cxx:918
 AliAnalysisTaskSAQA.cxx:919
 AliAnalysisTaskSAQA.cxx:920
 AliAnalysisTaskSAQA.cxx:921
 AliAnalysisTaskSAQA.cxx:922
 AliAnalysisTaskSAQA.cxx:923
 AliAnalysisTaskSAQA.cxx:924
 AliAnalysisTaskSAQA.cxx:925
 AliAnalysisTaskSAQA.cxx:926
 AliAnalysisTaskSAQA.cxx:927
 AliAnalysisTaskSAQA.cxx:928
 AliAnalysisTaskSAQA.cxx:929
 AliAnalysisTaskSAQA.cxx:930
 AliAnalysisTaskSAQA.cxx:931
 AliAnalysisTaskSAQA.cxx:932
 AliAnalysisTaskSAQA.cxx:933
 AliAnalysisTaskSAQA.cxx:934
 AliAnalysisTaskSAQA.cxx:935
 AliAnalysisTaskSAQA.cxx:936
 AliAnalysisTaskSAQA.cxx:937
 AliAnalysisTaskSAQA.cxx:938
 AliAnalysisTaskSAQA.cxx:939
 AliAnalysisTaskSAQA.cxx:940
 AliAnalysisTaskSAQA.cxx:941
 AliAnalysisTaskSAQA.cxx:942
 AliAnalysisTaskSAQA.cxx:943
 AliAnalysisTaskSAQA.cxx:944
 AliAnalysisTaskSAQA.cxx:945
 AliAnalysisTaskSAQA.cxx:946
 AliAnalysisTaskSAQA.cxx:947
 AliAnalysisTaskSAQA.cxx:948
 AliAnalysisTaskSAQA.cxx:949
 AliAnalysisTaskSAQA.cxx:950
 AliAnalysisTaskSAQA.cxx:951
 AliAnalysisTaskSAQA.cxx:952
 AliAnalysisTaskSAQA.cxx:953
 AliAnalysisTaskSAQA.cxx:954
 AliAnalysisTaskSAQA.cxx:955
 AliAnalysisTaskSAQA.cxx:956
 AliAnalysisTaskSAQA.cxx:957
 AliAnalysisTaskSAQA.cxx:958
 AliAnalysisTaskSAQA.cxx:959
 AliAnalysisTaskSAQA.cxx:960
 AliAnalysisTaskSAQA.cxx:961
 AliAnalysisTaskSAQA.cxx:962
 AliAnalysisTaskSAQA.cxx:963
 AliAnalysisTaskSAQA.cxx:964
 AliAnalysisTaskSAQA.cxx:965
 AliAnalysisTaskSAQA.cxx:966
 AliAnalysisTaskSAQA.cxx:967
 AliAnalysisTaskSAQA.cxx:968
 AliAnalysisTaskSAQA.cxx:969
 AliAnalysisTaskSAQA.cxx:970
 AliAnalysisTaskSAQA.cxx:971
 AliAnalysisTaskSAQA.cxx:972
 AliAnalysisTaskSAQA.cxx:973
 AliAnalysisTaskSAQA.cxx:974
 AliAnalysisTaskSAQA.cxx:975
 AliAnalysisTaskSAQA.cxx:976
 AliAnalysisTaskSAQA.cxx:977
 AliAnalysisTaskSAQA.cxx:978
 AliAnalysisTaskSAQA.cxx:979
 AliAnalysisTaskSAQA.cxx:980
 AliAnalysisTaskSAQA.cxx:981
 AliAnalysisTaskSAQA.cxx:982
 AliAnalysisTaskSAQA.cxx:983
 AliAnalysisTaskSAQA.cxx:984
 AliAnalysisTaskSAQA.cxx:985
 AliAnalysisTaskSAQA.cxx:986
 AliAnalysisTaskSAQA.cxx:987
 AliAnalysisTaskSAQA.cxx:988
 AliAnalysisTaskSAQA.cxx:989
 AliAnalysisTaskSAQA.cxx:990
 AliAnalysisTaskSAQA.cxx:991
 AliAnalysisTaskSAQA.cxx:992
 AliAnalysisTaskSAQA.cxx:993
 AliAnalysisTaskSAQA.cxx:994
 AliAnalysisTaskSAQA.cxx:995