ROOT logo
AliRoot » PWGPP » TPC » AliPerformanceMC

class AliPerformanceMC: public AliPerformanceObject

 Implementation of AliPerformanceMC 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 AliPerformanceMC.

 Author: J.Otwinowski 04/02/2008

Function Members (Methods)

public:
AliPerformanceMC(const Char_t* name = "AliPerformanceMC", const Char_t* title = "AliPerformanceMC", Int_t analysisMode = 0, Bool_t hptGenerator = kFALSE)
virtual~AliPerformanceMC()
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 = "folderMC", TString title = "Analysed MC 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()
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
THnSparse*GetPullHisto() const
THnSparse*GetResolHisto() 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
TH1F*MakeResol(TH2F* his, Int_t integ = 0, Bool_t type = kFALSE, Int_t cut = 0)
AliExternalTrackParam*MakeTrack(const AliTrackReference* ref, TParticle *const part)
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")
voidProcessInnerTPC(AliTrackReference *const refIn, AliTrackReference *const refOut, TParticle *const particle)
voidProcessOuterTPCExt(TParticle *const part, TClonesArray *const trefs)
voidProcessTPC(AliTrackReference *const refIn, TParticle *const particle)
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
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

private:
TFolder*fAnalysisFolderfolder for analysed histograms
AliMCInfoCuts*fCutsMCselection cuts for MC tracks
AliRecInfoCuts*fCutsRCselection cuts for reconstructed tracks
THnSparseF*fPullHisto-> pull_y:pull_z:pull_snp:pull_tgl:pull_1pt:y:z:snp:tgl:1pt
THnSparseF*fResolHisto-> res_y:res_z:res_phi:res_lambda:res_pt:y:z:phi:eta:pt

Class Charts

Inheritance Chart:
TNamed
AliPerformanceObject
AliPerformanceMC

Function documentation

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

~AliPerformanceMC()
 destructor
void Init()
void Exec(AliMCEvent *const mcEvent, AliESDEvent *const esdEvent, AliESDfriend *const esdFriend, const Bool_t bUseMC, const Bool_t bUseESDfriend)
 Process pure MC information

void ProcessTPC(AliTrackReference *const refIn, TParticle *const particle)
 Test propagation from refIn to DCA

void ProcessInnerTPC(AliTrackReference *const refIn, AliTrackReference *const refOut, TParticle *const particle)
 Test propagation from Out to In

void ProcessOuterTPCExt(TParticle *const part, TClonesArray *const trefs)
AliExternalTrackParam * MakeTrack(const AliTrackReference* ref, TParticle *const part)
 Make track out of the track ref
 part - TParticle used to determine chargr
 the covariance matrix - equal 0 - starting from ideal MC position
TH1F* MakeResol(TH2F* his, Int_t integ = 0, Bool_t type = kFALSE, Int_t cut = 0)
 Create resolution histograms
void Analyse()
 Analyse comparison information and store output histograms
 in the folder "folderRes"

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

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

AliPerformanceMC(const Char_t* name = "AliPerformanceMC", const Char_t* title = "AliPerformanceMC", 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
{return fCutsRC;}
AliMCInfoCuts* GetAliMCInfoCuts() const
{return fCutsMC;}
THnSparse * GetResolHisto() const
 getters

{ return fResolHisto; }
THnSparse * GetPullHisto() const
{ return fPullHisto; }
AliPerformanceMC& operator=(const AliPerformanceMC& )