ROOT logo
/*************************************************************************
* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  * 
**************************************************************************/

/****************************************
 * analysis task for flow analysis with *
 *     multi-particle correlations      * 
 *                                      * 
 * author: Ante Bilandzic               *
 *         (abilandzic@gmail.com)       * 
 ***************************************/
  
#include "Riostream.h"
#include "AliFlowEventSimple.h"
#include "AliAnalysisTaskMultiparticleCorrelations.h"
#include "AliFlowAnalysisWithMultiparticleCorrelations.h"
#include "AliLog.h"

using std::cout;
using std::endl;

ClassImp(AliAnalysisTaskMultiparticleCorrelations)

//================================================================================================================

AliAnalysisTaskMultiparticleCorrelations::AliAnalysisTaskMultiparticleCorrelations(const char *name, Bool_t useParticleWeights): 
 AliAnalysisTaskSE(name), 
 fEvent(NULL),
 fMPC(NULL), 
 fHistList(NULL),
 fUseInternalFlags(kFALSE),
 fMinNoRPs(-44),
 fMaxNoRPs(-44),
 fExactNoRPs(-44),
 fAnalysisTag(""),
 fDumpThePoints(kFALSE),
 fMaxNoEventsPerFile(100),
 fFillControlHistograms(kFALSE),
 fFillKinematicsHist(kFALSE),
 fFillMultDistributionsHist(kFALSE),
 fFillMultCorrelationsHist(kFALSE),
 fCalculateQvector(kFALSE),
 fCalculateDiffQvectors(kFALSE),
 fProduction(""),
 fCalculateCorrelations(kFALSE),
 fCalculateIsotropic(kFALSE),
 fCalculateSame(kFALSE),
 fSkipZeroHarmonics(kFALSE),
 fCalculateSameIsotropic(kFALSE),
 fCalculateAll(kFALSE),
 fDontGoBeyond(0),
 fCalculateOnlyForHarmonicQC(kFALSE),
 fCalculateOnlyForSC(kFALSE),
 fCalculateOnlyCos(kFALSE),
 fCalculateOnlySin(kFALSE),
 fCalculateEbECumulants(kFALSE),
 fCrossCheckWithNestedLoops(kFALSE),
 fCrossCheckDiffWithNestedLoops(kFALSE),
 fCalculateStandardCandles(kFALSE),
 fPropagateErrorSC(kTRUE),
 fCalculateQcumulants(kFALSE),
 fHarmonicQC(2),
 fPropagateErrorQC(kTRUE),
 fCalculateDiffCorrelations(kFALSE),
 fCalculateDiffCos(kTRUE),
 fCalculateDiffSin(kFALSE),
 fCalculateDiffCorrelationsVsPt(kTRUE),
 fUseDefaultBinning(kTRUE),
 fnDiffBins(-44),
 fRangesDiffBins(NULL)
 {
  // Constructor.
 
  AliDebug(2,"AliAnalysisTaskMultiparticleCorrelations::AliAnalysisTaskMultiparticleCorrelations(const char *name, Bool_t useParticleWeights)");

  // Define input and output slots here
  // Input slot #0 works with an AliFlowEventSimple
  DefineInput(0, AliFlowEventSimple::Class());  
  // Input slot #1 is needed for the weights input file:
  if(useParticleWeights)
  {
   DefineInput(1, TList::Class());   
  }  
  // Output slot #0 is reserved              
  // Output slot #1 writes into a TList container
  DefineOutput(1, TList::Class());  

  // Initialize all arrays:
  for(Int_t rp=0;rp<2;rp++) // [RP,POI]
  {
   for(Int_t ppe=0;ppe<3;ppe++) // [phi,pt,eta]
   {
    fUseWeights[rp][ppe] = kFALSE;
    fWeightsHist[rp][ppe] = NULL; 
   }
  }
  // For nested loops arrays:
  fCrossCheckDiffCSCOBN[0] = 0; // cos/sin
  fCrossCheckDiffCSCOBN[1] = 2; // correlator order
  fCrossCheckDiffCSCOBN[2] = 4; // bin number 
  // Initialize default vaulues for fDontFill[3]:
  fDontFill[0] = kFALSE;
  fDontFill[1] = kFALSE;
  fDontFill[2] = kFALSE;
  // Initialize default binning values for fKinematicsHist[2][3]:
  // nBins:
  fnBins[0][0] = 360;  // [RP][phi]
  fnBins[0][1] = 1000; // [RP][pt]
  fnBins[0][2] = 1000; // [RP][eta]
  fnBins[1][0] = 360;  // [POI][phi]
  fnBins[1][1] = 1000; // [POI][pt]
  fnBins[1][2] = 1000; // [POI][eta]
  // Min:
  fMin[0][0] = 0.;  // [RP][phi]
  fMin[0][1] = 0.;  // [RP][pt]
  fMin[0][2] = -1.; // [RP][eta]
  fMin[1][0] = 0.;  // [POI][phi]
  fMin[1][1] = 0.;  // [POI][pt]
  fMin[1][2] = -1.; // [POI][eta]
  // Max:
  fMax[0][0] = TMath::TwoPi(); // [RP][phi]
  fMax[0][1] = 10.;            // [RP][pt]
  fMax[0][2] = 1.;             // [RP][eta]
  fMax[1][0] = TMath::TwoPi(); // [POI][phi]
  fMax[1][1] = 10.;            // [POI][pt]
  fMax[1][2] = 1.;             // [POI][eta]
  // Initialize default binning values for fMultCorrelationsHist[3]:
  // nBins:
  fnBinsMult[0] = 3000; // [RP]
  fnBinsMult[1] = 3000; // [POI]
  fnBinsMult[2] = 3000; // [REF]
  // Min:
  fMinMult[0] = 0.; // [RP]
  fMinMult[1] = 0.; // [POI]
  fMinMult[2] = 0.; // [REF]
  // Max:
  fMaxMult[0] = 3000.; // [RP]
  fMaxMult[1] = 3000.; // [POI]
  fMaxMult[2] = 3000.; // [REF]

} // AliAnalysisTaskMultiparticleCorrelations::AliAnalysisTaskMultiparticleCorrelations(const char *name, Bool_t useParticleWeights): 

