ROOT logo
AliRoot » PWG » FLOW » BASE » AliFlowAnalysisWithMultiparticleCorrelations

class AliFlowAnalysisWithMultiparticleCorrelations

Function Members (Methods)

public:
AliFlowAnalysisWithMultiparticleCorrelations()
virtual~AliFlowAnalysisWithMultiparticleCorrelations()
virtual voidBookAndNestAllLists()
virtual voidBookEverythingForBase()
virtual voidBookEverythingForControlHistograms()
virtual voidBookEverythingForCorrelations()
virtual voidBookEverythingForDiffCorrelations()
virtual voidBookEverythingForEbECumulants()
virtual voidBookEverythingForNestedLoops()
virtual voidBookEverythingForQcumulants()
virtual voidBookEverythingForQvector()
virtual voidBookEverythingForStandardCandles()
virtual voidBookEverythingForWeights()
virtual voidCalculateCorrelations(AliFlowEventSimple* anEvent)
virtual voidCalculateDiffCorrelations(AliFlowEventSimple* anEvent)
virtual voidCalculateEbECumulants(AliFlowEventSimple* anEvent)
virtual voidCalculateProductsOfCorrelations(AliFlowEventSimple* anEvent, TProfile2D* profile2D)
virtual voidCalculateQcumulants()
virtual voidCalculateReferenceFlow()
virtual voidCalculateStandardCandles()
virtual Double_tCastStringToCorrelation(const char* string, Bool_t numerator)
static TClass*Class()
virtual Double_tCovariance(const char* x, const char* y, TProfile2D* profile2D, Bool_t bUnbiasedEstimator = kFALSE)
virtual voidCrossCheckDiffWithNestedLoops(AliFlowEventSimple* anEvent)
virtual Bool_tCrossCheckInternalFlags(AliFlowEventSimple* anEvent)
virtual voidCrossCheckPointersUsedInFinish()
virtual voidCrossCheckPointersUsedInMake()
virtual voidCrossCheckSettings()
virtual voidCrossCheckWithNestedLoops(AliFlowEventSimple* anEvent)
static voidDumpPointsForDurham(TGraphErrors* ge)
static voidDumpPointsForDurham(TH1D* h)
static voidDumpPointsForDurham(TH1F* h)
virtual voidDumpThePoints(AliFlowEventSimple* anEvent)
virtual TComplexEight(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6, Int_t n7, Int_t n8)
virtual voidFillControlHistograms(AliFlowEventSimple* anEvent)
virtual voidFillQvector(AliFlowEventSimple* anEvent)
virtual voidFinish()
virtual TComplexFive(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5)
virtual TComplexFour(Int_t n1, Int_t n2, Int_t n3, Int_t n4)
virtual TComplexFourDiff(Int_t n1, Int_t n2, Int_t n3, Int_t n4)
TStringGetAnalysisTag() const
Bool_tGetCalculateAll() const
Bool_tGetCalculateCorrelations() const
Bool_tGetCalculateDiffCorrelations() const
Bool_tGetCalculateDiffCorrelationsVsPt() const
Bool_tGetCalculateDiffCos() const
Bool_tGetCalculateDiffQvectors() const
Bool_tGetCalculateDiffSin() const
Bool_tGetCalculateEbECumulants() const
Bool_tGetCalculateIsotropic() const
Bool_tGetCalculateOnlyCos() const
Bool_tGetCalculateOnlyForHarmonicQC() const
Bool_tGetCalculateOnlyForSC() const
Bool_tGetCalculateOnlySin() const
Bool_tGetCalculateQcumulants() const
Bool_tGetCalculateQvector() const
Bool_tGetCalculateSame() const
Bool_tGetCalculateSameIsotropic() const
Bool_tGetCalculateStandardCandles() const
TProfile*GetControlHistogramsFlagsPro() const
TList*GetControlHistogramsList() const
TProfile*GetCorrelationsFlagsPro() const
TList*GetCorrelationsList() const
Bool_tGetCrossCheckDiffWithNestedLoops() const
Bool_tGetCrossCheckWithNestedLoops() const
TProfile*GetDiffCorrelationsFlagsPro() const
TList*GetDiffCorrelationsList() const
Int_tGetDontGoBeyond() const
TProfile*GetEbECumulantsFlagsPro() const
TList*GetEbECumulantsList() const
Int_tGetExactNoRPs() const
Bool_tGetFillControlHistograms() const
Bool_tGetFillKinematicsHist() const
Bool_tGetFillMultCorrelationsHist() const
Bool_tGetFillMultDistributionsHist() const
Int_tGetHarmonicQC() const
TList*GetHistList() const
TH1D*GetHistogramWithWeights(const char* filePath, const char* listName, const char* type, const char* variable, const char* production)
TProfile*GetInternalFlagsPro() const
Int_tGetMaxNoRPs() const
Int_tGetMinNoRPs() const
Int_tGetnDiffBins() const
TProfile*GetNestedLoopsFlagsPro() const
TList*GetNestedLoopsList() const
virtual voidGetOutputHistograms(TList* histList)
virtual voidGetPointersForControlHistograms()
virtual voidGetPointersForCorrelations()
virtual voidGetPointersForDiffCorrelations()
virtual voidGetPointersForQcumulants()
virtual voidGetPointersForQvector()
virtual voidGetPointersForStandardCandles()
TProfile2D*GetProductsQCPro() const
TProfile2D*GetProductsSCPro() const
Bool_tGetPropagateErrorQC() const
Bool_tGetPropagateErrorSC() const
TProfile*GetQcumulantsFlagsPro() const
TH1D*GetQcumulantsHist() const
TList*GetQcumulantsList() const
TProfile*GetQvectorFlagsPro() const
TList*GetQvectorList() const
Double_t*GetRangesDiffBins() const
TH1D*GetReferenceFlowHist() const
Bool_tGetSkipZeroHarmonics() const
TProfile*GetStandardCandlesFlagsPro() const
TH1D*GetStandardCandlesHist() const
TList*GetStandardCandlesList() const
Bool_tGetUseDefaultBinning() const
TProfile*GetWeightsFlagsPro() const
TList*GetWeightsList() const
virtual voidInit()
virtual voidInitializeArraysForControlHistograms()
virtual voidInitializeArraysForCorrelations()
virtual voidInitializeArraysForDiffCorrelations()
virtual voidInitializeArraysForEbECumulants()
virtual voidInitializeArraysForNestedLoops()
virtual voidInitializeArraysForQcumulants()
virtual voidInitializeArraysForQvector()
virtual voidInitializeArraysForWeights()
virtual TClass*IsA() const
virtual voidMake(AliFlowEventSimple* anEvent)
virtual TComplexOne(Int_t n1)
virtual TComplexOneDiff(Int_t n1)
virtual TComplexp(Int_t n, Int_t p)
virtual TComplexQ(Int_t n, Int_t p)
virtual TComplexq(Int_t n, Int_t p)
virtual TComplexRecursion(Int_t n, Int_t* harmonic, Int_t mult = 1, Int_t skip = 0)
virtual voidResetQvector()
voidSetAnalysisTag(const char* at)
voidSetCalculateAll(Bool_t ca)
voidSetCalculateCorrelations(Bool_t cc)
voidSetCalculateDiffCorrelations(Bool_t cdc)
voidSetCalculateDiffCorrelationsVsPt(Bool_t cdcvspt)
voidSetCalculateDiffCos(Bool_t cdc)
voidSetCalculateDiffQvectors(Bool_t cdqv)
voidSetCalculateDiffSin(Bool_t cds)
voidSetCalculateEbECumulants(Bool_t cebec)
voidSetCalculateIsotropic(Bool_t ci)
voidSetCalculateOnlyCos(Bool_t coc)
voidSetCalculateOnlyForHarmonicQC(Bool_t cofhqc)
voidSetCalculateOnlyForSC(Bool_t cofsc)
voidSetCalculateOnlySin(Bool_t cos)
voidSetCalculateQcumulants(Bool_t cqc)
voidSetCalculateQvector(Bool_t cqv)
voidSetCalculateSame(Bool_t cs)
voidSetCalculateSameIsotropic(Bool_t csi)
voidSetCalculateStandardCandles(Bool_t csc)
voidSetControlHistogramsFlagsPro(TProfile *const chfp)
voidSetControlHistogramsList(TList *const chl)
voidSetCorrelationsFlagsPro(TProfile *const cfp)
voidSetCorrelationsList(TList *const cl)
voidSetCrossCheckDiffCSCOBN(Int_t cs, Int_t co, Int_t bn)
voidSetCrossCheckDiffWithNestedLoops(Bool_t ccdwnl)
voidSetCrossCheckWithNestedLoops(Bool_t ccwnl)
voidSetDiffCorrelationsFlagsPro(TProfile *const cdfp)
voidSetDiffCorrelationsList(TList *const dcl)
voidSetDiffHarmonics(Int_t order, Int_t* harmonics)
voidSetDontFill(const char* type)
voidSetDontGoBeyond(Int_t dgb)
voidSetDumpThePoints(Bool_t dtp, Int_t max)
voidSetEbECumulantsFlagsPro(TProfile *const ebecfp)
voidSetEbECumulantsList(TList *const ebecl)
voidSetExactNoRPs(Int_t exact)
voidSetFillControlHistograms(Bool_t fch)
voidSetFillKinematicsHist(Bool_t fkh)
voidSetFillMultCorrelationsHist(Bool_t mch)
voidSetFillMultDistributionsHist(Bool_t mdh)
voidSetHarmonicQC(Int_t hqc)
voidSetHistList(TList *const hlist)
voidSetInternalFlagsPro(TProfile *const ifp)
voidSetMax(const char* type, const char* variable, Double_t max)
voidSetMaxMult(const char* type, Double_t maxMult)
voidSetMaxNoRPs(Int_t max)
voidSetMin(const char* type, const char* variable, Double_t min)
voidSetMinMult(const char* type, Double_t minMult)
voidSetMinNoRPs(Int_t min)
voidSetnBins(const char* type, const char* variable, Int_t nBins)
voidSetnBinsMult(const char* type, Int_t nBinsMult)
voidSetnDiffBins(Int_t ndb)
voidSetNestedLoopsFlagsPro(TProfile *const nlfp)
voidSetNestedLoopsList(TList *const nll)
voidSetProductsQCPro(TProfile2D *const pqc)
voidSetProductsSCPro(TProfile2D *const psc)
voidSetPropagateErrorQC(Bool_t peqc)
voidSetPropagateErrorSC(Bool_t pesc)
voidSetQcumulantsFlagsPro(TProfile *const qcfp)
voidSetQcumulantsHist(TH1D *const qch)
voidSetQcumulantsList(TList *const qcl)
voidSetQvectorFlagsPro(TProfile *const qvfp)
voidSetQvectorList(TList *const qvl)
voidSetRangesDiffBins(Double_t *const rdb)
voidSetReferenceFlowHist(TH1D *const rfh)
voidSetSkipZeroHarmonics(Bool_t szh)
voidSetStandardCandlesFlagsPro(TProfile *const scfp)
voidSetStandardCandlesHist(TH1D *const sch)
voidSetStandardCandlesList(TList *const scl)
voidSetUseDefaultBinning(Bool_t udb)
voidSetWeightsFlagsPro(TProfile *const wfp)
voidSetWeightsHist(TH1D *const hist, const char* type, const char* variable)
voidSetWeightsList(TList *const wl)
virtual TComplexSeven(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6, Int_t n7)
virtual voidShowMembers(TMemberInspector&)
virtual TComplexSix(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual TComplexThree(Int_t n1, Int_t n2, Int_t n3)
virtual TComplexThreeDiff(Int_t n1, Int_t n2, Int_t n3)
virtual TComplexTwo(Int_t n1, Int_t n2)
virtual TComplexTwoDiff(Int_t n1, Int_t n2)
virtual Double_tWeight(const Double_t& value, const char* type, const char* variable)
virtual voidWriteHistograms(TString outputFileName)
virtual voidWriteHistograms(TDirectoryFile* outputFileName)

Data Members

private:
TStringfAnalysisTagtag internally this analysis
Bool_tfCalculateAllcalculate all possible correlations
Bool_tfCalculateCorrelationscalculate and store correlations
Bool_tfCalculateDiffCorrelationscalculate and store differential correlations
Bool_tfCalculateDiffCorrelationsVsPtcalculate differential correlations vs pt (default), or vs eta
Bool_tfCalculateDiffCoscalculate and store differential cosine correlations (kTRUE by default)
Bool_tfCalculateDiffQvectorsto calculate or not to calculate p- and q-vector components, that's a Boolean...
Bool_tfCalculateDiffSincalculate and store differential sinus correlations (kFALSE by default)
Bool_tfCalculateEbECumulantscalculate and store e-b-e cumulants
Bool_tfCalculateIsotropiccalculate only isotropic correlations
Bool_tfCalculateOnlyCoscalculate only 'cos' correlations
Bool_tfCalculateOnlyForHarmonicQCcalculate only isotropic correlations in |fHarmonicQC|
Bool_tfCalculateOnlyForSCcalculate only correlations needed for 'standard candles'
Bool_tfCalculateOnlySincalculate only 'sin' correlations
Bool_tfCalculateQcumulantscalculate and store Q-cumulants
Bool_tfCalculateQvectorto calculate or not to calculate Q-vector components, that's a Boolean...
Bool_tfCalculateSamecalculate only 'same abs harmonics' correlations TBI
Bool_tfCalculateSameIsotropiccalculate all isotropic correlations in 'same abs harmonic' TBI this can be implemented better
Bool_tfCalculateStandardCandlescalculate and store 'standard candles'
TProfile*fControlHistogramsFlagsProprofile to hold all flags for control histograms
TList*fControlHistogramsListlist to hold all 'control histograms' objects
TProfile*fCorrelationsFlagsProprofile to hold all flags for correlations
TList*fCorrelationsListlist to hold all correlations objects
TProfile*fCorrelationsPro[2][8]multi-particle correlations [0=cos,1=sin][1p,2p,...,8p]
Int_tfCrossCheckDiffCSCOBN[3][0=cos,1=sin][1p,2p,...,4p][binNo]
Bool_tfCrossCheckDiffWithNestedLoopscross-check differential correlators with nested loops
Bool_tfCrossCheckWithNestedLoopscross-check results with nested loops
UInt_tfDiffBinNodifferential bin number
TProfile*fDiffCorrelationsFlagsProprofile to hold all flags for correlations
TList*fDiffCorrelationsListlist to hold all correlations objects
TProfile*fDiffCorrelationsPro[2][4]multi-particle correlations [0=cos,1=sin][1p,2p,3p,4p]
Int_tfDiffHarmonics[4][4]harmonics for differential correlations [order][{n1},{n1,n2},...,{n1,n2,n3,n4}]
Bool_tfDontFill[3]don't fill control histograms [0=RP,1=POI,2=REF]
Int_tfDontGoBeyonddo not go beyond fDontGoBeyond-p correlators
Bool_tfDumpThePointsdump the data points into the external file
TProfile*fEbECumulantsFlagsProprofile to hold all flags for e-b-e cumulants
TList*fEbECumulantsListlist to hold all e-b-e cumulants objects
TProfile*fEbECumulantsPro[2][8]multi-particle e-b-e cumulants [0=cos,1=sin][1p,2p,...,8p]
Int_tfExactNoRPsexact (randomly shuffled) number of RPs selected for the analysis
Bool_tfFillControlHistogramsfill or not control histograms (by default they are all filled)
Bool_tfFillKinematicsHistfill or not fKinematicsHist[2][3]
Bool_tfFillMultCorrelationsHistfill or not TH2D *fMultCorrelationsHist[3]
Bool_tfFillMultDistributionsHistfill or not TH1D *fMultDistributionsHist[3]
Int_tfHarmonicQCcalculate Q-cumulants in this harmonic (default is 2)
TList*fHistListbase list to hold all output object (a.k.a. grandmother of all lists)
TProfile*fInternalFlagsProprofile to hold all internal flags and settings
TH1D*fKinematicsHist[2][3][RP,POI][phi,pt,eta] distributions
Double_tfMax[2][3][RP,POI][phi,pt,eta], corresponds to fKinematicsHist[2][3]
Int_tfMaxCorrelator8 (not going beyond 8-p correlations, if you change this value, change also fQvector[49][9])
Int_tfMaxHarmonic6 (not going beyond v6, if you change this value, change also fQvector[49][9])
Double_tfMaxMult[3][RP,POI,REF], corresponds to fMultDistributionsHist[3]
Int_tfMaxNoEventsPerFilemaximum number of events to be dumped in a single file
Int_tfMaxNoRPsmaximum number of RPs allowed for the analysis
Double_tfMin[2][3][RP,POI][phi,pt,eta], corresponds to fKinematicsHist[2][3]
Double_tfMinMult[3][RP,POI,REF], corresponds to fMultDistributionsHist[3]
Int_tfMinNoRPsminimum number of RPs required for the analysis
TH2I*fMultCorrelationsHist[3][RP vs. POI, RP vs. refMult, POI vs. refMult]
TH1D*fMultDistributionsHist[3]multiplicity distribution [RP,POI,reference multiplicity]
TProfile*fNestedLoopsDiffResultsProprofile to hold differential nested loops results // TBI
TProfile*fNestedLoopsFlagsProprofile to hold all flags for nested loops
TList*fNestedLoopsListlist to hold all nested loops objects
TProfile*fNestedLoopsResultsCosProprofile to hold nested loops results (cosine)
TProfile*fNestedLoopsResultsSinProprofile to hold nested loops results (sinus)
TProfile2D*fProductsQCPro2D profile to hold products of correlations needed for QC error propagation
TProfile2D*fProductsSCPro2D profile to hold products of correlations needed for SC error propagation
Bool_tfPropagateErrorprevent error propagation if something strange happens during calculations
Bool_tfPropagateErrorQCpropagate and store error for Q-cumulants
Bool_tfPropagateErrorSCpropagate and store error for 'standard candles'
TProfile*fQcumulantsFlagsProprofile to hold all flags for Q-cumulants
TH1D*fQcumulantsHisttwo- and multi-particle Q-cumulants
TList*fQcumulantsListlist to hold all Q-cumulants objects
TComplexfQvector[49][9]Q-vector components [fMaxHarmonic*fMaxCorrelator+1][fMaxCorrelator+1] = [6*8+1][8+1]
TProfile*fQvectorFlagsProprofile to hold all flags for Q-vector
TList*fQvectorListlist to hold all Q-vector objects
Double_t*fRangesDiffBinsranges for differential bins in pt or in eta (when non-default binning is used)
TH1D*fReferenceFlowHistreference flow from two- and multi-particle Q-cumulants
Bool_tfSkipZeroHarmonicsskip correlations which have some of the harmonicc equal to zero
TProfile*fStandardCandlesFlagsProprofile to hold all flags fo 'standard candles'
TH1D*fStandardCandlesHisthistogram to hold results for 'standard candles'
TList*fStandardCandlesListlist to hold all 'standard candles' objects
Bool_tfUseDefaultBinninguse default binning in pt or in eta
Bool_tfUseInternalFlagsuse internal flags (automatically set if some internal flag is used)
Bool_tfUseWeights[2][3]use weights [RP,POI][phi,pt,eta]
TProfile*fWeightsFlagsProprofile to hold all flags for weights
TH1D*fWeightsHist[2][3]histograms holding weights [RP,POI][phi,pt,eta]
TList*fWeightsListlist to hold all weights objects
Int_tfnBins[2][3][RP,POI][phi,pt,eta], corresponds to fKinematicsHist[2][3]
Int_tfnBinsMult[3][RP,POI,REF], corresponds to fMultDistributionsHist[3]
Int_tfnDiffBinsnumber of differential bins in pt or in eta (when non-default binning is used)
TComplexfpvector[100][49][9]p-vector components [bin][fMaxHarmonic*fMaxCorrelator+1][fMaxCorrelator+1] = [6*8+1][8+1] TBI hardwired 100
TComplexfqvector[100][49][9]q-vector components [bin][fMaxHarmonic*fMaxCorrelator+1][fMaxCorrelator+1] = [6*8+1][8+1] TBI hardwired 100

Class Charts

Inheritance Chart:
AliFlowAnalysisWithMultiparticleCorrelations

Function documentation

AliFlowAnalysisWithMultiparticleCorrelations()
 0.) Base:
 1.) Control histograms:
 2.) Q-vector:
 3.) Correlations:
 4.) Event-by-event cumulants:
 5.) Weights:
 6.) Nested loops:
 7.) 'Standard candles':
 8.) Q-cumulants:
 9.) Differential correlations:
 Constructor.
