#define AliAnalysisTaskFlowSingleMu_cxx
#include "AliAnalysisTaskFlowSingleMu.h"
#include "TROOT.h"
#include "TH1.h"
#include "TH2.h"
#include "TGraphErrors.h"
#include "TAxis.h"
#include "TCanvas.h"
#include "TLegend.h"
#include "TMath.h"
#include "TObjString.h"
#include "TObjArray.h"
#include "TF1.h"
#include "TStyle.h"
#include "TFitResultPtr.h"
#include "TFile.h"
#include "TArrayI.h"
#include "TArrayD.h"
#include "TSystem.h"
#include "TGraphErrors.h"
#include "TLatex.h"
#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliAODMCParticle.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
#include "AliESDEvent.h"
#include "AliESDMuonTrack.h"
#include "AliVHeader.h"
#include "AliAODMCHeader.h"
#include "AliStack.h"
#include "AliEventplane.h"
#include "AliAnalysisManager.h"
#include "AliCFContainer.h"
#include "AliCFGridSparse.h"
#include "AliCFEffGrid.h"
#include "AliVAnalysisMuon.h"
#include "AliMergeableCollection.h"
#include "AliCounterCollection.h"
#include "AliMuonEventCuts.h"
#include "AliMuonTrackCuts.h"
#include "AliAnalysisMuonUtility.h"
ClassImp(AliAnalysisTaskFlowSingleMu)
using std::ifstream;
AliAnalysisTaskFlowSingleMu::AliAnalysisTaskFlowSingleMu() :
AliVAnalysisMuon(),
fEPKeys(0x0),
fRandom(0x0)
{
}
AliAnalysisTaskFlowSingleMu::AliAnalysisTaskFlowSingleMu(const char *name, const AliMuonTrackCuts& cuts) :
AliVAnalysisMuon(name, cuts),
fEPKeys(0x0),
fRandom(0x0)
{
TString epMethods = "V0A V0C TPC V0Cr1 V0Cr4";
fEPKeys = epMethods.Tokenize(" ");
}
AliAnalysisTaskFlowSingleMu::~AliAnalysisTaskFlowSingleMu()
{
delete fEPKeys;
delete fRandom;
}
void AliAnalysisTaskFlowSingleMu::MyUserCreateOutputObjects()
{
if ( ! fRandom ) fRandom = new TRandom3();
fRandom->SetSeed(0);
Int_t nPtBins = 160;
Double_t ptMin = 0., ptMax = 80.;
TString ptName("Pt"), ptTitle("p_{t}"), ptUnits("GeV/c");
Int_t nEtaBins = 25;
Double_t etaMin = -4.5, etaMax = -2.;
TString etaName("Eta"), etaTitle("#eta"), etaUnits("");
Int_t nPhiBins = 36;
Double_t phiMin = 0.; Double_t phiMax = 2.*TMath::Pi();
TString phiName("Phi"), phiTitle("#phi"), phiUnits("rad");
Int_t nDeltaPhiBins = 18;
Double_t deltaPhiMin = 0.; Double_t deltaPhiMax = TMath::Pi();
TString deltaPhiName("DeltaPhi"), deltaPhiTitle("#phi_{#mu} - #psi_{plane}"), deltaPhiUnits("rad");
Int_t nChargeBins = 2;
Double_t chargeMin = -2, chargeMax = 2.;
TString chargeName("Charge"), chargeTitle("charge"), chargeUnits("e");
Int_t nMotherTypeBins = kNtrackSources;
Double_t motherTypeMin = -0.5, motherTypeMax = (Double_t)kNtrackSources - 0.5;
TString motherType("MotherType"), motherTypeTitle("motherType"), motherTypeUnits("");
Int_t nbins[kNvars] = {nPtBins, nEtaBins, nPhiBins, nDeltaPhiBins, nChargeBins, nMotherTypeBins};
Double_t xmin[kNvars] = {ptMin, etaMin, phiMin, deltaPhiMin, chargeMin, motherTypeMin};
Double_t xmax[kNvars] = {ptMax, etaMax, phiMax, deltaPhiMax, chargeMax, motherTypeMax};
TString axisTitle[kNvars] = {ptTitle, etaTitle, phiTitle, deltaPhiTitle, chargeTitle, motherTypeTitle};
TString axisUnits[kNvars] = {ptUnits, etaUnits, phiUnits, deltaPhiUnits, chargeUnits, motherTypeUnits};
Int_t iobj=0;
TH1* histo = 0x0;
TString currTitle = "";
for ( Int_t iep=0; iep<fEPKeys->GetEntries(); iep++ ) {
TString currEP = fEPKeys->At(iep)->GetName();
AliCFContainer* cfContainer = new AliCFContainer(Form("FlowSingleMuContainer%s", currEP.Data()),"Container for tracks",kNsteps,kNvars,nbins);
TString currName = "";
for ( Int_t idim = 0; idim<kNvars; idim++){
currName = Form("%s (%s)", axisTitle[idim].Data(), axisUnits[idim].Data());
currName.ReplaceAll("()","");
cfContainer->SetVarTitle(idim, currName.Data());
cfContainer->SetBinLimits(idim, xmin[idim], xmax[idim]);
}
TString stepTitle[kNsteps] = {"reconstructed", "generated"};
TAxis* currAxis = 0x0;
for (Int_t istep=0; istep<kNsteps; istep++){
cfContainer->SetStepTitle(istep, stepTitle[istep].Data());
AliCFGridSparse* gridSparse = cfContainer->GetGrid(istep);
currAxis = gridSparse->GetAxis(kHvarMotherType);
for ( Int_t ibin=0; ibin<fSrcKeys->GetEntries(); ibin++ ) {
currAxis->SetBinLabel(ibin+1, fSrcKeys->At(ibin)->GetName());
}
}
AddObjectToCollection(cfContainer, iobj++);
Bool_t isTPC = currEP.Contains("TPC");
Double_t minPsiPlane = ( isTPC ) ? 0. : -TMath::Pi()/2.;
Double_t maxPsiPlane = ( isTPC ) ? TMath::Pi() : TMath::Pi()/2.;
histo = new TH1D(Form("hEventPlane%s", currEP.Data()), Form("Event plane distribution: %s", currEP.Data()), 18, minPsiPlane, maxPsiPlane);
histo->GetXaxis()->SetTitle(Form("#psi_{%s} (rad)", currEP.Data()));
AddObjectToCollection(histo, iobj++);
for ( Int_t jep=iep+1; jep<fEPKeys->GetEntries(); jep++ ) {
TString auxEP = fEPKeys->At(jep)->GetName();
currTitle = Form("cos(#psi_{%s} - #psi_{%s})",currEP.Data(),auxEP.Data());
histo = new TH1D(Form("hResoSub3%s%s",currEP.Data(),auxEP.Data()), currTitle.Data(), 100, -1.,1.);
histo->GetXaxis()->SetTitle(currTitle.Data());
AddObjectToCollection(histo, iobj++);
}
currTitle = Form("cos(#psi_{1} - #psi_{2})");
histo = new TH1D(Form("hResoSub2%s",currEP.Data()), Form("%s: %s", currEP.Data(), currTitle.Data()), 100, -1.,1.);
histo->GetXaxis()->SetTitle(currTitle.Data());
AddObjectToCollection(histo, iobj++);
}
fMuonTrackCuts->Print("mask");
}
void AliAnalysisTaskFlowSingleMu::ProcessEvent(TString physSel, const TObjArray& selectTrigClasses, TString centrality)
{
TArrayD psiPlane(fEPKeys->GetEntriesFast());
psiPlane.Reset(-999.);
const Double_t kLowestVal = -10.;
Int_t harmonic = 2;
AliEventplane* eventPlane = InputEvent()->GetEventplane();
psiPlane[0] = eventPlane->GetEventplane("V0A",InputEvent(),harmonic);
psiPlane[1] = eventPlane->GetEventplane("V0C",InputEvent(),harmonic);
psiPlane[2] = eventPlane->GetEventplane("Q");
if ( psiPlane[2] < 0.) psiPlane[2] = -999.;
Double_t qx = 0., qy = 0.;
psiPlane[3] = eventPlane->CalculateVZEROEventPlane(InputEvent(),0,harmonic,qx,qy);
psiPlane[4] = eventPlane->CalculateVZEROEventPlane(InputEvent(),3,harmonic,qx,qy);
Bool_t noValidEP = kTRUE;
TArrayD psiPlaneCalc(fEPKeys->GetEntriesFast());
for ( Int_t iep=0; iep<fEPKeys->GetEntriesFast(); iep++ ) {
psiPlaneCalc[iep] = psiPlane[iep];
if ( psiPlane[iep] < kLowestVal ) continue;
if ( psiPlane[iep] < 0. ) psiPlaneCalc[iep] += TMath::Pi();
noValidEP = kFALSE;
}
if ( noValidEP ) return;
for ( Int_t iep=0; iep<fEPKeys->GetEntriesFast(); iep++ ) {
if ( psiPlane[iep] < kLowestVal ) continue;
for ( Int_t itrig=0; itrig<selectTrigClasses.GetEntries(); ++itrig ) {
TString trigClassName = ((TObjString*)selectTrigClasses.At(itrig))->GetString();
TString currEP = fEPKeys->At(iep)->GetName();
((TH1*)GetMergeableObject(physSel, trigClassName, centrality, Form("hEventPlane%s",currEP.Data())))->Fill(psiPlane[iep]);
for ( Int_t jep=iep+1; jep<fEPKeys->GetEntriesFast(); jep++ ) {
if ( psiPlane[jep] < kLowestVal ) continue;
((TH1*)GetMergeableObject(physSel, trigClassName, centrality, Form("hResoSub3%s%s",currEP.Data(), fEPKeys->At(jep)->GetName())))->Fill(TMath::Cos(2.*(psiPlaneCalc[iep]-psiPlaneCalc[jep])));
}
if ( iep == 2 ) {
TVector2* qsub1 = eventPlane->GetQsub1();
TVector2* qsub2 = eventPlane->GetQsub2();
if ( qsub1 && qsub2 )
((TH1*)GetMergeableObject(physSel, trigClassName, centrality, Form("hResoSub2%s",currEP.Data())))->Fill(TMath::Cos(qsub1->Phi()/2.-qsub2->Phi()/2.));
}
}
}
Double_t containerInput[kNvars];
AliVParticle* track = 0x0;
Int_t nSteps = MCEvent() ? 2 : 1;
for ( Int_t istep = 0; istep<nSteps; ++istep ) {
Int_t nTracks = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetNTracks(InputEvent()) : MCEvent()->GetNumberOfTracks();
for (Int_t itrack = 0; itrack < nTracks; itrack++) {
track = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetTrack(itrack,InputEvent()) : MCEvent()->GetTrack(itrack);
Bool_t isSelected = ( istep == kStepReconstructed ) ? fMuonTrackCuts->IsSelected(track) : ( TMath::Abs(track->PdgCode()) == 13 );
if ( ! isSelected ) continue;
Int_t trackSrc = GetParticleType(track);
containerInput[kHvarPt] = track->Pt();
containerInput[kHvarEta] = track->Eta();
containerInput[kHvarPhi] = track->Phi();
containerInput[kHvarCharge] = track->Charge()/3.;
containerInput[kHvarMotherType] = (Double_t)trackSrc;
for ( Int_t iep=0; iep<fEPKeys->GetEntriesFast(); iep++ ) {
if ( psiPlane[iep] < kLowestVal ) continue;
TString currEP = fEPKeys->At(iep)->GetName();
Double_t deltaPhi = containerInput[kHvarPhi] - psiPlane[iep];
Double_t nPi = TMath::Floor( 1. - deltaPhi / TMath::Pi() );
deltaPhi += nPi * TMath::Pi();
containerInput[kHvarDeltaPhi] = deltaPhi;
for ( Int_t itrig=0; itrig<selectTrigClasses.GetEntries(); ++itrig ) {
TString trigClassName = ((TObjString*)selectTrigClasses.At(itrig))->GetString();
if ( istep == kStepReconstructed && ! fMuonTrackCuts->TrackPtCutMatchTrigClass(track, fMuonEventCuts->GetTrigClassPtCutLevel(trigClassName)) ) continue;
((AliCFContainer*)GetMergeableObject(physSel, trigClassName, centrality, Form("FlowSingleMuContainer%s",currEP.Data())))->Fill(containerInput,istep);
}
}
}
}
}
TArrayD AliAnalysisTaskFlowSingleMu::GetCentralityRange(TString sRange)
{
TArrayD centralityRange(2);
centralityRange.Reset(-999.);
TObjArray* array = sRange.Tokenize("_");
if ( array->GetEntries() == 2 ) {
for ( Int_t ientry=0; ientry<2; ientry++ ) {
centralityRange[ientry] = ((TObjString*)array->At(ientry))->GetString().Atof();
}
}
delete array;
return centralityRange;
}
void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
AliVAnalysisMuon::Terminate("");
if ( ! fMergeableCollection ) return;
TString physSel = fTerminateOptions->At(0)->GetName();
TString trigClassName = fTerminateOptions->At(1)->GetName();
TString centralityRange = fTerminateOptions->At(2)->GetName();
TString furtherOpt = fTerminateOptions->At(3)->GetName();
TObjArray* centralityClasses = centralityRange.Tokenize(",");
TArrayD centralityArray(centralityClasses->GetEntries()+1);
Int_t ib = 0;
for ( Int_t icent=0; icent<centralityClasses->GetEntries(); icent++ ) {
TArrayD range = GetCentralityRange(centralityClasses->At(icent)->GetName());
if ( icent == 0 ) centralityArray.AddAt(range[0],ib++);
centralityArray.AddAt(range[1],ib++);
}
TString selectEP = "";
TObjArray resoEParray;
resoEParray.SetOwner();
TString outFilename = "";
TObjArray* optArr = furtherOpt.Tokenize(" ");
TString currName = "";
TString resoFilename = "";
for ( Int_t iopt=0; iopt<optArr->GetEntries(); iopt++ ) {
currName = optArr->At(iopt)->GetName();
if ( currName.Contains(".root") ) outFilename = currName;
else if ( currName.Contains(".txt") ) resoFilename = currName;
else {
for ( Int_t iep=0; iep<fEPKeys->GetEntries(); iep++ ) {
if ( ! currName.CompareTo(fEPKeys->At(iep)->GetName()) ) resoEParray.Add(new TObjString(currName.Data()));
}
}
}
delete optArr;
if ( resoEParray.At(0) ) selectEP = resoEParray.At(0)->GetName();
furtherOpt.ToUpper();
Bool_t v2only = furtherOpt.Contains("V2ONLY");
TAxis* customBins = 0x0;
Double_t myBins[] = {2., 3., 4., 5., 6., 8., 10.};
Int_t nMyBins = sizeof(myBins)/sizeof(myBins[0])-1;
customBins = new TAxis(nMyBins, myBins);
TCanvas *can = 0x0, *showCan = 0x0;
Int_t xshift = 100;
Int_t yshift = 20;
Int_t igroup1 = 0;
Int_t igroup2 = 0;
TList outList;
TObjArray resoCentrality;
resoCentrality.SetOwner();
TArrayD resolution[3];
for ( Int_t ires=0; ires<3; ires++ ) {
resolution[ires].Set(50);
}
Bool_t externalReso = ( ! resoFilename.IsNull() && ! gSystem->AccessPathName(resoFilename.Data()) );
Bool_t internalReso = kTRUE;
if ( externalReso ) {
TString currLine = "";
std::ifstream inFile(resoFilename.Data());
if (inFile.is_open()) {
ib = 0;
while (! inFile.eof() ) {
currLine.ReadLine(inFile,kFALSE);
if ( currLine.BeginsWith("#") || currLine.Length() < 3 ) continue;
TObjArray* array = currLine.Tokenize(" ");
resoCentrality.Add(new TObjString(array->At(0)->GetName()));
for ( Int_t ires=0; ires<3; ires++ ) {
resolution[ires].AddAt(((TObjString*)array->At(ires+1))->GetString().Atof(),ib);
}
delete array;
ib++;
}
}
for ( Int_t ires=0; ires<3; ires++ ) {
resolution[ires].Set(ib);
}
}
else {
for ( Int_t ires=0; ires<3; ires++ ) {
resolution[ires].Set(centralityClasses->GetEntries());
Double_t resetVal = ( ires == 0 ) ? 1. : 0.;
resolution[ires].Reset(resetVal);
}
TArrayD currCos(3);
for ( Int_t icent=0; icent<centralityClasses->GetEntries(); icent++ ) {
resoCentrality.Add(new TObjString(centralityClasses->At(icent)->GetName()));
Int_t icos = 0;
Double_t sumRelErrSquare = 0.;
TString hResoTitle = "";
for ( Int_t isub=0; isub<resoEParray.GetEntries(); isub++ ) {
TString resoDet1 = resoEParray.At(isub)->GetName();
for ( Int_t jsub=isub+1; jsub<resoEParray.GetEntries(); jsub++ ) {
TString resoDet2 = resoEParray.At(jsub)->GetName();
TH1* histo = 0x0;
TString resoDet = "";
for ( Int_t icomb=0; icomb<2; icomb++ ) {
TString hName = "hResoSub3";
resoDet = ( icomb == 0 ) ? resoDet1 + resoDet2 : resoDet2 + resoDet1;
hName += resoDet;
histo = static_cast<TH1*>(GetSum(physSel,trigClassName,resoCentrality.At(icent)->GetName(),hName));
if ( histo ) break;
}
if ( ! histo || histo->Integral() == 0 ) continue;
currCos[icos] = histo->GetMean();
if ( currCos[icos] <= 0. ) continue;
Double_t relErr = histo->GetMeanError() / currCos[icos];
sumRelErrSquare += relErr * relErr;
icos++;
hResoTitle += Form("%s ", resoDet.Data());
}
}
if ( icos != 3 ) {
printf("Warning: resolution cannot be estimated for %s\n", resoCentrality.At(icent)->GetName());
internalReso = kFALSE;
continue;
}
resolution[0][icent] = TMath::Sqrt((currCos[0]*currCos[1]/currCos[2]));
resolution[1][icent] = resolution[0][icent]/2.*TMath::Sqrt(sumRelErrSquare);
printf("Resolution (%s) %s %g +- %g\n", hResoTitle.Data(), centralityClasses->At(icent)->GetName(), resolution[0][icent], resolution[1][icent]);
}
}
Bool_t hasResolution = ( externalReso || internalReso );
TArrayD resoCentrArray(resoCentrality.GetEntries()+1);
ib = 0;
for ( Int_t icent=0; icent<resoCentrality.GetEntries(); icent++ ) {
TArrayD range = GetCentralityRange(resoCentrality.At(icent)->GetName());
if ( icent == 0 ) resoCentrArray.AddAt(range[0],ib++);
resoCentrArray.AddAt(range[1], ib++);
}
const Int_t kNresoCentr = resoCentrality.GetEntries();
AliCFGridSparse* gridSparseArray[kNsteps*kNresoCentr];
TString stepName[2];
for ( Int_t icent=0; icent<kNresoCentr; icent++ ) {
for ( Int_t istep=0; istep<kNsteps; istep++ ) {
gridSparseArray[istep*kNresoCentr+icent] = 0x0;
}
AliCFContainer* cfContainer = static_cast<AliCFContainer*> ( GetSum(physSel,trigClassName,resoCentrality.At(icent)->GetName(),Form("FlowSingleMuContainer%s", selectEP.Data())) );
if ( ! cfContainer ) continue;
for ( Int_t istep=0; istep<kNsteps; istep++ ) {
stepName[istep] = cfContainer->GetStepTitle(istep);
gridSparseArray[istep*kNresoCentr+icent] = cfContainer->GetGrid(istep);
if ( ! customBins ) customBins = gridSparseArray[istep*kNresoCentr+icent]->GetAxis(kHvarPt);
}
}
Bool_t isMC = furtherOpt.Contains("MC");
Int_t firstSrc = ( isMC ) ? 0 : kUnidentified;
Int_t lastSrc = ( isMC ) ? kNtrackSources - 1 : kUnidentified;
Int_t srcColors[kNtrackSources] = {kBlack, kRed, kSpring, kTeal, kBlue, kViolet, kMagenta, kOrange};
if ( ! isMC ) srcColors[kUnidentified] = 1;
const Int_t kNcentralities = centralityClasses->GetEntries();
const Int_t kNhistos = kNsteps*kNtrackSources*kNcentralities;
TObjArray ptVsDeltaPhiList(kNhistos);
TObjArray ptVsPhiList(kNhistos);
TArrayD wgtReso[3];
for ( Int_t ires=0; ires<3; ires++ ) {
wgtReso[ires].Set(kNhistos);
wgtReso[ires].Reset(0.);
}
for ( Int_t istep=0; istep<kNsteps; istep++ ) {
for ( Int_t isrc = firstSrc; isrc <= lastSrc; ++isrc ) {
TString baseName = Form("%s_%s", stepName[istep].Data(), fSrcKeys->At(isrc)->GetName());
for ( Int_t icent=0; icent<centralityClasses->GetEntries(); icent++ ) {
Int_t idx = kNcentralities * kNtrackSources * istep + kNcentralities * isrc + icent;
TH1* hPtVsDeltaPhi = 0x0;
TH1* hPtVsPhi = 0x0;
TString baseNameCent = Form("%s_%s", baseName.Data(), centralityClasses->At(icent)->GetName());
Double_t nMuons = 0.;
TString debugString = Form("\n%s", centralityClasses->At(icent)->GetName());
for ( Int_t rcent=0; rcent<kNresoCentr; rcent++ ) {
if ( resoCentrArray[rcent] < centralityArray[icent] ||
resoCentrArray[rcent+1] > centralityArray[icent+1] ) continue;
AliCFGridSparse* gridSparse = gridSparseArray[istep*kNresoCentr+rcent];
if ( ! gridSparse || gridSparse->GetEntries() == 0. ) continue;
SetSparseRange(gridSparse, kHvarEta, "", -3.999, -2.501);
SetSparseRange(gridSparse, kHvarMotherType, "", isrc+1, isrc+1, "USEBIN");
TH1* auxHisto = gridSparse->Project(kHvarDeltaPhi,kHvarPt);
Double_t currYield = auxHisto->Integral();
if ( currYield == 0. ) continue;
nMuons += currYield;
debugString += Form("\nAdding %s yield %g reso", resoCentrality.At(rcent)->GetName(), currYield);
for ( Int_t ires=0; ires<3; ires++ ) {
wgtReso[ires][idx] += resolution[ires][rcent] * currYield;
debugString += Form(" %g", resolution[ires][rcent]);
}
if ( ! hPtVsDeltaPhi ) hPtVsDeltaPhi = static_cast<TH1*>(auxHisto->Clone(Form("ptVsDeltaPhi_%s", baseNameCent.Data())));
else hPtVsDeltaPhi->Add(auxHisto);
delete auxHisto;
auxHisto = gridSparse->Project(kHvarPhi,kHvarPt);
if ( ! hPtVsPhi ) hPtVsPhi = static_cast<TH1*>(auxHisto->Clone(Form("ptVsPhi_%s", baseNameCent.Data())));
else hPtVsPhi->Add(auxHisto);
delete auxHisto;
}
if ( nMuons == 0. ) continue;
debugString += Form("\nWeighted reso ");
for ( Int_t ires=0; ires<3; ires++ ) {
wgtReso[ires][idx] = wgtReso[ires][idx]/nMuons;
debugString += Form(" %g", wgtReso[ires][idx]);
}
AliDebug(1,debugString.Data());
ptVsDeltaPhiList.AddAt(hPtVsDeltaPhi,idx);
ptVsPhiList.AddAt(hPtVsPhi,idx);
}
}
}
if ( hasResolution ) {
currName = Form("reso_%s", selectEP.Data());
currName += externalReso ? Form("_external") : Form("_sub_%s_%s_%s", resoEParray.At(0)->GetName(), resoEParray.At(1)->GetName(), resoEParray.At(2)->GetName());
TGraphErrors* resoGraph = new TGraphErrors(kNresoCentr);
resoGraph->SetName(currName.Data());
currName.Append("_can");
can = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
can->cd();
for ( Int_t icent=0; icent<kNresoCentr; icent++ ) {
resoGraph->SetPoint(icent, 0.5*(resoCentrArray[icent+1] + resoCentrArray[icent]), resolution[0][icent]);
resoGraph->SetPointError(icent, 0.5*(resoCentrArray[icent+1] - resoCentrArray[icent]), resolution[1][icent]);
}
resoGraph->SetTitle(Form("Resolution %s", selectEP.Data()));
resoGraph->GetXaxis()->SetTitle("Centrality");
resoGraph->GetYaxis()->SetTitle("Resolution");
resoGraph->Draw("apz");
outList.Add(resoGraph);
for ( Int_t istep=0; istep<kNsteps; istep++ ) {
for ( Int_t isrc = firstSrc; isrc <= lastSrc; ++isrc ) {
currName = Form("wgtReso_%s_%s", stepName[istep].Data(), fSrcKeys->At(isrc)->GetName());
resoGraph = new TGraphErrors();
resoGraph->SetName(currName.Data());
for ( Int_t icent=0; icent<kNcentralities; icent++ ) {
Int_t idx = kNcentralities * kNtrackSources * istep + kNcentralities * isrc + icent;
if ( wgtReso[0][idx] == 0. ) continue;
resoGraph->SetPoint(icent, 0.5*(centralityArray[icent+1] + centralityArray[icent]), wgtReso[0][idx]);
resoGraph->SetPointError(icent, 0.5*(centralityArray[icent+1] - centralityArray[icent]), wgtReso[1][idx]);
}
if ( resoGraph->GetN() == 0 ) continue;
printf("New reso %s\n", resoGraph->GetName());
resoGraph->SetTitle(Form("Resolution %s", selectEP.Data()));
resoGraph->GetXaxis()->SetTitle("Centrality");
resoGraph->GetYaxis()->SetTitle("Resolution");
resoGraph->Draw("pz");
outList.Add(resoGraph);
}
}
}
TString graphTypeName[3] = {"raw","correctStat","correctSyst"};
Int_t drawOrder[3] = {0, 2, 1};
TString drawOpt[3] = {"apz","pz","a2"};
Int_t nTypes = ( hasResolution ) ? 3 : 1;
TString histoName = "", histoPattern = "";
gStyle->SetOptFit(1111);
TString funcFormula = ( v2only ) ? "[0] * (1. + 2.*[1]*TMath::Cos(2*x))" : "[0] * (1. + 2.*([1]*TMath::Cos(x) + [2]*TMath::Cos(2*x) + [3]*TMath::Cos(3*x)))";
TF1* func = new TF1("funcFlow",funcFormula.Data(), 0., TMath::Pi());
if ( v2only ) func->SetParNames("scale", "v2");
else func->SetParNames("scale","v1", "v2", "v3");
Int_t v2par = ( v2only ) ? 1 : 2;
for ( Int_t istep=0; istep<kNsteps; istep++ ) {
for ( Int_t isrc = firstSrc; isrc <= lastSrc; ++isrc ) {
TString baseName = Form("%s_%s", stepName[istep].Data(), fSrcKeys->At(isrc)->GetName());
TGraphErrors* flowVsCentrality[3];
for ( Int_t itype=0; itype<nTypes; itype++ ) {
histoName = Form("v2VsCentrality_%s_%s", baseName.Data(), graphTypeName[itype].Data());
flowVsCentrality[itype] = new TGraphErrors();
flowVsCentrality[itype]->SetName(histoName.Data());
flowVsCentrality[itype]->SetTitle(histoName.Data());
}
for ( Int_t icent=0; icent<centralityClasses->GetEntries(); icent++ ) {
Int_t idx = kNcentralities * kNtrackSources * istep + kNcentralities * isrc + icent;
TH2* histo2D = static_cast<TH2*> (ptVsDeltaPhiList.At(idx));
if ( ! histo2D ) continue;
TString baseNameCent = Form("%s_%s", baseName.Data(), centralityClasses->At(icent)->GetName());
TAxis* ptAxis = histo2D->GetYaxis();
Int_t ipad = 0;
TGraphErrors* flowVsPt[3];
for ( Int_t itype=0; itype<nTypes; itype++ ) {
histoName = Form("v2VsPt_%s_%s", baseNameCent.Data(), graphTypeName[itype].Data());
flowVsPt[itype] = new TGraphErrors();
flowVsPt[itype]->SetName(histoName.Data());
flowVsPt[itype]->SetTitle(histoName.Data());
}
for ( Int_t ipt=0; ipt<=customBins->GetNbins(); ipt++ ) {
Int_t minCustomBin = ( ipt == 0 ) ? 1 : ipt;
Int_t maxCustomBin = ( ipt == 0 ) ? customBins->GetNbins() : ipt;
Int_t ptMinBin = ptAxis->FindBin(customBins->GetBinLowEdge(minCustomBin)+1.e-4);
Int_t ptMaxBin = ptAxis->FindBin(customBins->GetBinUpEdge(maxCustomBin)-1.e-4);
Double_t ptMin = ptAxis->GetBinLowEdge(ptMinBin);
Double_t ptMax = ptAxis->GetBinUpEdge(ptMaxBin);
TH1* projHisto = histo2D->ProjectionX(Form("%s_%s_ptBin%i", baseName.Data(), histo2D->GetName(), ipt), ptMinBin, ptMaxBin);
projHisto->SetTitle(Form("%g < p_{t} (GeV/c) < %g", ptMin, ptMax));
if ( projHisto->Integral() < 50 ) break;
if ( ipad%4 == 0 ) {
currName = projHisto->GetName();
currName.Append("_can");
showCan = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
showCan->Divide(2,2);
ipad = 0;
}
showCan->cd(++ipad);
if ( v2only ) func->SetParameters(projHisto->Integral(), 0.01);
else {
func->SetParameters(projHisto->Integral(), 0., 0.01, 0.);
func->FixParameter(1,0.);
}
projHisto->Fit(func,"R");
for ( Int_t itype=0; itype<nTypes; itype++ ) {
TGraphErrors* currGraph = ( ipt == 0 ) ? flowVsCentrality[itype] : flowVsPt[itype];
Double_t resoVal = ( itype == 0 ) ? 1. : wgtReso[0][idx];
Double_t resoErr = ( itype == 0 ) ? 0. : wgtReso[itype][idx];
Double_t rawVal = func->GetParameter(v2par);
Double_t rawErr = (itype == 2 ) ? 0. : func->GetParError(v2par);
Double_t yVal = rawVal/resoVal;
Double_t xVal = ( ipt == 0 ) ? 0.5*(centralityArray[icent+1] + centralityArray[icent]) : 0.5*(ptMax + ptMin);
Double_t xErr = ( ipt == 0 ) ? 0.5*(centralityArray[icent+1] - centralityArray[icent]) : 0.5*(ptMax - ptMin);
Int_t ipoint = currGraph->GetN();
currGraph->SetPoint(ipoint,xVal,yVal);
if ( itype > 0 && ipt != 0 ) {
resoErr = 0.;
TString graphTitle = currGraph->GetTitle();
if ( ! graphTitle.Contains("|") ) {
graphTitle += Form(" | Rel. error on EP resolution: %.2g (stat.) %.2g (syst.)", wgtReso[1][idx]/wgtReso[0][idx], wgtReso[2][idx]/wgtReso[0][idx]);
currGraph->SetTitle(graphTitle.Data());
}
}
Double_t rawErrRel = ( rawVal != 0. ) ? rawErr/rawVal : 0.;
Double_t resoErrRel = ( resoVal != 0. ) ? resoErr/resoVal : 0.;
Double_t yErr = TMath::Abs(yVal) * TMath::Sqrt(rawErrRel*rawErrRel+resoErrRel*resoErrRel);
currGraph->SetPointError(ipoint,xErr,yErr);
}
}
for ( Int_t itype=0; itype<nTypes; itype++ ) {
Int_t currType = drawOrder[itype];
if ( itype < 2 ) {
currName = flowVsPt[currType]->GetName();
currName.Append("Can");
can = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
igroup2++;
can->cd();
}
flowVsPt[currType]->GetXaxis()->SetTitle(ptAxis->GetTitle());
flowVsPt[currType]->GetYaxis()->SetTitle("v2");
flowVsPt[currType]->GetYaxis()->SetRangeUser(0., 0.25);
flowVsPt[currType]->SetFillStyle(0);
flowVsPt[currType]->Draw(drawOpt[currType].Data());
outList.Add(flowVsPt[currType]);
}
}
for ( Int_t itype=0; itype<nTypes; itype++ ) {
Int_t currType = drawOrder[itype];
if ( flowVsCentrality[currType]->GetN() == 0 ) continue;
if ( itype < 2 ) {
currName = flowVsCentrality[currType]->GetName();
currName.Append("Can");
can = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
can->cd();
}
flowVsCentrality[currType]->GetXaxis()->SetTitle("Centrality");
flowVsCentrality[currType]->GetYaxis()->SetTitle("v2");
flowVsCentrality[currType]->SetFillStyle(0);
flowVsCentrality[currType]->GetYaxis()->SetRangeUser(0., 0.25);
flowVsCentrality[currType]->Draw(drawOpt[currType].Data());
outList.Add(flowVsCentrality[currType]);
igroup2++;
}
igroup1++;
igroup2 = 0;
}
}
igroup1++;
igroup2 = 0;
Int_t icolor=0;
currName ="eventPlaneDistrib";
can = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
can->SetGridy();
igroup2++;
const Int_t kNfits = 2;
TString fitTypeName[kNfits] = {"Cos","Sin"};
Bool_t addOffsetToCentrality = kFALSE;
Double_t offsetStep = 0.1;
TLegend* leg = new TLegend(0.7,0.7,0.92,0.92);
leg->SetBorderSize(1);
TGraphErrors* epCheck[kNfits];
for ( Int_t itype=0; itype<kNfits; itype++ ) {
histoName = Form("checkFourier_%s",fitTypeName[itype].Data());
epCheck[itype] = new TGraphErrors();
epCheck[itype]->SetName(histoName.Data());
}
for ( Int_t icent=0; icent<centralityClasses->GetEntries(); icent++ ) {
TH1* histo = static_cast<TH1*> ( GetSum(physSel,trigClassName,centralityClasses->At(icent)->GetName(),Form("hEventPlane%s", selectEP.Data())) );
if ( ! histo ) continue;
histo->SetName(Form("%s_%s", histo->GetName(), centralityClasses->At(icent)->GetName()));
if ( histo->Integral() < 50. ) continue;
if ( histo->GetSumw2N() == 0 ) histo->Sumw2();
for ( Int_t itype=0; itype<kNfits; itype++ ) {
TString checkFormula = Form("[0]*(1.+2.*[1]*TMath::%s(2.*x))",fitTypeName[itype].Data());
TF1* checkFunc = new TF1(Form("checkFunc_%s", fitTypeName[itype].Data()), checkFormula.Data(), histo->GetXaxis()->GetBinLowEdge(1), histo->GetXaxis()->GetBinUpEdge(histo->GetXaxis()->GetNbins()));
checkFunc->SetParameters(histo->Integral(), 0.);
histo->Fit(checkFunc,"R0");
TGraphErrors* currGraph = epCheck[itype];
Double_t yVal = checkFunc->GetParameter(1);
Double_t yErr = checkFunc->GetParError(1);
Double_t xVal = 0.5*(centralityArray[icent+1] + centralityArray[icent]);
Double_t xErr = 0.5*(centralityArray[icent+1] - centralityArray[icent]);
Int_t ipoint = currGraph->GetN();
currGraph->SetPoint(ipoint,xVal,yVal);
currGraph->SetPointError(ipoint,xErr,yErr);
}
histo->Fit("pol0","R0");
TF1* pol0 = histo->GetFunction("pol0");
histo->Scale(1./pol0->GetParameter(0));
Double_t offset = ( addOffsetToCentrality ) ? offsetStep*(Double_t)icolor : 0.;
TGraphErrors* graph = new TGraphErrors();
graph->SetTitle(Form("%s %s", histo->GetTitle(), trigClassName.Data()));
for ( Int_t ipoint=0; ipoint<histo->GetXaxis()->GetNbins(); ipoint++ ) {
Int_t ibin = ipoint+1;
graph->SetPoint(ipoint, histo->GetXaxis()->GetBinCenter(ibin), histo->GetBinContent(ibin) + offset);
graph->SetPointError(ipoint, histo->GetXaxis()->GetBinWidth(ibin)/2., histo->GetBinError(ibin));
}
graph->GetXaxis()->SetTitle(histo->GetXaxis()->GetTitle());
graph->GetYaxis()->SetTitle("Data/Fit (pol0)");
TString legTitle = Form("%s %%", centralityClasses->At(icent)->GetName());
if ( addOffsetToCentrality ) {
graph->GetYaxis()->SetRangeUser(1.-offsetStep, 1.+1.5*offsetStep*(Double_t)centralityClasses->GetEntries());
graph->GetYaxis()->SetNdivisions(2*centralityClasses->GetEntries(),0,0);
legTitle += Form(" ( + %g)", offset);
}
Int_t currColor = ( icolor < kNtrackSources ) ? srcColors[icolor] : 20+icolor;
graph->SetLineColor(currColor);
graph->SetMarkerColor(currColor);
graph->SetMarkerStyle(20+icolor);
TString currDrawOpt = "pz";
if ( icolor == 0 ) currDrawOpt += "a";
graph->Draw(currDrawOpt.Data());
legTitle.ReplaceAll("_"," - ");
leg->AddEntry(graph,legTitle.Data(),"lp");
if ( addOffsetToCentrality ) {
TLatex* latex = new TLatex(histo->GetXaxis()->GetXmax()+0.5*histo->GetXaxis()->GetBinWidth(1), 1.+(Double_t)offset, Form("#chi^{2}/NDF = %.3g", pol0->GetChisquare()/(Double_t)pol0->GetNDF()));
latex->SetTextColor(currColor);
latex->SetTextSize(0.025);
latex->Draw("same");
}
icolor++;
}
leg->Draw("same");
currName = "epCheckCan";
can = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
can->SetGridy();
igroup2++;
leg = new TLegend(0.7,0.7,0.95,0.95);
leg->SetBorderSize(1);
for ( Int_t itype=0; itype<kNfits; itype++ ) {
epCheck[itype]->SetLineColor(srcColors[itype]);
epCheck[itype]->SetMarkerColor(srcColors[itype]);
epCheck[itype]->SetMarkerStyle(20+itype);
epCheck[itype]->GetXaxis()->SetTitle("Centrality (%)");
TString currDrawOpt = "pz";
if ( can->GetListOfPrimitives()->GetEntries() == 0 ) currDrawOpt.Prepend("a");
epCheck[itype]->Draw(currDrawOpt.Data());
leg->AddEntry(epCheck[itype],Form("<%s(2 #psi_{%s})>", fitTypeName[itype].Data(), selectEP.Data()),"lp");
}
leg->Draw("same");
for ( Int_t istep=0; istep<kNsteps; istep++ ) {
for ( Int_t isrc = firstSrc; isrc <= lastSrc; ++isrc ) {
TString baseName = Form("%s_%s", stepName[istep].Data(), fSrcKeys->At(isrc)->GetName());
for ( Int_t icent=0; icent<centralityClasses->GetEntries(); icent++ ) {
Int_t idx = kNcentralities * kNtrackSources * istep + kNcentralities * isrc + icent;
TH2* histo2D = static_cast<TH2*> (ptVsPhiList.At(idx));
if ( ! histo2D ) continue;
TString baseNameCent = Form("%s_%s", baseName.Data(), centralityClasses->At(icent)->GetName());
TAxis* ptAxis = histo2D->GetYaxis();
Int_t ipad = 0;
TGraphErrors* detEffect[kNfits];
for ( Int_t itype=0; itype<kNfits; itype++ ) {
histoName = Form("checkResoVsPt_%s_%s", baseNameCent.Data(), fitTypeName[itype].Data());
detEffect[itype] = new TGraphErrors();
detEffect[itype]->SetName(histoName.Data());
detEffect[itype]->SetTitle(histoName.Data());
}
for ( Int_t ipt=0; ipt<=customBins->GetNbins(); ipt++ ) {
Int_t minCustomBin = ( ipt == 0 ) ? 1 : ipt;
Int_t maxCustomBin = ( ipt == 0 ) ? customBins->GetNbins() : ipt;
Int_t ptMinBin = ptAxis->FindBin(customBins->GetBinLowEdge(minCustomBin)+1.e-4);
Int_t ptMaxBin = ptAxis->FindBin(customBins->GetBinUpEdge(maxCustomBin)-1.e-4);
Double_t ptMin = ptAxis->GetBinLowEdge(ptMinBin);
Double_t ptMax = ptAxis->GetBinUpEdge(ptMaxBin);
TH1* projHisto = histo2D->ProjectionX(Form("checkReso_%s_%s_ptBin%i", baseName.Data(), histo2D->GetName(), ipt), ptMinBin, ptMaxBin);
projHisto->SetTitle(Form("%g < p_{t} (GeV/c) < %g", ptMin, ptMax));
if ( projHisto->Integral() < 50 ) break;
if ( ipad%4 == 0 ) {
currName = projHisto->GetName();
currName.Append("_can");
showCan = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
showCan->Divide(2,2);
ipad = 0;
}
showCan->cd(++ipad);
for ( Int_t itype=0; itype<kNfits; itype++ ) {
TString checkFormula = Form("[0]*(1.+2.*[1]*TMath::%s(2.*x))",fitTypeName[itype].Data());
TF1* checkFunc = new TF1(Form("checkFunc_%s", fitTypeName[itype].Data()), checkFormula.Data(), projHisto->GetXaxis()->GetBinLowEdge(1), projHisto->GetXaxis()->GetBinUpEdge(projHisto->GetXaxis()->GetNbins()));
checkFunc->SetParameters(projHisto->Integral(), 0.);
projHisto->Fit(checkFunc,"R");
TGraphErrors* currGraph = detEffect[itype];
Double_t yVal = checkFunc->GetParameter(1);
Double_t yErr = checkFunc->GetParError(1);
Double_t xVal = 0.5*(ptMax + ptMin);
Double_t xErr = 0.5*(ptMax - ptMin);
Int_t ipoint = currGraph->GetN();
currGraph->SetPoint(ipoint,xVal,yVal);
currGraph->SetPointError(ipoint,xErr,yErr);
}
}
for ( Int_t itype=0; itype<kNfits; itype++ ) {
currName = detEffect[itype]->GetName();
currName.Append("Can");
can = new TCanvas(currName.Data(),currName.Data(),igroup1*xshift,igroup2*yshift,600,600);
igroup2++;
can->cd();
detEffect[itype]->GetXaxis()->SetTitle(ptAxis->GetTitle());
detEffect[itype]->GetYaxis()->SetTitle("v2");
detEffect[itype]->SetFillStyle(0);
detEffect[itype]->Draw("ap");
}
}
}
}
delete centralityClasses;
printf("\nTotal analyzed events:\n");
TString evtSel = Form("trigger:%s", trigClassName.Data());
fEventCounters->PrintSum(evtSel.Data());
printf("Physics selected analyzed events:\n");
evtSel = Form("trigger:%s/selected:yes", trigClassName.Data());
fEventCounters->PrintSum(evtSel.Data());
TString countPhysSel = "any";
if ( physSel.Contains(fPhysSelKeys->At(kPhysSelPass)->GetName()) ) countPhysSel = "yes";
else if ( physSel.Contains(fPhysSelKeys->At(kPhysSelReject)->GetName()) ) countPhysSel="no";
countPhysSel.Prepend("selected:");
printf("Analyzed events vs. centrality:\n");
evtSel = Form("trigger:%s/%s", trigClassName.Data(), countPhysSel.Data());
fEventCounters->Print("centrality",evtSel.Data(),kTRUE);
if ( ! outFilename.IsNull() ) {
printf("\nWriting output file %s\n", outFilename.Data());
TFile* file = TFile::Open(outFilename.Data(), "RECREATE");
outList.Write();
file->Close();
}
delete customBins;
}
AliAnalysisTaskFlowSingleMu.cxx:1 AliAnalysisTaskFlowSingleMu.cxx:2 AliAnalysisTaskFlowSingleMu.cxx:3 AliAnalysisTaskFlowSingleMu.cxx:4 AliAnalysisTaskFlowSingleMu.cxx:5 AliAnalysisTaskFlowSingleMu.cxx:6 AliAnalysisTaskFlowSingleMu.cxx:7 AliAnalysisTaskFlowSingleMu.cxx:8 AliAnalysisTaskFlowSingleMu.cxx:9 AliAnalysisTaskFlowSingleMu.cxx:10 AliAnalysisTaskFlowSingleMu.cxx:11 AliAnalysisTaskFlowSingleMu.cxx:12 AliAnalysisTaskFlowSingleMu.cxx:13 AliAnalysisTaskFlowSingleMu.cxx:14 AliAnalysisTaskFlowSingleMu.cxx:15 AliAnalysisTaskFlowSingleMu.cxx:16 AliAnalysisTaskFlowSingleMu.cxx:17 AliAnalysisTaskFlowSingleMu.cxx:18 AliAnalysisTaskFlowSingleMu.cxx:19 AliAnalysisTaskFlowSingleMu.cxx:20 AliAnalysisTaskFlowSingleMu.cxx:21 AliAnalysisTaskFlowSingleMu.cxx:22 AliAnalysisTaskFlowSingleMu.cxx:23 AliAnalysisTaskFlowSingleMu.cxx:24 AliAnalysisTaskFlowSingleMu.cxx:25 AliAnalysisTaskFlowSingleMu.cxx:26 AliAnalysisTaskFlowSingleMu.cxx:27 AliAnalysisTaskFlowSingleMu.cxx:28 AliAnalysisTaskFlowSingleMu.cxx:29 AliAnalysisTaskFlowSingleMu.cxx:30 AliAnalysisTaskFlowSingleMu.cxx:31 AliAnalysisTaskFlowSingleMu.cxx:32 AliAnalysisTaskFlowSingleMu.cxx:33 AliAnalysisTaskFlowSingleMu.cxx:34 AliAnalysisTaskFlowSingleMu.cxx:35 AliAnalysisTaskFlowSingleMu.cxx:36 AliAnalysisTaskFlowSingleMu.cxx:37 AliAnalysisTaskFlowSingleMu.cxx:38 AliAnalysisTaskFlowSingleMu.cxx:39 AliAnalysisTaskFlowSingleMu.cxx:40 AliAnalysisTaskFlowSingleMu.cxx:41 AliAnalysisTaskFlowSingleMu.cxx:42 AliAnalysisTaskFlowSingleMu.cxx:43 AliAnalysisTaskFlowSingleMu.cxx:44 AliAnalysisTaskFlowSingleMu.cxx:45 AliAnalysisTaskFlowSingleMu.cxx:46 AliAnalysisTaskFlowSingleMu.cxx:47 AliAnalysisTaskFlowSingleMu.cxx:48 AliAnalysisTaskFlowSingleMu.cxx:49 AliAnalysisTaskFlowSingleMu.cxx:50 AliAnalysisTaskFlowSingleMu.cxx:51 AliAnalysisTaskFlowSingleMu.cxx:52 AliAnalysisTaskFlowSingleMu.cxx:53 AliAnalysisTaskFlowSingleMu.cxx:54 AliAnalysisTaskFlowSingleMu.cxx:55 AliAnalysisTaskFlowSingleMu.cxx:56 AliAnalysisTaskFlowSingleMu.cxx:57 AliAnalysisTaskFlowSingleMu.cxx:58 AliAnalysisTaskFlowSingleMu.cxx:59 AliAnalysisTaskFlowSingleMu.cxx:60 AliAnalysisTaskFlowSingleMu.cxx:61 AliAnalysisTaskFlowSingleMu.cxx:62 AliAnalysisTaskFlowSingleMu.cxx:63 AliAnalysisTaskFlowSingleMu.cxx:64 AliAnalysisTaskFlowSingleMu.cxx:65 AliAnalysisTaskFlowSingleMu.cxx:66 AliAnalysisTaskFlowSingleMu.cxx:67 AliAnalysisTaskFlowSingleMu.cxx:68 AliAnalysisTaskFlowSingleMu.cxx:69 AliAnalysisTaskFlowSingleMu.cxx:70 AliAnalysisTaskFlowSingleMu.cxx:71 AliAnalysisTaskFlowSingleMu.cxx:72 AliAnalysisTaskFlowSingleMu.cxx:73 AliAnalysisTaskFlowSingleMu.cxx:74 AliAnalysisTaskFlowSingleMu.cxx:75 AliAnalysisTaskFlowSingleMu.cxx:76 AliAnalysisTaskFlowSingleMu.cxx:77 AliAnalysisTaskFlowSingleMu.cxx:78 AliAnalysisTaskFlowSingleMu.cxx:79 AliAnalysisTaskFlowSingleMu.cxx:80 AliAnalysisTaskFlowSingleMu.cxx:81 AliAnalysisTaskFlowSingleMu.cxx:82 AliAnalysisTaskFlowSingleMu.cxx:83 AliAnalysisTaskFlowSingleMu.cxx:84 AliAnalysisTaskFlowSingleMu.cxx:85 AliAnalysisTaskFlowSingleMu.cxx:86 AliAnalysisTaskFlowSingleMu.cxx:87 AliAnalysisTaskFlowSingleMu.cxx:88 AliAnalysisTaskFlowSingleMu.cxx:89 AliAnalysisTaskFlowSingleMu.cxx:90 AliAnalysisTaskFlowSingleMu.cxx:91 AliAnalysisTaskFlowSingleMu.cxx:92 AliAnalysisTaskFlowSingleMu.cxx:93 AliAnalysisTaskFlowSingleMu.cxx:94 AliAnalysisTaskFlowSingleMu.cxx:95 AliAnalysisTaskFlowSingleMu.cxx:96 AliAnalysisTaskFlowSingleMu.cxx:97 AliAnalysisTaskFlowSingleMu.cxx:98 AliAnalysisTaskFlowSingleMu.cxx:99 AliAnalysisTaskFlowSingleMu.cxx:100 AliAnalysisTaskFlowSingleMu.cxx:101 AliAnalysisTaskFlowSingleMu.cxx:102 AliAnalysisTaskFlowSingleMu.cxx:103 AliAnalysisTaskFlowSingleMu.cxx:104 AliAnalysisTaskFlowSingleMu.cxx:105 AliAnalysisTaskFlowSingleMu.cxx:106 AliAnalysisTaskFlowSingleMu.cxx:107 AliAnalysisTaskFlowSingleMu.cxx:108 AliAnalysisTaskFlowSingleMu.cxx:109 AliAnalysisTaskFlowSingleMu.cxx:110 AliAnalysisTaskFlowSingleMu.cxx:111 AliAnalysisTaskFlowSingleMu.cxx:112 AliAnalysisTaskFlowSingleMu.cxx:113 AliAnalysisTaskFlowSingleMu.cxx:114 AliAnalysisTaskFlowSingleMu.cxx:115 AliAnalysisTaskFlowSingleMu.cxx:116 AliAnalysisTaskFlowSingleMu.cxx:117 AliAnalysisTaskFlowSingleMu.cxx:118 AliAnalysisTaskFlowSingleMu.cxx:119 AliAnalysisTaskFlowSingleMu.cxx:120 AliAnalysisTaskFlowSingleMu.cxx:121 AliAnalysisTaskFlowSingleMu.cxx:122 AliAnalysisTaskFlowSingleMu.cxx:123 AliAnalysisTaskFlowSingleMu.cxx:124 AliAnalysisTaskFlowSingleMu.cxx:125 AliAnalysisTaskFlowSingleMu.cxx:126 AliAnalysisTaskFlowSingleMu.cxx:127 AliAnalysisTaskFlowSingleMu.cxx:128 AliAnalysisTaskFlowSingleMu.cxx:129 AliAnalysisTaskFlowSingleMu.cxx:130 AliAnalysisTaskFlowSingleMu.cxx:131 AliAnalysisTaskFlowSingleMu.cxx:132 AliAnalysisTaskFlowSingleMu.cxx:133 AliAnalysisTaskFlowSingleMu.cxx:134 AliAnalysisTaskFlowSingleMu.cxx:135 AliAnalysisTaskFlowSingleMu.cxx:136 AliAnalysisTaskFlowSingleMu.cxx:137 AliAnalysisTaskFlowSingleMu.cxx:138 AliAnalysisTaskFlowSingleMu.cxx:139 AliAnalysisTaskFlowSingleMu.cxx:140 AliAnalysisTaskFlowSingleMu.cxx:141 AliAnalysisTaskFlowSingleMu.cxx:142 AliAnalysisTaskFlowSingleMu.cxx:143 AliAnalysisTaskFlowSingleMu.cxx:144 AliAnalysisTaskFlowSingleMu.cxx:145 AliAnalysisTaskFlowSingleMu.cxx:146 AliAnalysisTaskFlowSingleMu.cxx:147 AliAnalysisTaskFlowSingleMu.cxx:148 AliAnalysisTaskFlowSingleMu.cxx:149 AliAnalysisTaskFlowSingleMu.cxx:150 AliAnalysisTaskFlowSingleMu.cxx:151 AliAnalysisTaskFlowSingleMu.cxx:152 AliAnalysisTaskFlowSingleMu.cxx:153 AliAnalysisTaskFlowSingleMu.cxx:154 AliAnalysisTaskFlowSingleMu.cxx:155 AliAnalysisTaskFlowSingleMu.cxx:156 AliAnalysisTaskFlowSingleMu.cxx:157 AliAnalysisTaskFlowSingleMu.cxx:158 AliAnalysisTaskFlowSingleMu.cxx:159 AliAnalysisTaskFlowSingleMu.cxx:160 AliAnalysisTaskFlowSingleMu.cxx:161 AliAnalysisTaskFlowSingleMu.cxx:162 AliAnalysisTaskFlowSingleMu.cxx:163 AliAnalysisTaskFlowSingleMu.cxx:164 AliAnalysisTaskFlowSingleMu.cxx:165 AliAnalysisTaskFlowSingleMu.cxx:166 AliAnalysisTaskFlowSingleMu.cxx:167 AliAnalysisTaskFlowSingleMu.cxx:168 AliAnalysisTaskFlowSingleMu.cxx:169 AliAnalysisTaskFlowSingleMu.cxx:170 AliAnalysisTaskFlowSingleMu.cxx:171 AliAnalysisTaskFlowSingleMu.cxx:172 AliAnalysisTaskFlowSingleMu.cxx:173 AliAnalysisTaskFlowSingleMu.cxx:174 AliAnalysisTaskFlowSingleMu.cxx:175 AliAnalysisTaskFlowSingleMu.cxx:176 AliAnalysisTaskFlowSingleMu.cxx:177 AliAnalysisTaskFlowSingleMu.cxx:178 AliAnalysisTaskFlowSingleMu.cxx:179 AliAnalysisTaskFlowSingleMu.cxx:180 AliAnalysisTaskFlowSingleMu.cxx:181 AliAnalysisTaskFlowSingleMu.cxx:182 AliAnalysisTaskFlowSingleMu.cxx:183 AliAnalysisTaskFlowSingleMu.cxx:184 AliAnalysisTaskFlowSingleMu.cxx:185 AliAnalysisTaskFlowSingleMu.cxx:186 AliAnalysisTaskFlowSingleMu.cxx:187 AliAnalysisTaskFlowSingleMu.cxx:188 AliAnalysisTaskFlowSingleMu.cxx:189 AliAnalysisTaskFlowSingleMu.cxx:190 AliAnalysisTaskFlowSingleMu.cxx:191 AliAnalysisTaskFlowSingleMu.cxx:192 AliAnalysisTaskFlowSingleMu.cxx:193 AliAnalysisTaskFlowSingleMu.cxx:194 AliAnalysisTaskFlowSingleMu.cxx:195 AliAnalysisTaskFlowSingleMu.cxx:196 AliAnalysisTaskFlowSingleMu.cxx:197 AliAnalysisTaskFlowSingleMu.cxx:198 AliAnalysisTaskFlowSingleMu.cxx:199 AliAnalysisTaskFlowSingleMu.cxx:200 AliAnalysisTaskFlowSingleMu.cxx:201 AliAnalysisTaskFlowSingleMu.cxx:202 AliAnalysisTaskFlowSingleMu.cxx:203 AliAnalysisTaskFlowSingleMu.cxx:204 AliAnalysisTaskFlowSingleMu.cxx:205 AliAnalysisTaskFlowSingleMu.cxx:206 AliAnalysisTaskFlowSingleMu.cxx:207 AliAnalysisTaskFlowSingleMu.cxx:208 AliAnalysisTaskFlowSingleMu.cxx:209 AliAnalysisTaskFlowSingleMu.cxx:210 AliAnalysisTaskFlowSingleMu.cxx:211 AliAnalysisTaskFlowSingleMu.cxx:212 AliAnalysisTaskFlowSingleMu.cxx:213 AliAnalysisTaskFlowSingleMu.cxx:214 AliAnalysisTaskFlowSingleMu.cxx:215 AliAnalysisTaskFlowSingleMu.cxx:216 AliAnalysisTaskFlowSingleMu.cxx:217 AliAnalysisTaskFlowSingleMu.cxx:218 AliAnalysisTaskFlowSingleMu.cxx:219 AliAnalysisTaskFlowSingleMu.cxx:220 AliAnalysisTaskFlowSingleMu.cxx:221 AliAnalysisTaskFlowSingleMu.cxx:222 AliAnalysisTaskFlowSingleMu.cxx:223 AliAnalysisTaskFlowSingleMu.cxx:224 AliAnalysisTaskFlowSingleMu.cxx:225 AliAnalysisTaskFlowSingleMu.cxx:226 AliAnalysisTaskFlowSingleMu.cxx:227 AliAnalysisTaskFlowSingleMu.cxx:228 AliAnalysisTaskFlowSingleMu.cxx:229 AliAnalysisTaskFlowSingleMu.cxx:230 AliAnalysisTaskFlowSingleMu.cxx:231 AliAnalysisTaskFlowSingleMu.cxx:232 AliAnalysisTaskFlowSingleMu.cxx:233 AliAnalysisTaskFlowSingleMu.cxx:234 AliAnalysisTaskFlowSingleMu.cxx:235 AliAnalysisTaskFlowSingleMu.cxx:236 AliAnalysisTaskFlowSingleMu.cxx:237 AliAnalysisTaskFlowSingleMu.cxx:238 AliAnalysisTaskFlowSingleMu.cxx:239 AliAnalysisTaskFlowSingleMu.cxx:240 AliAnalysisTaskFlowSingleMu.cxx:241 AliAnalysisTaskFlowSingleMu.cxx:242 AliAnalysisTaskFlowSingleMu.cxx:243 AliAnalysisTaskFlowSingleMu.cxx:244 AliAnalysisTaskFlowSingleMu.cxx:245 AliAnalysisTaskFlowSingleMu.cxx:246 AliAnalysisTaskFlowSingleMu.cxx:247 AliAnalysisTaskFlowSingleMu.cxx:248 AliAnalysisTaskFlowSingleMu.cxx:249 AliAnalysisTaskFlowSingleMu.cxx:250 AliAnalysisTaskFlowSingleMu.cxx:251 AliAnalysisTaskFlowSingleMu.cxx:252 AliAnalysisTaskFlowSingleMu.cxx:253 AliAnalysisTaskFlowSingleMu.cxx:254 AliAnalysisTaskFlowSingleMu.cxx:255 AliAnalysisTaskFlowSingleMu.cxx:256 AliAnalysisTaskFlowSingleMu.cxx:257 AliAnalysisTaskFlowSingleMu.cxx:258 AliAnalysisTaskFlowSingleMu.cxx:259 AliAnalysisTaskFlowSingleMu.cxx:260 AliAnalysisTaskFlowSingleMu.cxx:261 AliAnalysisTaskFlowSingleMu.cxx:262 AliAnalysisTaskFlowSingleMu.cxx:263 AliAnalysisTaskFlowSingleMu.cxx:264 AliAnalysisTaskFlowSingleMu.cxx:265 AliAnalysisTaskFlowSingleMu.cxx:266 AliAnalysisTaskFlowSingleMu.cxx:267 AliAnalysisTaskFlowSingleMu.cxx:268 AliAnalysisTaskFlowSingleMu.cxx:269 AliAnalysisTaskFlowSingleMu.cxx:270 AliAnalysisTaskFlowSingleMu.cxx:271 AliAnalysisTaskFlowSingleMu.cxx:272 AliAnalysisTaskFlowSingleMu.cxx:273 AliAnalysisTaskFlowSingleMu.cxx:274 AliAnalysisTaskFlowSingleMu.cxx:275 AliAnalysisTaskFlowSingleMu.cxx:276 AliAnalysisTaskFlowSingleMu.cxx:277 AliAnalysisTaskFlowSingleMu.cxx:278 AliAnalysisTaskFlowSingleMu.cxx:279 AliAnalysisTaskFlowSingleMu.cxx:280 AliAnalysisTaskFlowSingleMu.cxx:281 AliAnalysisTaskFlowSingleMu.cxx:282 AliAnalysisTaskFlowSingleMu.cxx:283 AliAnalysisTaskFlowSingleMu.cxx:284 AliAnalysisTaskFlowSingleMu.cxx:285 AliAnalysisTaskFlowSingleMu.cxx:286 AliAnalysisTaskFlowSingleMu.cxx:287 AliAnalysisTaskFlowSingleMu.cxx:288 AliAnalysisTaskFlowSingleMu.cxx:289 AliAnalysisTaskFlowSingleMu.cxx:290 AliAnalysisTaskFlowSingleMu.cxx:291 AliAnalysisTaskFlowSingleMu.cxx:292 AliAnalysisTaskFlowSingleMu.cxx:293 AliAnalysisTaskFlowSingleMu.cxx:294 AliAnalysisTaskFlowSingleMu.cxx:295 AliAnalysisTaskFlowSingleMu.cxx:296 AliAnalysisTaskFlowSingleMu.cxx:297 AliAnalysisTaskFlowSingleMu.cxx:298 AliAnalysisTaskFlowSingleMu.cxx:299 AliAnalysisTaskFlowSingleMu.cxx:300 AliAnalysisTaskFlowSingleMu.cxx:301 AliAnalysisTaskFlowSingleMu.cxx:302 AliAnalysisTaskFlowSingleMu.cxx:303 AliAnalysisTaskFlowSingleMu.cxx:304 AliAnalysisTaskFlowSingleMu.cxx:305 AliAnalysisTaskFlowSingleMu.cxx:306 AliAnalysisTaskFlowSingleMu.cxx:307 AliAnalysisTaskFlowSingleMu.cxx:308 AliAnalysisTaskFlowSingleMu.cxx:309 AliAnalysisTaskFlowSingleMu.cxx:310 AliAnalysisTaskFlowSingleMu.cxx:311 AliAnalysisTaskFlowSingleMu.cxx:312 AliAnalysisTaskFlowSingleMu.cxx:313 AliAnalysisTaskFlowSingleMu.cxx:314 AliAnalysisTaskFlowSingleMu.cxx:315 AliAnalysisTaskFlowSingleMu.cxx:316 AliAnalysisTaskFlowSingleMu.cxx:317 AliAnalysisTaskFlowSingleMu.cxx:318 AliAnalysisTaskFlowSingleMu.cxx:319 AliAnalysisTaskFlowSingleMu.cxx:320 AliAnalysisTaskFlowSingleMu.cxx:321 AliAnalysisTaskFlowSingleMu.cxx:322 AliAnalysisTaskFlowSingleMu.cxx:323 AliAnalysisTaskFlowSingleMu.cxx:324 AliAnalysisTaskFlowSingleMu.cxx:325 AliAnalysisTaskFlowSingleMu.cxx:326 AliAnalysisTaskFlowSingleMu.cxx:327 AliAnalysisTaskFlowSingleMu.cxx:328 AliAnalysisTaskFlowSingleMu.cxx:329 AliAnalysisTaskFlowSingleMu.cxx:330 AliAnalysisTaskFlowSingleMu.cxx:331 AliAnalysisTaskFlowSingleMu.cxx:332 AliAnalysisTaskFlowSingleMu.cxx:333 AliAnalysisTaskFlowSingleMu.cxx:334 AliAnalysisTaskFlowSingleMu.cxx:335 AliAnalysisTaskFlowSingleMu.cxx:336 AliAnalysisTaskFlowSingleMu.cxx:337 AliAnalysisTaskFlowSingleMu.cxx:338 AliAnalysisTaskFlowSingleMu.cxx:339 AliAnalysisTaskFlowSingleMu.cxx:340 AliAnalysisTaskFlowSingleMu.cxx:341 AliAnalysisTaskFlowSingleMu.cxx:342 AliAnalysisTaskFlowSingleMu.cxx:343 AliAnalysisTaskFlowSingleMu.cxx:344 AliAnalysisTaskFlowSingleMu.cxx:345 AliAnalysisTaskFlowSingleMu.cxx:346 AliAnalysisTaskFlowSingleMu.cxx:347 AliAnalysisTaskFlowSingleMu.cxx:348 AliAnalysisTaskFlowSingleMu.cxx:349 AliAnalysisTaskFlowSingleMu.cxx:350 AliAnalysisTaskFlowSingleMu.cxx:351 AliAnalysisTaskFlowSingleMu.cxx:352 AliAnalysisTaskFlowSingleMu.cxx:353 AliAnalysisTaskFlowSingleMu.cxx:354 AliAnalysisTaskFlowSingleMu.cxx:355 AliAnalysisTaskFlowSingleMu.cxx:356 AliAnalysisTaskFlowSingleMu.cxx:357 AliAnalysisTaskFlowSingleMu.cxx:358 AliAnalysisTaskFlowSingleMu.cxx:359 AliAnalysisTaskFlowSingleMu.cxx:360 AliAnalysisTaskFlowSingleMu.cxx:361 AliAnalysisTaskFlowSingleMu.cxx:362 AliAnalysisTaskFlowSingleMu.cxx:363 AliAnalysisTaskFlowSingleMu.cxx:364 AliAnalysisTaskFlowSingleMu.cxx:365 AliAnalysisTaskFlowSingleMu.cxx:366 AliAnalysisTaskFlowSingleMu.cxx:367 AliAnalysisTaskFlowSingleMu.cxx:368 AliAnalysisTaskFlowSingleMu.cxx:369 AliAnalysisTaskFlowSingleMu.cxx:370 AliAnalysisTaskFlowSingleMu.cxx:371 AliAnalysisTaskFlowSingleMu.cxx:372 AliAnalysisTaskFlowSingleMu.cxx:373 AliAnalysisTaskFlowSingleMu.cxx:374 AliAnalysisTaskFlowSingleMu.cxx:375 AliAnalysisTaskFlowSingleMu.cxx:376 AliAnalysisTaskFlowSingleMu.cxx:377 AliAnalysisTaskFlowSingleMu.cxx:378 AliAnalysisTaskFlowSingleMu.cxx:379 AliAnalysisTaskFlowSingleMu.cxx:380 AliAnalysisTaskFlowSingleMu.cxx:381 AliAnalysisTaskFlowSingleMu.cxx:382 AliAnalysisTaskFlowSingleMu.cxx:383 AliAnalysisTaskFlowSingleMu.cxx:384 AliAnalysisTaskFlowSingleMu.cxx:385 AliAnalysisTaskFlowSingleMu.cxx:386 AliAnalysisTaskFlowSingleMu.cxx:387 AliAnalysisTaskFlowSingleMu.cxx:388 AliAnalysisTaskFlowSingleMu.cxx:389 AliAnalysisTaskFlowSingleMu.cxx:390 AliAnalysisTaskFlowSingleMu.cxx:391 AliAnalysisTaskFlowSingleMu.cxx:392 AliAnalysisTaskFlowSingleMu.cxx:393 AliAnalysisTaskFlowSingleMu.cxx:394 AliAnalysisTaskFlowSingleMu.cxx:395 AliAnalysisTaskFlowSingleMu.cxx:396 AliAnalysisTaskFlowSingleMu.cxx:397 AliAnalysisTaskFlowSingleMu.cxx:398 AliAnalysisTaskFlowSingleMu.cxx:399 AliAnalysisTaskFlowSingleMu.cxx:400 AliAnalysisTaskFlowSingleMu.cxx:401 AliAnalysisTaskFlowSingleMu.cxx:402 AliAnalysisTaskFlowSingleMu.cxx:403 AliAnalysisTaskFlowSingleMu.cxx:404 AliAnalysisTaskFlowSingleMu.cxx:405 AliAnalysisTaskFlowSingleMu.cxx:406 AliAnalysisTaskFlowSingleMu.cxx:407 AliAnalysisTaskFlowSingleMu.cxx:408 AliAnalysisTaskFlowSingleMu.cxx:409 AliAnalysisTaskFlowSingleMu.cxx:410 AliAnalysisTaskFlowSingleMu.cxx:411 AliAnalysisTaskFlowSingleMu.cxx:412 AliAnalysisTaskFlowSingleMu.cxx:413 AliAnalysisTaskFlowSingleMu.cxx:414 AliAnalysisTaskFlowSingleMu.cxx:415 AliAnalysisTaskFlowSingleMu.cxx:416 AliAnalysisTaskFlowSingleMu.cxx:417 AliAnalysisTaskFlowSingleMu.cxx:418 AliAnalysisTaskFlowSingleMu.cxx:419 AliAnalysisTaskFlowSingleMu.cxx:420 AliAnalysisTaskFlowSingleMu.cxx:421 AliAnalysisTaskFlowSingleMu.cxx:422 AliAnalysisTaskFlowSingleMu.cxx:423 AliAnalysisTaskFlowSingleMu.cxx:424 AliAnalysisTaskFlowSingleMu.cxx:425 AliAnalysisTaskFlowSingleMu.cxx:426 AliAnalysisTaskFlowSingleMu.cxx:427 AliAnalysisTaskFlowSingleMu.cxx:428 AliAnalysisTaskFlowSingleMu.cxx:429 AliAnalysisTaskFlowSingleMu.cxx:430 AliAnalysisTaskFlowSingleMu.cxx:431 AliAnalysisTaskFlowSingleMu.cxx:432 AliAnalysisTaskFlowSingleMu.cxx:433 AliAnalysisTaskFlowSingleMu.cxx:434 AliAnalysisTaskFlowSingleMu.cxx:435 AliAnalysisTaskFlowSingleMu.cxx:436 AliAnalysisTaskFlowSingleMu.cxx:437 AliAnalysisTaskFlowSingleMu.cxx:438 AliAnalysisTaskFlowSingleMu.cxx:439 AliAnalysisTaskFlowSingleMu.cxx:440 AliAnalysisTaskFlowSingleMu.cxx:441 AliAnalysisTaskFlowSingleMu.cxx:442 AliAnalysisTaskFlowSingleMu.cxx:443 AliAnalysisTaskFlowSingleMu.cxx:444 AliAnalysisTaskFlowSingleMu.cxx:445 AliAnalysisTaskFlowSingleMu.cxx:446 AliAnalysisTaskFlowSingleMu.cxx:447 AliAnalysisTaskFlowSingleMu.cxx:448 AliAnalysisTaskFlowSingleMu.cxx:449 AliAnalysisTaskFlowSingleMu.cxx:450 AliAnalysisTaskFlowSingleMu.cxx:451 AliAnalysisTaskFlowSingleMu.cxx:452 AliAnalysisTaskFlowSingleMu.cxx:453 AliAnalysisTaskFlowSingleMu.cxx:454 AliAnalysisTaskFlowSingleMu.cxx:455 AliAnalysisTaskFlowSingleMu.cxx:456 AliAnalysisTaskFlowSingleMu.cxx:457 AliAnalysisTaskFlowSingleMu.cxx:458 AliAnalysisTaskFlowSingleMu.cxx:459 AliAnalysisTaskFlowSingleMu.cxx:460 AliAnalysisTaskFlowSingleMu.cxx:461 AliAnalysisTaskFlowSingleMu.cxx:462 AliAnalysisTaskFlowSingleMu.cxx:463 AliAnalysisTaskFlowSingleMu.cxx:464 AliAnalysisTaskFlowSingleMu.cxx:465 AliAnalysisTaskFlowSingleMu.cxx:466 AliAnalysisTaskFlowSingleMu.cxx:467 AliAnalysisTaskFlowSingleMu.cxx:468 AliAnalysisTaskFlowSingleMu.cxx:469 AliAnalysisTaskFlowSingleMu.cxx:470 AliAnalysisTaskFlowSingleMu.cxx:471 AliAnalysisTaskFlowSingleMu.cxx:472 AliAnalysisTaskFlowSingleMu.cxx:473 AliAnalysisTaskFlowSingleMu.cxx:474 AliAnalysisTaskFlowSingleMu.cxx:475 AliAnalysisTaskFlowSingleMu.cxx:476 AliAnalysisTaskFlowSingleMu.cxx:477 AliAnalysisTaskFlowSingleMu.cxx:478 AliAnalysisTaskFlowSingleMu.cxx:479 AliAnalysisTaskFlowSingleMu.cxx:480 AliAnalysisTaskFlowSingleMu.cxx:481 AliAnalysisTaskFlowSingleMu.cxx:482 AliAnalysisTaskFlowSingleMu.cxx:483 AliAnalysisTaskFlowSingleMu.cxx:484 AliAnalysisTaskFlowSingleMu.cxx:485 AliAnalysisTaskFlowSingleMu.cxx:486 AliAnalysisTaskFlowSingleMu.cxx:487 AliAnalysisTaskFlowSingleMu.cxx:488 AliAnalysisTaskFlowSingleMu.cxx:489 AliAnalysisTaskFlowSingleMu.cxx:490 AliAnalysisTaskFlowSingleMu.cxx:491 AliAnalysisTaskFlowSingleMu.cxx:492 AliAnalysisTaskFlowSingleMu.cxx:493 AliAnalysisTaskFlowSingleMu.cxx:494 AliAnalysisTaskFlowSingleMu.cxx:495 AliAnalysisTaskFlowSingleMu.cxx:496 AliAnalysisTaskFlowSingleMu.cxx:497 AliAnalysisTaskFlowSingleMu.cxx:498 AliAnalysisTaskFlowSingleMu.cxx:499 AliAnalysisTaskFlowSingleMu.cxx:500 AliAnalysisTaskFlowSingleMu.cxx:501 AliAnalysisTaskFlowSingleMu.cxx:502 AliAnalysisTaskFlowSingleMu.cxx:503 AliAnalysisTaskFlowSingleMu.cxx:504 AliAnalysisTaskFlowSingleMu.cxx:505 AliAnalysisTaskFlowSingleMu.cxx:506 AliAnalysisTaskFlowSingleMu.cxx:507 AliAnalysisTaskFlowSingleMu.cxx:508 AliAnalysisTaskFlowSingleMu.cxx:509 AliAnalysisTaskFlowSingleMu.cxx:510 AliAnalysisTaskFlowSingleMu.cxx:511 AliAnalysisTaskFlowSingleMu.cxx:512 AliAnalysisTaskFlowSingleMu.cxx:513 AliAnalysisTaskFlowSingleMu.cxx:514 AliAnalysisTaskFlowSingleMu.cxx:515 AliAnalysisTaskFlowSingleMu.cxx:516 AliAnalysisTaskFlowSingleMu.cxx:517 AliAnalysisTaskFlowSingleMu.cxx:518 AliAnalysisTaskFlowSingleMu.cxx:519 AliAnalysisTaskFlowSingleMu.cxx:520 AliAnalysisTaskFlowSingleMu.cxx:521 AliAnalysisTaskFlowSingleMu.cxx:522 AliAnalysisTaskFlowSingleMu.cxx:523 AliAnalysisTaskFlowSingleMu.cxx:524 AliAnalysisTaskFlowSingleMu.cxx:525 AliAnalysisTaskFlowSingleMu.cxx:526 AliAnalysisTaskFlowSingleMu.cxx:527 AliAnalysisTaskFlowSingleMu.cxx:528 AliAnalysisTaskFlowSingleMu.cxx:529 AliAnalysisTaskFlowSingleMu.cxx:530 AliAnalysisTaskFlowSingleMu.cxx:531 AliAnalysisTaskFlowSingleMu.cxx:532 AliAnalysisTaskFlowSingleMu.cxx:533 AliAnalysisTaskFlowSingleMu.cxx:534 AliAnalysisTaskFlowSingleMu.cxx:535 AliAnalysisTaskFlowSingleMu.cxx:536 AliAnalysisTaskFlowSingleMu.cxx:537 AliAnalysisTaskFlowSingleMu.cxx:538 AliAnalysisTaskFlowSingleMu.cxx:539 AliAnalysisTaskFlowSingleMu.cxx:540 AliAnalysisTaskFlowSingleMu.cxx:541 AliAnalysisTaskFlowSingleMu.cxx:542 AliAnalysisTaskFlowSingleMu.cxx:543 AliAnalysisTaskFlowSingleMu.cxx:544 AliAnalysisTaskFlowSingleMu.cxx:545 AliAnalysisTaskFlowSingleMu.cxx:546 AliAnalysisTaskFlowSingleMu.cxx:547 AliAnalysisTaskFlowSingleMu.cxx:548 AliAnalysisTaskFlowSingleMu.cxx:549 AliAnalysisTaskFlowSingleMu.cxx:550 AliAnalysisTaskFlowSingleMu.cxx:551 AliAnalysisTaskFlowSingleMu.cxx:552 AliAnalysisTaskFlowSingleMu.cxx:553 AliAnalysisTaskFlowSingleMu.cxx:554 AliAnalysisTaskFlowSingleMu.cxx:555 AliAnalysisTaskFlowSingleMu.cxx:556 AliAnalysisTaskFlowSingleMu.cxx:557 AliAnalysisTaskFlowSingleMu.cxx:558 AliAnalysisTaskFlowSingleMu.cxx:559 AliAnalysisTaskFlowSingleMu.cxx:560 AliAnalysisTaskFlowSingleMu.cxx:561 AliAnalysisTaskFlowSingleMu.cxx:562 AliAnalysisTaskFlowSingleMu.cxx:563 AliAnalysisTaskFlowSingleMu.cxx:564 AliAnalysisTaskFlowSingleMu.cxx:565 AliAnalysisTaskFlowSingleMu.cxx:566 AliAnalysisTaskFlowSingleMu.cxx:567 AliAnalysisTaskFlowSingleMu.cxx:568 AliAnalysisTaskFlowSingleMu.cxx:569 AliAnalysisTaskFlowSingleMu.cxx:570 AliAnalysisTaskFlowSingleMu.cxx:571 AliAnalysisTaskFlowSingleMu.cxx:572 AliAnalysisTaskFlowSingleMu.cxx:573 AliAnalysisTaskFlowSingleMu.cxx:574 AliAnalysisTaskFlowSingleMu.cxx:575 AliAnalysisTaskFlowSingleMu.cxx:576 AliAnalysisTaskFlowSingleMu.cxx:577 AliAnalysisTaskFlowSingleMu.cxx:578 AliAnalysisTaskFlowSingleMu.cxx:579 AliAnalysisTaskFlowSingleMu.cxx:580 AliAnalysisTaskFlowSingleMu.cxx:581 AliAnalysisTaskFlowSingleMu.cxx:582 AliAnalysisTaskFlowSingleMu.cxx:583 AliAnalysisTaskFlowSingleMu.cxx:584 AliAnalysisTaskFlowSingleMu.cxx:585 AliAnalysisTaskFlowSingleMu.cxx:586 AliAnalysisTaskFlowSingleMu.cxx:587 AliAnalysisTaskFlowSingleMu.cxx:588 AliAnalysisTaskFlowSingleMu.cxx:589 AliAnalysisTaskFlowSingleMu.cxx:590 AliAnalysisTaskFlowSingleMu.cxx:591 AliAnalysisTaskFlowSingleMu.cxx:592 AliAnalysisTaskFlowSingleMu.cxx:593 AliAnalysisTaskFlowSingleMu.cxx:594 AliAnalysisTaskFlowSingleMu.cxx:595 AliAnalysisTaskFlowSingleMu.cxx:596 AliAnalysisTaskFlowSingleMu.cxx:597 AliAnalysisTaskFlowSingleMu.cxx:598 AliAnalysisTaskFlowSingleMu.cxx:599 AliAnalysisTaskFlowSingleMu.cxx:600 AliAnalysisTaskFlowSingleMu.cxx:601 AliAnalysisTaskFlowSingleMu.cxx:602 AliAnalysisTaskFlowSingleMu.cxx:603 AliAnalysisTaskFlowSingleMu.cxx:604 AliAnalysisTaskFlowSingleMu.cxx:605 AliAnalysisTaskFlowSingleMu.cxx:606 AliAnalysisTaskFlowSingleMu.cxx:607 AliAnalysisTaskFlowSingleMu.cxx:608 AliAnalysisTaskFlowSingleMu.cxx:609 AliAnalysisTaskFlowSingleMu.cxx:610 AliAnalysisTaskFlowSingleMu.cxx:611 AliAnalysisTaskFlowSingleMu.cxx:612 AliAnalysisTaskFlowSingleMu.cxx:613 AliAnalysisTaskFlowSingleMu.cxx:614 AliAnalysisTaskFlowSingleMu.cxx:615 AliAnalysisTaskFlowSingleMu.cxx:616 AliAnalysisTaskFlowSingleMu.cxx:617 AliAnalysisTaskFlowSingleMu.cxx:618 AliAnalysisTaskFlowSingleMu.cxx:619 AliAnalysisTaskFlowSingleMu.cxx:620 AliAnalysisTaskFlowSingleMu.cxx:621 AliAnalysisTaskFlowSingleMu.cxx:622 AliAnalysisTaskFlowSingleMu.cxx:623 AliAnalysisTaskFlowSingleMu.cxx:624 AliAnalysisTaskFlowSingleMu.cxx:625 AliAnalysisTaskFlowSingleMu.cxx:626 AliAnalysisTaskFlowSingleMu.cxx:627 AliAnalysisTaskFlowSingleMu.cxx:628 AliAnalysisTaskFlowSingleMu.cxx:629 AliAnalysisTaskFlowSingleMu.cxx:630 AliAnalysisTaskFlowSingleMu.cxx:631 AliAnalysisTaskFlowSingleMu.cxx:632 AliAnalysisTaskFlowSingleMu.cxx:633 AliAnalysisTaskFlowSingleMu.cxx:634 AliAnalysisTaskFlowSingleMu.cxx:635 AliAnalysisTaskFlowSingleMu.cxx:636 AliAnalysisTaskFlowSingleMu.cxx:637 AliAnalysisTaskFlowSingleMu.cxx:638 AliAnalysisTaskFlowSingleMu.cxx:639 AliAnalysisTaskFlowSingleMu.cxx:640 AliAnalysisTaskFlowSingleMu.cxx:641 AliAnalysisTaskFlowSingleMu.cxx:642 AliAnalysisTaskFlowSingleMu.cxx:643 AliAnalysisTaskFlowSingleMu.cxx:644 AliAnalysisTaskFlowSingleMu.cxx:645 AliAnalysisTaskFlowSingleMu.cxx:646 AliAnalysisTaskFlowSingleMu.cxx:647 AliAnalysisTaskFlowSingleMu.cxx:648 AliAnalysisTaskFlowSingleMu.cxx:649 AliAnalysisTaskFlowSingleMu.cxx:650 AliAnalysisTaskFlowSingleMu.cxx:651 AliAnalysisTaskFlowSingleMu.cxx:652 AliAnalysisTaskFlowSingleMu.cxx:653 AliAnalysisTaskFlowSingleMu.cxx:654 AliAnalysisTaskFlowSingleMu.cxx:655 AliAnalysisTaskFlowSingleMu.cxx:656 AliAnalysisTaskFlowSingleMu.cxx:657 AliAnalysisTaskFlowSingleMu.cxx:658 AliAnalysisTaskFlowSingleMu.cxx:659 AliAnalysisTaskFlowSingleMu.cxx:660 AliAnalysisTaskFlowSingleMu.cxx:661 AliAnalysisTaskFlowSingleMu.cxx:662 AliAnalysisTaskFlowSingleMu.cxx:663 AliAnalysisTaskFlowSingleMu.cxx:664 AliAnalysisTaskFlowSingleMu.cxx:665 AliAnalysisTaskFlowSingleMu.cxx:666 AliAnalysisTaskFlowSingleMu.cxx:667 AliAnalysisTaskFlowSingleMu.cxx:668 AliAnalysisTaskFlowSingleMu.cxx:669 AliAnalysisTaskFlowSingleMu.cxx:670 AliAnalysisTaskFlowSingleMu.cxx:671 AliAnalysisTaskFlowSingleMu.cxx:672 AliAnalysisTaskFlowSingleMu.cxx:673 AliAnalysisTaskFlowSingleMu.cxx:674 AliAnalysisTaskFlowSingleMu.cxx:675 AliAnalysisTaskFlowSingleMu.cxx:676 AliAnalysisTaskFlowSingleMu.cxx:677 AliAnalysisTaskFlowSingleMu.cxx:678 AliAnalysisTaskFlowSingleMu.cxx:679 AliAnalysisTaskFlowSingleMu.cxx:680 AliAnalysisTaskFlowSingleMu.cxx:681 AliAnalysisTaskFlowSingleMu.cxx:682 AliAnalysisTaskFlowSingleMu.cxx:683 AliAnalysisTaskFlowSingleMu.cxx:684 AliAnalysisTaskFlowSingleMu.cxx:685 AliAnalysisTaskFlowSingleMu.cxx:686 AliAnalysisTaskFlowSingleMu.cxx:687 AliAnalysisTaskFlowSingleMu.cxx:688 AliAnalysisTaskFlowSingleMu.cxx:689 AliAnalysisTaskFlowSingleMu.cxx:690 AliAnalysisTaskFlowSingleMu.cxx:691 AliAnalysisTaskFlowSingleMu.cxx:692 AliAnalysisTaskFlowSingleMu.cxx:693 AliAnalysisTaskFlowSingleMu.cxx:694 AliAnalysisTaskFlowSingleMu.cxx:695 AliAnalysisTaskFlowSingleMu.cxx:696 AliAnalysisTaskFlowSingleMu.cxx:697 AliAnalysisTaskFlowSingleMu.cxx:698 AliAnalysisTaskFlowSingleMu.cxx:699 AliAnalysisTaskFlowSingleMu.cxx:700 AliAnalysisTaskFlowSingleMu.cxx:701 AliAnalysisTaskFlowSingleMu.cxx:702 AliAnalysisTaskFlowSingleMu.cxx:703 AliAnalysisTaskFlowSingleMu.cxx:704 AliAnalysisTaskFlowSingleMu.cxx:705 AliAnalysisTaskFlowSingleMu.cxx:706 AliAnalysisTaskFlowSingleMu.cxx:707 AliAnalysisTaskFlowSingleMu.cxx:708 AliAnalysisTaskFlowSingleMu.cxx:709 AliAnalysisTaskFlowSingleMu.cxx:710 AliAnalysisTaskFlowSingleMu.cxx:711 AliAnalysisTaskFlowSingleMu.cxx:712 AliAnalysisTaskFlowSingleMu.cxx:713 AliAnalysisTaskFlowSingleMu.cxx:714 AliAnalysisTaskFlowSingleMu.cxx:715 AliAnalysisTaskFlowSingleMu.cxx:716 AliAnalysisTaskFlowSingleMu.cxx:717 AliAnalysisTaskFlowSingleMu.cxx:718 AliAnalysisTaskFlowSingleMu.cxx:719 AliAnalysisTaskFlowSingleMu.cxx:720 AliAnalysisTaskFlowSingleMu.cxx:721 AliAnalysisTaskFlowSingleMu.cxx:722 AliAnalysisTaskFlowSingleMu.cxx:723 AliAnalysisTaskFlowSingleMu.cxx:724 AliAnalysisTaskFlowSingleMu.cxx:725 AliAnalysisTaskFlowSingleMu.cxx:726 AliAnalysisTaskFlowSingleMu.cxx:727 AliAnalysisTaskFlowSingleMu.cxx:728 AliAnalysisTaskFlowSingleMu.cxx:729 AliAnalysisTaskFlowSingleMu.cxx:730 AliAnalysisTaskFlowSingleMu.cxx:731 AliAnalysisTaskFlowSingleMu.cxx:732 AliAnalysisTaskFlowSingleMu.cxx:733 AliAnalysisTaskFlowSingleMu.cxx:734 AliAnalysisTaskFlowSingleMu.cxx:735 AliAnalysisTaskFlowSingleMu.cxx:736 AliAnalysisTaskFlowSingleMu.cxx:737 AliAnalysisTaskFlowSingleMu.cxx:738 AliAnalysisTaskFlowSingleMu.cxx:739 AliAnalysisTaskFlowSingleMu.cxx:740 AliAnalysisTaskFlowSingleMu.cxx:741 AliAnalysisTaskFlowSingleMu.cxx:742 AliAnalysisTaskFlowSingleMu.cxx:743 AliAnalysisTaskFlowSingleMu.cxx:744 AliAnalysisTaskFlowSingleMu.cxx:745 AliAnalysisTaskFlowSingleMu.cxx:746 AliAnalysisTaskFlowSingleMu.cxx:747 AliAnalysisTaskFlowSingleMu.cxx:748 AliAnalysisTaskFlowSingleMu.cxx:749 AliAnalysisTaskFlowSingleMu.cxx:750 AliAnalysisTaskFlowSingleMu.cxx:751 AliAnalysisTaskFlowSingleMu.cxx:752 AliAnalysisTaskFlowSingleMu.cxx:753 AliAnalysisTaskFlowSingleMu.cxx:754 AliAnalysisTaskFlowSingleMu.cxx:755 AliAnalysisTaskFlowSingleMu.cxx:756 AliAnalysisTaskFlowSingleMu.cxx:757 AliAnalysisTaskFlowSingleMu.cxx:758 AliAnalysisTaskFlowSingleMu.cxx:759 AliAnalysisTaskFlowSingleMu.cxx:760 AliAnalysisTaskFlowSingleMu.cxx:761 AliAnalysisTaskFlowSingleMu.cxx:762 AliAnalysisTaskFlowSingleMu.cxx:763 AliAnalysisTaskFlowSingleMu.cxx:764 AliAnalysisTaskFlowSingleMu.cxx:765 AliAnalysisTaskFlowSingleMu.cxx:766 AliAnalysisTaskFlowSingleMu.cxx:767 AliAnalysisTaskFlowSingleMu.cxx:768 AliAnalysisTaskFlowSingleMu.cxx:769 AliAnalysisTaskFlowSingleMu.cxx:770 AliAnalysisTaskFlowSingleMu.cxx:771 AliAnalysisTaskFlowSingleMu.cxx:772 AliAnalysisTaskFlowSingleMu.cxx:773 AliAnalysisTaskFlowSingleMu.cxx:774 AliAnalysisTaskFlowSingleMu.cxx:775 AliAnalysisTaskFlowSingleMu.cxx:776 AliAnalysisTaskFlowSingleMu.cxx:777 AliAnalysisTaskFlowSingleMu.cxx:778 AliAnalysisTaskFlowSingleMu.cxx:779 AliAnalysisTaskFlowSingleMu.cxx:780 AliAnalysisTaskFlowSingleMu.cxx:781 AliAnalysisTaskFlowSingleMu.cxx:782 AliAnalysisTaskFlowSingleMu.cxx:783 AliAnalysisTaskFlowSingleMu.cxx:784 AliAnalysisTaskFlowSingleMu.cxx:785 AliAnalysisTaskFlowSingleMu.cxx:786 AliAnalysisTaskFlowSingleMu.cxx:787 AliAnalysisTaskFlowSingleMu.cxx:788 AliAnalysisTaskFlowSingleMu.cxx:789 AliAnalysisTaskFlowSingleMu.cxx:790 AliAnalysisTaskFlowSingleMu.cxx:791 AliAnalysisTaskFlowSingleMu.cxx:792 AliAnalysisTaskFlowSingleMu.cxx:793 AliAnalysisTaskFlowSingleMu.cxx:794 AliAnalysisTaskFlowSingleMu.cxx:795 AliAnalysisTaskFlowSingleMu.cxx:796 AliAnalysisTaskFlowSingleMu.cxx:797 AliAnalysisTaskFlowSingleMu.cxx:798 AliAnalysisTaskFlowSingleMu.cxx:799 AliAnalysisTaskFlowSingleMu.cxx:800 AliAnalysisTaskFlowSingleMu.cxx:801 AliAnalysisTaskFlowSingleMu.cxx:802 AliAnalysisTaskFlowSingleMu.cxx:803 AliAnalysisTaskFlowSingleMu.cxx:804 AliAnalysisTaskFlowSingleMu.cxx:805 AliAnalysisTaskFlowSingleMu.cxx:806 AliAnalysisTaskFlowSingleMu.cxx:807 AliAnalysisTaskFlowSingleMu.cxx:808 AliAnalysisTaskFlowSingleMu.cxx:809 AliAnalysisTaskFlowSingleMu.cxx:810 AliAnalysisTaskFlowSingleMu.cxx:811 AliAnalysisTaskFlowSingleMu.cxx:812 AliAnalysisTaskFlowSingleMu.cxx:813 AliAnalysisTaskFlowSingleMu.cxx:814 AliAnalysisTaskFlowSingleMu.cxx:815 AliAnalysisTaskFlowSingleMu.cxx:816 AliAnalysisTaskFlowSingleMu.cxx:817 AliAnalysisTaskFlowSingleMu.cxx:818 AliAnalysisTaskFlowSingleMu.cxx:819 AliAnalysisTaskFlowSingleMu.cxx:820 AliAnalysisTaskFlowSingleMu.cxx:821 AliAnalysisTaskFlowSingleMu.cxx:822 AliAnalysisTaskFlowSingleMu.cxx:823 AliAnalysisTaskFlowSingleMu.cxx:824 AliAnalysisTaskFlowSingleMu.cxx:825 AliAnalysisTaskFlowSingleMu.cxx:826 AliAnalysisTaskFlowSingleMu.cxx:827 AliAnalysisTaskFlowSingleMu.cxx:828 AliAnalysisTaskFlowSingleMu.cxx:829 AliAnalysisTaskFlowSingleMu.cxx:830 AliAnalysisTaskFlowSingleMu.cxx:831 AliAnalysisTaskFlowSingleMu.cxx:832 AliAnalysisTaskFlowSingleMu.cxx:833 AliAnalysisTaskFlowSingleMu.cxx:834 AliAnalysisTaskFlowSingleMu.cxx:835 AliAnalysisTaskFlowSingleMu.cxx:836 AliAnalysisTaskFlowSingleMu.cxx:837 AliAnalysisTaskFlowSingleMu.cxx:838 AliAnalysisTaskFlowSingleMu.cxx:839 AliAnalysisTaskFlowSingleMu.cxx:840 AliAnalysisTaskFlowSingleMu.cxx:841 AliAnalysisTaskFlowSingleMu.cxx:842 AliAnalysisTaskFlowSingleMu.cxx:843 AliAnalysisTaskFlowSingleMu.cxx:844 AliAnalysisTaskFlowSingleMu.cxx:845 AliAnalysisTaskFlowSingleMu.cxx:846 AliAnalysisTaskFlowSingleMu.cxx:847 AliAnalysisTaskFlowSingleMu.cxx:848 AliAnalysisTaskFlowSingleMu.cxx:849 AliAnalysisTaskFlowSingleMu.cxx:850 AliAnalysisTaskFlowSingleMu.cxx:851 AliAnalysisTaskFlowSingleMu.cxx:852 AliAnalysisTaskFlowSingleMu.cxx:853 AliAnalysisTaskFlowSingleMu.cxx:854 AliAnalysisTaskFlowSingleMu.cxx:855 AliAnalysisTaskFlowSingleMu.cxx:856 AliAnalysisTaskFlowSingleMu.cxx:857 AliAnalysisTaskFlowSingleMu.cxx:858 AliAnalysisTaskFlowSingleMu.cxx:859 AliAnalysisTaskFlowSingleMu.cxx:860 AliAnalysisTaskFlowSingleMu.cxx:861 AliAnalysisTaskFlowSingleMu.cxx:862 AliAnalysisTaskFlowSingleMu.cxx:863 AliAnalysisTaskFlowSingleMu.cxx:864 AliAnalysisTaskFlowSingleMu.cxx:865 AliAnalysisTaskFlowSingleMu.cxx:866 AliAnalysisTaskFlowSingleMu.cxx:867 AliAnalysisTaskFlowSingleMu.cxx:868 AliAnalysisTaskFlowSingleMu.cxx:869 AliAnalysisTaskFlowSingleMu.cxx:870 AliAnalysisTaskFlowSingleMu.cxx:871 AliAnalysisTaskFlowSingleMu.cxx:872 AliAnalysisTaskFlowSingleMu.cxx:873 AliAnalysisTaskFlowSingleMu.cxx:874 AliAnalysisTaskFlowSingleMu.cxx:875 AliAnalysisTaskFlowSingleMu.cxx:876 AliAnalysisTaskFlowSingleMu.cxx:877 AliAnalysisTaskFlowSingleMu.cxx:878 AliAnalysisTaskFlowSingleMu.cxx:879 AliAnalysisTaskFlowSingleMu.cxx:880 AliAnalysisTaskFlowSingleMu.cxx:881 AliAnalysisTaskFlowSingleMu.cxx:882 AliAnalysisTaskFlowSingleMu.cxx:883 AliAnalysisTaskFlowSingleMu.cxx:884 AliAnalysisTaskFlowSingleMu.cxx:885 AliAnalysisTaskFlowSingleMu.cxx:886 AliAnalysisTaskFlowSingleMu.cxx:887 AliAnalysisTaskFlowSingleMu.cxx:888 AliAnalysisTaskFlowSingleMu.cxx:889 AliAnalysisTaskFlowSingleMu.cxx:890 AliAnalysisTaskFlowSingleMu.cxx:891 AliAnalysisTaskFlowSingleMu.cxx:892 AliAnalysisTaskFlowSingleMu.cxx:893 AliAnalysisTaskFlowSingleMu.cxx:894 AliAnalysisTaskFlowSingleMu.cxx:895 AliAnalysisTaskFlowSingleMu.cxx:896 AliAnalysisTaskFlowSingleMu.cxx:897 AliAnalysisTaskFlowSingleMu.cxx:898 AliAnalysisTaskFlowSingleMu.cxx:899 AliAnalysisTaskFlowSingleMu.cxx:900 AliAnalysisTaskFlowSingleMu.cxx:901 AliAnalysisTaskFlowSingleMu.cxx:902 AliAnalysisTaskFlowSingleMu.cxx:903 AliAnalysisTaskFlowSingleMu.cxx:904 AliAnalysisTaskFlowSingleMu.cxx:905 AliAnalysisTaskFlowSingleMu.cxx:906 AliAnalysisTaskFlowSingleMu.cxx:907 AliAnalysisTaskFlowSingleMu.cxx:908 AliAnalysisTaskFlowSingleMu.cxx:909 AliAnalysisTaskFlowSingleMu.cxx:910 AliAnalysisTaskFlowSingleMu.cxx:911 AliAnalysisTaskFlowSingleMu.cxx:912 AliAnalysisTaskFlowSingleMu.cxx:913 AliAnalysisTaskFlowSingleMu.cxx:914 AliAnalysisTaskFlowSingleMu.cxx:915 AliAnalysisTaskFlowSingleMu.cxx:916 AliAnalysisTaskFlowSingleMu.cxx:917 AliAnalysisTaskFlowSingleMu.cxx:918 AliAnalysisTaskFlowSingleMu.cxx:919 AliAnalysisTaskFlowSingleMu.cxx:920 AliAnalysisTaskFlowSingleMu.cxx:921 AliAnalysisTaskFlowSingleMu.cxx:922 AliAnalysisTaskFlowSingleMu.cxx:923 AliAnalysisTaskFlowSingleMu.cxx:924 AliAnalysisTaskFlowSingleMu.cxx:925 AliAnalysisTaskFlowSingleMu.cxx:926 AliAnalysisTaskFlowSingleMu.cxx:927 AliAnalysisTaskFlowSingleMu.cxx:928 AliAnalysisTaskFlowSingleMu.cxx:929 AliAnalysisTaskFlowSingleMu.cxx:930 AliAnalysisTaskFlowSingleMu.cxx:931 AliAnalysisTaskFlowSingleMu.cxx:932 AliAnalysisTaskFlowSingleMu.cxx:933 AliAnalysisTaskFlowSingleMu.cxx:934 AliAnalysisTaskFlowSingleMu.cxx:935 AliAnalysisTaskFlowSingleMu.cxx:936 AliAnalysisTaskFlowSingleMu.cxx:937 AliAnalysisTaskFlowSingleMu.cxx:938 AliAnalysisTaskFlowSingleMu.cxx:939 AliAnalysisTaskFlowSingleMu.cxx:940 AliAnalysisTaskFlowSingleMu.cxx:941 AliAnalysisTaskFlowSingleMu.cxx:942 AliAnalysisTaskFlowSingleMu.cxx:943 AliAnalysisTaskFlowSingleMu.cxx:944 AliAnalysisTaskFlowSingleMu.cxx:945 AliAnalysisTaskFlowSingleMu.cxx:946 AliAnalysisTaskFlowSingleMu.cxx:947 AliAnalysisTaskFlowSingleMu.cxx:948 AliAnalysisTaskFlowSingleMu.cxx:949 AliAnalysisTaskFlowSingleMu.cxx:950 AliAnalysisTaskFlowSingleMu.cxx:951 AliAnalysisTaskFlowSingleMu.cxx:952 AliAnalysisTaskFlowSingleMu.cxx:953 AliAnalysisTaskFlowSingleMu.cxx:954 AliAnalysisTaskFlowSingleMu.cxx:955 AliAnalysisTaskFlowSingleMu.cxx:956 AliAnalysisTaskFlowSingleMu.cxx:957 AliAnalysisTaskFlowSingleMu.cxx:958 AliAnalysisTaskFlowSingleMu.cxx:959 AliAnalysisTaskFlowSingleMu.cxx:960 AliAnalysisTaskFlowSingleMu.cxx:961 AliAnalysisTaskFlowSingleMu.cxx:962 AliAnalysisTaskFlowSingleMu.cxx:963 AliAnalysisTaskFlowSingleMu.cxx:964 AliAnalysisTaskFlowSingleMu.cxx:965 AliAnalysisTaskFlowSingleMu.cxx:966 AliAnalysisTaskFlowSingleMu.cxx:967 AliAnalysisTaskFlowSingleMu.cxx:968 AliAnalysisTaskFlowSingleMu.cxx:969 AliAnalysisTaskFlowSingleMu.cxx:970 AliAnalysisTaskFlowSingleMu.cxx:971 AliAnalysisTaskFlowSingleMu.cxx:972 AliAnalysisTaskFlowSingleMu.cxx:973 AliAnalysisTaskFlowSingleMu.cxx:974 AliAnalysisTaskFlowSingleMu.cxx:975 AliAnalysisTaskFlowSingleMu.cxx:976 AliAnalysisTaskFlowSingleMu.cxx:977 AliAnalysisTaskFlowSingleMu.cxx:978 AliAnalysisTaskFlowSingleMu.cxx:979 AliAnalysisTaskFlowSingleMu.cxx:980 AliAnalysisTaskFlowSingleMu.cxx:981 AliAnalysisTaskFlowSingleMu.cxx:982 AliAnalysisTaskFlowSingleMu.cxx:983 AliAnalysisTaskFlowSingleMu.cxx:984 AliAnalysisTaskFlowSingleMu.cxx:985 AliAnalysisTaskFlowSingleMu.cxx:986 AliAnalysisTaskFlowSingleMu.cxx:987 AliAnalysisTaskFlowSingleMu.cxx:988 AliAnalysisTaskFlowSingleMu.cxx:989 AliAnalysisTaskFlowSingleMu.cxx:990 AliAnalysisTaskFlowSingleMu.cxx:991 AliAnalysisTaskFlowSingleMu.cxx:992