//================================================================================================================

AliAnalysisTaskMultiparticleCorrelations::AliAnalysisTaskMultiparticleCorrelations(): 
 AliAnalysisTaskSE(),
 fEvent(NULL),
 fMPC(NULL),
 fHistList(NULL),
 fUseInternalFlags(kFALSE),
 fMinNoRPs(-44),
 fMaxNoRPs(-44),
 fExactNoRPs(-44),
 fAnalysisTag(""),
 fDumpThePoints(kFALSE),
 fMaxNoEventsPerFile(0),
 fFillControlHistograms(kFALSE),
 fFillKinematicsHist(kFALSE),
 fFillMultDistributionsHist(kFALSE),
 fFillMultCorrelationsHist(kFALSE),
 fCalculateQvector(kFALSE),
 fCalculateDiffQvectors(kFALSE),
 fProduction(""),
 fCalculateCorrelations(kFALSE),
 fCalculateIsotropic(kFALSE),
 fCalculateSame(kFALSE),
 fSkipZeroHarmonics(kFALSE),
 fCalculateSameIsotropic(kFALSE),
 fCalculateAll(kFALSE),
 fDontGoBeyond(0),
 fCalculateOnlyForHarmonicQC(kFALSE),
 fCalculateOnlyForSC(kFALSE),
 fCalculateOnlyCos(kFALSE),
 fCalculateOnlySin(kFALSE),
 fCalculateEbECumulants(kFALSE),
 fCrossCheckWithNestedLoops(kFALSE),
 fCrossCheckDiffWithNestedLoops(kFALSE),
 fCalculateStandardCandles(kFALSE),
 fPropagateErrorSC(kFALSE),
 fCalculateQcumulants(kFALSE),
 fHarmonicQC(0),
 fPropagateErrorQC(kFALSE),
 fCalculateDiffCorrelations(kFALSE),
 fCalculateDiffCos(kTRUE),
 fCalculateDiffSin(kFALSE),
 fCalculateDiffCorrelationsVsPt(kTRUE),
 fUseDefaultBinning(kTRUE),
 fnDiffBins(-44),
 fRangesDiffBins(NULL)
 {
  // Dummy constructor.
 
  AliDebug(2,"AliAnalysisTaskMultiparticleCorrelations::AliAnalysisTaskMultiparticleCorrelations()");

  // Initialize all arrays:
  for(Int_t rp=0;rp<2;rp++) // [RP,POI]
  {
   for(Int_t ppe=0;ppe<3;ppe++) // [phi,pt,eta]
   {
    fUseWeights[rp][ppe] = kFALSE;
    fWeightsHist[rp][ppe] = NULL; 
   }
  }
  // For nested loops arrays:
  fCrossCheckDiffCSCOBN[0] = 0; // cos/sin
  fCrossCheckDiffCSCOBN[1] = 2; // correlator order
  fCrossCheckDiffCSCOBN[2] = 4; // bin number 
  // Initialize default vaulues for fDontFill[3]:
  fDontFill[0] = kFALSE;
  fDontFill[1] = kFALSE;
  fDontFill[2] = kFALSE;
  // Initialize default binning values for fKinematicsHist[2][3]:
  // nBins:
  fnBins[0][0] = 360;  // [RP][phi]
  fnBins[0][1] = 1000; // [RP][pt]
  fnBins[0][2] = 1000; // [RP][eta]
  fnBins[1][0] = 360;  // [POI][phi]
  fnBins[1][1] = 1000; // [POI][pt]
  fnBins[1][2] = 1000; // [POI][eta]
  // Min:
  fMin[0][0] = 0.;  // [RP][phi]
  fMin[0][1] = 0.;  // [RP][pt]
  fMin[0][2] = -1.; // [RP][eta]
  fMin[1][0] = 0.;  // [POI][phi]
  fMin[1][1] = 0.;  // [POI][pt]
  fMin[1][2] = -1.; // [POI][eta]
  // Max:
  fMax[0][0] = TMath::TwoPi(); // [RP][phi]
  fMax[0][1] = 10.;            // [RP][pt]
  fMax[0][2] = 1.;             // [RP][eta]
  fMax[1][0] = TMath::TwoPi(); // [POI][phi]
  fMax[1][1] = 10.;            // [POI][pt]
  fMax[1][2] = 1.;             // [POI][eta]
  // Initialize default binning values for fMultCorrelationsHist[3]:
  // nBins:
  fnBinsMult[0] = 3000; // [RP]
  fnBinsMult[1] = 3000; // [POI]
  fnBinsMult[2] = 3000; // [REF]
  // Min:
  fMinMult[0] = 0.; // [RP]
  fMinMult[1] = 0.; // [POI]
  fMinMult[2] = 0.; // [REF]
  // Max:
  fMaxMult[0] = 3000.; // [RP]
  fMaxMult[1] = 3000.; // [POI]
  fMaxMult[2] = 3000.; // [REF]

} // AliAnalysisTaskMultiparticleCorrelations::AliAnalysisTaskMultiparticleCorrelations():

