ROOT logo
AliRoot » PWGPP » TPC » AliPerformanceEff

class AliPerformanceEff: public AliPerformanceObject

 Implementation of AliPerformanceEff class. It keeps information from
 comparison of reconstructed and MC particle tracks. In addtion,
 it keeps selection cuts used during comparison. The comparison
 information is stored in the ROOT histograms. Analysis of these
 histograms can be done by using Analyse() class function. The result of
 the analysis (histograms/graphs) are stored in the folder which is
 a data member of AliPerformanceEff.

 Author: J.Otwinowski 04/02/2008

Function Members (Methods)

public:
AliPerformanceEff(const Char_t* name = "AliPerformanceEff", const Char_t* title = "AliPerformanceEff", Int_t analysisMode = 0, Bool_t hptGenerator = kFALSE)
virtual~AliPerformanceEff()
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 = "folderEff", TString title = "Analysed Efficiency 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()
THnSparseF*GetEffHisto() const
THnSparseF*GetEffSecHisto() const
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
Bool_tIsFindable(const AliMCEvent* mcEvent, Int_t label)
virtual Bool_tTObject::IsFolder() const
Bool_tAliPerformanceObject::IsHighMultiplicity()
Bool_tAliPerformanceObject::IsHptGenerator() const
Bool_tTObject::IsOnHeap() const
Bool_tIsRecConstrained(AliESDtrack* track)
Bool_tIsRecTPC(AliESDtrack* track)
Bool_tIsRecTPCITS(AliESDtrack* track)
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")
voidProcessConstrained(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
voidProcessTPC(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
voidProcessTPCITS(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
voidProcessTPCSec(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
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 = "")
virtual voidSetAliMCInfoCuts(AliMCInfoCuts *const cuts = 0)
virtual voidSetAliRecInfoCuts(AliRecInfoCuts *const cuts = 0)
voidAliPerformanceObject::SetAnalysisMode(const Int_t analysisMode = 0)
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)
voidAliPerformanceObject::SetHptGenerator(const Bool_t hptGenerator = kFALSE)
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)
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
Int_tTransformToPID(TParticle* particle)
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()
private:
AliPerformanceEff(const AliPerformanceEff&)
TH1D*AddHistoEff(Int_t axis, const Char_t* name, const Char_t* vsTitle, const Int_t type, const Int_t secondary = 0)
AliPerformanceEff&operator=(const AliPerformanceEff&)

Data Members

private:
TFolder*fAnalysisFolderfolder for analysed histograms
AliMCInfoCuts*fCutsMCselection cuts for MC tracks
AliRecInfoCuts*fCutsRCselection cuts for reconstructed tracks
THnSparseF*fEffHisto-> mceta:mcphi:mcpt:pid:isPrim:recStatus:findable:charge
THnSparseF*fEffSecHisto-> mceta:mcphi:mcpt:pid:isPrim:recStatus:findable:mcR:mother_phi:mother_eta:charge
static const Int_tfgkMaxClones
static const Int_tfgkMaxFakes

Class Charts

Inheritance Chart:
TNamed
AliPerformanceObject
AliPerformanceEff

Function documentation

AliPerformanceEff(const Char_t* name = "AliPerformanceEff", const Char_t* title = "AliPerformanceEff", Int_t analysisMode = 0, Bool_t hptGenerator = kFALSE)
 histograms
 Cuts
 histogram folder
 named constructor

~AliPerformanceEff()
 destructor
void Init()
 Init histograms

void ProcessTPC(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
 Fill TPC only efficiency comparison information
void ProcessTPCSec(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
 Fill TPC only efficiency comparison information for secondaries
void ProcessTPCITS(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
 Fill efficiency comparison information
void ProcessConstrained(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent)
 Process comparison information
void Exec(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent, AliESDfriend *const esdFriend, const Bool_t bUseMC, const Bool_t bUseESDfriend)
 Process comparison information

Int_t TransformToPID(TParticle* particle)
 transform Pdg to Pid
 Pdg convension is different for hadrons and leptons
 (e.g. K+/K- = 321/-321; e+/e- = -11/11 )
Bool_t IsFindable(const AliMCEvent* mcEvent, Int_t label)
 Findfindable tracks

Bool_t IsRecTPC(AliESDtrack* track)
 Check whether track is reconstructed in TPC

Bool_t IsRecTPCITS(AliESDtrack* track)
 Check whether track is reconstructed in TPCITS

Bool_t IsRecConstrained(AliESDtrack* track)
 Check whether track is reconstructed in IsRecConstrained

Long64_t Merge(TCollection *const list)
 Merge list of objects (needed by PROOF)
void Analyse()
 Analyse comparison information and store output histograms
 in the folder "folderEff"

TFolder* ExportToFolder(TObjArray* array = 0)
 recreate folder avery time and export objects to new one

TFolder* CreateFolder(TString folder = "folderEff", TString title = "Analysed Efficiency histograms")
 create folder for analysed histograms

TH1D* AddHistoEff(Int_t axis, const Char_t* name, const Char_t* vsTitle, const Int_t type, const Int_t secondary = 0)
 Create and add rec efficiency vs pt, eta, phi
AliPerformanceEff(const Char_t* name = "AliPerformanceEff", const Char_t* title = "AliPerformanceEff", Int_t analysisMode = 0, Bool_t hptGenerator = kFALSE)
TFolder* GetAnalysisFolder() const
 Get analysis folder
{return fAnalysisFolder;}
void SetAliRecInfoCuts(AliRecInfoCuts *const cuts = 0)
 Selection cuts
{fCutsRC = cuts;}
void SetAliMCInfoCuts(AliMCInfoCuts *const cuts = 0)
{fCutsMC = cuts;}
AliRecInfoCuts* GetAliRecInfoCuts() const
 Getters
{return fCutsRC;}
AliMCInfoCuts* GetAliMCInfoCuts() const
{return fCutsMC;}
THnSparseF* GetEffHisto() const
{return fEffHisto;}
THnSparseF* GetEffSecHisto() const
{return fEffSecHisto;}
AliPerformanceEff& operator=(const AliPerformanceEff& )