~AliFlowAnalysisWithMultiparticleCorrelations()
 Destructor.
void Init()
 Well, this is method Init().
void Make(AliFlowEventSimple* anEvent)
 Running over data only in this method.
void Finish()
 Closing the curtains.
void CrossCheckPointersUsedInFinish()
 Cross-check all pointers used in method Finish().
void CrossCheckPointersUsedInMake()
 Cross-check all pointers used in method Make().
void CalculateStandardCandles()
 Calculate 'standard candles'.
void InitializeArraysForCorrelations()
 Initialize all arrays for correlations.
void InitializeArraysForEbECumulants()
 Initialize all arrays for event-by-event cumulants.
void InitializeArraysForDiffCorrelations()
 Initialize all arrays for differential correlations.
void InitializeArraysForNestedLoops()
 Initialize all arrays for nested loops.
void CalculateCorrelations(AliFlowEventSimple* anEvent)
 Calculate multi-particle correlations from Q-vector components.
void CalculateDiffCorrelations(AliFlowEventSimple* anEvent)
 Calculate differential multi-particle correlations from Q-, p- and q-vector components.
Double_t CastStringToCorrelation(const char* string, Bool_t numerator)
 Cast string of the generic form Cos/Sin(-n_1,-n_2,...,n_{k-1},n_k) in the corresponding correlation value.
 If you issue a call to this method with setting numerator = kFALSE, then you are getting back for free
 the corresponding denumerator (a.k.a. weight 'number of combinations').
