ROOT logo
AliRoot » PWG » TOOLS » AliPWGFunc

class AliPWGFunc: public TObject

                              AliPWGFunc

 This class implements several function useful to fit pt spectra,
 including but not limited to blast wave models.

 It can return the same functional for as a function of different
 variables: dNdpt vs pt, 1/pt dNdpt vs pt, 1/mt dNdmt vs mt.

 Before getting the function you need, you have to chose the
 variable you want to use calling AliPWGFunc::SetVarType with one of
 the elements of the VarType_t enum.

 TODO: code cleaup, make the naming convention of function more transparent

 Warning: not all variables are implemented for all the functions.

 Author: M. Floris, CERN

Function Members (Methods)

public:
AliPWGFunc()
virtual~AliPWGFunc()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TF1*GetBGBW(Double_t mass, Double_t beta, Double_t T, Double_t n, Double_t norm, const char* name = "fBGBW")
TF1*GetBoltzmann(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoltzmann")
TF1*GetBoseEinstein(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoseEinstein")
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TF1*GetFermiDirac(Double_t mass, Double_t T, Double_t norm, const char* name = "fFermiDirac")
TF1*GetGraphFunc(TGraph* h, const char* name = "fHisto")
TF1*GetHistoFunc(TH1* h, const char* name = "fHisto")
virtual const char*TObject::GetIconName() const
TF1*GetLevi(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLevi")
TF1*GetMTExp(Double_t mass, Double_t T, Double_t norm, const char* name = "fMtExp")
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TF1*GetPowerLaw(Double_t pt0, Double_t n, Double_t norm, const char* name = "fPowerLaw")
TF1*GetPTExp(Double_t T, Double_t norm, const char* name = "fPtExp")
virtual const char*TObject::GetTitle() const
TF1*GetTsallis(Double_t mass, Double_t T, Double_t q, Double_t norm, const char* name = "fTsallis")
TF1*GetTsallisBW(Double_t mass, Double_t beta, Double_t T, Double_t q, Double_t norm, Double_t ymax = 0.5, const char* name = "fTsallisBW")
TF1*GetUA1(Double_t mass, Double_t p0star, Double_t pt0, Double_t n, Double_t T, Double_t norm, const char* name = "fUA1")
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVarType(AliPWGFunc::VarType_t tp)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TF1*GetBGBWdNdpt(Double_t mass, Double_t beta, Double_t temp, Double_t n, Double_t norm, const char* name = "fBGBW")
TF1*GetBGBWdNdptTimesMt(Double_t mass, Double_t beta, Double_t T, Double_t n, Double_t norm, const char* name = "fBGBWTimesMt")
TF1*GetBGBWdNdptTimesPt(Double_t mass, Double_t beta, Double_t T, Double_t n, Double_t norm, const char* name = "fBGBWTimesPt")
TF1*GetBoltzmanndNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoltzmannTimesPt")
TF1*GetBoseEinsteindNdpt(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoseEinstein")
TF1*GetBoseEinsteindNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoseEinstein")
TF1*GetFermiDiracdNdpt(Double_t mass, Double_t T, Double_t norm, const char* name = "fFermiDirac")
TF1*GetFermiDiracdNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fFermiDirac")
TF1*GetLevidNdmt(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLeviMt", AliPWGFunc::VarType_t var = kOneOverMtdNdmt)
TF1*GetLevidNdpt(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLevi")
TF1*GetLevidNdptTimesPt(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLevi")
TF1*GetMTExpdNdmt(Double_t mass, Double_t temp, Double_t norm, const char* name, AliPWGFunc::VarType_t var)
TF1*GetMTExpdNdpt(Double_t mass, Double_t T, Double_t norm, const char* name = "fExp")
TF1*GetMTExpdNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fMtExpTimesPt")
TF1*GetPowerLawdNdpt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
TF1*GetPowerLawdNdptTimesPt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
TF1*GetPTExpdNdptTimesPt(Double_t T, Double_t norm, const char* name = "fPtExpTimesPt")
TF1*GetTestFunc(Double_t mass, Double_t T, Double_t norm, Double_t ymax, const char* name = "fTest")
TF1*GetTsallisBWdNdpt(Double_t mass, Double_t beta, Double_t T, Double_t q, Double_t norm, Double_t ymax = 0.5, const char* name = "fTsallisBW")
TF1*GetTsallisBWdNdptTimesPt(Double_t mass, Double_t beta, Double_t T, Double_t q, Double_t norm, Double_t ymax = 0.5, const char* name = "fTsallisBWTimesPt")
TF1*GetTsallisdNdpt(Double_t mass, Double_t T, Double_t q, Double_t norm, const char* name = "fTsallis")
TF1*GetTsallisdNdptTimesPt(Double_t mass, Double_t T, Double_t q, Double_t norm, const char* name = "fTsallisTimesPt")
TF1*GetUA1dNdpt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
TF1*GetUA1dNdptTimesPt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
static Double_tIntegrandBG(const double* x, const double* p)
static Double_tIntegrandTest(const double* x, const double* p)
static Double_tIntegrandTsallis(const double* x, const double* p)
voidTObject::MakeZombie()
voidSetLineWidth(Width_t width)
static Double_tStaticBGdNdMtTimesMt(const double* x, const double* p)
static Double_tStaticBGdNdPt(const double* x, const double* p)
static Double_tStaticBGdNdPtTimesPt(const double* x, const double* p)
static Double_tStaticHistoFunc(const double* x, const double* p)
static Double_tStaticTest(const double* x, const double* p)
static Double_tStaticTsallisdNdPt(const double* x, const double* p)
static Double_tStaticTsallisdNdPtTimesPt(const double* x, const double* p)
static Double_tStaticUA1Func(const double* x, const double* p)
static Double_tStaticUA1FuncOneOverPt(const double* x, const double* p)

Data Members

public:
enum VarType_t { kdNdpt
kOneOverPtdNdpt
kOneOverMtdNdmt
kdNdmt
kOneOverMtdNdmtMinusM
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
TF1*fLastFuncLast function returned
Width_tfLineWidthLine width
AliPWGFunc::VarType_tfVarTypeVariable types (e.g. dNdpt vs pt, 1/mt dNdmt vs mt...)

Class Charts

Inheritance Chart:
TObject
AliPWGFunc

Function documentation

AliPWGFunc()
~AliPWGFunc()
TF1 * GetHistoFunc(TH1* h, const char* name = "fHisto")
TF1 * GetGraphFunc(TGraph* h, const char* name = "fHisto")
TF1 * GetBGBW(Double_t mass, Double_t beta, Double_t T, Double_t n, Double_t norm, const char* name = "fBGBW")
 Boltzmann-Gibbs blast wave
TF1 * GetBoltzmann(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoltzmann")
 Boltzmann
TF1 * GetTsallisBW(Double_t mass, Double_t beta, Double_t T, Double_t q, Double_t norm, Double_t ymax = 0.5, const char* name = "fTsallisBW")
 Tsallis blast wave
TF1 * GetMTExp(Double_t mass, Double_t T, Double_t norm, const char* name = "fMtExp")
TF1 * GetBoseEinstein(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoseEinstein")
TF1 * GetFermiDirac(Double_t mass, Double_t T, Double_t norm, const char* name = "fFermiDirac")
TF1 * GetPTExp(Double_t T, Double_t norm, const char* name = "fPtExp")
TF1 * GetLevi(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLevi")
 Levi function (aka Tsallis)
TF1 * GetPowerLaw(Double_t pt0, Double_t n, Double_t norm, const char* name = "fPowerLaw")
 power law Nuclear Physics B, Vol. 335, No. 2. (7 May 1990), pp. 261-287.
 This is sometimes also called Hagedorn or modified Hagedorn
TF1 * GetUA1(Double_t mass, Double_t p0star, Double_t pt0, Double_t n, Double_t T, Double_t norm, const char* name = "fUA1")
 UA1 parametrization Nuclear Physics B, Vol. 335, No. 2. (7 May 1990), pp. 261-287.
Double_t StaticHistoFunc(const double* x, const double* p)
Double_t StaticUA1Func(const double* x, const double* p)
Double_t StaticUA1FuncOneOverPt(const double* x, const double* p)
 UA1 func
Double_t IntegrandBG(const double* x, const double* p)
 integrand for boltzman-gibbs blast wave
 x[0] -> r (radius)
 p[0] -> mass
 p[1] -> pT (transverse momentum)
 p[2] -> beta_max (surface velocity)
 p[3] -> T (freezout temperature)
 p[4] -> n (velocity profile)
Double_t StaticBGdNdPt(const double* x, const double* p)
Double_t StaticBGdNdPtTimesPt(const double* x, const double* p)
 BGBW dNdpt implementation
Double_t StaticBGdNdMtTimesMt(const double* x, const double* p)
 BGBW dNdpt implementation
 X0 is mt here
TF1 * GetBGBWdNdpt(Double_t mass, Double_t beta, Double_t temp, Double_t n, Double_t norm, const char* name = "fBGBW")
 BGBW 1/pt dNdpt
Double_t IntegrandTsallis(const double* x, const double* p)
Double_t StaticTsallisdNdPt(const double* x, const double* p)
Double_t StaticTsallisdNdPtTimesPt(const double* x, const double* p)
TF1 * GetTsallisBWdNdpt(Double_t mass, Double_t beta, Double_t T, Double_t q, Double_t norm, Double_t ymax = 0.5, const char* name = "fTsallisBW")
 tsallis BW, 1/pt dNdpt
TF1 * GetBGBWdNdptTimesPt(Double_t mass, Double_t beta, Double_t T, Double_t n, Double_t norm, const char* name = "fBGBWTimesPt")
 BGBW, dNdpt
TF1 * GetBGBWdNdptTimesMt(Double_t mass, Double_t beta, Double_t T, Double_t n, Double_t norm, const char* name = "fBGBWTimesMt")
 BGBW, dNdpt
 1/Mt dN/dmt
TF1 * GetTsallisBWdNdptTimesPt(Double_t mass, Double_t beta, Double_t T, Double_t q, Double_t norm, Double_t ymax = 0.5, const char* name = "fTsallisBWTimesPt")
 Tsallis blast wave, dNdpt
TF1 * GetMTExpdNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fMtExpTimesPt")
TF1 * GetBoseEinsteindNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoseEinstein")
TF1 * GetFermiDiracdNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fFermiDirac")
TF1 * GetPTExpdNdptTimesPt(Double_t T, Double_t norm, const char* name = "fPtExpTimesPt")
TF1 * GetBoltzmanndNdptTimesPt(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoltzmannTimesPt")
 Boltzmann (exp in 1/mt*dNdmT times mt) as a function of dNdpt
TF1 * GetLevidNdptTimesPt(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLevi")
TF1 * GetPowerLawdNdptTimesPt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
TF1 * GetPowerLawdNdpt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
TF1 * GetLevidNdpt(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLevi")
TF1 * GetLevidNdmt(Double_t mass, Double_t T, Double_t n, Double_t norm, const char* name = "fLeviMt", AliPWGFunc::VarType_t var = kOneOverMtdNdmt)
Double_t IntegrandTest(const double* x, const double* p)
Double_t StaticTest(const double* x, const double* p)
TF1 * GetTestFunc(Double_t mass, Double_t T, Double_t norm, Double_t ymax, const char* name = "fTest")
TF1 * GetMTExpdNdpt(Double_t mass, Double_t T, Double_t norm, const char* name = "fExp")
 Simple exp in 1/mt dNdmt, as a function of dNdpt
 mt scaling
TF1 * GetMTExpdNdmt(Double_t mass, Double_t temp, Double_t norm, const char* name, AliPWGFunc::VarType_t var)
TF1 * GetBoseEinsteindNdpt(Double_t mass, Double_t T, Double_t norm, const char* name = "fBoseEinstein")
 bose einstein
TF1 * GetFermiDiracdNdpt(Double_t mass, Double_t T, Double_t norm, const char* name = "fFermiDirac")
 bose einstein
AliPWGFunc()
TF1 * GetTsallis(Double_t mass, Double_t T, Double_t q, Double_t norm, const char* name = "fTsallis")
 Tsallis (no BW, a la CMS)
{return GetLevi (mass,T,1/(q-1),norm,name);}
void SetVarType(AliPWGFunc::VarType_t tp)
{fVarType=tp;}
TF1 * GetTsallisdNdpt(Double_t mass, Double_t T, Double_t q, Double_t norm, const char* name = "fTsallis")
 Tsallis (no BW, a la CMS)
TF1 * GetUA1dNdpt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
 UA1 function
TF1 * GetUA1dNdptTimesPt(Double_t pt0, Double_t n, Double_t norm, const char* name = "fLevi")
 UA1 function
TF1 * GetTsallisdNdptTimesPt(Double_t mass, Double_t T, Double_t q, Double_t norm, const char* name = "fTsallisTimesPt")
 Tsallis (no BW, a la CMS)
void SetLineWidth(Width_t width)
 gereral setters
{ fLineWidth = width;}
AliPWGFunc& operator=(const AliPWGFunc& )