ROOT logo
AliRoot » PWGPP » TPC » AliPerfAnalyzeInvPt

class AliPerfAnalyzeInvPt: public TNamed

 Implementation of AliPerfAnalyzeInvPt class. It analyzes the output of
 AliPerformancePtCalib.cxx  and AliPerformancePtCalibMC.cxx: via
 AliPerformancePtCalib::Analyse() or AliPerformancePtCalibMC::Analyse()

 Projection of charge/pt vs theta and vs phi resp. histoprams will be fitted with either
 polynomial or gaussian fit function to extract minimum position of charge/pt.
 Fit options and theta, phi bins can be set by user.
 Attention: use the Set* functions of AliPerformancePtCalib.h and AliPerformancePtCalibMC.h
 when running AliPerformancePtCalib*::Analyse()
 The result of the analysis (histograms/graphs) are stored in the folder which is
 a data member of AliPerformancePtCalib*.

 Author: S.Schuchmann 11/13/2009

Function Members (Methods)

public:
AliPerfAnalyzeInvPt(const Char_t* name = "AliPerfAnalyzeInvPt", const Char_t* title = "AliPerfAnalyzeInvPt")
virtual~AliPerfAnalyzeInvPt()
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 voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) 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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
voidInitFitFcn()
voidInitGraphs(Double_t* binsXTheta, Double_t* fitParamTheta, Double_t* errFitParamTheta, Double_t* binsXPhi, Double_t* fitParamPhi, Double_t* errFitParamPhi)
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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::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 voidTNamed::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)
voidSetDoRebin(const Int_t rebin)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetMakeFitOption(const Bool_t setGausFit, const Double_t exclusionR, const Double_t fitR)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetProjBinsPhi(const Double_t* pBins, const Int_t sizep)
voidSetProjBinsTheta(const Double_t* tBins, const Int_t sizet)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
voidStartAnalysis(const TH2F* histThetaInvPt, const TH2F* histPhiInvPt, TObjArray* aFolderObj)
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
voidTObject::MakeZombie()
private:
AliPerfAnalyzeInvPt(const AliPerfAnalyzeInvPt&)
static Double_tInvGauss(Double_t* x, const Double_t* par)
static Double_tInvGaussRejP(Double_t* x, const Double_t* par)
voidMakeFit(TH1D* dmproy, TF1* fitpb, Double_t& mean, Double_t& ErrMean, Double_t& excl, Double_t& range)
voidMakeFitBetter(TH1D* dmproy, TF1* fitpb2, Double_t& mean, Double_t& ErrMean, Double_t& f, Double_t& excl, Double_t& range)
voidMakeFitInvGauss(TH1D* dmproy, TF1* fitpb2, Double_t& mean, Double_t& ErrMean, Double_t& excl, Double_t& range)
voidMakeFitInvGaussBetter(TH1D* dmproy, TF1* fitpb2, Double_t& mean, Double_t& ErrMean, Double_t& f, Double_t& excl, Double_t& range)
AliPerfAnalyzeInvPt&operator=(const AliPerfAnalyzeInvPt&)
static Double_tPolynomial(Double_t* x, const Double_t* par)
static Double_tPolynomialRejP(Double_t* x, const Double_t* par)

Data Members

protected:
Bool_tfDoRebin
Double_tfExclRangerange of exlusion of points around 0 when fitting 1/pt
Bool_tfFitGausset this flag for usage of gaussian fit function instead of polynomial (default)
TGraphErrors*fGrMinPosPhi
TGraphErrors*fGrMinPosTheta
TH1D*fHistFitPhi[100]projection histos for analysis in phi bins
TH1D*fHistFitTheta[100]projection histos for analysis in theta bins
TH2F*fHistH2InvPtPhifor copy of input histos
TH2F*fHistH2InvPtThetafor copy of input histos
Int_tfNPhiBinsnumber of phi bins for projection and fit
Int_tfNThetaBinsnumber of theta bins for projection and fit
TStringTNamed::fNameobject identifier
Double_tfPhiBins[100]array of phi bins for projection and fit
Double_tfRangefit range of 1/pt spectrum
Int_tfRebin
Double_tfThetaBins[100]array of theta bins for projection and fit
TStringTNamed::fTitleobject title
private:
TF1*fFitInvGaussfit functionfor first fit with gaussian
TF1*fFitInvGaussRejPfit function for second fit with gaussian to improve result
TF1*fFitMinPosfit function for first fit with polynomial
TF1*fFitMinPosRejPfit function for second fit with polynomial to improve result

