ROOT logo
AliRoot » PWGCF » FEMTOSCOPY » ALIFEMTOUSER » AliFemtoCorrFctnDirectYlm

class AliFemtoCorrFctnDirectYlm: public AliFemtoCorrFctn


AliFemtoCorrFctnDirectYlm - Correlation function that is binned in Ylms
directly. Provides a way to store the numerator and denominator
in Ylms directly and correctly calculate the correlation
function from them.

Authors: Adam Kisiel kisiel@mps.ohio-state.edu


Function Members (Methods)

public:
AliFemtoCorrFctnDirectYlm()
AliFemtoCorrFctnDirectYlm(const AliFemtoCorrFctnDirectYlm& aCorrFctn)
AliFemtoCorrFctnDirectYlm(const char* name, int maxl, int ibin, double vmin, double vmax, int aUseLCMS)
virtual~AliFemtoCorrFctnDirectYlm()
virtual voidAddMixedPair(AliFemtoPair* aPair)
voidAddMixedPair(double* qvec, double weight = 1.0)
voidAddMixedPair(double qout, double qside, double qlong, double weight = 1.0)
virtual voidAddRealPair(AliFemtoPair* aPair)
voidAddRealPair(double* qvec, double weight = 1.0)
voidAddRealPair(double qout, double qside, double qlong, double weight = 1.0)
virtual AliFemtoCorrFctn*AliFemtoCorrFctn::Clone()
virtual voidAliFemtoCorrFctn::EventBegin(const AliFemtoEvent* aEvent)
virtual voidAliFemtoCorrFctn::EventEnd(const AliFemtoEvent* aEvent)
virtual voidFinish()
TH1D*GetDenImagHist(int el, int em)
TH1D*GetDenRealHist(int el, int em)
TH1D*GetNumImagHist(int el, int em)
TH1D*GetNumRealHist(int el, int em)
virtual TList*GetOutputList()
intGetUseLCMS()
AliFemtoAnalysis*AliFemtoCorrFctn::HbtAnalysis()
AliFemtoCorrFctnDirectYlm&operator=(const AliFemtoCorrFctnDirectYlm& aCorrFctn)
voidReadFromFile(TFile* infile, const char* name, int maxl)
virtual AliFemtoStringReport()
voidAliFemtoCorrFctn::SetAnalysis(AliFemtoAnalysis* aAnalysis)
voidAliFemtoCorrFctn::SetPairSelectionCut(AliFemtoPairCut* aCut)
voidSetUseLCMS(int aUseLCMS)
voidWrite()
private:
doubleClebschGordan(double aJot1, double aEm1, double aJot2, double aEm2, double aJot, double aEm)
doubleDeltaJ(double aJot1, double aJot2, double aJot)
intGetBin(int qbin, int ilmzero, int zeroimag, int ilmprim, int primimag)
voidGetElEmForIndex(int aIndex, double* aEl, double* aEm) const
voidGetElEmForIndex(int aIndex, int* aEl, int* aEm) const
intGetIndexForLM(int el, int em) const
intGetMaxJM() const
voidGetMtilde(complex<double>* aMat, double* aMTilde)
voidPackCovariances()
intPackYlmMatrix(const double* inmat, double* outmat)
intPackYlmVector(const double* invec, double* outvec)
voidUnpackCovariances()
doubleWignerSymbol(double aJot1, double aEm1, double aJot2, double aEm2, double aJot, double aEm)

Data Members

