#include <numeric>
#include <functional>
#include <set>
#include <TChain.h>
#include <THashList.h>
#include <THnSparse.h>
#include <TH1.h>
#include <TH2.h>
#include <TH3.h>
#include "AliEventPoolManager.h"
#include "AliAnalysisManager.h"
#include "AliAODEvent.h"
#include "AliAODMCHeader.h"
#include "AliAODMCParticle.h"
#include "AliMCEvent.h"
#include "AliInputEventHandler.h"
#include "AliLog.h"
#include "AliTHn.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliStack.h"
#include "AliAnalysisTaskLongRangeCorrelations.h"
ClassImp(AliAnalysisTaskLongRangeCorrelations);
ClassImp(LRCParticle);
AliAnalysisTaskLongRangeCorrelations::AliAnalysisTaskLongRangeCorrelations(const char *name)
: AliAnalysisTaskSE(name)
, fOutputList(NULL)
, fVertexZ(NULL)
, fRunMixing(kFALSE)
, fPoolMgr(NULL)
, fMixingTracks(50000)
, fTrackFilter(128)
, fCentMin(0), fCentMax(20)
, fPtMin(0.2), fPtMax(1e10)
, fPhiMin(0.), fPhiMax(TMath::TwoPi())
, fMaxAbsVertexZ(10.)
, fSelectPrimaryMCParticles(0)
, fSelectPrimaryMCDataParticles(0)
, fNMin(-1)
, fNMax(-1)
, fDeltaEta(-1)
, fnBinsCent( 220), fnBinsPt(400), fnBinsPhi(4), fnBinsEta(120)
, fxMinCent( -5.0), fxMinPt( 0.0), fxMinPhi( 0.0), fxMinEta(-1.5)
, fxMaxCent(105.0), fxMaxPt( 4.0), fxMaxPhi( TMath::TwoPi()), fxMaxEta( 1.5) {
DefineInput(0, TChain::Class());
DefineOutput(1, TList::Class());
}
AliAnalysisTaskLongRangeCorrelations::~AliAnalysisTaskLongRangeCorrelations() {
if (NULL != fOutputList) {
delete fOutputList;
fOutputList = NULL;
}
}
void AliAnalysisTaskLongRangeCorrelations::UserCreateOutputObjects() {
fOutputList = new THashList;
fOutputList->SetOwner(kTRUE);
fOutputList->SetName(GetOutputListName());
const Double_t vertexBins[] = {
-10., -7., -5., -3., -1., 1., 3., 5., 7., 10.
};
const Int_t nVertexBins(sizeof(vertexBins)/sizeof(Double_t)-1);
fVertexZ = new TAxis(nVertexBins, vertexBins);
fVertexZ->SetName("VertexZAxis");
fOutputList->Add(fVertexZ);
fOutputList->Add(new TH1D("histVertexZ", ";vertex Z (cm)", nVertexBins, vertexBins));
const char* eventStatLabels[] = {
"All Events",
"Physics Selection",
"Centrality Selection",
"Vertex Selection",
"Analyzed Events"
};
const size_t nEventStat(sizeof(eventStatLabels)/sizeof(const char*));
TH1* hStats(new TH1D("histEventStats", "histEventStats", nEventStat, -0.5, nEventStat-0.5));
for (size_t i(0); i<nEventStat; ++i)
hStats->GetXaxis()->SetBinLabel(1+i, eventStatLabels[i]);
fOutputList->Add(hStats);
fOutputList->Add(new TH2D("histQACentrality", ";centrality V0M(%);selected;",
fnBinsCent,fxMinCent,fxMaxCent, 2, -0.5, 1.5));
fOutputList->Add(new TH2D("histQAVertexZ", ";vertex-z (cm);selected;",
800, -40., 40., 2, -0.5, 1.5));
fOutputList->Add(new TH1D("histQAMultiplicityBeforeCuts",
";tracks", 10000, 0, 10000));
fOutputList->Add(new TH1D("histQAMultiplicityAfterCuts",
";selected tracks", 10000, 0, 10000));
fOutputList->Add(new TH3D("histQACentPt", ";charge;centrality V0M(%);p_{T} (GeV/c)",
2, -0.5, 1.5, fnBinsCent, fxMinCent, fxMaxCent, fnBinsPt, fxMinPt, fxMaxPt));
fOutputList->Add(new TH3D("histQAPhiEta", ";charge;#phi (rad);#eta",
2, -0.5, 1.5, 200, 0.0, TMath::TwoPi(), 300, -1.5, 1.5));
fOutputList->Add(new TH2D("histNEta_120", ";#eta;N", 120, -1.5, 1.5, 1000, -.5, 1000-.5));
fOutputList->Add(new TH2D("histNEta__60", ";#eta;N", 60, -1.5, 1.5, 1000, -.5, 1000-.5));
fOutputList->Add(new TH2D("histNEta__30", ";#eta;N", 30, -1.5, 1.5, 1000, -.5, 1000-.5));
fOutputList->Add(new TH2D("histNEta__15", ";#eta;N", 15, -1.5, 1.5, 1000, -.5, 1000-.5));
fOutputList->Add(MakeHistPhiEta("histMoment1PhiEta_1"));
if (fRunMixing)
fOutputList->Add(MakeHistPhiEta("histMoment1PhiEta_2"));
fOutputList->Add(MakeHistPhiEtaPhiEta("histMoment2PhiEtaPhiEta_11"));
if (fRunMixing) {
fOutputList->Add(MakeHistPhiEtaPhiEta("histMoment2PhiEtaPhiEta_12"));
fOutputList->Add(MakeHistPhiEtaPhiEta("histMoment2PhiEtaPhiEta_22"));
}
const Int_t N(fOutputList->GetEntries());
for (Int_t i(0); i<N; ++i)
fOutputList->Add(fOutputList->At(i)->Clone(TString("MC_") + fOutputList->At(i)->GetName()));
if (fRunMixing)
SetupForMixing();
PostData(1, fOutputList);
}
void AliAnalysisTaskLongRangeCorrelations::UserExec(Option_t* ) {
AliAnalysisManager* pManager(AliAnalysisManager::GetAnalysisManager());
if (NULL == pManager) return;
AliInputEventHandler* pInputHandler(dynamic_cast<AliInputEventHandler*>(pManager->GetInputEventHandler()));
if (NULL == pInputHandler) return;
AliAODEvent* pAOD(dynamic_cast<AliAODEvent*>(InputEvent()));
if (NULL == pAOD) return;
AliAODHeader *pAODHeader = dynamic_cast<AliAODHeader*>(pAOD->GetHeader());
if(!pAODHeader) AliFatal("Not a standard AOD");
if (NULL == pAODHeader) return;
AliAODMCHeader *pAODMCHeader(dynamic_cast<AliAODMCHeader*>(pAOD->FindListObject(AliAODMCHeader::StdBranchName())));
const Bool_t isMC(NULL != pAODMCHeader);
TClonesArray *arrayMC(NULL);
if (isMC) {
arrayMC = dynamic_cast<TClonesArray*>(pAOD->GetList()->FindObject(AliAODMCParticle::StdBranchName()));
if (NULL == arrayMC) return;
}
if (isMC) {
Fill("MC_histEventStats", 0.);
Fill("MC_histEventStats", 1.);
}
Fill("histEventStats", 0.);
if (!pInputHandler->IsEventSelected()) return;
Fill("histEventStats", 1.);
const Double_t centrality(pAODHeader->GetCentralityP()->GetCentralityPercentile("V0M"));
AliDebug(3, Form("centrality=%f", centrality));
const Bool_t centralitySelected(centrality > fCentMin && centrality < fCentMax);
Fill("histQACentrality", centrality, centralitySelected);
if (!centralitySelected) return;
Fill("histEventStats", 2.);
if (isMC)
Fill("MC_histEventStats", 2.);
const Int_t nVertex(pAOD->GetNumberOfVertices());
if (0 == nVertex) return;
const AliAODVertex* pVertex(pAOD->GetPrimaryVertex());
if (NULL == pVertex) return;
const Int_t nTracksPrimary(pVertex->GetNContributors());
if (nTracksPrimary < 1) return;
const Double_t zVertex(pVertex->GetZ());
const Bool_t vertexSelectedData(TMath::Abs(zVertex) < fMaxAbsVertexZ);
Bool_t vertexSelectedMC(kTRUE);
if (isMC)
vertexSelectedMC = (TMath::Abs(pAODMCHeader->GetVtxZ()) < fMaxAbsVertexZ);
const Bool_t vertexSelected(vertexSelectedData && vertexSelectedMC);
Fill("histQAVertexZ", zVertex, vertexSelected);
if (isMC)
Fill("MC_histQAVertexZ", pAODMCHeader->GetVtxZ(), vertexSelected);
if (!vertexSelected) return;
Fill("histEventStats", 3.);
if (isMC)
Fill("MC_histEventStats", 3.);
TObjArray* tracksMain(GetAcceptedTracks(pAOD, arrayMC, centrality));
Fill("histQAMultiplicityBeforeCuts", pAOD->GetNumberOfTracks());
Fill("histQAMultiplicityAfterCuts", tracksMain->GetEntriesFast());
if (fRunMixing) {
AliEventPool* pEventPool(fPoolMgr->GetEventPool(centrality, pAOD->GetPrimaryVertex()->GetZ()));
if (NULL == pEventPool)
AliFatal(Form("No pool found for centrality = %f, zVtx = %f", centrality, pAOD->GetPrimaryVertex()->GetZ()));
if (pEventPool->IsReady()
|| pEventPool->NTracksInPool() > fMixingTracks/10
|| pEventPool->GetCurrentNEvents() >= 5) {
Fill("histEventStats", 4.);
Fill("histVertexZ", zVertex);
const Int_t nMix(pEventPool->GetCurrentNEvents());
for (Int_t i(0); i<nMix; ++i) {
TObjArray* tracksMixed(pEventPool->GetEvent(i));
CalculateMoments("", tracksMain, tracksMixed, zVertex, 1./nMix);
}
}
pEventPool->UpdatePool(tracksMain);
} else {
Fill("histEventStats", 4.);
Fill("histVertexZ", zVertex);
CalculateMoments("", tracksMain, tracksMain, zVertex, 1.);
delete tracksMain;
}
if (isMC) {
TObjArray* tracksMC(GetAcceptedTracks(arrayMC, centrality));
const Double_t x[2] = {
static_cast<Double_t>(arrayMC->GetEntriesFast()),
static_cast<Double_t>(tracksMC->GetEntriesFast())
};
Fill("MC_histQAMultiplicity", x);
Fill("MC_histEventStats", 4.);
Fill("MC_histVertexZ", pAOD->GetPrimaryVertex()->GetZ());
CalculateMoments("MC_", tracksMC, tracksMC, zVertex, 1.);
delete tracksMC;
}
}
void AliAnalysisTaskLongRangeCorrelations::Terminate(Option_t* ) {
fOutputList = dynamic_cast<TList*>(GetOutputData(1));
if (NULL == fOutputList) {
AliFatal("NULL == fOutputList");
return;
}
}
TString AliAnalysisTaskLongRangeCorrelations::GetOutputListName() const {
TString listName("listLRC");
listName += TString::Format("_%smix", fRunMixing ? "" : "no");
listName += TString::Format("_trackFilt%d", fTrackFilter);
listName += TString::Format("_cent%.0fT%.0f", fCentMin, fCentMax);
listName += TString::Format("_ptMin%.0fMeV", 1e3*fPtMin);
listName += TString::Format("_phi%.0fT%.0f", TMath::RadToDeg()*fPhiMin, TMath::RadToDeg()*fPhiMax);
if ( 1 == fSelectPrimaryMCParticles)
listName += "_selPrimMC";
if (-1 == fSelectPrimaryMCParticles)
listName += "_selNonPrimMC";
if ( 1 == fSelectPrimaryMCDataParticles)
listName += "_selPrimMCData";
if (-1 == fSelectPrimaryMCDataParticles)
listName += "_selNonPrimMCData";
if (-1 != fNMin)
listName += TString::Format("_nMin%d", fNMin);
if (-1 != fNMax)
listName += TString::Format("_nMax%d", fNMax);
if (fDeltaEta >= 0)
listName += TString::Format("_deltaEta%02.0f", 10*fDeltaEta);
return listName;
}
void AliAnalysisTaskLongRangeCorrelations::SetupForMixing() {
const Int_t trackDepth(fMixingTracks);
const Int_t poolsize(1000);
Double_t centralityBins[] = { fCentMin, fCentMax };
const Int_t nCentralityBins(sizeof(centralityBins)/sizeof(Double_t) - 1);
fPoolMgr = new AliEventPoolManager(poolsize, trackDepth,
nCentralityBins, centralityBins,
fVertexZ->GetNbins()+1,
const_cast<Double_t*>(fVertexZ->GetXbins()->GetArray()));
}
THnSparse* AliAnalysisTaskLongRangeCorrelations::MakeHistSparsePhiEta(const char* name) const {
const Int_t nVertexZBins=fVertexZ->GetNbins();
const Int_t nBinsM1[] = { fnBinsPhi, fnBinsEta, nVertexZBins };
const Double_t xMinM1[] = { fxMinPhi, fxMinEta, 0.5 };
const Double_t xMaxM1[] = { fxMaxPhi, fxMaxEta, nVertexZBins+0.5 };
const TString title(TString(name)
+";#phi;#eta;vertex Z (bin);");
return new THnSparseD(name, title.Data(), 3, nBinsM1, xMinM1, xMaxM1);
}
AliTHn* AliAnalysisTaskLongRangeCorrelations::MakeHistPhiEta(const char* name) const {
const Int_t nVertexZBins=fVertexZ->GetNbins();
const Int_t nBinsM1[] = { fnBinsPhi, fnBinsEta, nVertexZBins };
const Double_t xMinM1[] = { fxMinPhi, fxMinEta, 0.5 };
const Double_t xMaxM1[] = { fxMaxPhi, fxMaxEta, nVertexZBins+0.5 };
const TString title(TString(name)
+";#phi;#eta;vertex Z (bin);");
AliTHn* h(new AliTHn(name, title.Data(), 1, 3, nBinsM1));
for (Int_t i=0; i<3; ++i)
h->SetBinLimits(i, xMinM1[i], xMaxM1[i]);
return h;
}
AliTHn* AliAnalysisTaskLongRangeCorrelations::MakeHistPhiEtaPhiEta(const char* name) const {
const Int_t nVertexZBins=fVertexZ->GetNbins();
const Int_t nBinsM2[] = { fnBinsPhi, fnBinsEta, fnBinsPhi, fnBinsEta, nVertexZBins };
const Double_t xMinM2[] = { fxMinPhi, fxMinEta, fxMinPhi, fxMinEta, 0.5 };
const Double_t xMaxM2[] = { fxMaxPhi, fxMaxEta, fxMaxPhi, fxMaxEta, nVertexZBins+0.5 };
const TString title(TString(name)
+";#phi_{1};#eta_{1}"
+";#phi_{2};#eta_{2};vertex Z (bin);");
AliTHn* h(new AliTHn(name, title.Data(), 1, 5, nBinsM2));
for (Int_t i=0; i<5; ++i)
h->SetBinLimits(i, xMinM2[i], xMaxM2[i]);
return h;
}
TObjArray* AliAnalysisTaskLongRangeCorrelations::GetAcceptedTracks(AliAODEvent* pAOD,
TClonesArray* arrayMC,
Double_t centrality) {
TObjArray* tracks= new TObjArray;
tracks->SetOwner(kTRUE);
const Long64_t N(pAOD->GetNumberOfTracks());
AliDebug(5, Form("#tracks= %6lld %f", N, centrality));
for (Long64_t i(0); i<N; ++i) {
AliAODTrack* pAODTrack(dynamic_cast<AliAODTrack*>(pAOD->GetTrack(i)));
if (NULL == pAODTrack) continue;
if (!pAODTrack->TestFilterBit(fTrackFilter)) continue;
if (pAODTrack->GetType() != AliAODTrack::kPrimary) continue;
if (NULL != arrayMC) {
const Int_t label(pAODTrack->GetLabel());
AliAODMCParticle* mcParticle((label >= 0)
? static_cast<AliAODMCParticle*>(arrayMC->At(label))
: NULL);
if (label >=0 && NULL == mcParticle)
AliFatal("MC particle not found");
switch (fSelectPrimaryMCDataParticles) {
case -1:
if (label < 0) continue;
if (kTRUE == mcParticle->IsPhysicalPrimary()) continue;
break;
case 0:
break;
case 1:
if (label < 0) continue;
if (kFALSE == mcParticle->IsPhysicalPrimary()) continue;
break;
default:
AliFatal("fSelectPrimaryMCDataParticles != {-1,0,1}");
}
}
if (pAODTrack->Charge() == 0) continue;
Fill("histQACentPt", pAODTrack->Charge()>0, centrality, pAODTrack->Pt());
Fill("histQAPhiEta", pAODTrack->Charge()>0, pAODTrack->Phi(), pAODTrack->Eta());
if (pAODTrack->Phi() < fPhiMin || pAODTrack->Phi() > fPhiMax) continue;
if (pAODTrack->Pt() < fPtMin || pAODTrack->Pt() > fPtMax) continue;
tracks->Add(new LRCParticle(pAODTrack->Eta(), pAODTrack->Phi()));
}
return tracks;
}
TObjArray* AliAnalysisTaskLongRangeCorrelations::GetAcceptedTracks(TClonesArray* tracksMC,
Double_t centrality) {
std::set<Int_t> labelSet;
TObjArray* tracks= new TObjArray;
tracks->SetOwner(kTRUE);
const Long64_t N(tracksMC->GetEntriesFast());
AliDebug(5, Form("#tracks= %6lld %f", N, centrality));
for (Long64_t i(0); i<N; ++i) {
AliAODMCParticle* pMCTrack(dynamic_cast<AliAODMCParticle*>(tracksMC->At(i)));
if (NULL == pMCTrack) continue;
if (labelSet.find(pMCTrack->Label()) != labelSet.end()) {
Printf("Duplicate Label= %3d", pMCTrack->Label());
continue;
}
labelSet.insert(pMCTrack->Label());
switch (fSelectPrimaryMCParticles) {
case -1:
if (kTRUE == pMCTrack->IsPhysicalPrimary()) continue;
break;
case 0:
break;
case 1:
if (kFALSE == pMCTrack->IsPhysicalPrimary()) continue;
break;
default:
AliFatal("fSelectPrimaryMCParticles != {-1,0,1}");
}
if (pMCTrack->Charge() == 0) continue;
Fill("MC_histQACentPt", pMCTrack->Charge()>0, centrality, pMCTrack->Pt());
Fill("MC_histQAPhiEta", pMCTrack->Charge()>0, pMCTrack->Phi(), pMCTrack->Eta());
if (pMCTrack->Phi() < fPhiMin || pMCTrack->Phi() > fPhiMax) continue;
if (pMCTrack->Pt() < fPtMin || pMCTrack->Pt() > fPtMax) continue;
tracks->Add(new LRCParticle(pMCTrack->Eta(), pMCTrack->Phi()));
}
return tracks;
}
Bool_t AddTHnSparseToAliTHn(AliTHn* h, THnSparse* hs, Double_t weight) {
if (h->GetNVar() != hs->GetNdimensions())
return kFALSE;
const size_t nDim(hs->GetNdimensions());
Int_t *coord = new Int_t[nDim];
Double_t *x = new Double_t[nDim];
const Long64_t N(hs->GetNbins());
for (Long64_t i(0); i<N; ++i) {
const Double_t n(hs->GetBinContent(i, coord));
for (size_t j=0; j<nDim; ++j)
x[j] = hs->GetAxis(j)->GetBinCenter(coord[j]);
h->Fill(x, 0, n*weight);
}
delete[] coord;
delete[] x;
return kTRUE;
}
void AliAnalysisTaskLongRangeCorrelations::CalculateMoments(TString prefix,
TObjArray* tracks1,
TObjArray* tracks2,
Double_t vertexZ,
Double_t weight) {
THnSparse* hN1ForThisEvent(ComputeNForThisEvent(tracks1, "hN1", vertexZ));
if (fDeltaEta >= 0) {
hN1ForThisEvent->GetAxis(1)->SetRangeUser( fDeltaEta/2+0.00001, fDeltaEta/2+0.19999);
TH1 *hTemp = hN1ForThisEvent->Projection(0);
const Long64_t ncPlus = Long64_t(hTemp->GetEntries());
delete hTemp;
hN1ForThisEvent->GetAxis(1)->SetRangeUser(-fDeltaEta/2-0.19999, -fDeltaEta/2-0.00001);
hTemp = hN1ForThisEvent->Projection(0);
const Long64_t ncMinus = Long64_t(hTemp->GetEntries());
delete hTemp;
hN1ForThisEvent->GetAxis(1)->SetRange(0, -1);
if (fNMin != -1 && ncPlus < fNMin) return;
if (fNMax != -1 && ncPlus > fNMax) return;
if (fNMin != -1 && ncMinus < fNMin) return;
if (fNMax != -1 && ncMinus > fNMax) return;
}
AliTHn* hN1(dynamic_cast<AliTHn*>(fOutputList->FindObject(prefix+"histMoment1PhiEta_1")));
if (NULL == hN1) return;
AddTHnSparseToAliTHn(hN1,hN1ForThisEvent, weight);
FillNEtaHist(prefix+"histNEta_300", hN1ForThisEvent, weight);
FillNEtaHist(prefix+"histNEta_120", hN1ForThisEvent, weight);
FillNEtaHist(prefix+"histNEta__30", hN1ForThisEvent, weight);
FillNEtaHist(prefix+"histNEta__15", hN1ForThisEvent, weight);
TObjArray* hNs(new TObjArray);
hNs->AddAt(hN1ForThisEvent, 0);
hNs->AddAt(hN1ForThisEvent, 1);
ComputeNXForThisEvent(hNs, prefix+"histMoment2PhiEtaPhiEta_11", vertexZ, weight);
if (fRunMixing) {
AliTHn* hN2(dynamic_cast<AliTHn*>(fOutputList->FindObject(prefix+"histMoment1PhiEta_2")));
if (NULL == hN2) return;
THnSparse* hN2ForThisEvent(ComputeNForThisEvent(tracks2, "hN2", vertexZ));
AddTHnSparseToAliTHn(hN2,hN2ForThisEvent, weight);
hNs->AddAt(hN2ForThisEvent, 1);
ComputeNXForThisEvent(hNs, prefix+"histMoment2PhiEtaPhiEta_12", vertexZ, weight);
hNs->AddAt(hN2ForThisEvent, 0);
ComputeNXForThisEvent(hNs, prefix+"histMoment2PhiEtaPhiEta_22", vertexZ, weight);
delete hN2ForThisEvent;
}
delete hNs;
delete hN1ForThisEvent;
}
void AliAnalysisTaskLongRangeCorrelations::FillNEtaHist(TString name,
THnSparse* hs,
Double_t weight) {
TH2* hSum(dynamic_cast<TH2*>(fOutputList->FindObject(name)));
if (NULL == hSum) return;
TH2* hPerEvent(dynamic_cast<TH2*>(hSum->Clone("hPerEvent")));
if (NULL == hPerEvent) return;
hPerEvent->Reset();
TH1* h1PerEvent(hPerEvent->ProjectionX());
const Long64_t N(hs->GetNbins());
for (Long64_t i(0); i<N; ++i) {
Int_t coord[2] = { 0, 0 };
const Double_t n(hs->GetBinContent(i, coord));
const Double_t eta(hs->GetAxis(1)->GetBinCenter(coord[1]));
h1PerEvent->Fill(eta, n);
}
for (Int_t i(1); i<=h1PerEvent->GetNbinsX(); ++i)
hPerEvent->Fill(h1PerEvent->GetXaxis()->GetBinCenter(i),
h1PerEvent->GetBinContent(i));
hSum->Add(hPerEvent, weight);
delete hPerEvent;
delete h1PerEvent;
}
THnSparse* AliAnalysisTaskLongRangeCorrelations::ComputeNForThisEvent(TObjArray* tracks,
const char* histName,
Double_t vertexZ) const {
const Double_t vertexZBin(fVertexZ->FindBin(vertexZ));
THnSparse* hN(MakeHistSparsePhiEta(histName));
const Long64_t nTracks(tracks->GetEntriesFast());
for (Long64_t i(0); i<nTracks; ++i) {
const LRCParticle* p(dynamic_cast<LRCParticle*>(tracks->At(i)));
if (NULL == p) continue;
const Double_t x[] = { p->Phi(), p->Eta(), vertexZBin };
hN->Fill(x);
}
return hN;
}
class MultiDimIterator {
public:
MultiDimIterator(TObjArray* _fHs, Double_t vertexZBin)
: fHs(_fHs)
, fN(fHs->GetEntriesFast())
, fDims(fN, 0)
, fIdxs(fN, 0)
, fNs (fN, 0)
, fX (2*fN+1, 0)
, fj(0) {
for (Long64_t i=0; i<fN; ++i) {
THnSparse* hNi(reinterpret_cast<THnSparse*>(fHs->At(i)));
if (NULL == hNi)
AliFatal("NULL == hNi");
fDims[i] = hNi->GetNbins();
AliDebug(3, Form("%lld %s %lld", i, hNi->GetName(), fDims[i]));
update(i);
}
fX[2*fN] = vertexZBin;
}
const char* ClassName() const { return "MultiDimIterator"; }
const Double_t* GetX() const { return &fX.front(); }
Double_t GetN() const {
return std::accumulate(fNs.begin(), fNs.end(), Double_t(1), std::multiplies<Double_t>());
}
Bool_t end() const { return fj == fN; }
MultiDimIterator& operator++() {
Long64_t j(0);
for (; j<fN; ++j) {
++fIdxs[j];
update(j);
if (fIdxs[j] < fDims[j]) break;
fIdxs[j] = 0;
update(j);
}
fj = j;
return *this;
}
protected:
void update(Long64_t j) {
THnSparse* hs(reinterpret_cast<THnSparse*>(fHs->At(j)));
Int_t coord[] = { 0, 0 };
fNs[j] = hs->GetBinContent(fIdxs[j], coord);
for (Int_t k(0); k<2; ++k)
fX[2*j+k] = hs->GetAxis(k)->GetBinCenter(coord[k]);
}
private:
MultiDimIterator(const MultiDimIterator&);
MultiDimIterator& operator=(const MultiDimIterator&);
TObjArray* fHs;
const Long64_t fN;
std::vector<Long64_t> fDims;
std::vector<Long64_t> fIdxs;
std::vector<Double_t> fNs;
std::vector<Double_t> fX;
Long64_t fj;
} ;
void AliAnalysisTaskLongRangeCorrelations::ComputeNXForThisEvent(TObjArray* hNs,
const char* histName,
Double_t vertexZ,
Double_t weight) {
if (NULL == fOutputList) return;
AliTHn* hs(dynamic_cast<AliTHn*>(fOutputList->FindObject(histName)));
if (hs == NULL) return;
for (MultiDimIterator mdi(hNs, fVertexZ->FindBin(vertexZ)); !mdi.end(); ++mdi)
hs->Fill(mdi.GetX(), 0, mdi.GetN()*weight);
}
void AliAnalysisTaskLongRangeCorrelations::Fill(const char* histName, Double_t x) {
if (NULL == fOutputList) return;
TH1* h = dynamic_cast<TH1*>(fOutputList->FindObject(histName));
if (h == NULL) return;
h->Fill(x);
}
void AliAnalysisTaskLongRangeCorrelations::Fill(const char* histName, Double_t x, Double_t y) {
if (NULL == fOutputList) return;
TH2* h = dynamic_cast<TH2*>(fOutputList->FindObject(histName));
if (h == NULL) return;
h->Fill(x, y);
}
void AliAnalysisTaskLongRangeCorrelations::Fill(const char* histName, Double_t x, Double_t y, Double_t z) {
if (NULL == fOutputList) return;
TH3* h = dynamic_cast<TH3*>(fOutputList->FindObject(histName));
if (h == NULL) return;
h->Fill(x, y, z);
}
void AliAnalysisTaskLongRangeCorrelations::Fill(const char* histName, const Double_t* x, Double_t w) {
if (NULL == fOutputList) return;
THnSparse* h = dynamic_cast<THnSparse*>(fOutputList->FindObject(histName));
if (h == NULL) return;
h->Fill(x, w);
}
AliAnalysisTaskLongRangeCorrelations.cxx:1 AliAnalysisTaskLongRangeCorrelations.cxx:2 AliAnalysisTaskLongRangeCorrelations.cxx:3 AliAnalysisTaskLongRangeCorrelations.cxx:4 AliAnalysisTaskLongRangeCorrelations.cxx:5 AliAnalysisTaskLongRangeCorrelations.cxx:6 AliAnalysisTaskLongRangeCorrelations.cxx:7 AliAnalysisTaskLongRangeCorrelations.cxx:8 AliAnalysisTaskLongRangeCorrelations.cxx:9 AliAnalysisTaskLongRangeCorrelations.cxx:10 AliAnalysisTaskLongRangeCorrelations.cxx:11 AliAnalysisTaskLongRangeCorrelations.cxx:12 AliAnalysisTaskLongRangeCorrelations.cxx:13 AliAnalysisTaskLongRangeCorrelations.cxx:14 AliAnalysisTaskLongRangeCorrelations.cxx:15 AliAnalysisTaskLongRangeCorrelations.cxx:16 AliAnalysisTaskLongRangeCorrelations.cxx:17 AliAnalysisTaskLongRangeCorrelations.cxx:18 AliAnalysisTaskLongRangeCorrelations.cxx:19 AliAnalysisTaskLongRangeCorrelations.cxx:20 AliAnalysisTaskLongRangeCorrelations.cxx:21 AliAnalysisTaskLongRangeCorrelations.cxx:22 AliAnalysisTaskLongRangeCorrelations.cxx:23 AliAnalysisTaskLongRangeCorrelations.cxx:24 AliAnalysisTaskLongRangeCorrelations.cxx:25 AliAnalysisTaskLongRangeCorrelations.cxx:26 AliAnalysisTaskLongRangeCorrelations.cxx:27 AliAnalysisTaskLongRangeCorrelations.cxx:28 AliAnalysisTaskLongRangeCorrelations.cxx:29 AliAnalysisTaskLongRangeCorrelations.cxx:30 AliAnalysisTaskLongRangeCorrelations.cxx:31 AliAnalysisTaskLongRangeCorrelations.cxx:32 AliAnalysisTaskLongRangeCorrelations.cxx:33 AliAnalysisTaskLongRangeCorrelations.cxx:34 AliAnalysisTaskLongRangeCorrelations.cxx:35 AliAnalysisTaskLongRangeCorrelations.cxx:36 AliAnalysisTaskLongRangeCorrelations.cxx:37 AliAnalysisTaskLongRangeCorrelations.cxx:38 AliAnalysisTaskLongRangeCorrelations.cxx:39 AliAnalysisTaskLongRangeCorrelations.cxx:40 AliAnalysisTaskLongRangeCorrelations.cxx:41 AliAnalysisTaskLongRangeCorrelations.cxx:42 AliAnalysisTaskLongRangeCorrelations.cxx:43 AliAnalysisTaskLongRangeCorrelations.cxx:44 AliAnalysisTaskLongRangeCorrelations.cxx:45 AliAnalysisTaskLongRangeCorrelations.cxx:46 AliAnalysisTaskLongRangeCorrelations.cxx:47 AliAnalysisTaskLongRangeCorrelations.cxx:48 AliAnalysisTaskLongRangeCorrelations.cxx:49 AliAnalysisTaskLongRangeCorrelations.cxx:50 AliAnalysisTaskLongRangeCorrelations.cxx:51 AliAnalysisTaskLongRangeCorrelations.cxx:52 AliAnalysisTaskLongRangeCorrelations.cxx:53 AliAnalysisTaskLongRangeCorrelations.cxx:54 AliAnalysisTaskLongRangeCorrelations.cxx:55 AliAnalysisTaskLongRangeCorrelations.cxx:56 AliAnalysisTaskLongRangeCorrelations.cxx:57 AliAnalysisTaskLongRangeCorrelations.cxx:58 AliAnalysisTaskLongRangeCorrelations.cxx:59 AliAnalysisTaskLongRangeCorrelations.cxx:60 AliAnalysisTaskLongRangeCorrelations.cxx:61 AliAnalysisTaskLongRangeCorrelations.cxx:62 AliAnalysisTaskLongRangeCorrelations.cxx:63 AliAnalysisTaskLongRangeCorrelations.cxx:64 AliAnalysisTaskLongRangeCorrelations.cxx:65 AliAnalysisTaskLongRangeCorrelations.cxx:66 AliAnalysisTaskLongRangeCorrelations.cxx:67 AliAnalysisTaskLongRangeCorrelations.cxx:68 AliAnalysisTaskLongRangeCorrelations.cxx:69 AliAnalysisTaskLongRangeCorrelations.cxx:70 AliAnalysisTaskLongRangeCorrelations.cxx:71 AliAnalysisTaskLongRangeCorrelations.cxx:72 AliAnalysisTaskLongRangeCorrelations.cxx:73 AliAnalysisTaskLongRangeCorrelations.cxx:74 AliAnalysisTaskLongRangeCorrelations.cxx:75 AliAnalysisTaskLongRangeCorrelations.cxx:76 AliAnalysisTaskLongRangeCorrelations.cxx:77 AliAnalysisTaskLongRangeCorrelations.cxx:78 AliAnalysisTaskLongRangeCorrelations.cxx:79 AliAnalysisTaskLongRangeCorrelations.cxx:80 AliAnalysisTaskLongRangeCorrelations.cxx:81 AliAnalysisTaskLongRangeCorrelations.cxx:82 AliAnalysisTaskLongRangeCorrelations.cxx:83 AliAnalysisTaskLongRangeCorrelations.cxx:84 AliAnalysisTaskLongRangeCorrelations.cxx:85 AliAnalysisTaskLongRangeCorrelations.cxx:86 AliAnalysisTaskLongRangeCorrelations.cxx:87 AliAnalysisTaskLongRangeCorrelations.cxx:88 AliAnalysisTaskLongRangeCorrelations.cxx:89 AliAnalysisTaskLongRangeCorrelations.cxx:90 AliAnalysisTaskLongRangeCorrelations.cxx:91 AliAnalysisTaskLongRangeCorrelations.cxx:92 AliAnalysisTaskLongRangeCorrelations.cxx:93 AliAnalysisTaskLongRangeCorrelations.cxx:94 AliAnalysisTaskLongRangeCorrelations.cxx:95 AliAnalysisTaskLongRangeCorrelations.cxx:96 AliAnalysisTaskLongRangeCorrelations.cxx:97 AliAnalysisTaskLongRangeCorrelations.cxx:98 AliAnalysisTaskLongRangeCorrelations.cxx:99 AliAnalysisTaskLongRangeCorrelations.cxx:100 AliAnalysisTaskLongRangeCorrelations.cxx:101 AliAnalysisTaskLongRangeCorrelations.cxx:102 AliAnalysisTaskLongRangeCorrelations.cxx:103 AliAnalysisTaskLongRangeCorrelations.cxx:104 AliAnalysisTaskLongRangeCorrelations.cxx:105 AliAnalysisTaskLongRangeCorrelations.cxx:106 AliAnalysisTaskLongRangeCorrelations.cxx:107 AliAnalysisTaskLongRangeCorrelations.cxx:108 AliAnalysisTaskLongRangeCorrelations.cxx:109 AliAnalysisTaskLongRangeCorrelations.cxx:110 AliAnalysisTaskLongRangeCorrelations.cxx:111 AliAnalysisTaskLongRangeCorrelations.cxx:112 AliAnalysisTaskLongRangeCorrelations.cxx:113 AliAnalysisTaskLongRangeCorrelations.cxx:114 AliAnalysisTaskLongRangeCorrelations.cxx:115 AliAnalysisTaskLongRangeCorrelations.cxx:116 AliAnalysisTaskLongRangeCorrelations.cxx:117 AliAnalysisTaskLongRangeCorrelations.cxx:118 AliAnalysisTaskLongRangeCorrelations.cxx:119 AliAnalysisTaskLongRangeCorrelations.cxx:120 AliAnalysisTaskLongRangeCorrelations.cxx:121 AliAnalysisTaskLongRangeCorrelations.cxx:122 AliAnalysisTaskLongRangeCorrelations.cxx:123 AliAnalysisTaskLongRangeCorrelations.cxx:124 AliAnalysisTaskLongRangeCorrelations.cxx:125 AliAnalysisTaskLongRangeCorrelations.cxx:126 AliAnalysisTaskLongRangeCorrelations.cxx:127 AliAnalysisTaskLongRangeCorrelations.cxx:128 AliAnalysisTaskLongRangeCorrelations.cxx:129 AliAnalysisTaskLongRangeCorrelations.cxx:130 AliAnalysisTaskLongRangeCorrelations.cxx:131 AliAnalysisTaskLongRangeCorrelations.cxx:132 AliAnalysisTaskLongRangeCorrelations.cxx:133 AliAnalysisTaskLongRangeCorrelations.cxx:134 AliAnalysisTaskLongRangeCorrelations.cxx:135 AliAnalysisTaskLongRangeCorrelations.cxx:136 AliAnalysisTaskLongRangeCorrelations.cxx:137 AliAnalysisTaskLongRangeCorrelations.cxx:138 AliAnalysisTaskLongRangeCorrelations.cxx:139 AliAnalysisTaskLongRangeCorrelations.cxx:140 AliAnalysisTaskLongRangeCorrelations.cxx:141 AliAnalysisTaskLongRangeCorrelations.cxx:142 AliAnalysisTaskLongRangeCorrelations.cxx:143 AliAnalysisTaskLongRangeCorrelations.cxx:144 AliAnalysisTaskLongRangeCorrelations.cxx:145 AliAnalysisTaskLongRangeCorrelations.cxx:146 AliAnalysisTaskLongRangeCorrelations.cxx:147 AliAnalysisTaskLongRangeCorrelations.cxx:148 AliAnalysisTaskLongRangeCorrelations.cxx:149 AliAnalysisTaskLongRangeCorrelations.cxx:150 AliAnalysisTaskLongRangeCorrelations.cxx:151 AliAnalysisTaskLongRangeCorrelations.cxx:152 AliAnalysisTaskLongRangeCorrelations.cxx:153 AliAnalysisTaskLongRangeCorrelations.cxx:154 AliAnalysisTaskLongRangeCorrelations.cxx:155 AliAnalysisTaskLongRangeCorrelations.cxx:156 AliAnalysisTaskLongRangeCorrelations.cxx:157 AliAnalysisTaskLongRangeCorrelations.cxx:158 AliAnalysisTaskLongRangeCorrelations.cxx:159 AliAnalysisTaskLongRangeCorrelations.cxx:160 AliAnalysisTaskLongRangeCorrelations.cxx:161 AliAnalysisTaskLongRangeCorrelations.cxx:162 AliAnalysisTaskLongRangeCorrelations.cxx:163 AliAnalysisTaskLongRangeCorrelations.cxx:164 AliAnalysisTaskLongRangeCorrelations.cxx:165 AliAnalysisTaskLongRangeCorrelations.cxx:166 AliAnalysisTaskLongRangeCorrelations.cxx:167 AliAnalysisTaskLongRangeCorrelations.cxx:168 AliAnalysisTaskLongRangeCorrelations.cxx:169 AliAnalysisTaskLongRangeCorrelations.cxx:170 AliAnalysisTaskLongRangeCorrelations.cxx:171 AliAnalysisTaskLongRangeCorrelations.cxx:172 AliAnalysisTaskLongRangeCorrelations.cxx:173 AliAnalysisTaskLongRangeCorrelations.cxx:174 AliAnalysisTaskLongRangeCorrelations.cxx:175 AliAnalysisTaskLongRangeCorrelations.cxx:176 AliAnalysisTaskLongRangeCorrelations.cxx:177 AliAnalysisTaskLongRangeCorrelations.cxx:178 AliAnalysisTaskLongRangeCorrelations.cxx:179 AliAnalysisTaskLongRangeCorrelations.cxx:180 AliAnalysisTaskLongRangeCorrelations.cxx:181 AliAnalysisTaskLongRangeCorrelations.cxx:182 AliAnalysisTaskLongRangeCorrelations.cxx:183 AliAnalysisTaskLongRangeCorrelations.cxx:184 AliAnalysisTaskLongRangeCorrelations.cxx:185 AliAnalysisTaskLongRangeCorrelations.cxx:186 AliAnalysisTaskLongRangeCorrelations.cxx:187 AliAnalysisTaskLongRangeCorrelations.cxx:188 AliAnalysisTaskLongRangeCorrelations.cxx:189 AliAnalysisTaskLongRangeCorrelations.cxx:190 AliAnalysisTaskLongRangeCorrelations.cxx:191 AliAnalysisTaskLongRangeCorrelations.cxx:192 AliAnalysisTaskLongRangeCorrelations.cxx:193 AliAnalysisTaskLongRangeCorrelations.cxx:194 AliAnalysisTaskLongRangeCorrelations.cxx:195 AliAnalysisTaskLongRangeCorrelations.cxx:196 AliAnalysisTaskLongRangeCorrelations.cxx:197 AliAnalysisTaskLongRangeCorrelations.cxx:198 AliAnalysisTaskLongRangeCorrelations.cxx:199 AliAnalysisTaskLongRangeCorrelations.cxx:200 AliAnalysisTaskLongRangeCorrelations.cxx:201 AliAnalysisTaskLongRangeCorrelations.cxx:202 AliAnalysisTaskLongRangeCorrelations.cxx:203 AliAnalysisTaskLongRangeCorrelations.cxx:204 AliAnalysisTaskLongRangeCorrelations.cxx:205 AliAnalysisTaskLongRangeCorrelations.cxx:206 AliAnalysisTaskLongRangeCorrelations.cxx:207 AliAnalysisTaskLongRangeCorrelations.cxx:208 AliAnalysisTaskLongRangeCorrelations.cxx:209 AliAnalysisTaskLongRangeCorrelations.cxx:210 AliAnalysisTaskLongRangeCorrelations.cxx:211 AliAnalysisTaskLongRangeCorrelations.cxx:212 AliAnalysisTaskLongRangeCorrelations.cxx:213 AliAnalysisTaskLongRangeCorrelations.cxx:214 AliAnalysisTaskLongRangeCorrelations.cxx:215 AliAnalysisTaskLongRangeCorrelations.cxx:216 AliAnalysisTaskLongRangeCorrelations.cxx:217 AliAnalysisTaskLongRangeCorrelations.cxx:218 AliAnalysisTaskLongRangeCorrelations.cxx:219 AliAnalysisTaskLongRangeCorrelations.cxx:220 AliAnalysisTaskLongRangeCorrelations.cxx:221 AliAnalysisTaskLongRangeCorrelations.cxx:222 AliAnalysisTaskLongRangeCorrelations.cxx:223 AliAnalysisTaskLongRangeCorrelations.cxx:224 AliAnalysisTaskLongRangeCorrelations.cxx:225 AliAnalysisTaskLongRangeCorrelations.cxx:226 AliAnalysisTaskLongRangeCorrelations.cxx:227 AliAnalysisTaskLongRangeCorrelations.cxx:228 AliAnalysisTaskLongRangeCorrelations.cxx:229 AliAnalysisTaskLongRangeCorrelations.cxx:230 AliAnalysisTaskLongRangeCorrelations.cxx:231 AliAnalysisTaskLongRangeCorrelations.cxx:232 AliAnalysisTaskLongRangeCorrelations.cxx:233 AliAnalysisTaskLongRangeCorrelations.cxx:234 AliAnalysisTaskLongRangeCorrelations.cxx:235 AliAnalysisTaskLongRangeCorrelations.cxx:236 AliAnalysisTaskLongRangeCorrelations.cxx:237 AliAnalysisTaskLongRangeCorrelations.cxx:238 AliAnalysisTaskLongRangeCorrelations.cxx:239 AliAnalysisTaskLongRangeCorrelations.cxx:240 AliAnalysisTaskLongRangeCorrelations.cxx:241 AliAnalysisTaskLongRangeCorrelations.cxx:242 AliAnalysisTaskLongRangeCorrelations.cxx:243 AliAnalysisTaskLongRangeCorrelations.cxx:244 AliAnalysisTaskLongRangeCorrelations.cxx:245 AliAnalysisTaskLongRangeCorrelations.cxx:246 AliAnalysisTaskLongRangeCorrelations.cxx:247 AliAnalysisTaskLongRangeCorrelations.cxx:248 AliAnalysisTaskLongRangeCorrelations.cxx:249 AliAnalysisTaskLongRangeCorrelations.cxx:250 AliAnalysisTaskLongRangeCorrelations.cxx:251 AliAnalysisTaskLongRangeCorrelations.cxx:252 AliAnalysisTaskLongRangeCorrelations.cxx:253 AliAnalysisTaskLongRangeCorrelations.cxx:254 AliAnalysisTaskLongRangeCorrelations.cxx:255 AliAnalysisTaskLongRangeCorrelations.cxx:256 AliAnalysisTaskLongRangeCorrelations.cxx:257 AliAnalysisTaskLongRangeCorrelations.cxx:258 AliAnalysisTaskLongRangeCorrelations.cxx:259 AliAnalysisTaskLongRangeCorrelations.cxx:260 AliAnalysisTaskLongRangeCorrelations.cxx:261 AliAnalysisTaskLongRangeCorrelations.cxx:262 AliAnalysisTaskLongRangeCorrelations.cxx:263 AliAnalysisTaskLongRangeCorrelations.cxx:264 AliAnalysisTaskLongRangeCorrelations.cxx:265 AliAnalysisTaskLongRangeCorrelations.cxx:266 AliAnalysisTaskLongRangeCorrelations.cxx:267 AliAnalysisTaskLongRangeCorrelations.cxx:268 AliAnalysisTaskLongRangeCorrelations.cxx:269 AliAnalysisTaskLongRangeCorrelations.cxx:270 AliAnalysisTaskLongRangeCorrelations.cxx:271 AliAnalysisTaskLongRangeCorrelations.cxx:272 AliAnalysisTaskLongRangeCorrelations.cxx:273 AliAnalysisTaskLongRangeCorrelations.cxx:274 AliAnalysisTaskLongRangeCorrelations.cxx:275 AliAnalysisTaskLongRangeCorrelations.cxx:276 AliAnalysisTaskLongRangeCorrelations.cxx:277 AliAnalysisTaskLongRangeCorrelations.cxx:278 AliAnalysisTaskLongRangeCorrelations.cxx:279 AliAnalysisTaskLongRangeCorrelations.cxx:280 AliAnalysisTaskLongRangeCorrelations.cxx:281 AliAnalysisTaskLongRangeCorrelations.cxx:282 AliAnalysisTaskLongRangeCorrelations.cxx:283 AliAnalysisTaskLongRangeCorrelations.cxx:284 AliAnalysisTaskLongRangeCorrelations.cxx:285 AliAnalysisTaskLongRangeCorrelations.cxx:286 AliAnalysisTaskLongRangeCorrelations.cxx:287 AliAnalysisTaskLongRangeCorrelations.cxx:288 AliAnalysisTaskLongRangeCorrelations.cxx:289 AliAnalysisTaskLongRangeCorrelations.cxx:290 AliAnalysisTaskLongRangeCorrelations.cxx:291 AliAnalysisTaskLongRangeCorrelations.cxx:292 AliAnalysisTaskLongRangeCorrelations.cxx:293 AliAnalysisTaskLongRangeCorrelations.cxx:294 AliAnalysisTaskLongRangeCorrelations.cxx:295 AliAnalysisTaskLongRangeCorrelations.cxx:296 AliAnalysisTaskLongRangeCorrelations.cxx:297 AliAnalysisTaskLongRangeCorrelations.cxx:298 AliAnalysisTaskLongRangeCorrelations.cxx:299 AliAnalysisTaskLongRangeCorrelations.cxx:300 AliAnalysisTaskLongRangeCorrelations.cxx:301 AliAnalysisTaskLongRangeCorrelations.cxx:302 AliAnalysisTaskLongRangeCorrelations.cxx:303 AliAnalysisTaskLongRangeCorrelations.cxx:304 AliAnalysisTaskLongRangeCorrelations.cxx:305 AliAnalysisTaskLongRangeCorrelations.cxx:306 AliAnalysisTaskLongRangeCorrelations.cxx:307 AliAnalysisTaskLongRangeCorrelations.cxx:308 AliAnalysisTaskLongRangeCorrelations.cxx:309 AliAnalysisTaskLongRangeCorrelations.cxx:310 AliAnalysisTaskLongRangeCorrelations.cxx:311 AliAnalysisTaskLongRangeCorrelations.cxx:312 AliAnalysisTaskLongRangeCorrelations.cxx:313 AliAnalysisTaskLongRangeCorrelations.cxx:314 AliAnalysisTaskLongRangeCorrelations.cxx:315 AliAnalysisTaskLongRangeCorrelations.cxx:316 AliAnalysisTaskLongRangeCorrelations.cxx:317 AliAnalysisTaskLongRangeCorrelations.cxx:318 AliAnalysisTaskLongRangeCorrelations.cxx:319 AliAnalysisTaskLongRangeCorrelations.cxx:320 AliAnalysisTaskLongRangeCorrelations.cxx:321 AliAnalysisTaskLongRangeCorrelations.cxx:322 AliAnalysisTaskLongRangeCorrelations.cxx:323 AliAnalysisTaskLongRangeCorrelations.cxx:324 AliAnalysisTaskLongRangeCorrelations.cxx:325 AliAnalysisTaskLongRangeCorrelations.cxx:326 AliAnalysisTaskLongRangeCorrelations.cxx:327 AliAnalysisTaskLongRangeCorrelations.cxx:328 AliAnalysisTaskLongRangeCorrelations.cxx:329 AliAnalysisTaskLongRangeCorrelations.cxx:330 AliAnalysisTaskLongRangeCorrelations.cxx:331 AliAnalysisTaskLongRangeCorrelations.cxx:332 AliAnalysisTaskLongRangeCorrelations.cxx:333 AliAnalysisTaskLongRangeCorrelations.cxx:334 AliAnalysisTaskLongRangeCorrelations.cxx:335 AliAnalysisTaskLongRangeCorrelations.cxx:336 AliAnalysisTaskLongRangeCorrelations.cxx:337 AliAnalysisTaskLongRangeCorrelations.cxx:338 AliAnalysisTaskLongRangeCorrelations.cxx:339 AliAnalysisTaskLongRangeCorrelations.cxx:340 AliAnalysisTaskLongRangeCorrelations.cxx:341 AliAnalysisTaskLongRangeCorrelations.cxx:342 AliAnalysisTaskLongRangeCorrelations.cxx:343 AliAnalysisTaskLongRangeCorrelations.cxx:344 AliAnalysisTaskLongRangeCorrelations.cxx:345 AliAnalysisTaskLongRangeCorrelations.cxx:346 AliAnalysisTaskLongRangeCorrelations.cxx:347 AliAnalysisTaskLongRangeCorrelations.cxx:348 AliAnalysisTaskLongRangeCorrelations.cxx:349 AliAnalysisTaskLongRangeCorrelations.cxx:350 AliAnalysisTaskLongRangeCorrelations.cxx:351 AliAnalysisTaskLongRangeCorrelations.cxx:352 AliAnalysisTaskLongRangeCorrelations.cxx:353 AliAnalysisTaskLongRangeCorrelations.cxx:354 AliAnalysisTaskLongRangeCorrelations.cxx:355 AliAnalysisTaskLongRangeCorrelations.cxx:356 AliAnalysisTaskLongRangeCorrelations.cxx:357 AliAnalysisTaskLongRangeCorrelations.cxx:358 AliAnalysisTaskLongRangeCorrelations.cxx:359 AliAnalysisTaskLongRangeCorrelations.cxx:360 AliAnalysisTaskLongRangeCorrelations.cxx:361 AliAnalysisTaskLongRangeCorrelations.cxx:362 AliAnalysisTaskLongRangeCorrelations.cxx:363 AliAnalysisTaskLongRangeCorrelations.cxx:364 AliAnalysisTaskLongRangeCorrelations.cxx:365 AliAnalysisTaskLongRangeCorrelations.cxx:366 AliAnalysisTaskLongRangeCorrelations.cxx:367 AliAnalysisTaskLongRangeCorrelations.cxx:368 AliAnalysisTaskLongRangeCorrelations.cxx:369 AliAnalysisTaskLongRangeCorrelations.cxx:370 AliAnalysisTaskLongRangeCorrelations.cxx:371 AliAnalysisTaskLongRangeCorrelations.cxx:372 AliAnalysisTaskLongRangeCorrelations.cxx:373 AliAnalysisTaskLongRangeCorrelations.cxx:374 AliAnalysisTaskLongRangeCorrelations.cxx:375 AliAnalysisTaskLongRangeCorrelations.cxx:376 AliAnalysisTaskLongRangeCorrelations.cxx:377 AliAnalysisTaskLongRangeCorrelations.cxx:378 AliAnalysisTaskLongRangeCorrelations.cxx:379 AliAnalysisTaskLongRangeCorrelations.cxx:380 AliAnalysisTaskLongRangeCorrelations.cxx:381 AliAnalysisTaskLongRangeCorrelations.cxx:382 AliAnalysisTaskLongRangeCorrelations.cxx:383 AliAnalysisTaskLongRangeCorrelations.cxx:384 AliAnalysisTaskLongRangeCorrelations.cxx:385 AliAnalysisTaskLongRangeCorrelations.cxx:386 AliAnalysisTaskLongRangeCorrelations.cxx:387 AliAnalysisTaskLongRangeCorrelations.cxx:388 AliAnalysisTaskLongRangeCorrelations.cxx:389 AliAnalysisTaskLongRangeCorrelations.cxx:390 AliAnalysisTaskLongRangeCorrelations.cxx:391 AliAnalysisTaskLongRangeCorrelations.cxx:392 AliAnalysisTaskLongRangeCorrelations.cxx:393 AliAnalysisTaskLongRangeCorrelations.cxx:394 AliAnalysisTaskLongRangeCorrelations.cxx:395 AliAnalysisTaskLongRangeCorrelations.cxx:396 AliAnalysisTaskLongRangeCorrelations.cxx:397 AliAnalysisTaskLongRangeCorrelations.cxx:398 AliAnalysisTaskLongRangeCorrelations.cxx:399 AliAnalysisTaskLongRangeCorrelations.cxx:400 AliAnalysisTaskLongRangeCorrelations.cxx:401 AliAnalysisTaskLongRangeCorrelations.cxx:402 AliAnalysisTaskLongRangeCorrelations.cxx:403 AliAnalysisTaskLongRangeCorrelations.cxx:404 AliAnalysisTaskLongRangeCorrelations.cxx:405 AliAnalysisTaskLongRangeCorrelations.cxx:406 AliAnalysisTaskLongRangeCorrelations.cxx:407 AliAnalysisTaskLongRangeCorrelations.cxx:408 AliAnalysisTaskLongRangeCorrelations.cxx:409 AliAnalysisTaskLongRangeCorrelations.cxx:410 AliAnalysisTaskLongRangeCorrelations.cxx:411 AliAnalysisTaskLongRangeCorrelations.cxx:412 AliAnalysisTaskLongRangeCorrelations.cxx:413 AliAnalysisTaskLongRangeCorrelations.cxx:414 AliAnalysisTaskLongRangeCorrelations.cxx:415 AliAnalysisTaskLongRangeCorrelations.cxx:416 AliAnalysisTaskLongRangeCorrelations.cxx:417 AliAnalysisTaskLongRangeCorrelations.cxx:418 AliAnalysisTaskLongRangeCorrelations.cxx:419 AliAnalysisTaskLongRangeCorrelations.cxx:420 AliAnalysisTaskLongRangeCorrelations.cxx:421 AliAnalysisTaskLongRangeCorrelations.cxx:422 AliAnalysisTaskLongRangeCorrelations.cxx:423 AliAnalysisTaskLongRangeCorrelations.cxx:424 AliAnalysisTaskLongRangeCorrelations.cxx:425 AliAnalysisTaskLongRangeCorrelations.cxx:426 AliAnalysisTaskLongRangeCorrelations.cxx:427 AliAnalysisTaskLongRangeCorrelations.cxx:428 AliAnalysisTaskLongRangeCorrelations.cxx:429 AliAnalysisTaskLongRangeCorrelations.cxx:430 AliAnalysisTaskLongRangeCorrelations.cxx:431 AliAnalysisTaskLongRangeCorrelations.cxx:432 AliAnalysisTaskLongRangeCorrelations.cxx:433 AliAnalysisTaskLongRangeCorrelations.cxx:434 AliAnalysisTaskLongRangeCorrelations.cxx:435 AliAnalysisTaskLongRangeCorrelations.cxx:436 AliAnalysisTaskLongRangeCorrelations.cxx:437 AliAnalysisTaskLongRangeCorrelations.cxx:438 AliAnalysisTaskLongRangeCorrelations.cxx:439 AliAnalysisTaskLongRangeCorrelations.cxx:440 AliAnalysisTaskLongRangeCorrelations.cxx:441 AliAnalysisTaskLongRangeCorrelations.cxx:442 AliAnalysisTaskLongRangeCorrelations.cxx:443 AliAnalysisTaskLongRangeCorrelations.cxx:444 AliAnalysisTaskLongRangeCorrelations.cxx:445 AliAnalysisTaskLongRangeCorrelations.cxx:446 AliAnalysisTaskLongRangeCorrelations.cxx:447 AliAnalysisTaskLongRangeCorrelations.cxx:448 AliAnalysisTaskLongRangeCorrelations.cxx:449 AliAnalysisTaskLongRangeCorrelations.cxx:450 AliAnalysisTaskLongRangeCorrelations.cxx:451 AliAnalysisTaskLongRangeCorrelations.cxx:452 AliAnalysisTaskLongRangeCorrelations.cxx:453 AliAnalysisTaskLongRangeCorrelations.cxx:454 AliAnalysisTaskLongRangeCorrelations.cxx:455 AliAnalysisTaskLongRangeCorrelations.cxx:456 AliAnalysisTaskLongRangeCorrelations.cxx:457 AliAnalysisTaskLongRangeCorrelations.cxx:458 AliAnalysisTaskLongRangeCorrelations.cxx:459 AliAnalysisTaskLongRangeCorrelations.cxx:460 AliAnalysisTaskLongRangeCorrelations.cxx:461 AliAnalysisTaskLongRangeCorrelations.cxx:462 AliAnalysisTaskLongRangeCorrelations.cxx:463 AliAnalysisTaskLongRangeCorrelations.cxx:464 AliAnalysisTaskLongRangeCorrelations.cxx:465 AliAnalysisTaskLongRangeCorrelations.cxx:466 AliAnalysisTaskLongRangeCorrelations.cxx:467 AliAnalysisTaskLongRangeCorrelations.cxx:468 AliAnalysisTaskLongRangeCorrelations.cxx:469 AliAnalysisTaskLongRangeCorrelations.cxx:470 AliAnalysisTaskLongRangeCorrelations.cxx:471 AliAnalysisTaskLongRangeCorrelations.cxx:472 AliAnalysisTaskLongRangeCorrelations.cxx:473 AliAnalysisTaskLongRangeCorrelations.cxx:474 AliAnalysisTaskLongRangeCorrelations.cxx:475 AliAnalysisTaskLongRangeCorrelations.cxx:476 AliAnalysisTaskLongRangeCorrelations.cxx:477 AliAnalysisTaskLongRangeCorrelations.cxx:478 AliAnalysisTaskLongRangeCorrelations.cxx:479 AliAnalysisTaskLongRangeCorrelations.cxx:480 AliAnalysisTaskLongRangeCorrelations.cxx:481 AliAnalysisTaskLongRangeCorrelations.cxx:482 AliAnalysisTaskLongRangeCorrelations.cxx:483 AliAnalysisTaskLongRangeCorrelations.cxx:484 AliAnalysisTaskLongRangeCorrelations.cxx:485 AliAnalysisTaskLongRangeCorrelations.cxx:486 AliAnalysisTaskLongRangeCorrelations.cxx:487 AliAnalysisTaskLongRangeCorrelations.cxx:488 AliAnalysisTaskLongRangeCorrelations.cxx:489 AliAnalysisTaskLongRangeCorrelations.cxx:490 AliAnalysisTaskLongRangeCorrelations.cxx:491 AliAnalysisTaskLongRangeCorrelations.cxx:492 AliAnalysisTaskLongRangeCorrelations.cxx:493 AliAnalysisTaskLongRangeCorrelations.cxx:494 AliAnalysisTaskLongRangeCorrelations.cxx:495 AliAnalysisTaskLongRangeCorrelations.cxx:496 AliAnalysisTaskLongRangeCorrelations.cxx:497 AliAnalysisTaskLongRangeCorrelations.cxx:498 AliAnalysisTaskLongRangeCorrelations.cxx:499 AliAnalysisTaskLongRangeCorrelations.cxx:500 AliAnalysisTaskLongRangeCorrelations.cxx:501 AliAnalysisTaskLongRangeCorrelations.cxx:502 AliAnalysisTaskLongRangeCorrelations.cxx:503 AliAnalysisTaskLongRangeCorrelations.cxx:504 AliAnalysisTaskLongRangeCorrelations.cxx:505 AliAnalysisTaskLongRangeCorrelations.cxx:506 AliAnalysisTaskLongRangeCorrelations.cxx:507 AliAnalysisTaskLongRangeCorrelations.cxx:508 AliAnalysisTaskLongRangeCorrelations.cxx:509 AliAnalysisTaskLongRangeCorrelations.cxx:510 AliAnalysisTaskLongRangeCorrelations.cxx:511 AliAnalysisTaskLongRangeCorrelations.cxx:512 AliAnalysisTaskLongRangeCorrelations.cxx:513 AliAnalysisTaskLongRangeCorrelations.cxx:514 AliAnalysisTaskLongRangeCorrelations.cxx:515 AliAnalysisTaskLongRangeCorrelations.cxx:516 AliAnalysisTaskLongRangeCorrelations.cxx:517 AliAnalysisTaskLongRangeCorrelations.cxx:518 AliAnalysisTaskLongRangeCorrelations.cxx:519 AliAnalysisTaskLongRangeCorrelations.cxx:520 AliAnalysisTaskLongRangeCorrelations.cxx:521 AliAnalysisTaskLongRangeCorrelations.cxx:522 AliAnalysisTaskLongRangeCorrelations.cxx:523 AliAnalysisTaskLongRangeCorrelations.cxx:524 AliAnalysisTaskLongRangeCorrelations.cxx:525 AliAnalysisTaskLongRangeCorrelations.cxx:526 AliAnalysisTaskLongRangeCorrelations.cxx:527 AliAnalysisTaskLongRangeCorrelations.cxx:528 AliAnalysisTaskLongRangeCorrelations.cxx:529 AliAnalysisTaskLongRangeCorrelations.cxx:530 AliAnalysisTaskLongRangeCorrelations.cxx:531 AliAnalysisTaskLongRangeCorrelations.cxx:532 AliAnalysisTaskLongRangeCorrelations.cxx:533 AliAnalysisTaskLongRangeCorrelations.cxx:534 AliAnalysisTaskLongRangeCorrelations.cxx:535 AliAnalysisTaskLongRangeCorrelations.cxx:536 AliAnalysisTaskLongRangeCorrelations.cxx:537 AliAnalysisTaskLongRangeCorrelations.cxx:538 AliAnalysisTaskLongRangeCorrelations.cxx:539 AliAnalysisTaskLongRangeCorrelations.cxx:540 AliAnalysisTaskLongRangeCorrelations.cxx:541 AliAnalysisTaskLongRangeCorrelations.cxx:542 AliAnalysisTaskLongRangeCorrelations.cxx:543 AliAnalysisTaskLongRangeCorrelations.cxx:544 AliAnalysisTaskLongRangeCorrelations.cxx:545 AliAnalysisTaskLongRangeCorrelations.cxx:546 AliAnalysisTaskLongRangeCorrelations.cxx:547 AliAnalysisTaskLongRangeCorrelations.cxx:548 AliAnalysisTaskLongRangeCorrelations.cxx:549 AliAnalysisTaskLongRangeCorrelations.cxx:550 AliAnalysisTaskLongRangeCorrelations.cxx:551 AliAnalysisTaskLongRangeCorrelations.cxx:552 AliAnalysisTaskLongRangeCorrelations.cxx:553 AliAnalysisTaskLongRangeCorrelations.cxx:554 AliAnalysisTaskLongRangeCorrelations.cxx:555 AliAnalysisTaskLongRangeCorrelations.cxx:556 AliAnalysisTaskLongRangeCorrelations.cxx:557 AliAnalysisTaskLongRangeCorrelations.cxx:558 AliAnalysisTaskLongRangeCorrelations.cxx:559 AliAnalysisTaskLongRangeCorrelations.cxx:560 AliAnalysisTaskLongRangeCorrelations.cxx:561 AliAnalysisTaskLongRangeCorrelations.cxx:562 AliAnalysisTaskLongRangeCorrelations.cxx:563 AliAnalysisTaskLongRangeCorrelations.cxx:564 AliAnalysisTaskLongRangeCorrelations.cxx:565 AliAnalysisTaskLongRangeCorrelations.cxx:566 AliAnalysisTaskLongRangeCorrelations.cxx:567 AliAnalysisTaskLongRangeCorrelations.cxx:568 AliAnalysisTaskLongRangeCorrelations.cxx:569 AliAnalysisTaskLongRangeCorrelations.cxx:570 AliAnalysisTaskLongRangeCorrelations.cxx:571 AliAnalysisTaskLongRangeCorrelations.cxx:572 AliAnalysisTaskLongRangeCorrelations.cxx:573 AliAnalysisTaskLongRangeCorrelations.cxx:574 AliAnalysisTaskLongRangeCorrelations.cxx:575 AliAnalysisTaskLongRangeCorrelations.cxx:576 AliAnalysisTaskLongRangeCorrelations.cxx:577 AliAnalysisTaskLongRangeCorrelations.cxx:578 AliAnalysisTaskLongRangeCorrelations.cxx:579 AliAnalysisTaskLongRangeCorrelations.cxx:580 AliAnalysisTaskLongRangeCorrelations.cxx:581 AliAnalysisTaskLongRangeCorrelations.cxx:582 AliAnalysisTaskLongRangeCorrelations.cxx:583 AliAnalysisTaskLongRangeCorrelations.cxx:584 AliAnalysisTaskLongRangeCorrelations.cxx:585 AliAnalysisTaskLongRangeCorrelations.cxx:586 AliAnalysisTaskLongRangeCorrelations.cxx:587 AliAnalysisTaskLongRangeCorrelations.cxx:588 AliAnalysisTaskLongRangeCorrelations.cxx:589 AliAnalysisTaskLongRangeCorrelations.cxx:590 AliAnalysisTaskLongRangeCorrelations.cxx:591 AliAnalysisTaskLongRangeCorrelations.cxx:592 AliAnalysisTaskLongRangeCorrelations.cxx:593 AliAnalysisTaskLongRangeCorrelations.cxx:594 AliAnalysisTaskLongRangeCorrelations.cxx:595 AliAnalysisTaskLongRangeCorrelations.cxx:596 AliAnalysisTaskLongRangeCorrelations.cxx:597 AliAnalysisTaskLongRangeCorrelations.cxx:598 AliAnalysisTaskLongRangeCorrelations.cxx:599 AliAnalysisTaskLongRangeCorrelations.cxx:600 AliAnalysisTaskLongRangeCorrelations.cxx:601 AliAnalysisTaskLongRangeCorrelations.cxx:602 AliAnalysisTaskLongRangeCorrelations.cxx:603 AliAnalysisTaskLongRangeCorrelations.cxx:604 AliAnalysisTaskLongRangeCorrelations.cxx:605 AliAnalysisTaskLongRangeCorrelations.cxx:606 AliAnalysisTaskLongRangeCorrelations.cxx:607 AliAnalysisTaskLongRangeCorrelations.cxx:608 AliAnalysisTaskLongRangeCorrelations.cxx:609 AliAnalysisTaskLongRangeCorrelations.cxx:610 AliAnalysisTaskLongRangeCorrelations.cxx:611 AliAnalysisTaskLongRangeCorrelations.cxx:612 AliAnalysisTaskLongRangeCorrelations.cxx:613 AliAnalysisTaskLongRangeCorrelations.cxx:614 AliAnalysisTaskLongRangeCorrelations.cxx:615 AliAnalysisTaskLongRangeCorrelations.cxx:616 AliAnalysisTaskLongRangeCorrelations.cxx:617 AliAnalysisTaskLongRangeCorrelations.cxx:618 AliAnalysisTaskLongRangeCorrelations.cxx:619 AliAnalysisTaskLongRangeCorrelations.cxx:620 AliAnalysisTaskLongRangeCorrelations.cxx:621 AliAnalysisTaskLongRangeCorrelations.cxx:622 AliAnalysisTaskLongRangeCorrelations.cxx:623 AliAnalysisTaskLongRangeCorrelations.cxx:624 AliAnalysisTaskLongRangeCorrelations.cxx:625 AliAnalysisTaskLongRangeCorrelations.cxx:626 AliAnalysisTaskLongRangeCorrelations.cxx:627 AliAnalysisTaskLongRangeCorrelations.cxx:628 AliAnalysisTaskLongRangeCorrelations.cxx:629 AliAnalysisTaskLongRangeCorrelations.cxx:630 AliAnalysisTaskLongRangeCorrelations.cxx:631 AliAnalysisTaskLongRangeCorrelations.cxx:632 AliAnalysisTaskLongRangeCorrelations.cxx:633 AliAnalysisTaskLongRangeCorrelations.cxx:634 AliAnalysisTaskLongRangeCorrelations.cxx:635 AliAnalysisTaskLongRangeCorrelations.cxx:636 AliAnalysisTaskLongRangeCorrelations.cxx:637 AliAnalysisTaskLongRangeCorrelations.cxx:638 AliAnalysisTaskLongRangeCorrelations.cxx:639 AliAnalysisTaskLongRangeCorrelations.cxx:640 AliAnalysisTaskLongRangeCorrelations.cxx:641 AliAnalysisTaskLongRangeCorrelations.cxx:642 AliAnalysisTaskLongRangeCorrelations.cxx:643 AliAnalysisTaskLongRangeCorrelations.cxx:644 AliAnalysisTaskLongRangeCorrelations.cxx:645 AliAnalysisTaskLongRangeCorrelations.cxx:646 AliAnalysisTaskLongRangeCorrelations.cxx:647 AliAnalysisTaskLongRangeCorrelations.cxx:648 AliAnalysisTaskLongRangeCorrelations.cxx:649 AliAnalysisTaskLongRangeCorrelations.cxx:650 AliAnalysisTaskLongRangeCorrelations.cxx:651 AliAnalysisTaskLongRangeCorrelations.cxx:652 AliAnalysisTaskLongRangeCorrelations.cxx:653 AliAnalysisTaskLongRangeCorrelations.cxx:654 AliAnalysisTaskLongRangeCorrelations.cxx:655 AliAnalysisTaskLongRangeCorrelations.cxx:656 AliAnalysisTaskLongRangeCorrelations.cxx:657 AliAnalysisTaskLongRangeCorrelations.cxx:658 AliAnalysisTaskLongRangeCorrelations.cxx:659 AliAnalysisTaskLongRangeCorrelations.cxx:660 AliAnalysisTaskLongRangeCorrelations.cxx:661 AliAnalysisTaskLongRangeCorrelations.cxx:662 AliAnalysisTaskLongRangeCorrelations.cxx:663 AliAnalysisTaskLongRangeCorrelations.cxx:664 AliAnalysisTaskLongRangeCorrelations.cxx:665 AliAnalysisTaskLongRangeCorrelations.cxx:666 AliAnalysisTaskLongRangeCorrelations.cxx:667 AliAnalysisTaskLongRangeCorrelations.cxx:668 AliAnalysisTaskLongRangeCorrelations.cxx:669 AliAnalysisTaskLongRangeCorrelations.cxx:670 AliAnalysisTaskLongRangeCorrelations.cxx:671 AliAnalysisTaskLongRangeCorrelations.cxx:672 AliAnalysisTaskLongRangeCorrelations.cxx:673 AliAnalysisTaskLongRangeCorrelations.cxx:674 AliAnalysisTaskLongRangeCorrelations.cxx:675 AliAnalysisTaskLongRangeCorrelations.cxx:676 AliAnalysisTaskLongRangeCorrelations.cxx:677 AliAnalysisTaskLongRangeCorrelations.cxx:678 AliAnalysisTaskLongRangeCorrelations.cxx:679 AliAnalysisTaskLongRangeCorrelations.cxx:680 AliAnalysisTaskLongRangeCorrelations.cxx:681 AliAnalysisTaskLongRangeCorrelations.cxx:682 AliAnalysisTaskLongRangeCorrelations.cxx:683 AliAnalysisTaskLongRangeCorrelations.cxx:684 AliAnalysisTaskLongRangeCorrelations.cxx:685 AliAnalysisTaskLongRangeCorrelations.cxx:686 AliAnalysisTaskLongRangeCorrelations.cxx:687 AliAnalysisTaskLongRangeCorrelations.cxx:688 AliAnalysisTaskLongRangeCorrelations.cxx:689 AliAnalysisTaskLongRangeCorrelations.cxx:690 AliAnalysisTaskLongRangeCorrelations.cxx:691 AliAnalysisTaskLongRangeCorrelations.cxx:692 AliAnalysisTaskLongRangeCorrelations.cxx:693 AliAnalysisTaskLongRangeCorrelations.cxx:694 AliAnalysisTaskLongRangeCorrelations.cxx:695 AliAnalysisTaskLongRangeCorrelations.cxx:696 AliAnalysisTaskLongRangeCorrelations.cxx:697 AliAnalysisTaskLongRangeCorrelations.cxx:698 AliAnalysisTaskLongRangeCorrelations.cxx:699 AliAnalysisTaskLongRangeCorrelations.cxx:700 AliAnalysisTaskLongRangeCorrelations.cxx:701 AliAnalysisTaskLongRangeCorrelations.cxx:702 AliAnalysisTaskLongRangeCorrelations.cxx:703 AliAnalysisTaskLongRangeCorrelations.cxx:704 AliAnalysisTaskLongRangeCorrelations.cxx:705 AliAnalysisTaskLongRangeCorrelations.cxx:706 AliAnalysisTaskLongRangeCorrelations.cxx:707