ROOT logo
AliRoot » PWG » FLOW » BASE » AliFlowAnalysisWithLeeYangZeros

class AliFlowAnalysisWithLeeYangZeros

Description: Maker to analyze Flow using the LeeYangZeros method
             Equation numbers are from Big Paper (BP): Nucl. Phys. A 727, 373 (2003)
             Practical Guide (PG):    J. Phys. G: Nucl. Part. Phys. 30, S1213 (2004)
             Adapted from StFlowLeeYangZerosMaker.cxx
             by Markus Oldenberg and Art Poskanzer, LBNL
             with advice from Jean-Yves Ollitrault and Nicolas Borghini

Author: Naomi van der Kolk (kolk@nikhef.nl)

Function Members (Methods)

public:
AliFlowAnalysisWithLeeYangZeros()
virtual~AliFlowAnalysisWithLeeYangZeros()
static TClass*Class()
Bool_tFinish()
AliFlowCommonHist*GetCommonHists() const
AliFlowCommonHistResults*GetCommonHistsRes() const
Bool_tGetDebug() const
TComplexGetDiffFlow(AliFlowEventSimple* anEvent, Double_t aR, Int_t theta)
Bool_tGetDoubleLoop() const
Int_tGetEventNumber() const
Bool_tGetFirstRun() const
TList*GetFirstRunList() const
TComplexGetGrtheta(AliFlowEventSimple* anEvent, Double_t aR, Double_t aTheta)
TH1D*GetHistImDtheta() const
TList*GetHistList() const
TProfile*GetHistProImDenom() const
TProfile*GetHistProReDenom() const
TProfile*GetHistProVetaPOI() const
TProfile*GetHistProVetaRP() const
TProfile*GetHistProVPtPOI() const
TProfile*GetHistProVPtRP() const
TH1F*GetHistQsumforChi() const
TH1D*GetHistR0theta() const
TH1D*GetHistReDtheta() const
TH1D*GetHistVtheta() const
voidGetOutputHistograms(TList* outputListHistos)
Double_tGetQ2sum() const
Double_tGetQtheta(AliFlowVector aQ, Double_t aTheta)
Bool_tGetUseSum() const
Bool_tInit()
virtual TClass*IsA() const
Bool_tMake(AliFlowEventSimple* anEvent)
voidSetCommonHists(AliFlowCommonHist *const aCommonHist)
voidSetCommonHistsRes(AliFlowCommonHistResults *const aCommonHistResult)
voidSetDebug(Bool_t kt)
voidSetDoubleLoop(Bool_t kt)
voidSetEventNumber(Int_t n)
voidSetFirstRun(Bool_t kt)
voidSetFirstRunList(TList *const list)
voidSetHist1(AliFlowLYZHist1* *const aLYZHist1)
voidSetHist2POI(AliFlowLYZHist2* *const aLYZHist2POI)
voidSetHist2RP(AliFlowLYZHist2* *const aLYZHist2RP)
voidSetHistImDtheta(TH1D *const aHistImDtheta)
voidSetHistProImDenom(TProfile *const aHistProImDenom)
voidSetHistProReDenom(TProfile *const aHistProReDenom)
voidSetHistProVetaPOI(TProfile *const aHistProVetaPOI)
voidSetHistProVetaRP(TProfile *const aHistProVetaRP)
voidSetHistProVPtPOI(TProfile *const aHistProVPtPOI)
voidSetHistProVPtRP(TProfile *const aHistProVPtRP)
voidSetHistQsumforChi(TH1F *const aHistQsumforChi)
voidSetHistR0theta(TH1D *const aHistR0theta)
voidSetHistReDtheta(TH1D *const aHistReDtheta)
voidSetHistVtheta(TH1D *const aHistVtheta)
voidSetQ2sum(Double_t d)
voidSetUseSum(Bool_t kt)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
voidWriteHistograms(TString* outputFileName)
voidWriteHistograms(TString outputFileName)
voidWriteHistograms(TDirectoryFile* outputFileName)

Data Members