void CalculateProductsOfCorrelations(AliFlowEventSimple* anEvent, TProfile2D* profile2D)
 Calculate products of multi-particle correlations (needed for error propagation).
void CalculateEbECumulants(AliFlowEventSimple* anEvent)
 Calculate e-b-e cumulants from Q-vector components.
void CrossCheckWithNestedLoops(AliFlowEventSimple* anEvent)
 Cross-check results for multi-particle correlations with nested loops.
void CrossCheckDiffWithNestedLoops(AliFlowEventSimple* anEvent)
 Cross-check results for differential multi-particle correlations with nested loops.
void FillQvector(AliFlowEventSimple* anEvent)
 Fill Q-vector components.
void CrossCheckSettings()
 Cross-check all initial settings in this method.
void BookAndNestAllLists()
 Book and nest all lists nested in the base list fHistList.
void WriteHistograms(TString outputFileName)
 Store the final results in output file <outputFileName>.root.
void WriteHistograms(TDirectoryFile* outputFileName)
 Store the final results in output file <outputFileName>.root.
void BookEverythingForControlHistograms()
 Book all the stuff for control histograms.
void FillControlHistograms(AliFlowEventSimple* anEvent)
 Fill control histograms.
 a) Fill TH1D *fKinematicsHist[2][3];
 b) Fill TH1D *fMultDistributionsHist[3];
 c) Fill TH2D *fMultCorrelationsHist[3].
