ROOT logo
AliRoot » PWG » TOOLS » AliTHn

class AliTHn: public AliCFContainer

Function Members (Methods)

public:
AliTHn()
AliTHn(const AliTHn& c)
AliTHn(const Char_t* name, const Char_t* title, const Int_t nSelStep, const Int_t nVarIn, const Int_t* nBinIn)
virtual~AliTHn()
voidTObject::AbstractMethod(const char* method) const
virtual voidAliCFContainer::Add(const AliCFContainer* aContainerToAdd, Double_t c = 1.)
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 voidCopy(TObject& c) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDeleteContainers()
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 voidFill(const Double_t* var, Int_t istep, Double_t weight = 1.)
virtual voidTNamed::FillBuffer(char*& buffer)
virtual voidFillContainer(AliCFContainer* cont)
virtual voidFillParent()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TAxis*AliCFContainer::GetAxis(Int_t ivar, Int_t istep) const
virtual Float_tAliCFContainer::GetBinCenter(Int_t ivar, Int_t ibin) const
virtual Float_tAliCFContainer::GetBinContent(const Int_t* coordinates, Int_t step) const
virtual Float_tAliCFContainer::GetBinError(const Int_t* coordinates, Int_t step) const
virtual const Char_t*AliCFContainer::GetBinLabel(Int_t ivar, Int_t ibin) const
virtual Double_t*AliCFContainer::GetBinLimits(Int_t ivar) const
virtual voidAliCFContainer::GetBinLimits(Int_t ivar, Double_t* array) const
virtual Float_tAliCFContainer::GetBinSize(Int_t ivar, Int_t ibin) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Long_tAliCFContainer::GetEmptyBins(Int_t istep) const
virtual Float_tAliCFContainer::GetEntries(Int_t istep) const
virtual AliCFGridSparse*AliCFContainer::GetGrid(Int_t istep) const
virtual const char*TObject::GetIconName() const
virtual Double_tAliCFContainer::GetIntegral(Int_t istep) const
virtual const char*TNamed::GetName() const
virtual Int_t*AliCFContainer::GetNBins() const
virtual Int_tAliCFContainer::GetNBins(Int_t ivar) const
virtual Long_tAliCFContainer::GetNBinsTotal() const
virtual Int_tAliCFContainer::GetNStep() const
virtual Int_tAliCFContainer::GetNVar() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Float_tAliCFContainer::GetOverFlows(Int_t var, Int_t istep, Bool_t excl = kFALSE) const
virtual Int_tAliCFContainer::GetStep(const Char_t* title) const
virtual const Char_t*AliCFContainer::GetStepTitle(Int_t istep) const
TArrayF*GetSumw2(Int_t step)
virtual const char*TNamed::GetTitle() const
virtual Float_tAliCFContainer::GetUnderFlows(Int_t var, Int_t istep, Bool_t excl = kFALSE) const
virtual UInt_tTObject::GetUniqueID() const
TArrayF*GetValues(Int_t step)
virtual Int_tAliCFContainer::GetVar(const Char_t* title) const
virtual const Char_t*AliCFContainer::GetVarTitle(Int_t ivar) 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
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
virtual AliCFContainer*AliCFContainer::MakeSlice(Int_t nVars, const Int_t* vars, const Double_t* varMin = 0x0, const Double_t* varMax = 0x0, Bool_t useBins = 0) const
virtual AliCFContainer*AliCFContainer::MakeSlice(Int_t nStep, const Int_t* steps, Int_t nVars, const Int_t* vars, const Double_t* varMin = 0x0, const Double_t* varMax = 0x0, Bool_t useBins = 0) const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection* 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)
AliTHn&operator=(const AliTHn& corr)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidAliCFContainer::Print(Option_t*) const
virtual voidAliCFContainer::PrintBinLimits() const
virtual voidAliCFContainer::PrintNBins() const
virtual TH1*AliCFContainer::Project(Int_t istep, Int_t ivar1, Int_t ivar2 = -1, Int_t ivar3 = -1) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReduceAxis()
voidTObject::ResetBit(UInt_t f)
virtual voidAliCFFrame::Save(const Char_t* outfile) const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual voidAliCFContainer::Scale(Double_t factor) const
virtual voidAliCFContainer::SetBinContent(Int_t* bin, Int_t step, Double_t value)
virtual voidAliCFContainer::SetBinError(Int_t* bin, Int_t step, Double_t value)
virtual voidAliCFContainer::SetBinLabel(Int_t iVar, Int_t iBin, const Char_t* label)
virtual voidAliCFContainer::SetBinLimits(Int_t ivar, const Double_t* array)
virtual voidAliCFContainer::SetBinLimits(Int_t ivar, Double_t min, Double_t max)
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)
virtual voidAliCFContainer::SetGrid(Int_t step, AliCFGridSparse* grid)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidAliCFContainer::SetNStep(Int_t nStep)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidAliCFContainer::SetRangeUser(const Double_t* varMin, const Double_t* varMax, Bool_t useBins = kFALSE) const
virtual voidAliCFContainer::SetRangeUser(Int_t ivar, Double_t varMin, Double_t varMax, Bool_t useBins = kFALSE) const
virtual voidAliCFContainer::SetStepTitle(Int_t istep, const Char_t* title)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidAliCFContainer::SetVarTitle(Int_t ivar, const Char_t* title)
virtual voidShowMembers(TMemberInspector&)
virtual TH1D*AliCFContainer::ShowProjection(Int_t ivar, Int_t istep) const
virtual TH2D*AliCFContainer::ShowProjection(Int_t ivar1, Int_t ivar2, Int_t istep) const
virtual TH3D*AliCFContainer::ShowProjection(Int_t ivar1, Int_t ivar2, Int_t ivar3, Int_t istep) const
virtual Int_tTNamed::Sizeof() const
virtual voidAliCFContainer::Smooth(Int_t istep)
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
Long64_tGetGlobalBinIndex(const Int_t* binIdx)
voidInit()
voidTObject::MakeZombie()