private:
AliFlowCommonHist*fCommonHistscontrol histograms
AliFlowCommonHistResults*fCommonHistsResfinal results histograms
Bool_tfDebugflag for lyz analysis: more print statements
Bool_tfDoubleLoopflag for studying non flow effects
Int_tfEventNumberevent counter
Bool_tfFirstRunflag for lyz analysis: true=first run over data, false=second run
TList*fFirstRunListlist from first run output
AliFlowLYZHist1*fHist1[5]array of hist1
AliFlowLYZHist2*fHist2POI[5]array of hist2
AliFlowLYZHist2*fHist2RP[5]array of hist2
TH1D*fHistImDthetahist of the imaginary part of D^theta
TList*fHistListlist to hold all output histograms
TProfile*fHistProImDenomhist of the imaginary part of the denominator
TProfile*fHistProReDenomhist of the real part of the denominator
TProfile*fHistProVPtPOIhist of v(pt) for POI selection
TProfile*fHistProVPtRPhist of v(pt) for RP selection
TProfile*fHistProVetaPOIhist of v(eta) for POI selection
TProfile*fHistProVetaRPhist of v(eta) for RP selection
TH1F*fHistQsumforChihist of sum of Q-vectors and the sum of the square of Q-vectors
TH1D*fHistR0thetahist of r0(theta)
TH1D*fHistReDthetahist of the real part of D^theta
TH1D*fHistVthetahist of V(theta)
Bool_tfUseSumflag for lyz analysis: true=use sum gen.function, false=use product gen.function

Class Charts

Inheritance Chart:
AliFlowAnalysisWithLeeYangZeros

Function documentation

AliFlowAnalysisWithLeeYangZeros()
default constructor
~AliFlowAnalysisWithLeeYangZeros()
default destructor
void WriteHistograms(TString* outputFileName)
store the final results in output .root file
void WriteHistograms(TString outputFileName)
store the final results in output .root file
void WriteHistograms(TDirectoryFile* outputFileName)
store the final results in output .root file
Bool_t Init()
init method
Bool_t Make(AliFlowEventSimple* anEvent)
make method
void GetOutputHistograms(TList* outputListHistos)
 get the pointers to all output histograms before calling Finish()
Bool_t Finish()
finish method
Bool_t FillFromFlowEvent(AliFlowEventSimple* anEvent)
 Get event quantities from AliFlowEvent for all particles
Bool_t SecondFillFromFlowEvent(AliFlowEventSimple* anEvent)
for differential flow
Double_t GetQtheta(AliFlowVector aQ, Double_t aTheta)
calculate Qtheta. Qtheta is the sum over all particles of cos(dOrder*(dPhi-dTheta)) BP eq. 3
TComplex GetGrtheta(AliFlowEventSimple* anEvent, Double_t aR, Double_t aTheta)
 Product Generating Function for LeeYangZeros method
 PG Eq. 3 (J. Phys. G Nucl. Part. Phys 30 S1213 (2004))
TComplex GetDiffFlow(AliFlowEventSimple* anEvent, Double_t aR, Int_t theta)
 Sum for the denominator for diff. flow for the Product Generating Function for LeeYangZeros method
 PG Eq. 9 (J. Phys. G Nucl. Part. Phys 30 S1213 (2004))
 Also for v1 mixed harmonics: DF Eq. 5
 It is the deriverative of Grtheta at r0 divided by Grtheta at r0