void InitializeArraysForControlHistograms()
 Initialize all arrays for control histograms.
void BookEverythingForQvector()
 Book all the stuff for Q-vector.
void BookEverythingForCorrelations()
 Book all the stuff for correlations.
void BookEverythingForDiffCorrelations()
 Book all the stuff for differential correlations.
void BookEverythingForEbECumulants()
 Book all the stuff for event-by-event cumulants.
void BookEverythingForNestedLoops()
 Book all the stuff for nested loops.
void BookEverythingForStandardCandles()
 Book all the stuff for 'standard candles'.
void GetOutputHistograms(TList* histList)
 Get pointers for everything and everywhere from the base list "fHistList".
void GetPointersForQvector()
 Get pointers for Q-vector objects.
void GetPointersForStandardCandles()
 Get pointers for 'standard candles'.
void GetPointersForControlHistograms()
 Get pointers for control histograms.
void GetPointersForCorrelations()
 Get pointers for correlations.
void GetPointersForQcumulants()
 Get pointers for Q-cumulants.
void GetPointersForDiffCorrelations()
 Get pointers for differential correlations.
void InitializeArraysForQvector()
 Initialize all arrays for Q-vector.
void ResetQvector()
 Reset all Q-vector components to zero before starting a new event.
TComplex Q(Int_t n, Int_t p)
 Using the fact that Q{-n,p} = Q{n,p}^*.