Data Members

protected:
TAxis**axisCache! cache axis pointers (about 50% of the time in Fill is spent in GetAxis otherwise)
Int_t*fLastBins! caching of last used bins (in many loops some vars are the same for a while)
Double_t*fLastVars! caching of last used bins (in many loops some vars are the same for a while)
Long64_tfNBinsnumber of total bins
Int_tfNStepsnumber of selection steps
Int_tfNVarsnumber of variables
TStringTNamed::fNameobject identifier
Int_t*fNbinsCache! cache Nbins per axis
TArrayF**fSumw2[fNSteps] data container
TStringTNamed::fTitleobject title
TArrayF**fValues[fNSteps] data container

Class Charts

Inheritance Chart:
TNamed
AliCFFrame
AliCFContainer
AliTHn

Function documentation

AliTHn()
 Constructor
AliTHn(const Char_t* name, const Char_t* title, const Int_t nSelStep, const Int_t nVarIn, const Int_t* nBinIn)
 Constructor
void Init()
 initialize
AliTHn(const AliTHn& c)
 AliTHn copy constructor

~AliTHn()
 Destructor
void DeleteContainers()
 delete data containers
AliTHn & operator=(const AliTHn& corr)
 assigment operator
void Copy(TObject& c) const
 copy function
Long64_t Merge(TCollection* list)
 Merge a list of AliTHn objects with this (needed for
 PROOF).
 Returns the number of merged objects (including this).
void Fill(const Double_t* var, Int_t istep, Double_t weight = 1.)
 fills an entry
Long64_t GetGlobalBinIndex(const Int_t* binIdx)
 calculates global bin index
 binIdx contains TAxis bin indexes
 here bin count starts at 0 because we do not have over/underflow bins
void FillContainer(AliCFContainer* cont)
 fills the information stored in the buffer in this class into the container <cont>
void FillParent()
 fills the information stored in the buffer in this class into the baseclass containers
void ReduceAxis()
 "removes" one axis by summing over the axis and putting the entry to bin 1
 TODO presently only implemented for the last axis
TArrayF* GetValues(Int_t step)
{ return fValues[step]; }
TArrayF* GetSumw2(Int_t step)
{ return fSumw2[step]; }