//================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::UserCreateOutputObjects() 
{
 // Called at every worker node to initialize.
  
 AliDebug(2,"AliAnalysisTaskMultiparticleCorrelations::UserCreateOutputObjects()");
 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::UserCreateOutputObjects()";

 // Analyser:
 fMPC = new AliFlowAnalysisWithMultiparticleCorrelations();
 
 // Setters:
 if(fUseInternalFlags){fMPC->SetMinNoRPs(fMinNoRPs);}
 if(fUseInternalFlags){fMPC->SetMaxNoRPs(fMaxNoRPs);}
 if(fUseInternalFlags){fMPC->SetExactNoRPs(fExactNoRPs);}
 fMPC->SetAnalysisTag(fAnalysisTag.Data());
 fMPC->SetDumpThePoints(fDumpThePoints,fMaxNoEventsPerFile);
 fMPC->SetFillControlHistograms(fFillControlHistograms);
 if(fDontFill[0]){fMPC->SetDontFill("RP");}
 if(fDontFill[1]){fMPC->SetDontFill("POI");}
 if(fDontFill[2]){fMPC->SetDontFill("REF");}
 fMPC->SetFillKinematicsHist(fFillKinematicsHist);
 fMPC->SetFillMultDistributionsHist(fFillMultDistributionsHist);
 fMPC->SetFillMultCorrelationsHist(fFillMultCorrelationsHist);
 fMPC->SetCalculateQvector(fCalculateQvector);
 fMPC->SetCalculateDiffQvectors(fCalculateDiffQvectors);
 fMPC->SetCalculateCorrelations(fCalculateCorrelations);
 fMPC->SetCalculateIsotropic(fCalculateIsotropic);
 fMPC->SetCalculateSame(fCalculateSame);
 fMPC->SetSkipZeroHarmonics(fSkipZeroHarmonics);
 fMPC->SetCalculateSameIsotropic(fCalculateSameIsotropic);
 fMPC->SetCalculateAll(fCalculateAll);
 fMPC->SetDontGoBeyond(fDontGoBeyond);
 fMPC->SetCalculateOnlyForHarmonicQC(fCalculateOnlyForHarmonicQC);
 fMPC->SetCalculateOnlyForSC(fCalculateOnlyForSC);
 fMPC->SetCalculateOnlyCos(fCalculateOnlyCos);
 fMPC->SetCalculateOnlySin(fCalculateOnlySin);
 fMPC->SetCalculateEbECumulants(fCalculateEbECumulants);
 fMPC->SetCrossCheckWithNestedLoops(fCrossCheckWithNestedLoops);
 fMPC->SetCrossCheckDiffWithNestedLoops(fCrossCheckDiffWithNestedLoops);
 fMPC->SetCrossCheckDiffCSCOBN(fCrossCheckDiffCSCOBN[0],fCrossCheckDiffCSCOBN[1],fCrossCheckDiffCSCOBN[2]);  
 fMPC->SetCalculateStandardCandles(fCalculateStandardCandles);
 fMPC->SetPropagateErrorSC(fPropagateErrorSC);
 fMPC->SetCalculateQcumulants(fCalculateQcumulants);
 fMPC->SetHarmonicQC(fHarmonicQC);
 fMPC->SetPropagateErrorQC(fPropagateErrorQC);
 fMPC->SetCalculateDiffCorrelations(fCalculateDiffCorrelations);
 fMPC->SetCalculateDiffCos(fCalculateDiffCos);
 fMPC->SetCalculateDiffSin(fCalculateDiffSin);
 fMPC->SetCalculateDiffCorrelationsVsPt(fCalculateDiffCorrelationsVsPt);
 fMPC->SetUseDefaultBinning(fUseDefaultBinning);
 fMPC->SetnDiffBins(fnDiffBins);
 fMPC->SetRangesDiffBins(fRangesDiffBins);

 // Weights:
 TString type[2] = {"RP","POI"};
 TString variable[3] = {"phi","pt","eta"}; 
 for(Int_t rp=0;rp<2;rp++) // [RP,POI]
 {
  for(Int_t ppe=0;ppe<3;ppe++) // [phi,pt,eta]
  {
   if(fUseWeights[rp][ppe])
   {
    if(!fWeightsHist[rp][ppe])
    {
     if(fProduction.EqualTo("")){Fatal(sMethodName.Data(),"fProduction is empty, for one reason or another...");}
     fWeightsHist[rp][ppe] = GetHistogramWithWeights(TString(Form("%s/%s",gSystem->pwd(),"weights.root")).Data(),TString(this->fName).Data(),type[rp].Data(),variable[ppe].Data(),fProduction.Data());
    }
    if(!fWeightsHist[rp][ppe])
    {
     Fatal(sMethodName.Data(),"fWeightsHist[%d][%d]",rp,ppe);
    } else{fMPC->SetWeightsHist(fWeightsHist[rp][ppe],type[rp].Data(),variable[ppe].Data());}
   } // if(fUseWeights[rp][ppe])
  } // for(Int_t ppe=0;ppe<3;ppe++) // [phi,pt,eta]
 } // for(Int_t rp=0;rp<2;rp++) // [RP,POI]

 // Control histos:
 // Kinematics:
 //TString typeKine[2] = {"RP","POI"};
 //TString variable[3] = {"phi","pt","eta"};
 for(Int_t rp=0;rp<2;rp++) // [RP,POI]
 {
  for(Int_t ppe=0;ppe<3;ppe++) // [phi,pt,eta]
  {
   fMPC->SetnBins(type[rp].Data(),variable[ppe].Data(),fnBins[rp][ppe]);
   fMPC->SetMin(type[rp].Data(),variable[ppe].Data(),fMin[rp][ppe]);
   fMPC->SetMax(type[rp].Data(),variable[ppe].Data(),fMax[rp][ppe]);
  } // for(Int_t ppe=0;ppe<3;ppe++) // [phi,pt,eta]
 } // for(Int_t rp=0;rp<2;rp++) // [RP,POI]
 // Multiplicites:
 TString typeMult[3] = {"RP","POI","REF"};
 for(Int_t rpr=0;rpr<3;rpr++) // [RP,POI,REF]
 {  
  fMPC->SetnBinsMult(typeMult[rpr].Data(),fnBinsMult[rpr]);
  fMPC->SetMinMult(typeMult[rpr].Data(),fMinMult[rpr]);
  fMPC->SetMaxMult(typeMult[rpr].Data(),fMaxMult[rpr]);
 } // for(Int_t rpr=0;rpr<3;rpr++) // [RP,POI,REF]

 // Initialize:
 fMPC->Init();
 if(fMPC->GetHistList()) 
 {
  fHistList = fMPC->GetHistList();
  // fHistList->Print();
 } else 
   {
    Printf("ERROR: Could not retrieve histogram list (MPC, Task::UserCreateOutputObjects()) !!!!"); 
   }
 
 PostData(1,fHistList);
  
} // void AliAnalysisTaskMultiparticleCorrelations::UserCreateOutputObjects() 