TComplex p(Int_t n, Int_t p)
 Using the fact that p{-n,p} = p{n,p}^*.
TComplex q(Int_t n, Int_t p)
 Using the fact that q{-n,p} = q{n,p}^*.
TComplex One(Int_t n1)
 Generic expression <exp[i(n1*phi1)]>. TBI comment
TComplex Two(Int_t n1, Int_t n2)
 Generic two-particle correlation <exp[i(n1*phi1+n2*phi2)]>.
TComplex Three(Int_t n1, Int_t n2, Int_t n3)
 Generic three-particle correlation <exp[i(n1*phi1+n2*phi2+n3*phi3)]>.
TComplex Four(Int_t n1, Int_t n2, Int_t n3, Int_t n4)
 Generic four-particle correlation <exp[i(n1*phi1+n2*phi2+n3*phi3+n4*phi4)]>.
TComplex Five(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5)
 Generic five-particle correlation <exp[i(n1*phi1+n2*phi2+n3*phi3+n4*phi4+n5*phi5)]>.
TComplex Six(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6)
 Generic six-particle correlation <exp[i(n1*phi1+n2*phi2+n3*phi3+n4*phi4+n5*phi5+n6*phi6)]>.
TComplex Seven(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6, Int_t n7)
 Generic seven-particle correlation <exp[i(n1*phi1+n2*phi2+n3*phi3+n4*phi4+n5*phi5+n6*phi6+n7*phi7)]>.
