15 #ifndef ALIFLOWANALYSISWITHMULTIPARTICLECORRELATIONS_H 16 #define ALIFLOWANALYSISWITHMULTIPARTICLECORRELATIONS_H 21 #include "TProfile2D.h" 24 #include "TDirectoryFile.h" 25 #include "Riostream.h" 29 #include "TGraphErrors.h" 30 #include "TStopwatch.h" 144 else{Fatal(
"void SetDontFill(const char *type)",
"type = %s ???? Allowed: RP, POI and REF.",type);}
146 void SetnBins(
const char *type,
const char *variable,
Int_t nBins);
147 void SetMin(
const char *type,
const char *variable,
Double_t min);
148 void SetMax(
const char *type,
const char *variable,
Double_t max);
316 virtual Double_t Covariance(
const char *x,
const char *y, TProfile2D *profile2D,
Bool_t bUnbiasedEstimator = kFALSE);
323 TH1D*
GetHistogramWithWeights(
const char *filePath,
const char *listName,
const char *type,
const char *variable,
const char *production);
TProfile * fQcumulantsFlagsPro
TProfile * GetQcumulantsFlagsPro() const
Bool_t GetCalculateQvector() const
Int_t GetHarmonicQC() const
virtual TComplex One(Int_t n1)
virtual TComplex Four(Int_t n1, Int_t n2, Int_t n3, Int_t n4)
void SetDiffCorrelationsList(TList *const dcl)
TProfile * fSymmetryPlanesFlagsPro
virtual Double_t CastStringToCorrelation(const char *string, Bool_t numerator)
virtual void CrossCheckDiffWithNestedLoops(AliFlowEventSimple *anEvent)
void SetHighestHarmonicEtaGaps(Int_t high)
virtual void DetermineRandomIndices(AliFlowEventSimple *anEvent)
void SetLowestHarmonicEtaGaps(Int_t low)
void SetCorrelationsFlagsPro(TProfile *const cfp)
virtual void GetPointersForStandardCandles()
void SetCalculateStandardCandles(Bool_t csc)
TH1D * fStandardCandlesHist
void SetControlHistogramsFlagsPro(TProfile *const chfp)
Bool_t GetCalculateOnlySin() const
Int_t fNumberOfSkippedRPParticles
TProfile * fDiffCorrelationsPro[2][4]
virtual TComplex Q(Int_t n, Int_t p)
virtual Double_t CorrelationPsi2nPsi1n(Int_t n, Int_t k=0)
void SetFillControlHistograms(Bool_t fch)
TProfile * GetEbECumulantsFlagsPro() const
void SetMaxMult(const char *type, Double_t maxMult)
TList * GetQcumulantsList() const
virtual TComplex FourDiff(Int_t n1, Int_t n2, Int_t n3, Int_t n4)
TList * fCorrelationsList
void SetCalculateOnlyCos(Bool_t coc)
void SetMax(const char *type, const char *variable, Double_t max)
void SetMin(const char *type, const char *variable, Double_t min)
virtual void GetPointersForQvector()
TProfile2D * fProductsQCPro
virtual TComplex Seven(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6, Int_t n7)
Bool_t GetCrossCheckDiffWithNestedLoops() const
void SetControlHistogramsList(TList *const chl)
Bool_t GetFillMultCorrelationsHist() const
Bool_t GetFillMultDistributionsHist() const
Bool_t GetCalculateDiffCos() const
TList * GetEtaGapsList() const
Bool_t GetCalculateDiffQvectors() const
void SetRangesDiffBins(Double_t *const rdb)
Bool_t TrackIsInSpecifiedIntervals(AliFlowTrackSimple *)
TProfile * fStandardCandlesFlagsPro
Bool_t fFillControlHistograms
Bool_t GetCalculateCorrelations() const
TProfile * fNestedLoopsDiffResultsPro
void SetCrossCheckDiffCSCOBN(Int_t cs, Int_t co, Int_t bn)
virtual void BookEverythingForEbECumulants()
TProfile * GetWeightsFlagsPro() const
Bool_t GetCalculateQcumulants() const
void SetSelectRandomlyRPs(Int_t nSelectedRandomlyRPs)
virtual void CrossCheckPointersUsedInMake()
Int_t GetMaxNoRPs() const
virtual ~AliFlowAnalysisWithMultiparticleCorrelations()
Bool_t fCrossCheckWithNestedLoops
void SetCalculateDiffQvectors(Bool_t cdqv)
Bool_t fCalculateSymmetryPlanes
TProfile * fWeightsFlagsPro
TComplex fqvector[100][49][9]
virtual void BookEverythingForQcumulants()
virtual void WriteHistograms(TString outputFileName)
virtual void BookEverythingForStandardCandles()
TProfile * fControlHistogramsFlagsPro
void SetCalculateEtaGaps(Bool_t ceg)
TH1D * fKinematicsHist[2][3]
void SetStandardCandlesFlagsPro(TProfile *const scfp)
Bool_t fCalculateDiffCorrelationsVsPt
Bool_t GetCalculateOnlyForHarmonicQC() const
void SetCalculateOnlyForSC(Bool_t cofsc)
virtual TComplex ThreeDiff(Int_t n1, Int_t n2, Int_t n3)
void SetCrossCheckDiffWithNestedLoops(Bool_t ccdwnl)
virtual void InitializeArraysForEtaGaps()
virtual TComplex Six(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5, Int_t n6)
Bool_t fUseDefaultBinning
virtual void BookEverythingForQvector()
void SetDumpThePoints(Bool_t dtp, Int_t max)
void SetCalculateAll(Bool_t ca)
virtual void InitializeArraysForControlHistograms()
TProfile * fEtaGapsFlagsPro
virtual void BookEverythingForNestedLoops()
TArrayI * fRandomIndicesRPs
TList * GetCorrelationsList() const
TH1D * GetHistogramWithWeights(const char *filePath, const char *listName, const char *type, const char *variable, const char *production)
virtual void CalculateStandardCandles()
virtual void BookAndNestAllLists()
virtual void FillControlHistograms(AliFlowEventSimple *anEvent)
Bool_t GetCrossCheckWithNestedLoops() const
virtual void CalculateEtaGaps(AliFlowEventSimple *anEvent)
virtual void CalculateQcumulants()
TList * GetNestedLoopsList() const
TProfile * fNestedLoopsFlagsPro
void SetSkipZeroHarmonics(Bool_t szh)
Bool_t GetCalculateSymmetryPlanes() const
TProfile2D * GetProductsSCPro() const
Bool_t GetPropagateErrorSC() const
TProfile * fNestedLoopsResultsCosPro
TList * fStandardCandlesList
void SetCalculateSymmetryPlanes(Bool_t csp)
void SetEtaGapsList(TList *const egl)
void SetCalculateOnlyForHarmonicQC(Bool_t cofhqc)
void SetProductsSCPro(TProfile2D *const psc)
virtual TComplex OneDiff(Int_t n1)
TH1D * GetReferenceFlowHist() const
Bool_t fCalculateOnlyForHarmonicQC
void SetPropagateErrorQC(Bool_t peqc)
TH2I * fMultCorrelationsHist[3]
virtual void BookEverythingForEtaGaps()
virtual TComplex Two(Int_t n1, Int_t n2)
virtual void GetPointersForControlHistograms()
virtual void CalculateCorrelations(AliFlowEventSimple *anEvent)
void SetUseDefaultBinning(Bool_t udb)
Bool_t fCalculateEbECumulants
void SetWeightsHist(TH1D *const hist, const char *type, const char *variable)
void SetSymmetryPlanesList(TList *const spl)
void SetEbECumulantsList(TList *const ebecl)
virtual TComplex TwoDiff(Int_t n1, Int_t n2)
TList * GetWeightsList() const
Bool_t fCrossCheckDiffWithNestedLoops
TProfile * fInternalFlagsPro
Bool_t fCalculateCorrelations
virtual void DumpThePoints(AliFlowEventSimple *anEvent)
void SetCalculateDiffCorrelations(Bool_t cdc)
Int_t fDiffHarmonics[4][4]
virtual void CalculateDiffCorrelations(AliFlowEventSimple *anEvent)
virtual void CalculateProductsOfCorrelations(AliFlowEventSimple *anEvent, TProfile2D *profile2D)
virtual TComplex Five(Int_t n1, Int_t n2, Int_t n3, Int_t n4, Int_t n5)
void SetInternalFlagsPro(TProfile *const ifp)
virtual void BookEverythingForSymmetryPlanes()
void SetDiffHarmonics(Int_t order, Int_t *harmonics)
TProfile * GetStandardCandlesFlagsPro() const
void SetnBins(const char *type, const char *variable, Int_t nBins)
TProfile * fQvectorFlagsPro
TList * fEbECumulantsList
TProfile * GetEtaGapsFlagsPro() const
void SetMinNoRPs(Int_t min)
Bool_t GetUseDefaultBinning() const
TH1D * GetStandardCandlesHist() const
Bool_t fFillMultDistributionsHist
void SetEbECumulantsFlagsPro(TProfile *const ebecfp)
Bool_t GetCalculateEtaGaps() const
virtual TComplex Three(Int_t n1, Int_t n2, Int_t n3)
void SetDiffCorrelationsFlagsPro(TProfile *const cdfp)
virtual void Make(AliFlowEventSimple *anEvent)
Bool_t fCalculateQcumulants
void SetNestedLoopsList(TList *const nll)
void SetCrossCheckWithNestedLoops(Bool_t ccwnl)
AliFlowAnalysisWithMultiparticleCorrelations & operator=(const AliFlowAnalysisWithMultiparticleCorrelations &afawQc)
Bool_t fCalculateStandardCandles
void SetQvectorList(TList *const qvl)
TProfile2D * GetProductsQCPro() const
void SetCorrelationsList(TList *const cl)
Bool_t GetCalculateDiffCorrelationsVsPt() const
TProfile * GetInternalFlagsPro() const
void SetnBinsMult(const char *type, Int_t nBinsMult)
TProfile * fCorrelationsFlagsPro
virtual void InitializeArraysForEbECumulants()
void SetMinMult(const char *type, Double_t minMult)
Bool_t fCalculateDiffQvectors
virtual void InitializeArraysForNestedLoops()
Int_t GetExactNoRPs() const
virtual void BookEverythingForBase()
void SetQcumulantsFlagsPro(TProfile *const qcfp)
void SetReferenceFlowHist(TH1D *const rfh)
Bool_t fFillMultCorrelationsHist
void SetProductsQCPro(TProfile2D *const pqc)
void SetCalculateSameIsotropic(Bool_t csi)
Int_t fLowestHarmonicEtaGaps
TProfile * GetNestedLoopsFlagsPro() const
Int_t fHighestHarmonicEtaGaps
TProfile * fEtaGapsPro[6]
Bool_t GetCalculateSame() const
TProfile2D * fProductsSCPro
Bool_t fFillKinematicsHist
virtual void CrossCheckWithNestedLoops(AliFlowEventSimple *anEvent)
virtual TComplex Recursion(Int_t n, Int_t *harmonic, Int_t mult=1, Int_t skip=0)
Int_t GetHighestHarmonicEtaGaps() const
void SetHistList(TList *const hlist)
void SetCalculateQcumulants(Bool_t cqc)
TList * fDiffCorrelationsList
Double_t * fRangesDiffBins
void SetQvectorFlagsPro(TProfile *const qvfp)
void SetCalculateDiffCorrelationsVsPt(Bool_t cdcvspt)
TProfile * fSymmetryPlanesPro[1][2]
void SetCalculateQvector(Bool_t cqv)
Int_t fMaxNoEventsPerFile
virtual void ResetQvector()
TProfile * GetControlHistogramsFlagsPro() const
void SetCalculateOnlySin(Bool_t cos)
Bool_t GetCalculateStandardCandles() const
TList * GetStandardCandlesList() const
void SetFillKinematicsHist(Bool_t fkh)
TProfile * fEbECumulantsFlagsPro
Bool_t fCalculateSameIsotropic
virtual void InitializeArraysForQcumulants()
virtual Double_t Weight(const Double_t &value, const char *type, const char *variable)
void SetExactNoRPs(Int_t exact)
Bool_t GetCalculateOnlyCos() const
void SetCalculateCorrelations(Bool_t cc)
void SetWeightsFlagsPro(TProfile *const wfp)
void SetDontGoBeyond(Int_t dgb)
virtual void CalculateSymmetryPlanes(AliFlowEventSimple *anEvent)
Int_t GetLowestHarmonicEtaGaps() const
void SetAnalysisTag(const char *at)
void SetCalculateIsotropic(Bool_t ci)
static void DumpPointsForDurham(TGraphErrors *ge)
TProfile * fNestedLoopsResultsSinPro
void SetPropagateErrorSC(Bool_t pesc)
virtual void InitializeArraysForWeights()
Bool_t fSkipZeroHarmonics
virtual void GetPointersForSymmetryPlanes()
Bool_t fSelectRandomlyRPs
Int_t fCrossCheckDiffCSCOBN[3]
virtual void GetOutputHistograms(TList *histList)
TList * GetQvectorList() const
void SetCalculateSame(Bool_t cs)
Int_t GetDontGoBeyond() const
TList * GetControlHistogramsList() const
TList * GetEbECumulantsList() const
Double_t * GetRangesDiffBins() const
void SetMaxNoRPs(Int_t max)
void SetStandardCandlesHist(TH1D *const sch)
virtual 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)
TList * GetDiffCorrelationsList() const
TProfile * GetDiffCorrelationsFlagsPro() const
void SetStandardCandlesList(TList *const scl)
virtual TComplex p(Int_t n, Int_t p)
virtual void CalculateEbECumulants(AliFlowEventSimple *anEvent)
TList * GetSymmetryPlanesList() const
TProfile * fCorrelationsPro[2][8]
void SetFillMultCorrelationsHist(Bool_t mch)
TProfile * fDiffCorrelationsFlagsPro
virtual void CalculateReferenceFlow()
Bool_t GetCalculateEbECumulants() const
void SetQcumulantsList(TList *const qcl)
void SetHarmonicQC(Int_t hqc)
void SetQcumulantsHist(TH1D *const qch)
TH1D * fMultDistributionsHist[3]
virtual Double_t Covariance(const char *x, const char *y, TProfile2D *profile2D, Bool_t bUnbiasedEstimator=kFALSE)
virtual void FillQvector(AliFlowEventSimple *anEvent)
void SetCalculateEbECumulants(Bool_t cebec)
Bool_t GetFillControlHistograms() const
void SetFillMultDistributionsHist(Bool_t mdh)
Int_t GetnDiffBins() const
Bool_t fSkipSomeIntervals
virtual void BookEverythingForCorrelations()
TString GetAnalysisTag() const
Int_t GetMinNoRPs() const
Bool_t GetCalculateOnlyForSC() const
TProfile * GetSymmetryPlanesFlagsPro() const
Bool_t fCalculateOnlyForSC
void SetnDiffBins(Int_t ndb)
virtual void BookEverythingForControlHistograms()
void SetIntervalsToSkip(const char *ppe, Int_t n, Double_t *boundaries)
virtual void CrossCheckPointersUsedInFinish()
Bool_t GetCalculateIsotropic() const
TList * GetHistList() const
TList * fSymmetryPlanesList
void SetEtaGapsFlagsPro(TProfile *const egfp)
void SetCalculateDiffCos(Bool_t cdc)
Bool_t GetCalculateDiffCorrelations() const
void SetCalculateDiffSin(Bool_t cds)
TH1D * fReferenceFlowHist
Bool_t fCalculateIsotropic
virtual void InitializeArraysForDiffCorrelations()
void SetWeightsList(TList *const wl)
Bool_t GetSkipZeroHarmonics() const
Bool_t GetFillKinematicsHist() const
void SetNestedLoopsFlagsPro(TProfile *const nlfp)
Bool_t GetCalculateDiffSin() const
TProfile * GetCorrelationsFlagsPro() const
TComplex fpvector[100][49][9]
virtual void InitializeArraysForCorrelations()
TProfile * GetQvectorFlagsPro() const
Bool_t GetPropagateErrorQC() const
virtual void BookEverythingForWeights()
Int_t fnSelectedRandomlyRPs
virtual void CrossCheckSettings()
virtual void InitializeArraysForQvector()
TList * fControlHistogramsList
void SetDontFill(const char *type)
TProfile * fEbECumulantsPro[2][8]
virtual void GetPointersForCorrelations()
virtual void BookEverythingForDiffCorrelations()
AliFlowAnalysisWithMultiparticleCorrelations()
TH1D * fWeightsHist[2][3]
virtual void InitializeArraysForSymmetryPlanes()
TH1D * GetQcumulantsHist() const
Bool_t fCalculateDiffCorrelations
Bool_t GetCalculateSameIsotropic() const
virtual TComplex q(Int_t n, Int_t p)
Bool_t GetCalculateAll() const
virtual Bool_t CrossCheckInternalFlags(AliFlowEventSimple *anEvent)
virtual void GetPointersForQcumulants()
void SetSymmetryPlanesFlagsPro(TProfile *const spfp)
virtual void GetPointersForDiffCorrelations()