#include <TH3F.h>
#include <THnSparse.h>
#include <TMath.h>
#include <TString.h>
#include <Riostream.h>
#include "AliPicoTrack.h"
#include "AliESDtrack.h"
#include "AliAODMCParticle.h"
#include "AliParticleContainer.h"
#include "AliLog.h"
#include "AliEmcalTrackingQATask.h"
ClassImp(AliEmcalTrackingQATask)
AliEmcalTrackingQATask::AliEmcalTrackingQATask() :
AliAnalysisTaskEmcal("AliEmcalTrackingQA", kTRUE),
fSelectHIJING(kTRUE),
fDoSigma1OverPt(kFALSE),
fDoSigmaPtOverPtGen(kFALSE),
fGeneratorLevel(0),
fDetectorLevel(0),
fNPtHistBins(0),
fPtHistBins(0),
fNEtaHistBins(0),
fEtaHistBins(0),
fNPhiHistBins(0),
fPhiHistBins(0),
fNCentHistBins(0),
fCentHistBins(0),
fNPtRelDiffHistBins(0),
fPtRelDiffHistBins(0),
fNPtResHistBins(0),
fPtResHistBins(0),
f1OverPtResHistBins(0),
fN1OverPtResHistBins(0),
fNIntegerHistBins(0),
fIntegerHistBins(0),
fTracks(0),
fParticlesPhysPrim(0),
fParticlesMatched(0)
{
SetMakeGeneralHistograms(kTRUE);
GenerateHistoBins();
}
AliEmcalTrackingQATask::AliEmcalTrackingQATask(const char *name) :
AliAnalysisTaskEmcal(name, kTRUE),
fSelectHIJING(kTRUE),
fDoSigma1OverPt(kFALSE),
fDoSigmaPtOverPtGen(kFALSE),
fGeneratorLevel(0),
fDetectorLevel(0),
fNPtHistBins(0),
fPtHistBins(0),
fNEtaHistBins(0),
fEtaHistBins(0),
fNPhiHistBins(0),
fPhiHistBins(0),
fNCentHistBins(0),
fCentHistBins(0),
fNPtRelDiffHistBins(0),
fPtRelDiffHistBins(0),
fNPtResHistBins(0),
fPtResHistBins(0),
f1OverPtResHistBins(0),
fN1OverPtResHistBins(0),
fNIntegerHistBins(0),
fIntegerHistBins(0),
fTracks(0),
fParticlesPhysPrim(0),
fParticlesMatched(0)
{
SetMakeGeneralHistograms(kTRUE);
GenerateHistoBins();
}
AliEmcalTrackingQATask::~AliEmcalTrackingQATask()
{
}
void AliEmcalTrackingQATask::GenerateHistoBins()
{
fNPtHistBins = 82;
fPtHistBins = new Double_t[fNPtHistBins+1];
GenerateFixedBinArray(6, 0, 0.3, fPtHistBins);
GenerateFixedBinArray(7, 0.3, 1, fPtHistBins+6);
GenerateFixedBinArray(10, 1, 3, fPtHistBins+13);
GenerateFixedBinArray(14, 3, 10, fPtHistBins+23);
GenerateFixedBinArray(10, 10, 20, fPtHistBins+37);
GenerateFixedBinArray(15, 20, 50, fPtHistBins+47);
GenerateFixedBinArray(20, 50, 150, fPtHistBins+62);
fNEtaHistBins = 100;
fEtaHistBins = new Double_t[fNEtaHistBins+1];
GenerateFixedBinArray(fNEtaHistBins, -1, 1, fEtaHistBins);
fNPhiHistBins = 101;
fPhiHistBins = new Double_t[fNPhiHistBins+1];
GenerateFixedBinArray(fNPhiHistBins, 0, TMath::Pi() * 2.02, fPhiHistBins);
fNCentHistBins = 4;
fCentHistBins = new Double_t[fNCentHistBins+1];
fCentHistBins[0] = 0;
fCentHistBins[1] = 10;
fCentHistBins[2] = 30;
fCentHistBins[3] = 50;
fCentHistBins[4] = 90;
fNPtResHistBins = 175;
fPtResHistBins = new Double_t[fNPtResHistBins+1];
GenerateFixedBinArray(50, 0, 0.05, fPtResHistBins);
GenerateFixedBinArray(25, 0.05, 0.10, fPtResHistBins+50);
GenerateFixedBinArray(25, 0.10, 0.20, fPtResHistBins+75);
GenerateFixedBinArray(30, 0.20, 0.50, fPtResHistBins+100);
GenerateFixedBinArray(25, 0.50, 1.00, fPtResHistBins+130);
GenerateFixedBinArray(20, 1.00, 2.00, fPtResHistBins+155);
fNPtRelDiffHistBins = 200;
fPtRelDiffHistBins = new Double_t[fNPtRelDiffHistBins+1];
GenerateFixedBinArray(fNPtRelDiffHistBins, -2, 2, fPtRelDiffHistBins);
fN1OverPtResHistBins = 385;
f1OverPtResHistBins = new Double_t[fN1OverPtResHistBins+1];
GenerateFixedBinArray(100, 0, 0.02, f1OverPtResHistBins);
GenerateFixedBinArray(60, 0.02, 0.05, f1OverPtResHistBins+100);
GenerateFixedBinArray(50, 0.05, 0.1, f1OverPtResHistBins+160);
GenerateFixedBinArray(50, 0.1, 0.2, f1OverPtResHistBins+210);
GenerateFixedBinArray(75, 0.2, 0.5, f1OverPtResHistBins+260);
GenerateFixedBinArray(50, 0.5, 1.5, f1OverPtResHistBins+335);
fNIntegerHistBins = 10;
fIntegerHistBins = new Double_t[fNIntegerHistBins+1];
GenerateFixedBinArray(fNIntegerHistBins, -0.5, 9.5, fIntegerHistBins);
}
void AliEmcalTrackingQATask::UserCreateOutputObjects()
{
AliAnalysisTaskEmcal::UserCreateOutputObjects();
if (fParticleCollArray.GetEntriesFast() < 1) {
AliFatal("This task needs at least one particle container!");
}
if (!fDetectorLevel) {
fDetectorLevel = static_cast<AliParticleContainer*>(fParticleCollArray.At(0));
fDetectorLevel->SetClassName("AliPicoTrack");
}
if (!fGeneratorLevel && fParticleCollArray.GetEntriesFast() > 1) {
fGeneratorLevel = static_cast<AliParticleContainer*>(fParticleCollArray.At(1));
fGeneratorLevel->SetClassName("AliAODMCParticle");
}
AllocateDetectorLevelTHnSparse();
if (fGeneratorLevel) {
AllocateGeneratorLevelTHnSparse();
AllocateMatchedParticlesTHnSparse();
}
}
void AliEmcalTrackingQATask::AllocateDetectorLevelTHnSparse()
{
Int_t dim = 0;
TString title[20];
Int_t nbins[20] = {0};
Double_t *binEdges[20] = {0};
if (fForceBeamType != AliAnalysisTaskEmcal::kpp) {
title[dim] = "Centrality %";
nbins[dim] = fNCentHistBins;
binEdges[dim] = fCentHistBins;
dim++;
}
title[dim] = "#it{p}_{T} (GeV/#it{c})";
nbins[dim] = fNPtHistBins;
binEdges[dim] = fPtHistBins;
dim++;
title[dim] = "#eta";
nbins[dim] = fNEtaHistBins;
binEdges[dim] = fEtaHistBins;
dim++;
title[dim] = "#phi";
nbins[dim] = fNPhiHistBins;
binEdges[dim] = fPhiHistBins;
dim++;
if (fSelectHIJING) {
title[dim] = "MC Generator";
nbins[dim] = 2;
binEdges[dim] = fIntegerHistBins;
dim++;
}
title[dim] = "track type";
nbins[dim] = 3;
binEdges[dim] = fIntegerHistBins;
dim++;
if (fIsEsd) {
if (fDoSigma1OverPt) {
title[dim] = "#sigma(1/#it{p}_{T}) (GeV/#it{c})^{-1}";
nbins[dim] = fN1OverPtResHistBins;
binEdges[dim] = f1OverPtResHistBins;
dim++;
}
else {
title[dim] = "#sigma(#it{p}_{T}) / #it{p}_{T}";
nbins[dim] = fNPtResHistBins;
binEdges[dim] = fPtResHistBins;
dim++;
}
}
fTracks = new THnSparseF("fTracks","fTracks",dim,nbins);
for (Int_t i = 0; i < dim; i++) {
fTracks->GetAxis(i)->SetTitle(title[i]);
fTracks->SetBinEdges(i, binEdges[i]);
}
fOutput->Add(fTracks);
}
void AliEmcalTrackingQATask::AllocateGeneratorLevelTHnSparse()
{
Int_t dim = 0;
TString title[20];
Int_t nbins[20] = {0};
Double_t *binEdges[20] = {0};
if (fForceBeamType != AliAnalysisTaskEmcal::kpp) {
title[dim] = "Centrality %";
nbins[dim] = fNCentHistBins;
binEdges[dim] = fCentHistBins;
dim++;
}
title[dim] = "#it{p}_{T} (GeV/#it{c})";
nbins[dim] = fNPtHistBins;
binEdges[dim] = fPtHistBins;
dim++;
title[dim] = "#eta";
nbins[dim] = fNEtaHistBins;
binEdges[dim] = fEtaHistBins;
dim++;
title[dim] = "#phi";
nbins[dim] = fNPhiHistBins;
binEdges[dim] = fPhiHistBins;
dim++;
if (fSelectHIJING) {
title[dim] = "MC Generator";
nbins[dim] = 2;
binEdges[dim] = fIntegerHistBins;
dim++;
}
title[dim] = "Findable";
nbins[dim] = 2;
binEdges[dim] = fIntegerHistBins;
dim++;
fParticlesPhysPrim = new THnSparseF("fParticlesPhysPrim","fParticlesPhysPrim",dim,nbins);
for (Int_t i = 0; i < dim; i++) {
fParticlesPhysPrim->GetAxis(i)->SetTitle(title[i]);
fParticlesPhysPrim->SetBinEdges(i, binEdges[i]);
}
fOutput->Add(fParticlesPhysPrim);
}
void AliEmcalTrackingQATask::AllocateMatchedParticlesTHnSparse()
{
Int_t dim = 0;
TString title[20];
Int_t nbins[20] = {0};
Double_t *binEdges[20] = {0};
if (fForceBeamType != AliAnalysisTaskEmcal::kpp) {
title[dim] = "Centrality %";
nbins[dim] = fNCentHistBins;
binEdges[dim] = fCentHistBins;
dim++;
}
title[dim] = "#it{p}_{T}^{gen} (GeV/#it{c})";
nbins[dim] = fNPtHistBins;
binEdges[dim] = fPtHistBins;
dim++;
title[dim] = "#eta^{gen}";
nbins[dim] = fNEtaHistBins;
binEdges[dim] = fEtaHistBins;
dim++;
title[dim] = "#phi^{gen}";
nbins[dim] = fNPhiHistBins;
binEdges[dim] = fPhiHistBins;
dim++;
title[dim] = "#it{p}_{T}^{det} (GeV/#it{c})";
nbins[dim] = fNPtHistBins;
binEdges[dim] = fPtHistBins;
dim++;
title[dim] = "#eta^{det}";
nbins[dim] = fNEtaHistBins;
binEdges[dim] = fEtaHistBins;
dim++;
title[dim] = "#phi^{det}";
nbins[dim] = fNPhiHistBins;
binEdges[dim] = fPhiHistBins;
dim++;
if (fDoSigmaPtOverPtGen) {
title[dim] = "(#it{p}_{T}^{gen} - #it{p}_{T}^{det}) / #it{p}_{T}^{gen}";
nbins[dim] = fNPtRelDiffHistBins;
binEdges[dim] = fPtRelDiffHistBins;
dim++;
}
else {
title[dim] = "(#it{p}_{T}^{gen} - #it{p}_{T}^{det}) / #it{p}_{T}^{det}";
nbins[dim] = fNPtRelDiffHistBins;
binEdges[dim] = fPtRelDiffHistBins;
dim++;
}
title[dim] = "track type";
nbins[dim] = 3;
binEdges[dim] = fIntegerHistBins;
dim++;
fParticlesMatched = new THnSparseF("fParticlesMatched","fParticlesMatched",dim,nbins);
for (Int_t i = 0; i < dim; i++) {
fParticlesMatched->GetAxis(i)->SetTitle(title[i]);
fParticlesMatched->SetBinEdges(i, binEdges[i]);
}
fOutput->Add(fParticlesMatched);
}
void AliEmcalTrackingQATask::SetGeneratorLevelName(const char* name)
{
if (!fDetectorLevel) {
AliError("Please, first set the detector level array!");
return;
}
if (!fGeneratorLevel) {
fGeneratorLevel = static_cast<AliParticleContainer*>(fParticleCollArray.At(1));
if (fGeneratorLevel) {
fGeneratorLevel->SetArrayName(name);
}
else {
fGeneratorLevel = AddParticleContainer(name);
}
fGeneratorLevel->SetClassName("AliAODMCParticle");
fGeneratorLevel->SelectPhysicalPrimaries(kTRUE);
fGeneratorLevel->SetParticlePtCut(0);
}
fGeneratorLevel->SetArrayName(name);
}
void AliEmcalTrackingQATask::SetDetectorLevelName(const char* name)
{
if (!fDetectorLevel) {
fDetectorLevel = static_cast<AliParticleContainer*>(fParticleCollArray.At(0));
if (fDetectorLevel) {
fDetectorLevel->SetArrayName(name);
}
else {
fDetectorLevel = AddParticleContainer(name);
}
fDetectorLevel->SetClassName("AliPicoTrack");
}
fDetectorLevel->SetArrayName(name);
}
void AliEmcalTrackingQATask::ExecOnce()
{
AliAnalysisTaskEmcal::ExecOnce();
}
void AliEmcalTrackingQATask::FillDetectorLevelTHnSparse(Double_t cent, Double_t trackEta, Double_t trackPhi, Double_t trackPt,
Double_t sigma1OverPt, Int_t mcGen, Byte_t trackType)
{
Double_t contents[20]={0};
for (Int_t i = 0; i < fTracks->GetNdimensions(); i++) {
TString title(fTracks->GetAxis(i)->GetTitle());
if (title=="Centrality %")
contents[i] = cent;
else if (title=="#it{p}_{T} (GeV/#it{c})")
contents[i] = trackPt;
else if (title=="#eta")
contents[i] = trackEta;
else if (title=="#phi")
contents[i] = trackPhi;
else if (title=="#sigma(1/#it{p}_{T}) (GeV/#it{c})^{-1}")
contents[i] = sigma1OverPt;
else if (title=="#sigma(#it{p}_{T}) / #it{p}_{T}")
contents[i] = sigma1OverPt*trackPt;
else if (title=="MC Generator")
contents[i] = mcGen;
else if (title=="track type")
contents[i] = trackType;
else
AliWarning(Form("Unable to fill dimension %s of histogram %s!", title.Data(), fTracks->GetName()));
}
fTracks->Fill(contents);
}
void AliEmcalTrackingQATask::FillGeneratorLevelTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt, Int_t mcGen, Byte_t findable)
{
Double_t contents[20]={0};
for (Int_t i = 0; i < fParticlesPhysPrim->GetNdimensions(); i++) {
TString title(fParticlesPhysPrim->GetAxis(i)->GetTitle());
if (title=="Centrality %")
contents[i] = cent;
else if (title=="#it{p}_{T} (GeV/#it{c})")
contents[i] = partPt;
else if (title=="#eta")
contents[i] = partEta;
else if (title=="#phi")
contents[i] = partPhi;
else if (title=="MC Generator")
contents[i] = mcGen;
else if (title=="Findable")
contents[i] = findable;
else
AliWarning(Form("Unable to fill dimension %s of histogram %s!", title.Data(), fParticlesPhysPrim->GetName()));
}
fParticlesPhysPrim->Fill(contents);
}
void AliEmcalTrackingQATask::FillMatchedParticlesTHnSparse(Double_t cent, Double_t partEta, Double_t partPhi, Double_t partPt,
Double_t trackEta, Double_t trackPhi, Double_t trackPt, Byte_t trackType)
{
Double_t contents[20]={0};
for (Int_t i = 0; i < fParticlesMatched->GetNdimensions(); i++) {
TString title(fParticlesMatched->GetAxis(i)->GetTitle());
if (title=="Centrality %")
contents[i] = cent;
else if (title=="#it{p}_{T}^{gen} (GeV/#it{c})")
contents[i] = partPt;
else if (title=="#eta^{gen}")
contents[i] = partEta;
else if (title=="#phi^{gen}")
contents[i] = partPhi;
else if (title=="#it{p}_{T}^{det} (GeV/#it{c})")
contents[i] = trackPt;
else if (title=="#eta^{det}")
contents[i] = trackEta;
else if (title=="#phi^{det}")
contents[i] = trackPhi;
else if (title=="(#it{p}_{T}^{gen} - #it{p}_{T}^{det}) / #it{p}_{T}^{gen}")
contents[i] = (partPt - trackPt) / partPt;
else if (title=="(#it{p}_{T}^{gen} - #it{p}_{T}^{det}) / #it{p}_{T}^{det}")
contents[i] = (partPt - trackPt) / trackPt;
else if (title=="track type")
contents[i] = (Double_t)trackType;
else
AliWarning(Form("Unable to fill dimension %s of histogram %s!", title.Data(), fParticlesMatched->GetName()));
}
fParticlesMatched->Fill(contents);
}
Bool_t AliEmcalTrackingQATask::FillHistograms()
{
AliPicoTrack *track = static_cast<AliPicoTrack*>(fDetectorLevel->GetNextAcceptParticle(0));
while (track != 0) {
Byte_t type = track->GetTrackType();
if (type <= 2) {
Double_t sigma = 0;
if (fIsEsd) {
AliESDtrack *esdTrack = dynamic_cast<AliESDtrack*>(track->GetTrack());
if (esdTrack) sigma = TMath::Sqrt(esdTrack->GetSigma1Pt2());
}
Int_t label = TMath::Abs(track->GetLabel());
Int_t mcGen = 1;
if (fSelectHIJING && (label==0 || track->GetGeneratorIndex() == 0)) mcGen = 0;
FillDetectorLevelTHnSparse(fCent, track->Eta(), track->Phi(), track->Pt(), sigma, mcGen, type);
if (fGeneratorLevel && label > 0) {
AliAODMCParticle *part = static_cast<AliAODMCParticle*>(fGeneratorLevel->GetAcceptParticleWithLabel(label));
if (part) {
if (!fSelectHIJING || part->GetGeneratorIndex() == 0) {
Int_t pdg = TMath::Abs(part->PdgCode());
if (pdg == 211 || pdg == 2212 || pdg == 321 || pdg == 11 || pdg == 13) {
FillMatchedParticlesTHnSparse(fCent, part->Eta(), part->Phi(), part->Pt(), track->Eta(), track->Phi(), track->Pt(), type);
}
}
}
}
}
else {
AliError(Form("Track %d has type %d not recognized!", fDetectorLevel->GetCurrentID(), type));
}
track = static_cast<AliPicoTrack*>(fDetectorLevel->GetNextAcceptParticle());
}
if (fGeneratorLevel) {
AliAODMCParticle *part = static_cast<AliAODMCParticle*>(fGeneratorLevel->GetNextAcceptParticle(0));
while (part != 0) {
Int_t mcGen = 1;
Byte_t findable = 0;
if (fSelectHIJING && part->GetGeneratorIndex() == 0) mcGen = 0;
Int_t pdg = TMath::Abs(part->PdgCode());
if (pdg == 211 || pdg == 2212 || pdg == 321 || pdg == 11 || pdg == 13) findable = 1;
FillGeneratorLevelTHnSparse(fCent, part->Eta(), part->Phi(), part->Pt(), mcGen, findable);
part = static_cast<AliAODMCParticle*>(fGeneratorLevel->GetNextAcceptParticle());
}
}
return kTRUE;
}
AliEmcalTrackingQATask.cxx:1 AliEmcalTrackingQATask.cxx:2 AliEmcalTrackingQATask.cxx:3 AliEmcalTrackingQATask.cxx:4 AliEmcalTrackingQATask.cxx:5 AliEmcalTrackingQATask.cxx:6 AliEmcalTrackingQATask.cxx:7 AliEmcalTrackingQATask.cxx:8 AliEmcalTrackingQATask.cxx:9 AliEmcalTrackingQATask.cxx:10 AliEmcalTrackingQATask.cxx:11 AliEmcalTrackingQATask.cxx:12 AliEmcalTrackingQATask.cxx:13 AliEmcalTrackingQATask.cxx:14 AliEmcalTrackingQATask.cxx:15 AliEmcalTrackingQATask.cxx:16 AliEmcalTrackingQATask.cxx:17 AliEmcalTrackingQATask.cxx:18 AliEmcalTrackingQATask.cxx:19 AliEmcalTrackingQATask.cxx:20 AliEmcalTrackingQATask.cxx:21 AliEmcalTrackingQATask.cxx:22 AliEmcalTrackingQATask.cxx:23 AliEmcalTrackingQATask.cxx:24 AliEmcalTrackingQATask.cxx:25 AliEmcalTrackingQATask.cxx:26 AliEmcalTrackingQATask.cxx:27 AliEmcalTrackingQATask.cxx:28 AliEmcalTrackingQATask.cxx:29 AliEmcalTrackingQATask.cxx:30 AliEmcalTrackingQATask.cxx:31 AliEmcalTrackingQATask.cxx:32 AliEmcalTrackingQATask.cxx:33 AliEmcalTrackingQATask.cxx:34 AliEmcalTrackingQATask.cxx:35 AliEmcalTrackingQATask.cxx:36 AliEmcalTrackingQATask.cxx:37 AliEmcalTrackingQATask.cxx:38 AliEmcalTrackingQATask.cxx:39 AliEmcalTrackingQATask.cxx:40 AliEmcalTrackingQATask.cxx:41 AliEmcalTrackingQATask.cxx:42 AliEmcalTrackingQATask.cxx:43 AliEmcalTrackingQATask.cxx:44 AliEmcalTrackingQATask.cxx:45 AliEmcalTrackingQATask.cxx:46 AliEmcalTrackingQATask.cxx:47 AliEmcalTrackingQATask.cxx:48 AliEmcalTrackingQATask.cxx:49 AliEmcalTrackingQATask.cxx:50 AliEmcalTrackingQATask.cxx:51 AliEmcalTrackingQATask.cxx:52 AliEmcalTrackingQATask.cxx:53 AliEmcalTrackingQATask.cxx:54 AliEmcalTrackingQATask.cxx:55 AliEmcalTrackingQATask.cxx:56 AliEmcalTrackingQATask.cxx:57 AliEmcalTrackingQATask.cxx:58 AliEmcalTrackingQATask.cxx:59 AliEmcalTrackingQATask.cxx:60 AliEmcalTrackingQATask.cxx:61 AliEmcalTrackingQATask.cxx:62 AliEmcalTrackingQATask.cxx:63 AliEmcalTrackingQATask.cxx:64 AliEmcalTrackingQATask.cxx:65 AliEmcalTrackingQATask.cxx:66 AliEmcalTrackingQATask.cxx:67 AliEmcalTrackingQATask.cxx:68 AliEmcalTrackingQATask.cxx:69 AliEmcalTrackingQATask.cxx:70 AliEmcalTrackingQATask.cxx:71 AliEmcalTrackingQATask.cxx:72 AliEmcalTrackingQATask.cxx:73 AliEmcalTrackingQATask.cxx:74 AliEmcalTrackingQATask.cxx:75 AliEmcalTrackingQATask.cxx:76 AliEmcalTrackingQATask.cxx:77 AliEmcalTrackingQATask.cxx:78 AliEmcalTrackingQATask.cxx:79 AliEmcalTrackingQATask.cxx:80 AliEmcalTrackingQATask.cxx:81 AliEmcalTrackingQATask.cxx:82 AliEmcalTrackingQATask.cxx:83 AliEmcalTrackingQATask.cxx:84 AliEmcalTrackingQATask.cxx:85 AliEmcalTrackingQATask.cxx:86 AliEmcalTrackingQATask.cxx:87 AliEmcalTrackingQATask.cxx:88 AliEmcalTrackingQATask.cxx:89 AliEmcalTrackingQATask.cxx:90 AliEmcalTrackingQATask.cxx:91 AliEmcalTrackingQATask.cxx:92 AliEmcalTrackingQATask.cxx:93 AliEmcalTrackingQATask.cxx:94 AliEmcalTrackingQATask.cxx:95 AliEmcalTrackingQATask.cxx:96 AliEmcalTrackingQATask.cxx:97 AliEmcalTrackingQATask.cxx:98 AliEmcalTrackingQATask.cxx:99 AliEmcalTrackingQATask.cxx:100 AliEmcalTrackingQATask.cxx:101 AliEmcalTrackingQATask.cxx:102 AliEmcalTrackingQATask.cxx:103 AliEmcalTrackingQATask.cxx:104 AliEmcalTrackingQATask.cxx:105 AliEmcalTrackingQATask.cxx:106 AliEmcalTrackingQATask.cxx:107 AliEmcalTrackingQATask.cxx:108 AliEmcalTrackingQATask.cxx:109 AliEmcalTrackingQATask.cxx:110 AliEmcalTrackingQATask.cxx:111 AliEmcalTrackingQATask.cxx:112 AliEmcalTrackingQATask.cxx:113 AliEmcalTrackingQATask.cxx:114 AliEmcalTrackingQATask.cxx:115 AliEmcalTrackingQATask.cxx:116 AliEmcalTrackingQATask.cxx:117 AliEmcalTrackingQATask.cxx:118 AliEmcalTrackingQATask.cxx:119 AliEmcalTrackingQATask.cxx:120 AliEmcalTrackingQATask.cxx:121 AliEmcalTrackingQATask.cxx:122 AliEmcalTrackingQATask.cxx:123 AliEmcalTrackingQATask.cxx:124 AliEmcalTrackingQATask.cxx:125 AliEmcalTrackingQATask.cxx:126 AliEmcalTrackingQATask.cxx:127 AliEmcalTrackingQATask.cxx:128 AliEmcalTrackingQATask.cxx:129 AliEmcalTrackingQATask.cxx:130 AliEmcalTrackingQATask.cxx:131 AliEmcalTrackingQATask.cxx:132 AliEmcalTrackingQATask.cxx:133 AliEmcalTrackingQATask.cxx:134 AliEmcalTrackingQATask.cxx:135 AliEmcalTrackingQATask.cxx:136 AliEmcalTrackingQATask.cxx:137 AliEmcalTrackingQATask.cxx:138 AliEmcalTrackingQATask.cxx:139 AliEmcalTrackingQATask.cxx:140 AliEmcalTrackingQATask.cxx:141 AliEmcalTrackingQATask.cxx:142 AliEmcalTrackingQATask.cxx:143 AliEmcalTrackingQATask.cxx:144 AliEmcalTrackingQATask.cxx:145 AliEmcalTrackingQATask.cxx:146 AliEmcalTrackingQATask.cxx:147 AliEmcalTrackingQATask.cxx:148 AliEmcalTrackingQATask.cxx:149 AliEmcalTrackingQATask.cxx:150 AliEmcalTrackingQATask.cxx:151 AliEmcalTrackingQATask.cxx:152 AliEmcalTrackingQATask.cxx:153 AliEmcalTrackingQATask.cxx:154 AliEmcalTrackingQATask.cxx:155 AliEmcalTrackingQATask.cxx:156 AliEmcalTrackingQATask.cxx:157 AliEmcalTrackingQATask.cxx:158 AliEmcalTrackingQATask.cxx:159 AliEmcalTrackingQATask.cxx:160 AliEmcalTrackingQATask.cxx:161 AliEmcalTrackingQATask.cxx:162 AliEmcalTrackingQATask.cxx:163 AliEmcalTrackingQATask.cxx:164 AliEmcalTrackingQATask.cxx:165 AliEmcalTrackingQATask.cxx:166 AliEmcalTrackingQATask.cxx:167 AliEmcalTrackingQATask.cxx:168 AliEmcalTrackingQATask.cxx:169 AliEmcalTrackingQATask.cxx:170 AliEmcalTrackingQATask.cxx:171 AliEmcalTrackingQATask.cxx:172 AliEmcalTrackingQATask.cxx:173 AliEmcalTrackingQATask.cxx:174 AliEmcalTrackingQATask.cxx:175 AliEmcalTrackingQATask.cxx:176 AliEmcalTrackingQATask.cxx:177 AliEmcalTrackingQATask.cxx:178 AliEmcalTrackingQATask.cxx:179 AliEmcalTrackingQATask.cxx:180 AliEmcalTrackingQATask.cxx:181 AliEmcalTrackingQATask.cxx:182 AliEmcalTrackingQATask.cxx:183 AliEmcalTrackingQATask.cxx:184 AliEmcalTrackingQATask.cxx:185 AliEmcalTrackingQATask.cxx:186 AliEmcalTrackingQATask.cxx:187 AliEmcalTrackingQATask.cxx:188 AliEmcalTrackingQATask.cxx:189 AliEmcalTrackingQATask.cxx:190 AliEmcalTrackingQATask.cxx:191 AliEmcalTrackingQATask.cxx:192 AliEmcalTrackingQATask.cxx:193 AliEmcalTrackingQATask.cxx:194 AliEmcalTrackingQATask.cxx:195 AliEmcalTrackingQATask.cxx:196 AliEmcalTrackingQATask.cxx:197 AliEmcalTrackingQATask.cxx:198 AliEmcalTrackingQATask.cxx:199 AliEmcalTrackingQATask.cxx:200 AliEmcalTrackingQATask.cxx:201 AliEmcalTrackingQATask.cxx:202 AliEmcalTrackingQATask.cxx:203 AliEmcalTrackingQATask.cxx:204 AliEmcalTrackingQATask.cxx:205 AliEmcalTrackingQATask.cxx:206 AliEmcalTrackingQATask.cxx:207 AliEmcalTrackingQATask.cxx:208 AliEmcalTrackingQATask.cxx:209 AliEmcalTrackingQATask.cxx:210 AliEmcalTrackingQATask.cxx:211 AliEmcalTrackingQATask.cxx:212 AliEmcalTrackingQATask.cxx:213 AliEmcalTrackingQATask.cxx:214 AliEmcalTrackingQATask.cxx:215 AliEmcalTrackingQATask.cxx:216 AliEmcalTrackingQATask.cxx:217 AliEmcalTrackingQATask.cxx:218 AliEmcalTrackingQATask.cxx:219 AliEmcalTrackingQATask.cxx:220 AliEmcalTrackingQATask.cxx:221 AliEmcalTrackingQATask.cxx:222 AliEmcalTrackingQATask.cxx:223 AliEmcalTrackingQATask.cxx:224 AliEmcalTrackingQATask.cxx:225 AliEmcalTrackingQATask.cxx:226 AliEmcalTrackingQATask.cxx:227 AliEmcalTrackingQATask.cxx:228 AliEmcalTrackingQATask.cxx:229 AliEmcalTrackingQATask.cxx:230 AliEmcalTrackingQATask.cxx:231 AliEmcalTrackingQATask.cxx:232 AliEmcalTrackingQATask.cxx:233 AliEmcalTrackingQATask.cxx:234 AliEmcalTrackingQATask.cxx:235 AliEmcalTrackingQATask.cxx:236 AliEmcalTrackingQATask.cxx:237 AliEmcalTrackingQATask.cxx:238 AliEmcalTrackingQATask.cxx:239 AliEmcalTrackingQATask.cxx:240 AliEmcalTrackingQATask.cxx:241 AliEmcalTrackingQATask.cxx:242 AliEmcalTrackingQATask.cxx:243 AliEmcalTrackingQATask.cxx:244 AliEmcalTrackingQATask.cxx:245 AliEmcalTrackingQATask.cxx:246 AliEmcalTrackingQATask.cxx:247 AliEmcalTrackingQATask.cxx:248 AliEmcalTrackingQATask.cxx:249 AliEmcalTrackingQATask.cxx:250 AliEmcalTrackingQATask.cxx:251 AliEmcalTrackingQATask.cxx:252 AliEmcalTrackingQATask.cxx:253 AliEmcalTrackingQATask.cxx:254 AliEmcalTrackingQATask.cxx:255 AliEmcalTrackingQATask.cxx:256 AliEmcalTrackingQATask.cxx:257 AliEmcalTrackingQATask.cxx:258 AliEmcalTrackingQATask.cxx:259 AliEmcalTrackingQATask.cxx:260 AliEmcalTrackingQATask.cxx:261 AliEmcalTrackingQATask.cxx:262 AliEmcalTrackingQATask.cxx:263 AliEmcalTrackingQATask.cxx:264 AliEmcalTrackingQATask.cxx:265 AliEmcalTrackingQATask.cxx:266 AliEmcalTrackingQATask.cxx:267 AliEmcalTrackingQATask.cxx:268 AliEmcalTrackingQATask.cxx:269 AliEmcalTrackingQATask.cxx:270 AliEmcalTrackingQATask.cxx:271 AliEmcalTrackingQATask.cxx:272 AliEmcalTrackingQATask.cxx:273 AliEmcalTrackingQATask.cxx:274 AliEmcalTrackingQATask.cxx:275 AliEmcalTrackingQATask.cxx:276 AliEmcalTrackingQATask.cxx:277 AliEmcalTrackingQATask.cxx:278 AliEmcalTrackingQATask.cxx:279 AliEmcalTrackingQATask.cxx:280 AliEmcalTrackingQATask.cxx:281 AliEmcalTrackingQATask.cxx:282 AliEmcalTrackingQATask.cxx:283 AliEmcalTrackingQATask.cxx:284 AliEmcalTrackingQATask.cxx:285 AliEmcalTrackingQATask.cxx:286 AliEmcalTrackingQATask.cxx:287 AliEmcalTrackingQATask.cxx:288 AliEmcalTrackingQATask.cxx:289 AliEmcalTrackingQATask.cxx:290 AliEmcalTrackingQATask.cxx:291 AliEmcalTrackingQATask.cxx:292 AliEmcalTrackingQATask.cxx:293 AliEmcalTrackingQATask.cxx:294 AliEmcalTrackingQATask.cxx:295 AliEmcalTrackingQATask.cxx:296 AliEmcalTrackingQATask.cxx:297 AliEmcalTrackingQATask.cxx:298 AliEmcalTrackingQATask.cxx:299 AliEmcalTrackingQATask.cxx:300 AliEmcalTrackingQATask.cxx:301 AliEmcalTrackingQATask.cxx:302 AliEmcalTrackingQATask.cxx:303 AliEmcalTrackingQATask.cxx:304 AliEmcalTrackingQATask.cxx:305 AliEmcalTrackingQATask.cxx:306 AliEmcalTrackingQATask.cxx:307 AliEmcalTrackingQATask.cxx:308 AliEmcalTrackingQATask.cxx:309 AliEmcalTrackingQATask.cxx:310 AliEmcalTrackingQATask.cxx:311 AliEmcalTrackingQATask.cxx:312 AliEmcalTrackingQATask.cxx:313 AliEmcalTrackingQATask.cxx:314 AliEmcalTrackingQATask.cxx:315 AliEmcalTrackingQATask.cxx:316 AliEmcalTrackingQATask.cxx:317 AliEmcalTrackingQATask.cxx:318 AliEmcalTrackingQATask.cxx:319 AliEmcalTrackingQATask.cxx:320 AliEmcalTrackingQATask.cxx:321 AliEmcalTrackingQATask.cxx:322 AliEmcalTrackingQATask.cxx:323 AliEmcalTrackingQATask.cxx:324 AliEmcalTrackingQATask.cxx:325 AliEmcalTrackingQATask.cxx:326 AliEmcalTrackingQATask.cxx:327 AliEmcalTrackingQATask.cxx:328 AliEmcalTrackingQATask.cxx:329 AliEmcalTrackingQATask.cxx:330 AliEmcalTrackingQATask.cxx:331 AliEmcalTrackingQATask.cxx:332 AliEmcalTrackingQATask.cxx:333 AliEmcalTrackingQATask.cxx:334 AliEmcalTrackingQATask.cxx:335 AliEmcalTrackingQATask.cxx:336 AliEmcalTrackingQATask.cxx:337 AliEmcalTrackingQATask.cxx:338 AliEmcalTrackingQATask.cxx:339 AliEmcalTrackingQATask.cxx:340 AliEmcalTrackingQATask.cxx:341 AliEmcalTrackingQATask.cxx:342 AliEmcalTrackingQATask.cxx:343 AliEmcalTrackingQATask.cxx:344 AliEmcalTrackingQATask.cxx:345 AliEmcalTrackingQATask.cxx:346 AliEmcalTrackingQATask.cxx:347 AliEmcalTrackingQATask.cxx:348 AliEmcalTrackingQATask.cxx:349 AliEmcalTrackingQATask.cxx:350 AliEmcalTrackingQATask.cxx:351 AliEmcalTrackingQATask.cxx:352 AliEmcalTrackingQATask.cxx:353 AliEmcalTrackingQATask.cxx:354 AliEmcalTrackingQATask.cxx:355 AliEmcalTrackingQATask.cxx:356 AliEmcalTrackingQATask.cxx:357 AliEmcalTrackingQATask.cxx:358 AliEmcalTrackingQATask.cxx:359 AliEmcalTrackingQATask.cxx:360 AliEmcalTrackingQATask.cxx:361 AliEmcalTrackingQATask.cxx:362 AliEmcalTrackingQATask.cxx:363 AliEmcalTrackingQATask.cxx:364 AliEmcalTrackingQATask.cxx:365 AliEmcalTrackingQATask.cxx:366 AliEmcalTrackingQATask.cxx:367 AliEmcalTrackingQATask.cxx:368 AliEmcalTrackingQATask.cxx:369 AliEmcalTrackingQATask.cxx:370 AliEmcalTrackingQATask.cxx:371 AliEmcalTrackingQATask.cxx:372 AliEmcalTrackingQATask.cxx:373 AliEmcalTrackingQATask.cxx:374 AliEmcalTrackingQATask.cxx:375 AliEmcalTrackingQATask.cxx:376 AliEmcalTrackingQATask.cxx:377 AliEmcalTrackingQATask.cxx:378 AliEmcalTrackingQATask.cxx:379 AliEmcalTrackingQATask.cxx:380 AliEmcalTrackingQATask.cxx:381 AliEmcalTrackingQATask.cxx:382 AliEmcalTrackingQATask.cxx:383 AliEmcalTrackingQATask.cxx:384 AliEmcalTrackingQATask.cxx:385 AliEmcalTrackingQATask.cxx:386 AliEmcalTrackingQATask.cxx:387 AliEmcalTrackingQATask.cxx:388 AliEmcalTrackingQATask.cxx:389 AliEmcalTrackingQATask.cxx:390 AliEmcalTrackingQATask.cxx:391 AliEmcalTrackingQATask.cxx:392 AliEmcalTrackingQATask.cxx:393 AliEmcalTrackingQATask.cxx:394 AliEmcalTrackingQATask.cxx:395 AliEmcalTrackingQATask.cxx:396 AliEmcalTrackingQATask.cxx:397 AliEmcalTrackingQATask.cxx:398 AliEmcalTrackingQATask.cxx:399 AliEmcalTrackingQATask.cxx:400 AliEmcalTrackingQATask.cxx:401 AliEmcalTrackingQATask.cxx:402 AliEmcalTrackingQATask.cxx:403 AliEmcalTrackingQATask.cxx:404 AliEmcalTrackingQATask.cxx:405 AliEmcalTrackingQATask.cxx:406 AliEmcalTrackingQATask.cxx:407 AliEmcalTrackingQATask.cxx:408 AliEmcalTrackingQATask.cxx:409 AliEmcalTrackingQATask.cxx:410 AliEmcalTrackingQATask.cxx:411 AliEmcalTrackingQATask.cxx:412 AliEmcalTrackingQATask.cxx:413 AliEmcalTrackingQATask.cxx:414 AliEmcalTrackingQATask.cxx:415 AliEmcalTrackingQATask.cxx:416 AliEmcalTrackingQATask.cxx:417 AliEmcalTrackingQATask.cxx:418 AliEmcalTrackingQATask.cxx:419 AliEmcalTrackingQATask.cxx:420 AliEmcalTrackingQATask.cxx:421 AliEmcalTrackingQATask.cxx:422 AliEmcalTrackingQATask.cxx:423 AliEmcalTrackingQATask.cxx:424 AliEmcalTrackingQATask.cxx:425 AliEmcalTrackingQATask.cxx:426 AliEmcalTrackingQATask.cxx:427 AliEmcalTrackingQATask.cxx:428 AliEmcalTrackingQATask.cxx:429 AliEmcalTrackingQATask.cxx:430 AliEmcalTrackingQATask.cxx:431 AliEmcalTrackingQATask.cxx:432 AliEmcalTrackingQATask.cxx:433 AliEmcalTrackingQATask.cxx:434 AliEmcalTrackingQATask.cxx:435 AliEmcalTrackingQATask.cxx:436 AliEmcalTrackingQATask.cxx:437 AliEmcalTrackingQATask.cxx:438 AliEmcalTrackingQATask.cxx:439 AliEmcalTrackingQATask.cxx:440 AliEmcalTrackingQATask.cxx:441 AliEmcalTrackingQATask.cxx:442 AliEmcalTrackingQATask.cxx:443 AliEmcalTrackingQATask.cxx:444 AliEmcalTrackingQATask.cxx:445 AliEmcalTrackingQATask.cxx:446 AliEmcalTrackingQATask.cxx:447 AliEmcalTrackingQATask.cxx:448 AliEmcalTrackingQATask.cxx:449 AliEmcalTrackingQATask.cxx:450 AliEmcalTrackingQATask.cxx:451 AliEmcalTrackingQATask.cxx:452 AliEmcalTrackingQATask.cxx:453 AliEmcalTrackingQATask.cxx:454 AliEmcalTrackingQATask.cxx:455 AliEmcalTrackingQATask.cxx:456 AliEmcalTrackingQATask.cxx:457 AliEmcalTrackingQATask.cxx:458 AliEmcalTrackingQATask.cxx:459 AliEmcalTrackingQATask.cxx:460 AliEmcalTrackingQATask.cxx:461 AliEmcalTrackingQATask.cxx:462 AliEmcalTrackingQATask.cxx:463 AliEmcalTrackingQATask.cxx:464 AliEmcalTrackingQATask.cxx:465 AliEmcalTrackingQATask.cxx:466 AliEmcalTrackingQATask.cxx:467 AliEmcalTrackingQATask.cxx:468 AliEmcalTrackingQATask.cxx:469 AliEmcalTrackingQATask.cxx:470 AliEmcalTrackingQATask.cxx:471 AliEmcalTrackingQATask.cxx:472 AliEmcalTrackingQATask.cxx:473 AliEmcalTrackingQATask.cxx:474 AliEmcalTrackingQATask.cxx:475 AliEmcalTrackingQATask.cxx:476 AliEmcalTrackingQATask.cxx:477 AliEmcalTrackingQATask.cxx:478 AliEmcalTrackingQATask.cxx:479 AliEmcalTrackingQATask.cxx:480 AliEmcalTrackingQATask.cxx:481 AliEmcalTrackingQATask.cxx:482 AliEmcalTrackingQATask.cxx:483 AliEmcalTrackingQATask.cxx:484 AliEmcalTrackingQATask.cxx:485 AliEmcalTrackingQATask.cxx:486 AliEmcalTrackingQATask.cxx:487 AliEmcalTrackingQATask.cxx:488 AliEmcalTrackingQATask.cxx:489 AliEmcalTrackingQATask.cxx:490 AliEmcalTrackingQATask.cxx:491 AliEmcalTrackingQATask.cxx:492 AliEmcalTrackingQATask.cxx:493 AliEmcalTrackingQATask.cxx:494 AliEmcalTrackingQATask.cxx:495 AliEmcalTrackingQATask.cxx:496 AliEmcalTrackingQATask.cxx:497 AliEmcalTrackingQATask.cxx:498 AliEmcalTrackingQATask.cxx:499 AliEmcalTrackingQATask.cxx:500 AliEmcalTrackingQATask.cxx:501 AliEmcalTrackingQATask.cxx:502 AliEmcalTrackingQATask.cxx:503 AliEmcalTrackingQATask.cxx:504 AliEmcalTrackingQATask.cxx:505 AliEmcalTrackingQATask.cxx:506 AliEmcalTrackingQATask.cxx:507 AliEmcalTrackingQATask.cxx:508 AliEmcalTrackingQATask.cxx:509 AliEmcalTrackingQATask.cxx:510 AliEmcalTrackingQATask.cxx:511 AliEmcalTrackingQATask.cxx:512 AliEmcalTrackingQATask.cxx:513 AliEmcalTrackingQATask.cxx:514 AliEmcalTrackingQATask.cxx:515 AliEmcalTrackingQATask.cxx:516 AliEmcalTrackingQATask.cxx:517 AliEmcalTrackingQATask.cxx:518 AliEmcalTrackingQATask.cxx:519 AliEmcalTrackingQATask.cxx:520 AliEmcalTrackingQATask.cxx:521 AliEmcalTrackingQATask.cxx:522 AliEmcalTrackingQATask.cxx:523 AliEmcalTrackingQATask.cxx:524 AliEmcalTrackingQATask.cxx:525 AliEmcalTrackingQATask.cxx:526 AliEmcalTrackingQATask.cxx:527 AliEmcalTrackingQATask.cxx:528 AliEmcalTrackingQATask.cxx:529 AliEmcalTrackingQATask.cxx:530 AliEmcalTrackingQATask.cxx:531 AliEmcalTrackingQATask.cxx:532 AliEmcalTrackingQATask.cxx:533 AliEmcalTrackingQATask.cxx:534 AliEmcalTrackingQATask.cxx:535 AliEmcalTrackingQATask.cxx:536 AliEmcalTrackingQATask.cxx:537 AliEmcalTrackingQATask.cxx:538 AliEmcalTrackingQATask.cxx:539 AliEmcalTrackingQATask.cxx:540 AliEmcalTrackingQATask.cxx:541 AliEmcalTrackingQATask.cxx:542 AliEmcalTrackingQATask.cxx:543 AliEmcalTrackingQATask.cxx:544 AliEmcalTrackingQATask.cxx:545 AliEmcalTrackingQATask.cxx:546 AliEmcalTrackingQATask.cxx:547 AliEmcalTrackingQATask.cxx:548 AliEmcalTrackingQATask.cxx:549 AliEmcalTrackingQATask.cxx:550 AliEmcalTrackingQATask.cxx:551 AliEmcalTrackingQATask.cxx:552 AliEmcalTrackingQATask.cxx:553 AliEmcalTrackingQATask.cxx:554 AliEmcalTrackingQATask.cxx:555 AliEmcalTrackingQATask.cxx:556 AliEmcalTrackingQATask.cxx:557 AliEmcalTrackingQATask.cxx:558 AliEmcalTrackingQATask.cxx:559 AliEmcalTrackingQATask.cxx:560 AliEmcalTrackingQATask.cxx:561 AliEmcalTrackingQATask.cxx:562 AliEmcalTrackingQATask.cxx:563 AliEmcalTrackingQATask.cxx:564 AliEmcalTrackingQATask.cxx:565 AliEmcalTrackingQATask.cxx:566 AliEmcalTrackingQATask.cxx:567 AliEmcalTrackingQATask.cxx:568 AliEmcalTrackingQATask.cxx:569