23 #ifndef AliFlowAnalysisCRC_H
24 #define AliFlowAnalysisCRC_H
TProfile * fAvMultiplicity
Double_t GetMinMult() const
static const Int_t fFlowQCHOCenBin
virtual void GetPointersForIntFlowHistograms()
void SetCorrelation2468VsMult(TH2D *const c2468vm, Int_t const ci)
Double_t fNumberOfPOIsEBE
Bool_t GetBookOnlyBasicCCH() const
TH2D * GetQvectorTermsVsMult(Int_t qvti) const
TH1D * GetCRCCovHist(Int_t const c, Int_t const eg, Int_t const h) const
TProfile * GetCRCCorrProd2p2pPro(Int_t const c, Int_t const eg, Int_t const h) const
static const Int_t fkFlowSPVZnHist
TProfile * GetDistributionsFlags() const
static const Int_t fkNHistQVecCorrv1eta
TH2F * GetZDCESESpecWeightsHist(Int_t h) const
TProfile * Get2pCorrelations() const
virtual Int_t GetCRCBin(Int_t c, Int_t y, Int_t c2, Int_t y2)
TH1D * fZDCESEMinMetricHist[2]
void SetCRCQnReCorrHist(TProfile *const TH, Int_t const r, Int_t const h)
virtual Bool_t PassQAZDCCuts()
void SetPOIExtraWeights(POIExtraWeights set)
void SetFlowQCSpectra(TH2D *const TH)
TProfile * fFlowSCv2vsZNv1PtPro[fSCv2vsZNHarm][fSCv2vsZNPtBins][3]
TProfile2D * fCRCZDCQVecResvsETot
void SetMixedHarmonicProductOfCorrelations(TProfile2D *const mhpoc)
TH1D * GetCRCCorrProdTempHist(Int_t const c, Int_t const eg, Int_t const h) const
TProfile * GetFlowQCIntCorPro(Int_t const eg, Int_t const h) const
void SetMaxAllowedMultiplicity(Int_t const maxAllowedMultiplicity)
void Set2DDiffFlowCorrelationsPro(TProfile2D *const p2ddfcp, Int_t const i, Int_t const k)
virtual void InitializeArraysForMixedHarmonics()
TProfile * GetFlowSCv2vsZNv1PtPro(Int_t const c, Int_t const pt, Int_t const eg) const
void Set5pCorrelations(TProfile *const p5pCorr)
TProfile * GetDiffFlowFlags() const
SelectCharge GetSelectCharge() const
TList * GetHistList() const
void SetUsePhiEtaCuts(Bool_t const uPhiEtaW)
TH2D * GetCMEZDCCovHist(Int_t const eg, Int_t const h) const
void SetTestSin(Bool_t const cCRC)
TProfile * f4pCorrelations
profile to hold all 3-particle correlations
TProfile * Get4pCorrelations() const
void SetIntFlowSumOfProductOfEventWeights(TH1D *const intFlowSumOfProductOfEventWeights)
TH1D * fIntFlowCorrelationsHist
average correction terms for non-uniform acceptance (with wrong errors!) [0=sin terms,1=cos terms][correction term index] vs multiplicity
Bool_t fStoreZDCQVecVtxPos
TProfile * GetDiffFlowCorrelationsPro(Int_t i, Int_t j, Int_t k) const
static const Int_t fkFlowQCnHarVtx
TH2D * fFlowSPZDCv1etaPtHist[fCRCMaxnCen][fkNHistv1etaPt]
void SetDiffFlowDetectorBias(TH1D *const dfdb, Int_t const i, Int_t const j, Int_t const k)
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'>]
TH1D * fZDCESEMinHist[2]
Run-by-run fit ZDCQvecHist.
virtual void CheckPointersUsedInMake()
TProfile * fIntFlowCorrelationsPro
profile to hold average multiplicities and number of events for events with nRP>=0, nRP>=1, ... , and nRP>=8
Bool_t GetUseQvectorTerms() const
AliFlowCommonHistResults * GetCommonHistsResults4th() const
TH1D * fIntFlowCorrelationsEBE
fSM[p][k] = (sum_{i=1}^{M} w_{i}^{k})^{p+1}
void SetUseQvectorTerms(Bool_t const uqvt)
void SetFlowQCIntCumHist(TH1D *const TP, Int_t const eg, Int_t const k)
Bool_t fPrintFinalResults[4]
analysis label (all histograms and output file will have this label)
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
Bool_t fUsePhiEtaWeightsChDep
TH2D * fBootstrapCumulantsVsM[4]
x-axis => QC{2}, QC{4}, QC{6}, QC{8}; y-axis => subsample #
static const Int_t fCRCMaxnRun
POIExtraWeights GetPOIExtraWeights() const
TH2F * GetZNvsMul() const
Bool_t GetFillProfilesVsMUsingWeights() const
virtual void BookEverythingForDistributions()
Bool_t GetUsePtWeights() const
TH1D * GetDiffFlowCovariances(Int_t i, Int_t j, Int_t k) const
TList * fDiffFlowResults
list to hold all profiles relevant for differential flow
TProfile * GetBootstrapFlags() const
void SetNvsCenCut(TH1D *const n, Int_t c, Int_t h)
virtual void CrossCheckDiffFlowCorrelations(TString type, TString ptOrEta)
TList * fDiffFlowCorrectionsHistList[2][2]
list to hold histograms with sum of products of event weights [0=RP,1=POI][0=pt,1=eta] ...
TProfile * GetCRCZDCQVecAHist(Int_t const r, Int_t const c) const
void SetFlowSPZDCv1Pro(TProfile *const TP, Int_t const r)
virtual void SetRunList()
TH2D * fPOIEtaPtMul[2][fFlowNHarmMax]
Bool_t GetUsePhiEtaCuts() const
Bool_t GetInvertZDC() const
TH1D * GetIntFlowQcumulants() const
virtual void WriteHistograms(TString outputFileName)
TProfile * fIntFlowProductOfCorrelationsPro
when particle weights are used some extra correlations appear
TH1D * fCRC2QIm[3][fCRCnHar]
real part [0=pos,1=neg][0=back,1=forw][m]
TH2F * fhZNResvsMul[fCRCMaxnCen][2]
rad vs mul
static const Int_t fCRCnEtaGap
TH2D * GetMixedHarmonicProductOfEventWeights() const
void SetIntFlowSumOfProductOfEventWeightsNUA(TH1D *const ifsopoewNUA)
TH1D * fPOIPtDiffQImEG[2][fQVecPower][fFlowNHarmMax]
real part [0=pos,1=neg][0=back,1=forw][m]
TProfile * fControlHistogramsFlags
virtual void FillCommonHistResultsDiffFlow(TString type)
static const Int_t fkNRbRIntFlow
virtual void ResetEventByEventQuantities()
TProfile * GetMixedHarmonicsFlags() const
TH2F * fhZNResvsCen[fCRCMaxnCen][2]
res vs mul
Bool_t GetCalculateFlowQC() const
TProfile * GetCRC2NUAPro(Int_t const h, Int_t const c, Int_t const e) const
void SetIntFlowCorrectionTermsForNUAPro(TProfile *const ifctfnp, Int_t const sc)
void SetFlowQCIntCorHist(TH1D *const TP, Int_t const eg, Int_t const k)
void SetUseTrackWeights(Bool_t const uTrackW)
TProfile * f2pCorrelations
TH1D * fIntFlowSumOfProductOfEventWeights
sum of linear and quadratic event weights for <2>, <4>, <6> and <8>: [0=linear 1,1=quadratic] ...
Bool_t fCalculateDiffFlowVsEta
TH1D * fIntFlowQcumulantsVsM[4]
final results for integrated Q-cumulants QC{2}, QC{4}, QC{6} and QC{8}
TProfile * fFlowQCCorProPhi[fCRCMaxnCen][fFlowNHarm][fFlowQCNPro]
virtual void CalculateCRCPtCorr()
void SetDiffFlowFlags(TProfile *const diffFlowFlags)
TProfile2D * fReRPQ2dEBE[3][4][9]
[0=RP,1=POI][0=pt,1=eta][0=sin terms,1=cos terms][correction term index]
Double_t fReferenceMultiplicityEBE
TList * fDiffFlowCovariancesHistList[2][2]
list to hold histograms with correction term for NUA for differential flow [0=RP,1=POI][0=pt,1=eta]
void SetFlowSCv2vsZNv1PtHist(TH1D *const TP, Int_t const c, Int_t const pt, Int_t const eg)
static const Int_t fFlowNNUA
TH2D * fZDCQHist2
Run-by-run ZDCQvecHist.
TProfile * GetCRCZDCQVecCHist(Int_t const r, Int_t const c) const
virtual void FinalizeFlowSPVZ()
static const Int_t fCRCQVecnCR
NUA terms final histo.
TH1D * GetDistributions(Int_t i) const
TH1D * fCMEMult[4][fCRCnHar]
imaginary part [0=pos,1=neg][0=back,1=forw][m]
void SetCMEZDCList(TList *const TL)
virtual void GetPointersForMixedHarmonicsHistograms()
void SetCalculateAllCorrelationsVsM(Bool_t const cacvm)
TH1D * GetDiffFlowCorrectionTermsForNUAHist(Int_t i, Int_t j, Int_t k, Int_t l) const
TProfile * f5pCorrelations
profile to hold all 4-particle correlations
virtual void StoreIntFlowFlags()
TH1D * GetFlowSPZDCFinalPtDifHist(Int_t const c, Int_t const eg, Int_t const h) const
void SetDataSet(DataSet set)
TH1D * f4pCumulants
histogram to hold all 3-particle cumulants
void SetEvaluateNestedLoops(TProfile *const enl)
TProfile * fFlowQCCorCovPro[fCRCMaxnCen][fFlowNHarm][fFlowQCNCov]
final NUA terms
void SetVtxHist(TH2F *const TH, Int_t const c)
void SetCRCCumHist(TH1D *const TH, Int_t const c, Int_t const eg, Int_t const h)
virtual void GetPointersForCRCZDC()
void SetZNCenvsMul(TH2F *const n, Int_t const eg, Int_t const h)
TH1D * fPOIPhiDiffQRe[fQVecPower][fFlowNHarmMax]
TH2F * GetZNvsTCen(Int_t const h) const
TH2D * fEBEFlowRChiSqHist[2]
mult. binned azim. dis.
TH1D * GetDiffFlowSumOfProductOfEventWeights(Int_t i, Int_t j, Int_t k, Int_t l) const
TList * fDiffFlowDetectorBiasHistList[2][2]
list to hold histograms with all cumulants for differential flow [0=RP,1=POI][0=pt,1=eta]
TH1D * fCMEZDCDistHist[fCMEnEtaBin][fCRCMaxnCen][fCMEZDCnDist]
correlation function histo, [CRCBin][eg]
Bool_t fStoreDistributions
profile to hold all flags for distributions of correlations
Bool_t GetStoreZDCQVecVtxPos() const
void SetCRCZDCList(TList *const CRCL)
TH3D * fCRCQVecPhiHistCh[2]
phi ditribution POIs
Bool_t GetPropagateErrorAlsoFromNIT() const
TProfile * GetFlowSPVZCorPro(Int_t const c, Int_t const eg, Int_t const h) const
void SetUseBootstrap(Bool_t const ub)
void SetCRCSumWeigHist(TH1D *const TH, Int_t const r, Int_t const c, Int_t const eg, Int_t const h)
CorrelationWeights GetCorrWeightZDC() const
TProfile * GetOtherDiffCorrelators(Int_t i, Int_t j, Int_t k, Int_t l) const
Double_t GetMaxValueOfQvectorTerms(Int_t qvti) const
TH1D * GetCMEZDCDistHist(Int_t const eg, Int_t const h, Int_t const k) const
TList * fIntFlowResults
list to hold all profiles relevant for integrated flow
virtual void CalculateIntFlowCorrectionsForNUASinTerms()
void SetCorrWeightVZ(CorrelationWeights weights)
TH1D * fFlowSCv2vsZNv1FinalHist[fSCv2vsZNHarm][3]
TH1D * GetIntFlowCovariancesNUA() const
TProfile2D * fFlowSCAvPtvsZN
Double_t GetMinValueOfQvectorTerms(Int_t qvti) const
void SetFlowSCv2vsZNv1PtFinalHist(TH1D *const TP, Int_t const c, Int_t const pt, Int_t const eg)
TH1D * GetDiffFlow(Int_t i, Int_t j, Int_t k) const
TProfile * GetFlowQCIntCorHOPro(Int_t const c, Int_t const eg) const
TProfile3D * fCRCQVecHarSinProCh[2]
phi ditribution POIs
void SetCRC2NUAHist(TH1D *const TP, Int_t const h, Int_t const c, Int_t const e)
void SetFlowQCCorHist(TH1D *const TH, Int_t const c, Int_t const eg, Int_t const h)
TH2D * fCRCZDCCovHist[2][fCRCZDCnEtaBin][fCRCMaxnCen]
correlation function histo, [CRCBin][eg]
void SetRecenterZDC(Bool_t const cCRC)
TProfile * GetCRCCorrPro(Int_t const r, Int_t const c, Int_t const eg, Int_t const h) const
TH1D * fCRC2CorHist[fCRCMaxnCen][fkNCorCRC2][2]
NUA terms profile, [CRCBin][eg].
Bool_t GetEvaluateDiffFlowNestedLoops() const
virtual void EvaluateMixedHarmonicsWithNestedLoops(AliFlowEventSimple *const anEvent)
void SetBookOnlyBasicCCH(Bool_t const bobcch)
TProfile * GetCRCZDCCorrProd2p2pHist(Int_t const r, Int_t const c, Int_t const eg, Int_t const h) const
TH1D * GetCRCCorrHist(Int_t const c, Int_t const eg, Int_t const h) const
TH2F * GetZNCvsZNA(Int_t const h) const
TProfile * fOtherDiffCorrelators[2][2][2][1]
list to hold profiles with other differential correlators
void SetCalculateFlowVZ(Bool_t const cCRC)
TProfile * GetControlHistogramsFlags() const
void SetCrossCheckInPtBinNo(Int_t const crossCheckInPtBinNo)
virtual void CalculateDiffFlowCovariances(TString type, TString ptOrEta)
AliFlowCommonHist * GetCommonHists2nd() const
void SetCMETPCSCPro(TProfile *const TP, Int_t const c, Int_t const h)
Double_t * fCRCPtvarPtBins
Bool_t fCalculate2DDiffFlow
void Set3pCumulants(TH1D *const p3pC)
TH1F * GetPhiWeights() const
void SetDiffFlowCorrelationsPro(TProfile *const diffFlowCorrelationsPro, Int_t const i, Int_t const j, Int_t const k)
void SetCRCQVecListRun(TList *const CRCL, Int_t r)
void SetApplyCorrectionForNUA(Bool_t const applyCorrectionForNUA)
TProfile2D * fCRCZDCQVecResvsESum
virtual void FillControlHistograms(AliFlowEventSimple *anEvent)
void SetUsePhiEtaWeights(Bool_t const uPhiEtaW)
virtual void StoreFlagsForDistributions()
Double_t fNumberOfRPsEBE
[0=sin terms,1=cos terms], NUA = non-uniform acceptance
TH1D * fPtWeightsHist[10]
Centrality weights.
static const Int_t fZDCESEnPol
void SetFlowQCIntCorProEG(TProfile *const TP, Int_t const eg)
void SetPrintFinalResults(Bool_t const printOrNot, Int_t const i)
TH1D * f2pCumulants
profile to hold all 8-particle correlations
TH1D * fPOIPhiDiffQIm[fQVecPower][fFlowNHarmMax]
real part [0=pos,1=neg][0=back,1=forw][m]
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}]
Int_t GetnBinsMult() const
void SetFlowQCCorCovHist(TH1D *const TP, Int_t const c, Int_t const eg, Int_t const h)
virtual void FitEbEFlow()
void SetCRCQVecWeightsList(TList *const wlist)
virtual void InitializeArraysForDiffFlow()
void SetPhiWeights(TH1F *const histPhiWeights)
virtual void CalculateDiffFlowCumulants(TString type, TString ptOrEta)
void SetZDCESEList(TList *const kList)
void SetOtherDiffCorrelators(TProfile *const odc, Int_t const i, Int_t const j, Int_t const k, Int_t const l)
void SetUseZDCESEMulWeights(Bool_t const uPhiEtaW)
AliFlowCommonHistResults * GetCommonHistsResults8th() const
TProfile * fCMETPCSCPro[fCMETPCnSC][2]
<<2'>>, [CRCBin][eg]
TProfile * GetFlowSPZDCv1etaPro(Int_t const c, Int_t const k, Int_t const r) const
TH2D * GetCorrelationNoRPsVsNoPOIs() const
void SetIntFlowDirectCorrelations(TProfile *const ifdc)
TProfile * fCRCZDCQVecRes[fCRCMaxnRun][8]
Q Vectors ZDCN-C.
TProfile * GetCRCQnImHist(Int_t const r, Int_t const h) const
Bool_t fBookOnlyBasicCCH
base list to hold all output object
Bool_t GetPrintFinalResults(Int_t i) const
TH2D * GetBootstrapCumulantsVsM(Int_t qvti) const
TH1D * fFlowQCIntCorHOHist[fFlowNHarmHighOrd][fFlowQCHONHist]
TProfile2D * fMixedHarmonicProductOfCorrelations
sum of products of event weights for mixed harmonics
virtual void BookEverythingForCRCPt()
TList * fCRCList
index => QC{2}, QC{4}, QC{6}, QC{8}; x-axis => multiplicity; y-axis => subsample # ...
TH2F * GetZDCESEMultWeightsHist(Int_t h) const
virtual void StoreCRCFlags()
void SetUseZDC(Bool_t const cCRC)
void SetUseParticleWeights(TProfile *const uPW)
Int_t GetCRCPtnCen() const
void SetCRC2CovHist(TH1D *const TP, Int_t const r, Int_t const h, Int_t const c)
Bool_t GetUseBootstrap() const
virtual void StoreHarmonic()
Bool_t fUseZDCESESpecWeights
void SetInvertZDC(Bool_t const cCRC)
Bool_t fPropagateErrorAlsoFromNIT
TProfile * fFlowSPZDCCorPro[fCRCMaxnCen][fFlowNHarmZDC][fFlowNPro]
virtual void CalculateDiffFlowCorrelations(TString type, TString ptOrEta)
virtual void CalculateReferenceFlow()
AliFlowAnalysisCRC(const char *name="AliFlowAnalysisCRC", Int_t nCen=7, Double_t CenWidth=10.)
TProfile * fCRCZDCQVecCov[fCRCMaxnRun][fCRCQVecnCov]
TH1D * fIntFlowCovariancesNUA
sum of products of event weights for correlations <2>, <4>, <6> and <8> vs M
void SetFlowQCHOList(TList *const TL)
TH1D * fFlowQCIntCorHistEG[fFlowNHarm]
TH2D * GetCorrelationNoRPsVsRefMult() const