Class Charts

Inheritance Chart:
TNamed
AliPerfAnalyzeInvPt

Function documentation

Double_t Polynomial(Double_t* x, const Double_t* par)
 fit function for fitting of 1/pt with a polynomial of 4th order, rejecting points between  +/-par[4]
Double_t PolynomialRejP(Double_t* x, const Double_t* par)
 fit function for fitting of 1/pt with a polynomial of 4th order to improve result (fit range and rejection zone is adjusted to first guess of minimum position)
Double_t InvGauss(Double_t* x, const Double_t* par)
 fit function for fitting of 1/pt with gaussian, rejecting points between  +/-par[4]
Double_t InvGaussRejP(Double_t* x, const Double_t* par)
 fit function for fitting of 1/pt with gaussian to improve result (fit range and rejection zone is adjusted to first guess of minimum position)
AliPerfAnalyzeInvPt(const Char_t* name = "AliPerfAnalyzeInvPt", const Char_t* title = "AliPerfAnalyzeInvPt")
histograms,graphs and functions
 Default constructor
void InitGraphs(Double_t* binsXTheta, Double_t* fitParamTheta, Double_t* errFitParamTheta, Double_t* binsXPhi, Double_t* fitParamPhi, Double_t* errFitParamPhi)
void InitFitFcn()
 fit functions
void StartAnalysis(const TH2F* histThetaInvPt, const TH2F* histPhiInvPt, TObjArray* aFolderObj)
start analysis: fitting charge/pt spectra
void MakeFit(TH1D* dmproy, TF1* fitpb, Double_t& mean, Double_t& ErrMean, Double_t& excl, Double_t& range)
 fit charge/pt and extract minimum position
void MakeFitBetter(TH1D* dmproy, TF1* fitpb2, Double_t& mean, Double_t& ErrMean, Double_t& f, Double_t& excl, Double_t& range)
 adjust fit range to minimum position of AliPerfAnalyzeInvPt::MakeFit and fit 1/pt and extract new minimum position
void MakeFitInvGauss(TH1D* dmproy, TF1* fitpb2, Double_t& mean, Double_t& ErrMean, Double_t& excl, Double_t& range)
 fit charge/pt and extract minimum position
void MakeFitInvGaussBetter(TH1D* dmproy, TF1* fitpb2, Double_t& mean, Double_t& ErrMean, Double_t& f, Double_t& excl, Double_t& range)
 adjust fit range to minimum position of AliPerfAnalyzeInvPt::MakeFitInvGauss and fit 1/pt and extract new minimum position
void SetProjBinsPhi(const Double_t* pBins, const Int_t sizep)
void SetProjBinsTheta(const Double_t* tBins, const Int_t sizet)
 set theta bins for Analyse()
set theta bins as array and set number of this array which is equal to number of bins analysed
the last analysed bin will always be the projection from first to last bin in the array
void SetMakeFitOption(const Bool_t setGausFit, const Double_t exclusionR, const Double_t fitR)
AliPerfAnalyzeInvPt(const Char_t* name = "AliPerfAnalyzeInvPt", const Char_t* title = "AliPerfAnalyzeInvPt")
virtual ~AliPerfAnalyzeInvPt()
{;}
void SetDoRebin(const Int_t rebin)
AliPerfAnalyzeInvPt& operator=(const AliPerfAnalyzeInvPt& )