//================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::UserExec(Option_t *) 
{
 // Main loop (called for each event).

 fEvent = dynamic_cast<AliFlowEventSimple*>(GetInputData(0));

 // It's time for multi-particle correlations:
 if(fEvent) 
 {
  fMPC->Make(fEvent);
 } else 
   {
    cout<<" WARNING: No input data (MPC, Task::UserExec()) !!!!"<<endl;
    cout<<endl;
   }
  
 PostData(1,fHistList);

} // void AliAnalysisTaskMultiparticleCorrelations::UserExec(Option_t *) 

//================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::Terminate(Option_t *) 
{
 // Accessing the merged output list. 

 fHistList = (TList*)GetOutputData(1);
 
 fMPC = new AliFlowAnalysisWithMultiparticleCorrelations(); 
 
 if(fHistList) 
 {
  fMPC->GetOutputHistograms(fHistList);
  fMPC->Finish();
  PostData(1,fHistList);
 } else
   {
    cout<<" WARNING: fHistList is NULL (MPC, Task::Terminate()) !!!!"<<endl;
    cout<<endl;
   }
    
} // end of void AliAnalysisTaskMultiparticleCorrelations::Terminate(Option_t *)

//================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::SetWeightsHist(TH1D* const hist, const char *type, const char *variable)
{
 // Pass histogram holding weights from an external file to the corresponding data member. 
 
 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::SetWeightsHist(TH1D* const hist, const char *type, const char *variable)";
 
 // Basic protection:
 if(!hist){Fatal(sMethodName.Data(),"hist");}
 if(!(TString(type).EqualTo("RP") || TString(type).EqualTo("POI"))){Fatal(sMethodName.Data(),"!(TString(type).EqualTo... type = %s ",type);}
 if(!(TString(variable).EqualTo("phi") || TString(variable).EqualTo("pt") || TString(variable).EqualTo("eta"))){Fatal(sMethodName.Data(),"!(TString(variable).EqualTo... variable = %s ",variable);}

 Int_t rp = 0; // [RP,POI]
 if(TString(type).EqualTo("POI")){rp=1;} 

 Int_t ppe = 0; // [phi,pt,eta]
 if(TString(variable).EqualTo("pt")){ppe=1;} 
 if(TString(variable).EqualTo("eta")){ppe=2;} 

 // Finally:
 hist->SetDirectory(0);
 fWeightsHist[rp][ppe] = (TH1D*)hist->Clone();
 if(!fWeightsHist[rp][ppe]){Fatal(sMethodName.Data(),"fWeightsHist[%d][%d]",rp,ppe);}

 fUseWeights[rp][ppe] = kTRUE; 

} // void AliAnalysisTaskMultiparticleCorrelations::SetWeightsHist(TH1D* const hwh, const char *type, const char *variable)

