ROOT logo
AliRoot » PWGPP » TPC » AliPerformancePtCalib

class AliPerformancePtCalib: public AliPerformanceObject

 Implementation of AliPerformancePtCalib class. It fills histograms with ESD or
 TPC track information to study charge/pt spectra.
 To analyse the output of AliPerformancePtCalib use AliPerfAnalyzeInvPt class:
 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  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
         sschuchm@ikf.uni-frankfurt.de

Function Members (Methods)

public:
AliPerformancePtCalib(const Char_t* name = "AliPerformancePtCalib", const Char_t* title = "AliPerformancePtCalib")
virtual~AliPerformancePtCalib()
voidTObject::AbstractMethod(const char* method) const
virtual voidAnalyse()
virtual voidAliPerformanceObject::AnalyseFinal()
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
TFolder*CreateFolder(TString folder = "folderPtCalib", TString title = "Analysed PtCalib histograms")
Double_t*AliPerformanceObject::CreateLogAxis(Int_t nbins, Double_t xmin, Double_t xmax)
virtual TTree*AliPerformanceObject::CreateSummary()
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 voidExec(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent, AliESDfriend *const esdFriend, const Bool_t bUseMC, const Bool_t bUseESDfriend)
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)
TFolder*ExportToFolder(TObjArray* array = 0)
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
AliMCInfoCuts*GetAliMCInfoCuts() const
AliRecInfoCuts*GetAliRecInfoCuts() const
virtual TFolder*GetAnalysisFolder() const
Int_tAliPerformanceObject::GetAnalysisMode() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const TList*GetHistoList()
virtual const char*TObject::GetIconName() const
Bool_tAliPerformanceObject::GetMergeTHnSparseObj()
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
Int_tAliPerformanceObject::GetRunNumber() const
virtual const char*TNamed::GetTitle() const
const Char_t*AliPerformanceObject::GetTriggerClass() const
virtual UInt_tTObject::GetUniqueID() const
Int_tAliPerformanceObject::GetUseCentralityBin()
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
virtual voidInit()
virtual voidAliPerformanceObject::InitHighMult()
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_tAliPerformanceObject::IsHighMultiplicity()
Bool_tAliPerformanceObject::IsHptGenerator() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tAliPerformanceObject::IsUseKinkDaughters()
Bool_tAliPerformanceObject::IsUseTOFBunchCrossing()
Bool_tAliPerformanceObject::IsUseTrackVertex()
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection *const list)
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
voidAliPerformanceObject::PrintHisto(Bool_t logz = kTRUE, const Char_t* outFileName = "PerformanceQAHisto.ps")
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 = "")
voidSetAliESDtrackCuts(AliESDtrackCuts* esdTrackCuts)
virtual voidSetAliMCInfoCuts(AliMCInfoCuts *const cuts = 0)
virtual voidSetAliRecInfoCuts(AliRecInfoCuts *const cuts = 0)
voidSetAnalysePions(const Bool_t anaPions)
voidAliPerformanceObject::SetAnalysisMode(const Int_t analysisMode = 0)
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)
voidSetEtaRange(const Double_t eta)
voidAliPerformanceObject::SetHptGenerator(const Bool_t hptGenerator = kFALSE)
voidSetMakeFitOption(const Bool_t setGausFit, const Double_t exclusionR, const Double_t fitR)
voidAliPerformanceObject::SetMergeTHnSparseObj(Bool_t merge)
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, const Double_t minTheta, const Double_t maxTheta)
voidSetProjBinsTheta(const Double_t* tBins, const Int_t sizet, const Double_t minPhi, const Double_t maxPhi)
voidSetPtShift(const Double_t shiftVal)
voidSetReadTPCTracks(const Bool_t readTPC)
voidAliPerformanceObject::SetRunNumber(Int_t run)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidAliPerformanceObject::SetTriggerClass(const Char_t* triggerClass)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliPerformanceObject::SetUseCentralityBin(Int_t bin)
voidAliPerformanceObject::SetUseKinkDaughters(Bool_t kinkDaughters = kTRUE)
voidAliPerformanceObject::SetUseTOFBunchCrossing(Bool_t tofBunching = kTRUE)
voidAliPerformanceObject::SetUseTrackVertex(Bool_t trackVtx = kTRUE)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
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:
voidAliPerformanceObject::AddProjection(TObjArray* aFolderObj, TString nameSparse, THnSparse* hSparse, Int_t xDim, TString* selString = 0)
voidAliPerformanceObject::AddProjection(TObjArray* aFolderObj, TString nameSparse, THnSparse* hSparse, Int_t xDim, Int_t yDim, TString* selString = 0)
voidAliPerformanceObject::AddProjection(TObjArray* aFolderObj, TString nameSparse, THnSparse* hSparse, Int_t xDim, Int_t yDim, Int_t zDim, TString* selString = 0)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
Int_tAliPerformanceObject::fAnalysisMode0-TPC, 1-TPCITS, 2-Constrained, 3-TPC inner wall, 4-TPC outer wall
Bool_tfDoRebinflag for rebin 1D histos before fitting
Double_tfExclRangesets range of rejection of points around 0
Bool_tfFitGausflag for usage of gaussian fit function
Bool_tAliPerformanceObject::fHighMultiplicityflag to switch between pp and PbPb
Bool_tAliPerformanceObject::fHptGeneratorhpt event generator
Double_tfMaxPhimax phi for 2D projection on theta and charge/pt axis
Double_tfMaxThetamax theta for 2D projection on phi and charge/pt axis
Bool_tAliPerformanceObject::fMergeTHnSparseObj
Double_tfMinPhimin phi for 2D projection on theta and charge/pt axis
Double_tfMinThetamin theta for 2D projection on phi and charge/pt axis
Int_tfNPhiBinssets number of phi bins
Int_tfNThetaBinssets number of theta bins
TStringTNamed::fNameobject identifier
Double_tfPhiBins[100]array of phi bins for projection of 1/pt vs theta
Double_tfRangesets fit range
Int_tfRebinnumber of bins for rebin
Int_tAliPerformanceObject::fRunNumber
Double_tfThetaBins[100]array of theta bins for projection of 1/pt vs theta
TStringTNamed::fTitleobject title
const Char_t*AliPerformanceObject::fTriggerClass
Int_tAliPerformanceObject::fUseCentralityBincentrality bin to be used
Bool_tAliPerformanceObject::fUseKinkDaughtersuse kink daughthers, default is yes
Bool_tAliPerformanceObject::fUseTOFBunchCrossinguse TOFBunchCrossing, default is yes
Bool_tAliPerformanceObject::fUseTrackVertexuse track vertex
private:
TFolder*fAnalysisFolderfolder for analysed histograms
AliMCInfoCuts*fCutsMCselection cuts for MC tracks
AliRecInfoCuts*fCutsRCselection cuts for reconstructed tracks
Double_tfDeltaInvPshift value of charge/pt
AliESDtrackCuts*fESDTrackCutsesd track cuts
Bool_tfESDcutsflag for usage of esd track cuts
AliESDpid*fESDpid
Double_tfEtaAcceptancesets value of eta window
THnSparseF*fHistInvPtPtThetaPhiis filled with charge/pt, pt, theta, phi for ESD or TPC
TH1F*fHistPrimaryVertexPosXprimary vertex position x
TH1F*fHistPrimaryVertexPosYprimary vertex position y
TH1F*fHistPrimaryVertexPosZprimary vertex position z
TH1F*fHistPtShift0if shift in charge/pt is set by user, this histogram shows pt wihtout shift
TH2F*fHistTPCMomentaNegPTPC p vs global esd track p for negative tracks
TH2F*fHistTPCMomentaNegPtTPC pt vs global esd track p for negative tracks
TH2F*fHistTPCMomentaPosPTPC p vs global esd track p for positive tracks
TH2F*fHistTPCMomentaPosPtTPC pt vs global esd track p positive tracks
TH1F*fHistTrackMultiplicitytrack multiplicity
TH1F*fHistTrackMultiplicityCutstrack multiplicity after all cuts are applied
TH1F*fHistUserPtShiftshows the shift value if set by user
TH2F*fHistdedxPionsdEdx vs cahrge*pt
TList*fListlist of histograms
Bool_tfOptTPCflag for reading of TPC tracks in Exec
Bool_tfPionsflag for analzsing pions instead of all charged particles
Bool_tfShiftflag for shift in charge/pt

