ROOT logo
AliRoot » PWGCF » FEMTOSCOPY » ALIFEMTO » AliFemtoBPLCMS3DCorrFctn

class AliFemtoBPLCMS3DCorrFctn: public AliFemtoCorrFctn


AliFemtoBPLCMS3DCorrFctn: a class to calculate 3D correlation
for pairs of identical particles.
It also stored the weighted qinv per bin histogram for the coulomb
correction.
In analysis the function should be first created in a macro, then
added to the analysis, and at the end of the macro the procedure to
write out histograms should be called.


Function Members (Methods)

public:
AliFemtoBPLCMS3DCorrFctn(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn)
AliFemtoBPLCMS3DCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi)
virtual~AliFemtoBPLCMS3DCorrFctn()
virtual voidAddMixedPair(AliFemtoPair* aPair)
virtual voidAddRealPair(AliFemtoPair* aPair)
virtual AliFemtoCorrFctn*AliFemtoCorrFctn::Clone()
TH3D*Denominator()
virtual voidAliFemtoCorrFctn::EventBegin(const AliFemtoEvent* aEvent)
virtual voidAliFemtoCorrFctn::EventEnd(const AliFemtoEvent* aEvent)
virtual voidFinish()
floatGetNormRangeHi() const
floatGetNormRangeLo() const
virtual TList*GetOutputList()
AliFemtoAnalysis*AliFemtoCorrFctn::HbtAnalysis()
TH3D*Numerator()
AliFemtoBPLCMS3DCorrFctn&operator=(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn)
TH3D*QinvHisto()
TH3D*Ratio()
virtual AliFemtoStringReport()
voidAliFemtoCorrFctn::SetAnalysis(AliFemtoAnalysis* aAnalysis)
voidSetLambda(double l)
voidSetNormRangeHi(float qHi)
voidSetNormRangeLo(float qLo)
voidAliFemtoCorrFctn::SetPairSelectionCut(AliFemtoPairCut* aCut)
voidSetRlong(double r)
voidSetRout(double r)
voidSetRside(double r)
voidSetUseRPSelection(unsigned short aRPSel)
voidWriteOutHistos()

Data Members

protected:
AliFemtoPairCut*AliFemtoCorrFctn::fPairCut! this is a PairSelection criteria for this Correlation Function
unsigned shortfUseRPSelectionThe pair cut uses RP selection
AliFemtoAnalysis*AliFemtoCorrFctn::fyAnalysis! link to the analysis
private:
TH3D*fDenominatordenominator
doublefLambdalambda for smearing correction
unsigned longfNumMixedNormpairs in denominator in Qinv normalization range
unsigned longfNumRealsNormpairs in numerator in Qinv normalization range
TH3D*fNumeratornumerator
TH3D*fQinvHistoQinv weights
floatfQinvNormHiUpper bound of Qinv normalization range
floatfQinvNormLoLower bound of Qinv normalization range
TH3D*fRatioratio - the correlation function
doublefRlong2Rlong for smearing correction
doublefRout2Rout for smearing correction
doublefRside2Rside for smearing correction

Class Charts

Inheritance Chart:
AliFemtoCorrFctn
AliFemtoBPLCMS3DCorrFctn

Function documentation

AliFemtoBPLCMS3DCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi)
   fIDNumHisto(0),
   fIDDenHisto(0),
   fIDRatHisto(0),
   fSMNumHisto(0),
   fSMDenHisto(0),
   fSMRatHisto(0),
   fCorrectionHisto(0),
   fCorrCFHisto(0),
 Basic constructor
 set some stuff...
AliFemtoBPLCMS3DCorrFctn(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn)
   fIDNumHisto(0),
   fIDDenHisto(0),
   fIDRatHisto(0),
   fSMNumHisto(0),
   fSMDenHisto(0),
   fSMRatHisto(0),
   fCorrectionHisto(0),
   fCorrCFHisto(0),
 Copy constructor
   fIDNumHisto = new TH3D(*aCorrFctn.fIDNumHisto);
   fIDDenHisto = new TH3D(*aCorrFctn.fIDDenHisto);
   fIDRatHisto = new TH3D(*aCorrFctn.fIDRatHisto);
   fSMNumHisto = new TH3D(*aCorrFctn.fSMNumHisto);
   fSMDenHisto = new TH3D(*aCorrFctn.fSMDenHisto);
   fSMRatHisto = new TH3D(*aCorrFctn.fSMRatHisto);
   fCorrectionHisto = new TH3D(*aCorrFctn.fCorrectionHisto);
   fCorrCFHisto = new TH3D(*aCorrFctn.fCorrCFHisto);
~AliFemtoBPLCMS3DCorrFctn()
 Destructor
AliFemtoBPLCMS3DCorrFctn& operator=(const AliFemtoBPLCMS3DCorrFctn& aCorrFctn)
 assignment operator
void WriteOutHistos()
 Write out all histograms to file
TList* GetOutputList()
 Prepare the list of objects to be written to the output
void Finish()
 here is where we should normalize, fit, etc...
AliFemtoString Report()
 Construct the report
void AddRealPair(AliFemtoPair* aPair)
 perform operations on real pairs
void AddMixedPair(AliFemtoPair* aPair)
 perform operations on mixed pairs
   if (fPairCut){
     if (!(fPairCut->Pass(pair))) return;
   }
void SetUseRPSelection(unsigned short aRPSel)
TH3D* Numerator()
{return fNumerator;}
TH3D* Denominator()
inline  TH3D* AliFemtoBPLCMS3DCorrFctn::UncorrectedDenominator(){return fUncorrectedDenominator;}
{return fDenominator;}
TH3D* Ratio()
{return fRatio;}
TH3D* QinvHisto()
{return fQinvHisto;}
void SetNormRangeLo(float qLo)
{fQinvNormLo = qLo;}
void SetNormRangeHi(float qHi)
{fQinvNormHi = qHi;}
float GetNormRangeLo() const
{return fQinvNormLo;}
float GetNormRangeHi() const
inline  void AliFemtoBPLCMS3DCorrFctn::SetCoulombCorrection(AliFemtoCoulomb* Correction){fCorrection = Correction;}
inline  void AliFemtoBPLCMS3DCorrFctn::SetSmearPair(AliFemtoSmearPair* sp){fSmearPair = sp;}
{return fQinvNormHi;}
void SetRout(double r)
{fRout2 = r*r;}
void SetRside(double r)
{fRside2 = r*r;}
void SetRlong(double r)
{fRlong2 = r*r;}
void SetLambda(double l)
{fLambda = l;}