//================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::SetnBins(const char *type, const char *variable, Int_t nBins)
{
 // Set number of bins for histograms fKinematicsHist[2][3].

 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::SetnBins(const char *type, const char *variable, Int_t nBins)";
 
 // Basic protection:
 if(!(TString(type).EqualTo("RP") || TString(type).EqualTo("POI")))
 {
  cout<<"Well, it would be better for you to use RP or POI here..."<<endl;
  Fatal(sMethodName.Data(),"!(TString(type).EqualTo... type = %s ",type);
 }
 if(!(TString(variable).EqualTo("phi") || TString(variable).EqualTo("pt") || TString(variable).EqualTo("eta")))
 {
  cout<<"phi, pt or eta, please!"<<endl;
  Fatal(sMethodName.Data(),"!(TString(variable).EqualTo... variable = %s ",variable);
 }

 Int_t rp = 0; // [RP,POI]
 if(TString(type).EqualTo("POI")){rp=1;} 

 Int_t ppe = 0; // [phi,pt,eta]
 if(TString(variable).EqualTo("pt")){ppe=1;} 
 if(TString(variable).EqualTo("eta")){ppe=2;} 

 fnBins[rp][ppe] = nBins;

} // void AliAnalysisTaskMultiparticleCorrelations::SetnBins(const char *type, const char *variable, Int_t nBins)