TComplex Eight(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6, Int_t n7, Int_t n8)
 Generic eight-particle correlation <exp[i(n1*phi1+n2*phi2+n3*phi3+n4*phi4+n5*phi5+n6*phi6+n7*phi7+n8*phi8)]>.
void BookEverythingForWeights()
 Book all objects for calculations with weights.
Double_t Weight(const Double_t& value, const char* type, const char* variable)
 Determine particle weight.
void BookEverythingForBase()
 Book all base objects.
Bool_t CrossCheckInternalFlags(AliFlowEventSimple* anEvent)
 Cross-check in this method wether "anEvent" passes internal flags.
void DumpPointsForDurham(TGraphErrors* ge)
 Dump points from TGraphErrors object into Durham database format.
void DumpPointsForDurham(TH1D* h)
 Dump points from TH1D object into Durham database format.
void DumpPointsForDurham(TH1F* h)
 Dump points from TH1F object into Durham database format.
void InitializeArraysForQcumulants()
 Initialize all arrays for Q-cumulants.
void BookEverythingForQcumulants()
 Book all the stuff for Q-cumulants.
void CalculateQcumulants()
 Calculate Q-cumulants.
void CalculateReferenceFlow()
 Calculate reference flow from Q-cumulants.
Double_t Covariance(const char* x, const char* y, TProfile2D* profile2D, Bool_t bUnbiasedEstimator = kFALSE)
 Calculate covariance (multiplied by a weight dependent factor).
TComplex Recursion(Int_t n, Int_t* harmonic, Int_t mult = 1, Int_t skip = 0)
 Calculate multi-particle correlators by using recursion (an improved faster version) originally developed by
 Kristjan Gulbrandsen (gulbrand@nbi.dk).
TComplex OneDiff(Int_t n1)
 Generic differential one-particle correlation <exp[i(n1*psi1)]>.
 (psi labels POI, phi labels RPs)
TComplex TwoDiff(Int_t n1, Int_t n2)
 Generic differential two-particle correlation <exp[i(n1*psi1+n2*phi2)]>.
 (psi labels POI, phi labels RPs)
TComplex ThreeDiff(Int_t n1, Int_t n2, Int_t n3)
 Generic differential three-particle correlation <exp[i(n1*psi1+n2*phi2+n3*phi3)]>.
 (psi labels POI, phi labels RPs)
TComplex FourDiff(Int_t n1, Int_t n2, Int_t n3, Int_t n4)
 Generic differential four-particle correlation <exp[i(n1*psi1+n2*phi2+n3*phi3+n4*phi4)]>.
 (psi labels POI, phi labels RPs)
void SetDiffHarmonics(Int_t order, Int_t* harmonics)
 Set harmonics for all differential correlators.
void SetWeightsHist(TH1D *const hist, const char* type, const char* variable)
 Pass histogram holding weights from an external file to the corresponding data member.
void InitializeArraysForWeights()
 Initialize all arrays for weights.
void SetnBins(const char* type, const char* variable, Int_t nBins)
 Set number of bins for histograms fKinematicsHist[2][3].
void SetMin(const char* type, const char* variable, Double_t min)
 Set min bin range for histograms fKinematicsHist[2][3].
void SetMax(const char* type, const char* variable, Double_t max)
 Set max bin range for histograms fKinematicsHist[2][3].
void SetnBinsMult(const char* type, Int_t nBinsMult)
 Set number of bins for histograms fMultDistributionsHist[3].
void SetMinMult(const char* type, Double_t minMult)
 Set min bin range for histograms fMultDistributionsHist[3].
void SetMaxMult(const char* type, Double_t maxMult)
 Set max bin range for histograms fMultDistributionsHist[3].
void DumpThePoints(AliFlowEventSimple* anEvent)
 Dump the points into the external file.
TH1D * GetHistogramWithWeights(const char* filePath, const char* listName, const char* type, const char* variable, const char* production)
 Access from external ROOT file the desired histogram with weights.