AliFlowAnalysisWithLeeYangZeros()
void SetFirstRun(Bool_t kt)
{ this->fFirstRun = kt ; }
Bool_t GetFirstRun() const
{ return this->fFirstRun ; }
void SetUseSum(Bool_t kt)
{ this->fUseSum = kt ; }
Bool_t GetUseSum() const
{ return this->fUseSum ; }
void SetDoubleLoop(Bool_t kt)
{ this->fDoubleLoop = kt ; }
Bool_t GetDoubleLoop() const
{ return this->fDoubleLoop ; }
void SetDebug(Bool_t kt)
{ this->fDebug = kt ; }
Bool_t GetDebug() const
{ return this->fDebug ; }
void SetEventNumber(Int_t n)
{ this->fEventNumber = n; }
Int_t GetEventNumber() const
{ return this->fEventNumber; }
void SetQ2sum(Double_t d)
{ this->fQ2sum = d; }
Double_t GetQ2sum() const
{ return this->fQ2sum; }
TList* GetHistList() const
 Output
{ return this->fHistList ; }
AliFlowCommonHist* GetCommonHists() const
{ return this->fCommonHists; }
void SetCommonHists(AliFlowCommonHist *const aCommonHist)
{ this->fCommonHists = aCommonHist; }
AliFlowCommonHistResults* GetCommonHistsRes() const
{ return this->fCommonHistsRes; }
void SetCommonHistsRes(AliFlowCommonHistResults *const aCommonHistResult)
AliFlowLYZHist1* GetHist1() const             {return this->fHist1; }
{ this->fCommonHistsRes = aCommonHistResult; }
void SetHist1(AliFlowLYZHist1* *const aLYZHist1)
AliFlowLYZHist2* GetHist2() const             {return this->fHist2; }
void SetHist2RP(AliFlowLYZHist2* *const aLYZHist2RP)
void SetHist2POI(AliFlowLYZHist2* *const aLYZHist2POI)
TH1D* GetHistVtheta() const
{return this->fHistVtheta; }
void SetHistVtheta(TH1D *const aHistVtheta)
{ this->fHistVtheta = aHistVtheta; }
TProfile* GetHistProVetaRP() const
{return this->fHistProVetaRP; }
void SetHistProVetaRP(TProfile *const aHistProVetaRP)
{this->fHistProVetaRP = aHistProVetaRP; }
TProfile* GetHistProVetaPOI() const
{return this->fHistProVetaPOI; }
void SetHistProVetaPOI(TProfile *const aHistProVetaPOI)
{this->fHistProVetaPOI = aHistProVetaPOI; }
TProfile* GetHistProVPtRP() const
{return this->fHistProVPtRP;}
void SetHistProVPtRP(TProfile *const aHistProVPtRP)
{this->fHistProVPtRP = aHistProVPtRP; }
TProfile* GetHistProVPtPOI() const
{return this->fHistProVPtPOI;}
void SetHistProVPtPOI(TProfile *const aHistProVPtPOI)
{this->fHistProVPtPOI = aHistProVPtPOI; }
TH1D* GetHistR0theta() const
{return this->fHistR0theta; }
void SetHistR0theta(TH1D *const aHistR0theta)
{this->fHistR0theta = aHistR0theta; }
TProfile* GetHistProReDenom() const
{return this->fHistProReDenom; }
void SetHistProReDenom(TProfile *const aHistProReDenom)
{this->fHistProReDenom = aHistProReDenom; }
TProfile* GetHistProImDenom() const
{return this->fHistProImDenom; }
void SetHistProImDenom(TProfile *const aHistProImDenom)
{this->fHistProImDenom = aHistProImDenom; }
TH1D* GetHistReDtheta() const
{return this->fHistReDtheta; }
void SetHistReDtheta(TH1D *const aHistReDtheta)
{this->fHistReDtheta = aHistReDtheta; }
TH1D* GetHistImDtheta() const
{return this->fHistImDtheta; }
void SetHistImDtheta(TH1D *const aHistImDtheta)
{this->fHistImDtheta = aHistImDtheta; }
TH1F* GetHistQsumforChi() const
{return this->fHistQsumforChi; }
void SetHistQsumforChi(TH1F *const aHistQsumforChi)
{this->fHistQsumforChi = aHistQsumforChi; }
void SetFirstRunList(TList *const list)
{ this->fFirstRunList = list; }
TList* GetFirstRunList() const
{ return this->fFirstRunList; }
AliFlowAnalysisWithLeeYangZeros& operator=(const AliFlowAnalysisWithLeeYangZeros& aAnalysis)
Bool_t MakeControlHistograms(AliFlowEventSimple* anEvent)