//=======================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::SetMin(const char *type, const char *variable, Double_t min)
{
 // Set min bin range for histograms fKinematicsHist[2][3].

 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::SetMin(const char *type, const char *variable, Double_t min)";
 
 // Basic protection:
 if(!(TString(type).EqualTo("RP") || TString(type).EqualTo("POI")))
 {
  cout<<"Well, it would be better for you to use RP or POI here..."<<endl;
  Fatal(sMethodName.Data(),"!(TString(type).EqualTo... type = %s ",type);
 }
 if(!(TString(variable).EqualTo("phi") || TString(variable).EqualTo("pt") || TString(variable).EqualTo("eta")))
 {
  cout<<"phi, pt or eta, please!"<<endl;
  Fatal(sMethodName.Data(),"!(TString(variable).EqualTo... variable = %s ",variable);
 }

 Int_t rp = 0; // [RP,POI]
 if(TString(type).EqualTo("POI")){rp=1;} 

 Int_t ppe = 0; // [phi,pt,eta]
 if(TString(variable).EqualTo("pt")){ppe=1;} 
 if(TString(variable).EqualTo("eta")){ppe=2;} 

 fMin[rp][ppe] = min;

} // void AliAnalysisTaskMultiparticleCorrelations::SetMin(const char *type, const char *variable, Double_t min)

