14 #ifndef ALIFLOWANALYSISWITHQCUMULANTS_H 15 #define ALIFLOWANALYSISWITHQCUMULANTS_H TH1D * GetDiffFlowSumOfEventWeights(Int_t i, Int_t j, Int_t k, Int_t l) const
TProfile * GetControlHistogramsFlags() const
virtual void EvaluateDiffFlowNestedLoops(AliFlowEventSimple *const anEvent)
virtual void CrossCheckOtherDiffCorrelators(TString type, TString ptOrEta)
void SetDiffFlow(TH1D *const diffFlow, Int_t const i, Int_t const j, Int_t const k)
TProfile * fIntFlowCorrelationsAllVsMPro[64]
void SetMinValueOfCorrelationProduct(Int_t const cpi, Double_t const minValue)
TList * fDiffFlowCumulantsHistList[2][2]
list to hold histograms with all covariances for differential flow [0=RP,1=POI][0=pt,1=eta]
void SetIntFlowCovariancesVsM(TH1D *const ifcvm, Int_t ci)
TProfile * fDiffFlowCorrectionTermsForNUAPro[2][2][2][10]
[0=RP,1=POI][0=pt,1=eta] [0=<2>,1=<2'>,2=<4>,3=<4'>,4=<6>,5=<6'>,6=<8>,7=<8'>] x
void SetControlHistogramsFlags(TProfile *const chf)
void SetCorrelation2468VsMult(TH2D *const c2468vm, Int_t const ci)
virtual void CalculateIntFlowSumOfProductOfEventWeightsNUA()
void SetNestedLoopsList(TList *const nllist)
void Set7pCorrelations(TProfile *const p7pCorr)
void SetIntFlowQcumulantsErrorSquaredRatio(TH1D *const ifqcesr)
void SetApplyCorrectionForNUA(Bool_t const applyCorrectionForNUA)
TH1D * fIntFlowQcumulants
TH1D * GetDiffFlowDetectorBias(Int_t i, Int_t j, Int_t k) const
virtual void CalculateIntFlowSumOfEventWeights()
TProfile * fDiffFlowDirectCorrectionTermsForNUA[2][2][2][10]
[0=RP,1=POI][0=pt,1=eta][correlation index]
void SetIntFlowDirectCorrelations(TProfile *const ifdc)
TProfile * Get2pCorrelations() const
virtual void ResetEventByEventQuantities()
virtual void CrossCheckDiffFlowCorrelations(TString type, TString ptOrEta)
virtual void CalculateIntFlowCorrectionsForNUACosTermsUsingParticleWeights()
TList * fDiffFlowDetectorBiasHistList[2][2]
list to hold histograms with all cumulants for differential flow [0=RP,1=POI][0=pt,1=eta]
TH1D * fDiffFlowSumOfEventWeights[2][2][2][4]
[0=RP,1=POI][0=pt,1=eta][0=v'{2},1=v'{4},2=v'{6},3=v'{8}]
TProfile2D * GetBootstrapCorrelations() const
void Set6pCumulants(TH1D *const p6pC)
void SetUseParticleWeights(TProfile *const uPW)
Bool_t fFillProfilesVsMUsingWeights
TProfile2D * GetMixedHarmonicProductOfCorrelations() const
virtual void CalculateDiffFlowCumulantsCorrectedForNUA(TString type, TString ptOrEta)
virtual void EvaluateDiffFlowCorrectionTermsForNUAWithNestedLoopsUsingParticleWeights(AliFlowEventSimple *const anEvent, TString type, TString ptOrEta)
void SetDiffFlowCorrelationsPro(TProfile *const diffFlowCorrelationsPro, Int_t const i, Int_t const j, Int_t const k)
Bool_t fEvaluateIntFlowNestedLoops
Int_t GetMaxCommonResultsHistogram() const
void SetMaxAllowedMultiplicity(Int_t const maxAllowedMultiplicity)
void SetIntFlowProductOfCorrelationsPro(TProfile *const intFlowProductOfCorrelationsPro)
TProfile * f6pCorrelations
Bool_t GetCalculateDiffFlowVsEta() const
void SetCommonConstants(TProfile *const cc)
TH1D * fIntFlowSumOfEventWeightsVsM[4][2]
TH1D * fDiffFlowCumulants[2][2][4]
[0=RP,1=POI][0=pW not used,1=pW used][0=exact eW,1=non-exact eW][0=pt,1=eta][index of covariances] ...
void SetEvaluateNestedLoops(TProfile *const enl)
void SetMixedHarmonicsList(TList *const mhlist)
Bool_t GetUsePhiWeights() const
TProfile * fIntFlowCorrelationsPro
TH1D * fPhiDistributionForOneEvent
TH1D * GetIntFlowCorrelationsAllHist() const
TH2D * f2DDiffFlow[2][4]
2D differential cumulants [0=RP,1=POI][cumulant order]
void SetStoreControlHistograms(Bool_t const sch)
TH1D * fIntFlowEventWeightsForCorrelationsEBE
TH1D * GetIntFlowSumOfEventWeightsVsM(Int_t si, Int_t lc) const
Bool_t GetFillMultipleControlHistograms() const
TH1D * GetDiffFlow(Int_t i, Int_t j, Int_t k) const
TProfile * fs1dEBE[3][2][9]
imaginary part [0=r,1=p,2=q][0=pt,1=eta][m][k]
Double_t GetMinValueOfQvectorTerms(Int_t qvti) const
void SetIntFlowSumOfProductOfEventWeightsNUA(TH1D *const ifsopoewNUA)
virtual void BookEverythingForVarious()
void Set2DDiffFlowCorrelationsPro(TProfile2D *const p2ddfcp, Int_t const i, Int_t const k)
void SetCommonHists8th(AliFlowCommonHist *const ch8th)
void SetCorrelationNoPOIsVsRefMult(TH2D *const cnpvrm)
TProfile * fMixedHarmonicsNestedLoops
[0=RP,1=POI][0=pt,1=eta][0=sin terms,1=cos terms][correlator index]
virtual void CrossCheckIntFlowExtraCorrelations()
AliFlowCommonHist * GetCommonHists8th() const
TH1D * fIntFlowCorrectionTermsForNUAEBE[2]
void SetBootstrapCumulantsVsM(TH2D *const bcpVsM, Int_t const qvti)
TProfile * GetIntFlowCorrectionTermsForNUAVsMPro(Int_t sc, Int_t ci) const
virtual void CalculateQcumulantsCorrectedForNUAIntFlow()
void SetFillProfilesVsMUsingWeights(Bool_t const fpvmuw)
TList * fIntFlowAllCorrelationsVsM
void SetDiffFlowCorrelationsHist(TH1D *const diffFlowCorrelationsHist, Int_t const i, Int_t const j, Int_t const k)
virtual void StoreBootstrapFlags()
TH1D * GetIntFlowQcumulantsErrorSquaredRatio() const
void SetIntFlowCorrelationsAllHist(TH1D *const intFlowCorrelationsAllHist)
virtual void CrossCheckSettings()
TList * fDiffFlowCovariancesHistList[2][2]
list to hold histograms with correction term for NUA for differential flow [0=RP,1=POI][0=pt,1=eta]
TProfile * fMixedHarmonicsFlags
void SetIntFlowSumOfEventWeightsVsM(TH1D *const ifsoewvm, Int_t si, Int_t lc)
void SetBootstrapResultsList(TList *const brl)
TH1D * Get4pCumulants() const
virtual void Calculate2DDiffFlow(TString type)
virtual void StoreFlagsForDistributions()
Bool_t fCalculateDiffFlowVsEta
TH2D * GetCorrelationNoRPsVsNoPOIs() const
TH1D * GetIntFlowSumOfEventWeightsNUA(Int_t sc, Int_t power) const
TList * GetWeightsList() const
void Set2pCumulants(TH1D *const p2pC)
void SetIntFlowSquaredCorrelationsPro(TProfile *const ifscp)
Double_t fNumberOfRPsEBE
[0=sin terms,1=cos terms], NUA = non-uniform acceptance
TH2D * fCorrelationProduct2468VsMult[1]
TH1D * fIntFlowSumOfProductOfEventWeightsVsM[6]
TH1D * fIntFlowSumOfProductOfEventWeightsNUA
sum of linear and quadratic event weights for NUA terms: [0=sin,1=cos][0=linear 1,1=quadratic]
virtual void CheckPointersUsedInFinish()
TProfile * f4pCorrelations
void SetCorrelationNoRPsVsNoPOIs(TH2D *const cnrvnp)
AliFlowCommonHistResults * GetCommonHistsResults4th() const
TProfile * fBootstrapFlags
TH2D * GetCorrelationNoPOIsVsRefMult() const
Bool_t fCalculateMixedHarmonicsVsM
virtual void CalculateOtherDiffCorrelators(TString type, TString ptOrEta)
TString * fMultiplicityWeight
TProfile * fIntFlowCorrelationsVsMPro[4]
void SetCommonHists(AliFlowCommonHist *const ch)
virtual void FillCommonHistResultsIntFlow()
void SetMixedHarmonicsNestedLoops(TProfile *const mhnl)
virtual void CalculateDiffFlowCumulants(TString type, TString ptOrEta)
TH1D * GetIntFlowCovariancesVsM(Int_t ci) const
virtual void BookEverythingForControlHistograms()
Double_t GetMaxValueOfCorrelationProduct(Int_t cpi) const
TH1D * GetDiffFlowCorrelationsHist(Int_t i, Int_t j, Int_t k) const
TProfile * GetDiffFlowDirectCorrectionTermsForNUA(Int_t i, Int_t j, Int_t k, Int_t l) const
void SetCommonHists6th(AliFlowCommonHist *const ch6th)
void SetFillMultipleControlHistograms(Bool_t const fmch)
void SetEvaluateIntFlowNestedLoops(Bool_t const eifnl)
Bool_t GetCalculateMixedHarmonicsVsM() const
void SetUseTrackWeights(Bool_t const uTrackW)
TH1D * fIntFlowCorrelationsAllEBE
TProfile * fIntFlowSquaredCorrelationsPro
Int_t fMaxAllowedMultiplicity
Bool_t GetUse2DHistograms() const
TH2D * fCorrelationNoPOIsVsRefMult
virtual void EvaluateDiffFlowCorrectionTermsForNUAWithNestedLoops(AliFlowEventSimple *const anEvent, TString type, TString ptOrEta)
TProfile * GetIntFlowDirectCorrelations() const
Bool_t GetEvaluateDiffFlowNestedLoops() const
void SetIntFlowQcumulantsVsM(TH1D *const intFlowQcumulantsVsM, Int_t co)
virtual void GetPointersForParticleWeightsHistograms()
TH1D * GetIntFlowCovariancesNUA() const
TProfile * fCommonConstants
Double_t GetMinMult() const
virtual void EvaluateIntFlowCorrectionsForNUAWithNestedLoopsUsingParticleWeights(AliFlowEventSimple *const anEvent)
Double_t fMinValueOfQvectorTerms[4]
virtual void StoreIntFlowFlags()
TProfile * GetDiffFlowDirectCorrelations(Int_t i, Int_t j, Int_t k) const
virtual void CalculateDiffFlowSumOfEventWeights(TString type, TString ptOrEta)
void SetBootstrapProfilesList(TList *const bpl)
TList * fDiffFlowCorrelationsProList[2][2]
void SetIntFlowDetectorBias(TH1D *const ifdb)
void SetIntFlowQcumulants(TH1D *const intFlowQcumulants)
TList * fDiffFlowCorrectionsProList[2][2]
list to hold profiles with products of all correlations for differential flow [0=RP,1=POI][0=pt,1=eta]
TList * fControlHistogramsList
void SetMaxValueOfQvectorTerms(Int_t const qvti, Double_t const maxValue)
TProfile * GetMixedHarmonicsFlags() const
TProfile * Get5pCorrelations() const
TH1D * GetIntFlowSumOfProductOfEventWeightsVsM(Int_t si) const
TList * fDiffFlowCorrectionsHistList[2][2]
list to hold histograms with sum of products of event weights [0=RP,1=POI][0=pt,1=eta] ...
virtual void InitializeArraysForNestedLoops()
virtual void CalculateDiffFlowCovariances(TString type, TString ptOrEta)
void SetCalculateDiffFlow(Bool_t const cdf)
void SetMaxMult(Double_t const maxm)
Bool_t fApplyCorrectionForNUA
TProfile * f3pCorrelations
void SetAvMultiplicity(TProfile *const avMultiplicity)
TProfile * GetAvMultiplicity() const
Bool_t GetUseTrackWeights() const
Double_t GetMinValueOfCorrelation(Int_t ci) const
virtual void GetPointersForMixedHarmonicsHistograms()
Bool_t GetApplyCorrectionForNUA() const
virtual void BookEverythingForDifferentialFlow()
TProfile * fIntFlowCorrectionTermsForNUAPro[2]
TProfile * fDiffFlowFlags
list to hold histograms with final results for differential flow [0=RP,1=POI][0=pt,1=eta]
void SetIntFlowQcumulantsRebinnedInM(TH1D *const ifqcrim)
virtual void StoreDistributionsOfCorrelations()
void SetMultiplicityIs(AliFlowCommonConstants::ERefMultSource mi)
virtual void CalculateDiffFlowCorrelationsUsingParticleWeights(TString type, TString ptOrEta)
virtual void GetPointersForCommonHistograms()
virtual void FinalizeCorrelationsIntFlow()
TH1D * fIntFlowCorrelationsEBE
fSM[p][k] = (sum_{i=1}^{M} w_{i}^{k})^{p+1}
Double_t GetMaxValueOfQvectorTerms(Int_t qvti) const
TH1D * GetIntFlowQcumulantsRebinnedInM() const
virtual void CalculateDiffFlowSumOfProductOfEventWeights(TString type, TString ptOrEta)
virtual void CrossCheckDiffFlowCorrectionTermsForNUA(TString type, TString ptOrEta)
TH2D * fCorrelationNoRPsVsRefMult
Int_t fnBinsForCorrelations
[0=distribution of <2>,1=distribution of <4>,2=distribution of <6>,3=distribution of <8>] ...
TH1D * Get2pCumulants() const
void SetDiffFlowFlags(TProfile *const diffFlowFlags)
TH1D * fIntFlowDetectorBias
void SetIntFlowDirectCorrectionTermsForNUA(TProfile *const ifdctfn, Int_t const sc)
void SetWeightsList(TList *const wlist)
void SetExactNoRPs(Int_t const enr)
TProfile * GetIntFlowCorrectionTermsForNUAPro(Int_t sc) const
AliFlowCommonHist * fCommonHists
void SetDiffFlowSquaredCorrelationsPro(TProfile *const diffFlowSquaredCorrelationsPro, Int_t const i, Int_t const j, Int_t const k)
Double_t GetPhiDistributionForOneEventSettings(Int_t const i) const
Bool_t fPrintFinalResults[4]
virtual void CrossCheckIntFlowCorrectionTermsForNUA()
TProfile * GetIntFlowExtraDirectCorrelations() const
Bool_t fStoreControlHistograms
void SetPrintFinalResults(Bool_t const printOrNot, Int_t const i)
TList * GetHistList() const
void SetIntFlowCorrelationsHist(TH1D *const intFlowCorrelationsHist)
TProfile * fIntFlowDirectCorrelations
virtual void BookCommonHistograms()
virtual void StoreHarmonic()
void Set8pCumulants(TH1D *const p8pC)
TH1D * GetPtWeights() const
void SetStoreDistributions(Bool_t const storeDistributions)
TProfile * fIntFlowCorrectionTermsForNUAVsMPro[2][4]
average correction terms for non-uniform acceptance (with wrong errors!) [0=sin terms,1=cos terms]
Bool_t GetUseBootstrap() const
void SetCommonHistsResults4th(AliFlowCommonHistResults *const chr4th)
void SetMinValueOfQvectorTerms(Int_t const qvti, Double_t const minValue)
void SetMixedHarmonicEventWeights(TH1D *const mhew, Int_t const power)
void SetnBinsMult(Int_t const nbm)
TH1D * fIntFlowQcumulantsVsM[4]
TProfile * fDiffFlowSquaredCorrelationsPro[2][2][4]
[0=RP,1=POI][0=pt,1=eta][correlation index]
virtual void CheckPointersUsedInMake()
AliFlowAnalysisWithQCumulants()
virtual void BookAndFillWeightsHistograms()
void SetBookOnlyBasicCCH(Bool_t const bobcch)
void SetDiffFlowCorrectionTermsForNUAPro(TProfile *const dfctfnp, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
TH1D * fDiffFlowDetectorBias[2][2][4]
[0=RP,1=POI][0=pt,1=eta][0=QC{2'},1=QC{4'},2=QC{6'},3=QC{8'}]
TH1D * GetDiffFlowSumOfProductOfEventWeights(Int_t i, Int_t j, Int_t k, Int_t l) const
void SetDiffFlowSumOfProductOfEventWeights(TH1D *const dfsopoew, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
Bool_t GetCalculate2DDiffFlow() const
TH1D * GetIntFlowCorrelationsVsMHist(Int_t const ci) const
virtual void CalculateDiffFlowCorrectionsForNUASinTermsUsingParticleWeights(TString type, TString ptOrEta)
Double_t fMinValueOfCorrelation[4]
virtual void CalculateDiffFlowProductOfCorrelations(TString type, TString ptOrEta)
TProfile2D * fMixedHarmonicProductOfCorrelations
TH1D * fIntFlowCorrelationsVsMHist[4]
AliFlowCommonHist * fCommonHists8th
void SetIntFlowProductOfCorrectionTermsForNUAPro(TProfile *const ifpoctfNUA)
TProfile2D * GetBootstrapCorrelationsVsM(Int_t qvti) const
virtual void CommonConstants(TString method)
virtual void BookAndNestAllLists()
void Set4pCorrelations(TProfile *const p4pCorr)
void SetIntFlowExtraCorrelationsPro(TProfile *const intFlowExtraCorrelationsPro)
TProfile * f8pCorrelations
TH1D * fDiffFlowCovariances[2][2][5]
[0=RP,1=POI][0=pt,1=eta][correlation index]
void SetDiffFlowCumulants(TH1D *const diffFlowCumulants, Int_t const i, Int_t const j, Int_t const k)
virtual void InitializeArraysForVarious()
void SetIntFlowCorrelationsVsMPro(TProfile *const ifcvp, Int_t const ci)
void SetNoOfParticlesInBin(TH1D *const noOfParticlesInBin)
void SetDiffFlowProductOfCorrelationsPro(TProfile *const dfpocp, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
virtual void CalculateCumulantsForBootstrap()
Int_t fCrossCheckInPtBinNo
average correction terms for non-uniform acceptance evaluated with nested loops [0=sin terms...
TProfile * fReRPQ1dEBE[3][2][4][9]
TH1D * GetIntFlowRebinnedInM() const
AliFlowCommonHist * fCommonHists2nd
TH1D * GetDiffFlowCorrectionTermsForNUAHist(Int_t i, Int_t j, Int_t k, Int_t l) const
virtual void PrintFinalResultsForIntegratedFlow(TString type)
AliFlowCommonHistResults * fCommonHistsResults6th
virtual void CalculateCumulantsMixedHarmonics()
void SetIntFlowCorrelationsAllPro(TProfile *const intFlowCorrelationsAllPro)
virtual void StoreDiffFlowFlags()
virtual void CalculateDiffFlowCorrelations(TString type, TString ptOrEta)
virtual void WriteHistograms(TString outputFileName)
Bool_t fEvaluateDiffFlowNestedLoops
void SetMixedHarmonicProductOfCorrelations(TProfile2D *const mhpoc)
TProfile * fOtherDiffCorrelators[2][2][2][1]
Bool_t fCalculateDiffFlow
TList * GetNestedLoopsList() const
TList * fBootstrapResultsList
virtual void FinalizeCorrectionTermsForNUADiffFlow(TString type, TString ptOrEta)
virtual void CalculateDiffFlowCorrectionsForNUACosTermsUsingParticleWeights(TString type, TString ptOrEta)
void SetIntFlowExtraDirectCorrelations(TProfile *const ifedc)
void SetMinimumBiasReferenceFlow(Bool_t const mmrf)
TH1D * GetIntFlowSumOfProductOfEventWeightsNUA() const
virtual void InitializeArraysForDiffFlow()
void SetCommonHistsResults6th(AliFlowCommonHistResults *const chr6th)
void SetDistributionsFlags(TProfile *const distributionsFlags)
TList * fDistributionsList
2D differential flow [0=RP,1=POI][cumulants order]
Double_t fNumberOfPOIsEBE
virtual void Calculate2DDiffFlowCorrelations(TString type)
virtual void EvaluateIntFlowCorrectionsForNUAWithNestedLoops(AliFlowEventSimple *const anEvent)
void SetDiffFlowSumOfEventWeights(TH1D *const dfsoew, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
Bool_t GetFillProfilesVsMUsingWeights() const
virtual void CalculateIntFlowCorrelationsUsingParticleWeights()
TProfile * GetDiffFlowFlags() const
TProfile2D * fBootstrapCorrelations
TH1D * GetDiffFlowCumulants(Int_t i, Int_t j, Int_t k) const
TH1D * fDiffFlowEventWeightsForCorrelationsEBE[2][2][4]
[0=RP,1=POI][0=pt,1=eta][reduced correlation index]
virtual void GetPointersForNestedLoopsHistograms()
virtual void CalculateIntFlowProductOfCorrelations()
TH1D * fDiffFlow[2][2][4]
[0=RP,1=POI][0=pt,1=eta][0=gQC{2'}/QC{2'},1=gQC{4'}/QC{4'},2=gQC{6'}/QC{6'},3=gQC{8'}/QC{8'}] ...
virtual void CalculateIntFlowCorrectionsForNUASinTermsUsingParticleWeights()
virtual void CalculateCumulantsIntFlow()
void SetnBinsForCorrelations(Int_t const nb)
virtual void EvaluateDiffFlowCorrelationsWithNestedLoops(AliFlowEventSimple *const anEvent, TString type, TString ptOrEta)
TProfile * fIntFlowDirectCorrectionTermsForNUA[2]
virtual void GetPointersForBootstrap()
void SetMaxCommonResultsHistogram(Int_t const mcrh)
virtual void CalculateIntFlowCorrelations()
Bool_t fApplyCorrectionForNUAVsM
void SetMixedHarmonicsFlags(TProfile *const mhFlags)
TH1D * fDiffFlowCorrectionTermsForNUAEBE[2][2][2][10]
[0=RP,1=POI][0=pt,1=eta][event weights for reduced correlation index]
TList * fDiffFlowCorrelationsHistList[2][2]
list to hold profiles with all correlations for 2D differential flow [0=RP,1=POI] ...
virtual void CalculateDiffFlow(TString type, TString ptOrEta)
void SetCalculateAllCorrelationsVsM(Bool_t const cacvm)
AliFlowCommonHist * GetCommonHists6th() const
Int_t GetCrossCheckInPtBinNo() const
TH1D * GetIntFlowDetectorBiasVsM(Int_t ci) const
virtual void CalculateIntFlowSumOfProductOfEventWeights()
void Set4pCumulants(TH1D *const p4pC)
virtual void StorePhiDistributionForOneEvent(AliFlowEventSimple *const anEvent)
TH1D * GetIntFlowVsM(Int_t co) const
void SetCalculate2DDiffFlow(Bool_t const c2ddf)
Bool_t GetCalculateMixedHarmonics() const
virtual void CalculateDiffFlowCorrectionsForNUASinTerms(TString type, TString ptOrEta)
void SetPropagateErrorAlsoFromNIT(Bool_t const peafNIT)
TProfile * Get6pCorrelations() const
void SetForgetAboutCovariances(Bool_t const fac)
TH1D * fDiffFlowCorrectionTermsForNUAHist[2][2][2][10]
[0=RP,1=POI][0=pt,1=eta] [0=<2>,1=<2'>,2=<4>,3=<4'>,4=<6>,5=<6'>,6=<8>,7=<8'>] x
void SetCommonHists4th(AliFlowCommonHist *const ch4th)
TList * f2DDiffFlowCorrelationsProList[2]
list to hold profiles with correction term for NUA for differential flow [0=RP,1=POI][0=pt,1=eta]
Int_t GetnSubsamples() const
void SetIntFlowVsM(TH1D *const intFlowVsM, Int_t co)
void SetDiffFlowCorrectionTermsForNUAHist(TH1D *const dfctfnh, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
void Set3pCorrelations(TProfile *const p3pCorr)
void SetUse2DHistograms(Bool_t const u2dh)
TMatrixD * fImQ
fReQ[m][k] = sum_{i=1}^{M} w_{i}^{k} cos(m*phi_{i})
void SetBootstrapCorrelationsVsM(TProfile2D *const bcpVsM, Int_t const qvti)
virtual void CalculateCovariancesIntFlow()
TProfile2D * fReRPQ2dEBE[3][4][9]
[0=RP,1=POI][0=pt,1=eta][0=sin terms,1=cos terms][correction term index]
TList * fDiffFlowProfiles
virtual ~AliFlowAnalysisWithQCumulants()
AliFlowCommonHistResults * fCommonHistsResults4th
TH2D * fBootstrapCumulants
TProfile2D * fImRPQ2dEBE[3][4][9]
TProfile2D * fBootstrapCorrelationsVsM[4]
Bool_t fStoreDistributions
TMatrixD * fSpk
fImQ[m][k] = sum_{i=1}^{M} w_{i}^{k} sin(m*phi_{i})
TProfile * GetDiffFlowCorrelationsPro(Int_t i, Int_t j, Int_t k) const
TProfile * GetEvaluateNestedLoops() const
void SetnSubsamples(Int_t const ns)
TProfile * fOtherDirectDiffCorrelators[2][2][2][1]
[0=RP,1=POI][0=pt,1=eta][0=sin terms,1=cos terms][correction term index]
void SetAnalysisLabel(const char *aLabel)
void SetIntFlowSumOfProductOfEventWeights(TH1D *const intFlowSumOfProductOfEventWeights)
TProfile * GetUseParticleWeights() const
TProfile * fDistributionsFlags
void SetDiffFlowDirectCorrelations(TProfile *const diffFlowDirectCorrelations, Int_t const i, Int_t const j, Int_t const k)
TProfile * fIntFlowCorrelationsAllPro
void SetUseBootstrap(Bool_t const ub)
TH1D * fIntFlowCovariancesNUA
Bool_t fCalculateCumulantsVsM
void SetIntFlowSquaredCorrelationsVsMPro(TProfile *const ifscvp, Int_t const ci)
TProfile * Get4pCorrelations() const
void SetCalculateDiffFlowVsEta(Bool_t const cdfve)
TProfile * Get8pCorrelations() const
TH1D * GetIntFlowCovariances() const
void SetIntFlowProductOfCorrelationsVsMPro(TProfile *const ifpocvm, Int_t const pi)
virtual void CalculateDiffFlowCorrectionsForNUACosTerms(TString type, TString ptOrEta)
TH1D * GetNoOfParticlesInBin() const
TList * fDiffFlowHistList[2][2]
list to hold histograms which quantify detector bias to differential cumulants [0=RP,1=POI][0=pt,1=eta]
Bool_t GetMinimumBiasReferenceFlow() const
void SetCalculateCumulantsVsM(Bool_t const ccvm)
Int_t GetHarmonic() const
Bool_t fCalculate2DDiffFlow
TProfile * Get3pCorrelations() const
TProfile * GetDiffFlowSquaredCorrelationsPro(Int_t i, Int_t j, Int_t k) const
virtual void CrossCheckIntFlowCorrelations()
void SetIntFlowCovariancesNUA(TH1D *const intFlowCovariancesNUA)
TProfile * fEvaluateNestedLoops
Bool_t GetUseEtaWeights() const
virtual void InitializeArraysForIntFlow()
TProfile * GetIntFlowCorrelationsAllPro() const
void SetDiffFlowDetectorBias(TH1D *const dfdb, Int_t const i, Int_t const j, Int_t const k)
void SetCrossCheckInEtaBinNo(Int_t const crossCheckInEtaBinNo)
virtual void GetPointersForDiffFlowHistograms()
TProfile * GetIntFlowCorrelationsPro() const
TProfile * fDiffFlowDirectCorrelations[2][2][4]
AliFlowCommonHist * GetCommonHists2nd() const
void SetHarmonic(Int_t const harmonic)
TList * fDiffFlowSumOfEventWeightsHistList[2][2][2]
list to hold histograms with all correlations for differential flow [0=RP,1=POI][0=pt,1=eta]
TH2D * fCorrelationNoRPsVsNoPOIs
TProfile * GetIntFlowDirectCorrectionTermsForNUA(Int_t sc) const
void Set5pCorrelations(TProfile *const p5pCorr)
TH2D * GetBootstrapCumulants() const
void SetBootstrapFlags(TProfile *const bf)
TH1D * Get3pCumulants() const
void Set2DDiffFlow(TH2D *const h2ddf, Int_t const i, Int_t const j)
TH1D * Get8pCumulants() const
TProfile * GetBootstrapFlags() const
TH2D * GetQvectorTermsVsMult(Int_t qvti) const
void SetCommonHistsResults2nd(AliFlowCommonHistResults *const chr2nd)
void SetOtherDiffCorrelators(TProfile *const odc, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
TList * fMixedHarmonicsList
AliFlowCommonHistResults * fCommonHistsResults8th
TProfile * fUseParticleWeights
void SetStorePhiDistributionForOneEvent(Bool_t const spdfoe)
virtual void InitializeArraysForDistributions()
Bool_t GetEvaluateIntFlowNestedLoops() const
TList * fBootstrapList
|Qn|^2/M, |Q2n|^2/M, |Qn|^4/(M(2M-1)), Re[Q2nQn^*Qn^*]/M, ... vs multiplicity (#RPs, #POIs or external)
Bool_t fFillMultipleControlHistograms
AliFlowCommonHist * fCommonHists6th
TProfile * fIntFlowProductOfCorrelationsVsMPro[6]
TH2D * Get2DDiffFlowCumulants(Int_t i, Int_t j) const
TH2D * GetMixedHarmonicProductOfEventWeights() const
void SetIntFlowFlags(TProfile *const intFlowFlags)
AliFlowCommonHist * GetCommonHists4th() const
Bool_t GetStoreDistributions() const
AliFlowCommonHistResults * fCommonHistsResults2nd
virtual void FillControlHistograms(AliFlowEventSimple *anEvent)
Int_t fMaxCommonResultsHistogram
void SetIntFlow(TH1D *const intFlow)
void SetPtWeights(TH1D *const histPtWeights)
void SetPhiDistributionForOneEventSettings(Double_t const pdfoes, Int_t const i)
TH2D * GetCorrelationNoRPsVsRefMult() const
virtual void BookEverythingFor2DDifferentialFlow()
void SetDistributions(TH1D *const distributions, Int_t const i)
TProfile2D * f2DDiffFlowCorrelationsPro[2][4]
[0=RP,1=POI][0=pt,1=eta][0=sin terms,1=cos terms][correction term index]
Bool_t GetCalculateAllCorrelationsVsM() const
void SetQvectorTermsVsMult(TH2D *const qvtvm, Int_t const qvti)
AliFlowCommonHistResults * GetCommonHistsResults8th() const
virtual void FillCommonControlHistograms(AliFlowEventSimple *anEvent)
Double_t fReferenceMultiplicityEBE
void SetIntFlowCorrectionTermsForNUAPro(TProfile *const ifctfnp, Int_t const sc)
void SetMaxValueOfCorrelation(Int_t const ci, Double_t const maxValue)
virtual void CalculateIntFlowProductOfCorrectionTermsForNUA()
virtual void FinalizeCorrectionTermsForNUAIntFlow()
TH2D * fMixedHarmonicProductOfEventWeights
sum of linear and quadratic event weights for mixed harmonics => [0=linear 1,1=quadratic] ...
TProfile * fAvMultiplicity
TList * fBootstrapProfilesList
TH2D * f2DDiffFlowCumulants[2][4]
[0=RP,1=POI][0=pt,1=eta][0=sin terms,1=cos terms][correction term index]
void SetIntFlowCorrelationsVsMHist(TH1D *const ifcvmh, Int_t const ci)
virtual void GetPointersForOtherDiffCorrelators()
TProfile * fControlHistogramsFlags
Bool_t fPropagateErrorAlsoFromNIT
TProfile * f5pCorrelations
TH1D * fIntFlowQcumulantsRebinnedInM
Bool_t GetPropagateErrorAlsoFromNIT() const
TProfile * MakePtProjection(TProfile2D *profilePtEta) const
virtual void EvaluateMixedHarmonicsWithNestedLoops(AliFlowEventSimple *const anEvent)
void SetIntFlowRebinnedInM(TH1D *const ifrim)
Bool_t GetBookOnlyBasicCCH() const
virtual void GetOutputHistograms(TList *outputListHistos)
Bool_t GetUseBootstrapVsM() const
Bool_t GetCalculateCumulantsVsM() const
TProfile * GetIntFlowFlags() const
TProfile2D * fs2dEBE[3][9]
TList * fOtherDiffCorrelatorsList
[0=RP,1=POI][correlation index]
void SetUsePtWeights(Bool_t const uPtW)
void SetEvaluateDiffFlowNestedLoops(Bool_t const edfnl)
virtual void StoreControlHistogramsFlags()
void SetCommonHistsResults8th(AliFlowCommonHistResults *const chr8th)
void SetBootstrapCumulants(TH2D *const bc)
TH1D * fIntFlowCovariancesVsM[6]
TH1D * GetIntFlowDetectorBias() const
void SetUseEtaWeights(Bool_t const uEtaW)
virtual void CalculateIntFlowSumOfEventWeightsNUA()
virtual void CalculateDiffFlowCorrectedForNUA(TString type, TString ptOrEta)
Int_t GetExactNoRPs() const
AliFlowCommonHist * fCommonHists4th
TProfile * MakeEtaProjection(TProfile2D *profilePtEta) const
TH2D * GetBootstrapCumulantsVsM(Int_t qvti) const
void SetMaxValueOfCorrelationProduct(Int_t const cpi, Double_t const maxValue)
Double_t GetMaxMult() const
Double_t fMaxValueOfCorrelation[4]
TList * fMixedHarmonicsProfiles
AliFlowCommonHistResults * GetCommonHistsResults2nd() const
TH1D * fMixedHarmonicEventWeights[2]
void SetIntFlowDetectorBiasVsM(TH1D *const ifdbvm, Int_t ci)
void Set7pCumulants(TH1D *const p7pC)
TH1D * fIntFlowQcumulantsErrorSquaredRatio
virtual void PrintNumberOfParticlesInSelectedBin()
virtual void GetPointersForIntFlowHistograms()
AliFlowCommonHist * GetCommonHists() const
virtual void Calculate2DDiffFlowCumulants(TString type)
void SetCommonHists2nd(AliFlowCommonHist *const ch2nd)
TH1D * Get7pCumulants() const
Double_t fPhiDistributionForOneEventSettings[4]
Bool_t GetUseQvectorTerms() const
void SetMinValueOfCorrelation(Int_t const ci, Double_t const minValue)
void SetCorrelationNoRPsVsRefMult(TH2D *const cnrvrm)
void SetEtaWeights(TH1D *const histEtaWeights)
void SetIntFlowSumOfEventWeights(TH1D *const intFlowSumOfEventWeights, Int_t const power)
TList * fMixedHarmonicsErrorPropagation
void SetHistList(TList *const hlist)
TH2D * fQvectorTermsVsMult[4]
TH1D * fIntFlowCorrelationsHist
average correction terms for non-uniform acceptance (with wrong errors!) [0=sin terms,1=cos terms][correction term index] vs multiplicity
TProfile * GetIntFlowExtraCorrelationsPro() const
TH1D * fIntFlowSumOfProductOfEventWeights
sum of linear and quadratic event weights for <2>, <4>, <6> and <8>: [0=linear 1,1=quadratic] ...
Int_t GetnBinsMult() const
Bool_t GetPrintFinalResults(Int_t i) const
virtual void Make(AliFlowEventSimple *anEvent)
void SetControlHistogramsList(TList *const chl)
void SetMixedHarmonicProductOfEventWeights(TH2D *const mhpoew)
Int_t GetnBinsForCorrelations() const
void SetIntFlowSumOfProductOfEventWeightsVsM(TH1D *const ifsopoevm, Int_t si)
TProfile * GetIntFlowSquaredCorrelationsPro() const
TH2D * GetCorrelation2468VsMult(Int_t ci) const
TH2D * Get2DDiffFlow(Int_t i, Int_t j) const
TProfile * GetOtherDiffCorrelators(Int_t i, Int_t j, Int_t k, Int_t l) const
virtual void BookEverythingForMixedHarmonics()
virtual void CalculateReferenceFlow()
void SetOtherDirectDiffCorrelators(TProfile *const oddc, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
TProfile * GetIntFlowProductOfCorrelationsVsMPro(Int_t const pi) const
void SetMinMult(Double_t const minm)
TProfile * GetOtherDirectDiffCorrelators(Int_t i, Int_t j, Int_t k, Int_t l) const
TList * fDiffFlowProductOfCorrelationsProList[2][2]
list to hold profiles with all correlations for differential flow [0=RP,1=POI][0=pt,1=eta]
TH1D * GetMixedHarmonicEventWeights(Int_t power) const
TProfile * GetIntFlowSquaredCorrelationsVsMPro(Int_t const ci) const
TH1D * GetIntFlowCorrelationsHist() const
TH1D * fIntFlowCorrectionTermsForNUAHist[2]
Double_t fMinValueOfCorrelationProduct[1]
void SetUseBootstrapVsM(Bool_t const ubVsM)
virtual void InitializeArraysForMixedHarmonics()
Bool_t GetApplyCorrectionForNUAVsM() const
TList * fMixedHarmonicsResults
Double_t GetMaxValueOfCorrelation(Int_t ci) const
void SetDiffFlowCovariances(TH1D *const diffFlowCovariances, Int_t const i, Int_t const j, Int_t const k)
TH2D * fBootstrapCumulantsVsM[4]
TH1D * GetEtaWeights() const
TH1D * Get5pCumulants() const
TProfile * fDiffFlowCorrelationsPro[2][2][4]
[t][k] // to be improved
void SetUsePhiWeights(Bool_t const uPhiW)
TProfile * GetDiffFlowProductOfCorrelationsPro(Int_t i, Int_t j, Int_t k, Int_t l) const
void Set6pCorrelations(TProfile *const p6pCorr)
TString * GetAnalysisLabel() const
void Set3pCumulants(TH1D *const p3pC)
Double_t GetMinValueOfCorrelationProduct(Int_t cpi) const
void SetCalculateMixedHarmonicsVsM(Bool_t const cmhvm)
void Set5pCumulants(TH1D *const p5pC)
virtual void FillCommonHistResultsDiffFlow(TString type)
virtual void CalculateIntFlowCorrectionsForNUACosTerms()
Double_t fMaxValueOfQvectorTerms[4]
TProfile * fIntFlowSquaredCorrelationsVsMPro[4]
virtual void FillAverageMultiplicities(Int_t nRP)
Int_t fCrossCheckInEtaBinNo
TH1D * GetDiffFlowCovariances(Int_t i, Int_t j, Int_t k) const
void SetIntFlowCorrectionTermsForNUAVsMPro(TProfile *const ifctfnpvm, Int_t const sc, Int_t const ci)
TH1D * GetIntFlow() const
TProfile * GetIntFlowProductOfCorrectionTermsForNUAPro() const
virtual void EvaluateIntFlowCorrelationsWithNestedLoopsUsingParticleWeights(AliFlowEventSimple *const anEvent)
TProfile * fIntFlowProductOfCorrectionTermsForNUAPro
Bool_t GetUsePtWeights() const
TH1D * Get6pCumulants() const
TH1D * fIntFlowCorrelationsAllHist
TH1D * fNoOfParticlesInBin
void SetIntFlowCovariances(TH1D *const intFlowCovariances)
virtual void BookEverythingForNestedLoops()
TH1D * GetIntFlowCorrectionTermsForNUAHist(Int_t sc) const
TProfile * GetDistributionsFlags() const
TProfile * f7pCorrelations
virtual void EvaluateIntFlowNestedLoops(AliFlowEventSimple *const anEvent)
virtual void GetPointersForControlHistograms()
TH1D * GetIntFlowQcumulants() const
void Set2pCorrelations(TProfile *const p2pCorr)
TH1D * GetIntFlowQcumulantsVsM(Int_t co) const
Bool_t fMinimumBiasReferenceFlow
void Set8pCorrelations(TProfile *const p8pCorr)
Bool_t fStorePhiDistributionForOneEvent
virtual void EvaluateIntFlowCorrelationsWithNestedLoops(AliFlowEventSimple *const anEvent)
TProfile * fIntFlowExtraDirectCorrelations
void SetUseQvectorTerms(Bool_t const uqvt)
TProfile * Get7pCorrelations() const
void SetIntFlowCorrelationsPro(TProfile *const intFlowCorrelationsPro)
TH1D * fIntFlowDetectorBiasVsM[4]
void SetCalculateMixedHarmonics(Bool_t const cmh)
virtual void GetPointersFor2DDiffFlowHistograms()
virtual void BookEverythingForBootstrap()
virtual void CalculateIntFlowCorrectionsForNUASinTerms()
void SetMultiplicityWeight(const char *multiplicityWeight)
Bool_t GetCalculateDiffFlow() const
TProfile * GetIntFlowProductOfCorrelationsPro() const
Double_t fMaxValueOfCorrelationProduct[1]
TH1D * fDiffFlowCorrelationsHist[2][2][4]
[0=RP,1=POI][0=pt,1=eta][0=sin terms,1=cos terms][correlator index]
virtual void EvaluateDiffFlowCorrelationsWithNestedLoopsUsingParticleWeights(AliFlowEventSimple *const anEvent, TString type, TString ptOrEta)
TH1D * fIntFlowEventWeightForCorrectionTermsForNUAEBE[2]
[0=sin terms,1=cos terms], NUA = non-uniform acceptance
AliFlowAnalysisWithQCumulants & operator=(const AliFlowAnalysisWithQCumulants &afawQc)
TProfile * fIntFlowProductOfCorrelationsPro
virtual void BookAndNestListsForDifferentialFlow()
void SetIntFlowCorrectionTermsForNUAHist(TH1D *const ifctfnh, Int_t const sc)
TH1D * fIntFlowSumOfEventWeightsNUA[2][2]
TH1D * fIntFlowSumOfEventWeights[2]
TH1D * fDiffFlowSumOfProductOfEventWeights[2][2][8][8]
[0=RP,1=POI][0=pt,1=eta][0=linear 1,1=quadratic][0=<2'>,1=<4'>,2=<6'>,3=<8'>]
TH1F * GetPhiWeights() const
TProfile * fImRPQ1dEBE[3][2][4][9]
real part [0=r,1=p,2=q][0=pt,1=eta][m][k]
TH2D * GetCorrelationProduct2468VsMult(Int_t ci) const
TProfile * f2pCorrelations
TProfile2D * Get2DDiffFlowCorrelationsPro(Int_t i, Int_t k) const
Bool_t fCalculateAllCorrelationsVsM
AliFlowCommonConstants::ERefMultSource fMultiplicityIs
Bool_t fCalculateMixedHarmonics
TH1D * fIntFlowRebinnedInM
TH1D * fIntFlowCovariances
final results for correction terms for non-uniform acceptance (with correct errors!) [0=sin terms...
void SetPhiWeights(TH1F *const histPhiWeights)
void SetBootstrapCorrelations(TProfile2D *const bcp)
virtual void CalculateFinalResultsForRPandPOIIntegratedFlow(TString type)
Int_t GetCrossCheckInEtaBinNo() const
TList * fDiffFlowSumOfProductOfEventWeightsHistList[2][2]
list to hold histograms with sum of linear/quadratic event weights [0=RP,1=POI][0=pt,1=eta][0=linear 1,1=quadratic]
virtual void CalculateCovariancesNUAIntFlow()
Bool_t fForgetAboutCovariances
Bool_t GetStorePhiDistributionForOneEvent() const
void Set2DDiffFlowCumulants(TH2D *const h2ddfc, Int_t const i, Int_t const j)
TH1D * fDiffFlowCorrelationsEBE[2][2][4]
[0=r,1=p,2=q][0=pt,1=eta][k] // to be improved
TProfile * GetMixedHarmonicsNestedLoops() const
TProfile * GetDiffFlowCorrectionTermsForNUAPro(Int_t i, Int_t j, Int_t k, Int_t l) const
TProfile * GetIntFlowCorrelationsVsMPro(Int_t const ci) const
Int_t GetMaxAllowedMultiplicity() const
void SetBootstrapList(TList *const bl)
virtual void InitializeArraysForControlHistograms()
TH1D * GetDistributions(Int_t i) const
AliFlowCommonHistResults * GetCommonHistsResults6th() const
virtual void FinalizeReducedCorrelations(TString type, TString ptOrEta)
Bool_t GetForgetAboutCovariances() const
virtual void BookEverythingForDistributions()
void SetCorrelationProduct2468VsMult(TH2D *const cp2468vm, Int_t const ci)
void SetApplyCorrectionForNUAVsM(Bool_t const applyCorrectionForNUAVsM)
Bool_t GetStoreControlHistograms() const
TProfile * fDiffFlowProductOfCorrelationsPro[2][2][8][8]
[0=RP,1=POI][0=pt,1=eta][correlation index]
void SetCrossCheckInPtBinNo(Int_t const crossCheckInPtBinNo)
virtual void StoreMixedHarmonicsFlags()
TProfile * fIntFlowExtraCorrelationsPro
TH2D * fCorrelation2468VsMult[4]
TProfile * GetCommonConstants() const
virtual void EvaluateOtherDiffCorrelatorsWithNestedLoops(AliFlowEventSimple *const anEvent, TString type, TString ptOrEta)
void SetIntFlowSumOfEventWeightsNUA(TH1D *const ifsoewNUA, Int_t const sc, Int_t const power)
virtual void InitializeArraysForBootstrap()
void SetDiffFlowDirectCorrectionTermsForNUA(TProfile *const dfdctfn, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
TH1D * GetIntFlowSumOfEventWeights(Int_t power) const
virtual void CalculateMixedHarmonics()
TH1D * GetIntFlowSumOfProductOfEventWeights() const
virtual void BookEverythingForIntegratedFlow()