Class Charts

Inheritance Chart:
TNamed
AliPerformanceObject
AliPerformancePtCalib

Function documentation

AliPerformancePtCalib(const Char_t* name = "AliPerformancePtCalib", const Char_t* title = "AliPerformancePtCalib")
 option parameter for AliPerformancePtCalib::Analyse()
 option parameter for user defined charge/pt shift
options for cuts
 histograms
esd track cuts
pid
 analysis folder
 Constructor
~AliPerformancePtCalib()
 destructor

void Init()
 Create histograms
 Called once
void SetPtShift(const Double_t shiftVal)
set user defined shift in charge/pt
void Exec(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent, AliESDfriend *const esdFriend, const Bool_t bUseMC, const Bool_t bUseESDfriend)
exec: read esd or tpc
void Analyse()
 analyse charge/pt spectra in bins of theta and phi. Bins can be set by user
TFolder* ExportToFolder(TObjArray* array = 0)
 recreate folder every time and export objects to new one

Long64_t Merge(TCollection *const list)
 Merge list of objects (needed by PROOF)
TFolder* CreateFolder(TString folder = "folderPtCalib", TString title = "Analysed PtCalib histograms")
 create folder for analysed histograms

void SetProjBinsPhi(const Double_t* pBins, const Int_t sizep, const Double_t minTheta, const Double_t maxTheta)
 set phi bins for Analyse()
set phi 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 SetProjBinsTheta(const Double_t* tBins, const Int_t sizet, const Double_t minPhi, const Double_t maxPhi)
 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)
set the fit options:
for usage of gaussian function instead of polynomial (default) set setGausFit=kTRUE
set the range of rejection of points around 0 via exclusionR
set the fit range around 0 with fitR
AliPerformancePtCalib(const Char_t* name = "AliPerformancePtCalib", const Char_t* title = "AliPerformancePtCalib")
TFolder* GetAnalysisFolder() const
 Get analysis folder
{return fAnalysisFolder;}
void SetReadTPCTracks(const Bool_t readTPC)
{fOptTPC = readTPC;}
void SetEtaRange(const Double_t eta)
{fEtaAcceptance = eta ;}
void SetAliESDtrackCuts(AliESDtrackCuts* esdTrackCuts)
{ fESDTrackCuts = esdTrackCuts;fESDcuts=kTRUE;}
void SetAnalysePions(const Bool_t anaPions)
{fPions = anaPions;}
void SetDoRebin(const Int_t rebin)
const TList * GetHistoList()
{return fList;}
void SetAliRecInfoCuts(AliRecInfoCuts *const cuts = 0)
 Selection cuts
{fCutsRC = cuts;}
void SetAliMCInfoCuts(AliMCInfoCuts *const cuts = 0)
{fCutsMC = cuts;}
AliRecInfoCuts* GetAliRecInfoCuts() const
{return fCutsRC;}
AliMCInfoCuts* GetAliMCInfoCuts() const
{return fCutsMC;}
AliPerformancePtCalib& operator=(const AliPerformancePtCalib& )