//=======================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::SetMax(const char *type, const char *variable, Double_t max)
{
 // Set max bin range for histograms fKinematicsHist[2][3].

 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::SetMax(const char *type, const char *variable, Double_t max)";
 
 // Basic protection:
 if(!(TString(type).EqualTo("RP") || TString(type).EqualTo("POI")))
 {
  cout<<"Well, it would be better for you to use RP or POI here..."<<endl;
  Fatal(sMethodName.Data(),"!(TString(type).EqualTo... type = %s ",type);
 }
 if(!(TString(variable).EqualTo("phi") || TString(variable).EqualTo("pt") || TString(variable).EqualTo("eta")))
 {
  cout<<"phi, pt or eta, please!"<<endl;
  Fatal(sMethodName.Data(),"!(TString(variable).EqualTo... variable = %s ",variable);
 }

 Int_t rp = 0; // [RP,POI]
 if(TString(type).EqualTo("POI")){rp=1;} 

 Int_t ppe = 0; // [phi,pt,eta]
 if(TString(variable).EqualTo("pt")){ppe=1;} 
 if(TString(variable).EqualTo("eta")){ppe=2;} 

 fMax[rp][ppe] = max;

} // void AliAnalysisTaskMultiparticleCorrelations::SetMax(const char *type, const char *variable, Double_t min)

//=======================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::SetnBinsMult(const char *type, Int_t nBinsMult)
{
 // Set number of bins for histograms fMultDistributionsHist[3].

 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::SetnBinsMult(const char *type, Int_t nBinsMult)";
 
 // Basic protection:
 if(!(TString(type).EqualTo("RP") || TString(type).EqualTo("POI") || TString(type).EqualTo("REF")))
 {
  cout<<"Well, it would be better for you to use RP, POI or REF here..."<<endl;
  Fatal(sMethodName.Data(),"!(TString(type).EqualTo... type = %s ",type);
 }

 Int_t rpr = 0; // [RP,POI,REF]
 if(TString(type).EqualTo("POI")){rpr=1;} 
 else if(TString(type).EqualTo("REF")){rpr=2;} 

 fnBinsMult[rpr] = nBinsMult;

} // void AliAnalysisTaskMultiparticleCorrelations::SetnBinsMult(const char *type, Int_t nBinsMult)

//=======================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::SetMinMult(const char *type, Double_t minMult)
{
 // Set min bin range for histograms fMultDistributionsHist[3].

 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::SetMinMult(const char *type, Double_t minMult)";
 
 // Basic protection:
 if(!(TString(type).EqualTo("RP") || TString(type).EqualTo("POI") || TString(type).EqualTo("REF")))
 {
  cout<<"Well, it would be better for you to use RP, POI or REF here..."<<endl;
  Fatal(sMethodName.Data(),"!(TString(type).EqualTo... type = %s ",type);
 }

 Int_t rpr = 0; // [RP,POI,REF]
 if(TString(type).EqualTo("POI")){rpr=1;} 
 else if(TString(type).EqualTo("REF")){rpr=2;} 

 fMinMult[rpr] = minMult;

} // void AliAnalysisTaskMultiparticleCorrelations::SetMinMult(const char *type, Double_t minMult)

//=======================================================================================================================

void AliAnalysisTaskMultiparticleCorrelations::SetMaxMult(const char *type, Double_t maxMult)
{
 // Set max bin range for histograms fMultDistributionsHist[3].

 TString sMethodName = "void AliAnalysisTaskMultiparticleCorrelations::SetMaxMult(const char *type, Double_t maxMult)";
 
 // Basic protection:
 if(!(TString(type).EqualTo("RP") || TString(type).EqualTo("POI") || TString(type).EqualTo("REF")))
 {
  cout<<"Well, it would be better for you to use RP, POI or REF here..."<<endl;
  Fatal(sMethodName.Data(),"!(TString(type).EqualTo... type = %s ",type);
 }

 Int_t rpr = 0; // [RP,POI,REF]
 if(TString(type).EqualTo("POI")){rpr=1;} 
 else if(TString(type).EqualTo("REF")){rpr=2;} 

 fMaxMult[rpr] = maxMult;

} // void AliAnalysisTaskMultiparticleCorrelations::SetMaxMult(const char *type, Double_t minMult)

//=======================================================================================================================





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