AliFlowAnalysisWithMultiparticleCorrelations()
void SetHistList(TList *const hlist)
 5.) Setters and getters:
  5.0.) Base list and internal flags:
{this->fHistList = hlist;}
TList* GetHistList() const
{return this->fHistList;}
void SetInternalFlagsPro(TProfile *const ifp)
{this->fInternalFlagsPro = ifp;}
TProfile* GetInternalFlagsPro() const
{return this->fInternalFlagsPro;}
void SetMinNoRPs(Int_t min)
Int_t GetMinNoRPs() const
{return this->fMinNoRPs;}
void SetMaxNoRPs(Int_t max)
Int_t GetMaxNoRPs() const
{return this->fMaxNoRPs;}
void SetExactNoRPs(Int_t exact)
{fUseInternalFlags = kTRUE; this->fExactNoRPs = exact;}
Int_t GetExactNoRPs() const
{return this->fExactNoRPs;}
void SetAnalysisTag(const char* at)
{this->fAnalysisTag = TString(at);}
TString GetAnalysisTag() const
{return this->fAnalysisTag;}
void SetDumpThePoints(Bool_t dtp, Int_t max)
{this->fDumpThePoints = dtp; this->fMaxNoEventsPerFile = max;}
void SetControlHistogramsList(TList *const chl)
  5.1.) Control histograms:
{this->fControlHistogramsList = chl;}
TList* GetControlHistogramsList() const
{return this->fControlHistogramsList;}
void SetControlHistogramsFlagsPro(TProfile *const chfp)
TProfile* GetControlHistogramsFlagsPro() const
void SetFillControlHistograms(Bool_t fch)
{this->fFillControlHistograms = fch;}
Bool_t GetFillControlHistograms() const
{return this->fFillControlHistograms;}
void SetFillKinematicsHist(Bool_t fkh)
{this->fFillKinematicsHist = fkh;}
Bool_t GetFillKinematicsHist() const
{return this->fFillKinematicsHist;}
void SetFillMultDistributionsHist(Bool_t mdh)
Bool_t GetFillMultDistributionsHist() const
void SetFillMultCorrelationsHist(Bool_t mch)
Bool_t GetFillMultCorrelationsHist() const
void SetDontFill(const char* type)
void SetQvectorList(TList *const qvl)
  5.2.) Q-vectors:
{this->fQvectorList = qvl;}
TList* GetQvectorList() const
{return this->fQvectorList;}
void SetQvectorFlagsPro(TProfile *const qvfp)
{this->fQvectorFlagsPro = qvfp;}
TProfile* GetQvectorFlagsPro() const
{return this->fQvectorFlagsPro;}
void SetCalculateQvector(Bool_t cqv)
{this->fCalculateQvector = cqv;}
Bool_t GetCalculateQvector() const
{return this->fCalculateQvector;}
void SetCalculateDiffQvectors(Bool_t cdqv)
{this->fCalculateDiffQvectors = cdqv;}
Bool_t GetCalculateDiffQvectors() const
{return this->fCalculateDiffQvectors;}
void SetCorrelationsList(TList *const cl)
  5.3.) Correlations:
{this->fCorrelationsList = cl;}
TList* GetCorrelationsList() const
{return this->fCorrelationsList;}
void SetCorrelationsFlagsPro(TProfile *const cfp)
{this->fCorrelationsFlagsPro = cfp;}
TProfile* GetCorrelationsFlagsPro() const
{return this->fCorrelationsFlagsPro;}
void SetCalculateCorrelations(Bool_t cc)
Bool_t GetCalculateCorrelations() const
{return this->fCalculateCorrelations;}
void SetCalculateIsotropic(Bool_t ci)
{this->fCalculateIsotropic = ci;}
Bool_t GetCalculateIsotropic() const
{return this->fCalculateIsotropic;}
void SetCalculateSame(Bool_t cs)
{this->fCalculateSame = cs;}
Bool_t GetCalculateSame() const
{return this->fCalculateSame;}
void SetSkipZeroHarmonics(Bool_t szh)
{this->fSkipZeroHarmonics = szh;}
Bool_t GetSkipZeroHarmonics() const
{return this->fSkipZeroHarmonics;}
void SetCalculateSameIsotropic(Bool_t csi)
Bool_t GetCalculateSameIsotropic() const
{return this->fCalculateSameIsotropic;}
void SetCalculateAll(Bool_t ca)
{this->fCalculateAll = ca;}
Bool_t GetCalculateAll() const
{return this->fCalculateAll;}
void SetDontGoBeyond(Int_t dgb)
{this->fDontGoBeyond = dgb;}
Int_t GetDontGoBeyond() const
{return this->fDontGoBeyond;}
void SetCalculateOnlyForHarmonicQC(Bool_t cofhqc)
{this->fCalculateOnlyForHarmonicQC = cofhqc;}
Bool_t GetCalculateOnlyForHarmonicQC() const
void SetCalculateOnlyForSC(Bool_t cofsc)
{this->fCalculateOnlyForSC = cofsc;}
Bool_t GetCalculateOnlyForSC() const
{return this->fCalculateOnlyForSC;}
void SetCalculateOnlyCos(Bool_t coc)
{this->fCalculateOnlyCos = coc;}
Bool_t GetCalculateOnlyCos() const
{return this->fCalculateOnlyCos;}
void SetCalculateOnlySin(Bool_t cos)
{this->fCalculateOnlySin = cos;}
Bool_t GetCalculateOnlySin() const
{return this->fCalculateOnlySin;}
void SetEbECumulantsList(TList *const ebecl)
  5.4.) Event-by-event cumulants:
{this->fEbECumulantsList = ebecl;}
TList* GetEbECumulantsList() const
{return this->fEbECumulantsList;}
void SetEbECumulantsFlagsPro(TProfile *const ebecfp)
{this->fEbECumulantsFlagsPro = ebecfp;}
TProfile* GetEbECumulantsFlagsPro() const
{return this->fEbECumulantsFlagsPro;}
void SetCalculateEbECumulants(Bool_t cebec)
{this->fCalculateEbECumulants = cebec;}
Bool_t GetCalculateEbECumulants() const
{return this->fCalculateEbECumulants;}
void SetWeightsList(TList *const wl)
  5.5.) Weights:
{this->fWeightsList = (TList*)wl->Clone();}
TList* GetWeightsList() const
{return this->fWeightsList;}
void SetWeightsFlagsPro(TProfile *const wfp)
{this->fWeightsFlagsPro = wfp;}
TProfile* GetWeightsFlagsPro() const
{return this->fWeightsFlagsPro;}
void SetNestedLoopsList(TList *const nll)
  5.6.) Nested loops:
{this->fNestedLoopsList = nll;}
TList* GetNestedLoopsList() const
{return this->fNestedLoopsList;}
void SetNestedLoopsFlagsPro(TProfile *const nlfp)
{this->fNestedLoopsFlagsPro = nlfp;}
TProfile* GetNestedLoopsFlagsPro() const
{return this->fNestedLoopsFlagsPro;}
void SetCrossCheckWithNestedLoops(Bool_t ccwnl)
Bool_t GetCrossCheckWithNestedLoops() const
void SetCrossCheckDiffWithNestedLoops(Bool_t ccdwnl)
Bool_t GetCrossCheckDiffWithNestedLoops() const
void SetCrossCheckDiffCSCOBN(Int_t cs, Int_t co, Int_t bn)
void SetStandardCandlesList(TList *const scl)
 5.7.) 'Standard candles':
{this->fStandardCandlesList = scl;}
TList* GetStandardCandlesList() const
{return this->fStandardCandlesList;}
void SetStandardCandlesFlagsPro(TProfile *const scfp)
{this->fStandardCandlesFlagsPro = scfp;}
TProfile* GetStandardCandlesFlagsPro() const
{return this->fStandardCandlesFlagsPro;}
void SetCalculateStandardCandles(Bool_t csc)
Bool_t GetCalculateStandardCandles() const
void SetPropagateErrorSC(Bool_t pesc)
{this->fPropagateErrorSC = pesc;}
Bool_t GetPropagateErrorSC() const
{return this->fPropagateErrorSC;}
void SetStandardCandlesHist(TH1D *const sch)
{this->fStandardCandlesHist = sch;}
TH1D* GetStandardCandlesHist() const
{return this->fStandardCandlesHist;}
void SetProductsSCPro(TProfile2D *const psc)
{this->fProductsSCPro = psc;}
TProfile2D* GetProductsSCPro() const
{return this->fProductsSCPro;}
void SetQcumulantsList(TList *const qcl)
  5.8.) Q-cumulants:
{this->fQcumulantsList = qcl;}
TList* GetQcumulantsList() const
{return this->fQcumulantsList;}
void SetQcumulantsFlagsPro(TProfile *const qcfp)
{this->fQcumulantsFlagsPro = qcfp;}
TProfile* GetQcumulantsFlagsPro() const
{return this->fQcumulantsFlagsPro;}
void SetCalculateQcumulants(Bool_t cqc)
{this->fCalculateQcumulants = cqc;}
Bool_t GetCalculateQcumulants() const
{return this->fCalculateQcumulants;}
void SetHarmonicQC(Int_t hqc)
{this->fHarmonicQC = hqc;}
Int_t GetHarmonicQC() const
{return this->fHarmonicQC;}
void SetPropagateErrorQC(Bool_t peqc)
{this->fPropagateErrorQC = peqc;}
Bool_t GetPropagateErrorQC() const
{return this->fPropagateErrorQC;}
void SetQcumulantsHist(TH1D *const qch)
{this->fQcumulantsHist = qch;}
TH1D* GetQcumulantsHist() const
{return this->fQcumulantsHist;}
void SetReferenceFlowHist(TH1D *const rfh)
{this->fReferenceFlowHist = rfh;}
TH1D* GetReferenceFlowHist() const
{return this->fReferenceFlowHist;}
void SetProductsQCPro(TProfile2D *const pqc)
{this->fProductsQCPro = pqc;}
TProfile2D* GetProductsQCPro() const
{return this->fProductsQCPro;}
void SetDiffCorrelationsList(TList *const dcl)
  5.9.) Differential correlations:
{this->fDiffCorrelationsList = dcl;}
TList* GetDiffCorrelationsList() const
{return this->fDiffCorrelationsList;}
void SetDiffCorrelationsFlagsPro(TProfile *const cdfp)
TProfile* GetDiffCorrelationsFlagsPro() const
void SetCalculateDiffCorrelations(Bool_t cdc)
Bool_t GetCalculateDiffCorrelations() const
void SetCalculateDiffCos(Bool_t cdc)
{this->fCalculateDiffCos = cdc;}
Bool_t GetCalculateDiffCos() const
{return this->fCalculateDiffCos;}
void SetCalculateDiffSin(Bool_t cds)
{this->fCalculateDiffSin = cds;}
Bool_t GetCalculateDiffSin() const
{return this->fCalculateDiffSin;}
void SetCalculateDiffCorrelationsVsPt(Bool_t cdcvspt)
Bool_t GetCalculateDiffCorrelationsVsPt() const
void SetUseDefaultBinning(Bool_t udb)
{this->fUseDefaultBinning = udb;}
Bool_t GetUseDefaultBinning() const
{return this->fUseDefaultBinning;}
void SetnDiffBins(Int_t ndb)
{this->fnDiffBins = ndb;}
Int_t GetnDiffBins() const
{return this->fnDiffBins;}
void SetRangesDiffBins(Double_t *const rdb)
{this->fRangesDiffBins = rdb;}
Double_t* GetRangesDiffBins() const
{return this->fRangesDiffBins;}
AliFlowAnalysisWithMultiparticleCorrelations& operator=(const AliFlowAnalysisWithMultiparticleCorrelations& afawQc)
 Data members are grouped as:
 0.) Base list and internal flags;
 1.) Control histograms;
 2.) Q-vectors;
 3.) Correlations;
 4.) Event-by-event cumulants;
 5.) Weights;
 6.) Nested loops;
 7.) 'Standard candles';
 8.) Q-cumulants;
 9.) Differential correlations.