protected:
AliFemtoPairCut*AliFemtoCorrFctn::fPairCut! this is a PairSelection criteria for this Correlation Function
AliFemtoAnalysis*AliFemtoCorrFctn::fyAnalysis! link to the analysis
private:
intfMaxJMnumber of l-m combinations
intfMaxLl cut-off of the decomposition
doublefSlongSave last calculated qlong
doublefSoutSave last calculated qout
doublefSsideSave last calculated qside
intfUseLCMS0 - Use PRF, 1 - Use LCMS
complex<double>*fYlmBufferbuffer for ylm calculation
double*factorialsHelper table of factorials
TH1D*fbinctdBin occupation for the denominator
TH1D*fbinctnBin occupation for the numerator
TH3D*fcovdenDenominator covariance matrix packed into TH3D
double*fcovmdenCovariance matrix for the denominator
double*fcovmnumCovariance matrix for the numerator
TH3D*fcovnumNumerator covariance matrix packed into TH3D
TH1D**fdensimagImaginary parts of Ylm components of the denominator
TH1D**fdensrealReal parts of Ylm components of the denominator
double*felstable of l's
int*felsitable of integer l's
double*femstable of m's
int*femsitable of integer m's
TH1D**fnumsimagImaginary parts of Ylm components of the numerator
TH1D**fnumsrealReal parts of Ylm components of the numerator

Class Charts

Inheritance Chart:
AliFemtoCorrFctn
AliFemtoCorrFctnDirectYlm

Function documentation

AliFemtoCorrFctnDirectYlm(const char* name, int maxl, int ibin, double vmin, double vmax, int aUseLCMS)
 Main constructor
AliFemtoCorrFctnDirectYlm()
 Default constructor
AliFemtoCorrFctnDirectYlm(const AliFemtoCorrFctnDirectYlm& aCorrFctn)
 Copy constructor
AliFemtoCorrFctnDirectYlm& operator=(const AliFemtoCorrFctnDirectYlm& aCorrFctn)
 assignment operator
~AliFemtoCorrFctnDirectYlm()
 Destructor
double ClebschGordan(double aJot1, double aEm1, double aJot2, double aEm2, double aJot, double aEm)
 Calculate Clebsh-Gordan coefficient
double DeltaJ(double aJot1, double aJot2, double aJot)
 Calculate J for the Clebsh-Gordan coefficient
double WignerSymbol(double aJot1, double aEm1, double aJot2, double aEm2, double aJot, double aEm)
 Get Wigner symbol
void GetMtilde(complex<double>* aMat, double* aMTilde)
 Create the Mtilde for a given q bin
int GetMaxJM() const
{ return fMaxJM; }
void GetElEmForIndex(int aIndex, double* aEl, double* aEm) const
 Get l,m for a given index
void GetElEmForIndex(int aIndex, int* aEl, int* aEm) const
 Get l,m for a given index
int GetBin(int qbin, int ilmzero, int zeroimag, int ilmprim, int primimag)
void AddRealPair(double qout, double qside, double qlong, double weight = 1.0)
 Fill numerator
void AddMixedPair(double qout, double qside, double qlong, double weight = 1.0)
 Fill denominator
void AddRealPair(double* qvec, double weight = 1.0)
void AddMixedPair(double* qvec, double weight = 1.0)
void Finish()
void Write()
 Write out output histograms
TList* GetOutputList()
 Prepare the list of objects to be written to the output
void ReadFromFile(TFile* infile, const char* name, int maxl)
 Raad in the numerator and denominator from file
int PackYlmVector(const double* invec, double* outvec)
 Pack a vector in l,m into an array using
 only independent components
int PackYlmMatrix(const double* inmat, double* outmat)
 Pack a matrix in l,m x l,m into an array using
 only independent components
void PackCovariances()
 Migrate the covariance matrix into a 3D histogram for storage
void UnpackCovariances()
 Extract the covariance matrices from storage
int GetIndexForLM(int el, int em) const
 Get array index for a given l,m
TH1D * GetNumRealHist(int el, int em)
 Get numerator hist for a given l,m
TH1D * GetNumImagHist(int el, int em)
 Get numerator hist for a given l,m
TH1D * GetDenRealHist(int el, int em)
 Get denominator hist for a given l,m
TH1D * GetDenImagHist(int el, int em)
 Get denominator hist for a given l,m
AliFemtoString Report()
void AddRealPair(AliFemtoPair* aPair)
 Fill in the numerator
void AddMixedPair(AliFemtoPair* aPair)
 Fill in the denominator
void SetUseLCMS(int aUseLCMS)
int GetUseLCMS()