ROOT logo
AliRoot » CORRFW » AliCFGridSparse

class AliCFGridSparse: public AliCFFrame

Function Members (Methods)

public:
AliCFGridSparse()
AliCFGridSparse(const AliCFGridSparse& c)
AliCFGridSparse(const Char_t* name, const Char_t* title)
AliCFGridSparse(const Char_t* name, const Char_t* title, Int_t nVarIn, const Int_t* nBinIn)
virtual~AliCFGridSparse()
voidTObject::AbstractMethod(const char* method) const
virtual voidAdd(const AliCFGridSparse* aGrid, Double_t c = 1.)
virtual voidAdd(const AliCFGridSparse* aGrid1, const AliCFGridSparse* aGrid2, Double_t c1 = 1., Double_t c2 = 1.)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual Int_tCheckStats(Double_t thr) const
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
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDivide(const AliCFGridSparse* aGrid, Double_t c = 1.)
virtual voidDivide(const AliCFGridSparse* aGrid1, const AliCFGridSparse* aGrid2, Double_t c1 = 1., Double_t c2 = 1., Option_t* option = 0)
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, Double_t weight = 1.)
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TAxis*GetAxis(Int_t ivar) const
virtual Float_tGetBinCenter(Int_t ivar, Int_t ibin) const
virtual Double_t*GetBinLimits(Int_t ivar) const
virtual voidGetBinLimits(Int_t ivar, Double_t* array) const
virtual Float_tGetBinSize(Int_t ivar, Int_t ibin) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Float_tGetElement(Long_t iel) const
virtual Float_tGetElement(const Int_t* bin) const
virtual Float_tGetElement(const Double_t* var) const
virtual Float_tGetElementError(Long_t iel) const
virtual Float_tGetElementError(const Int_t* bin) const
virtual Float_tGetElementError(const Double_t* var) const
virtual Long_tGetEmptyBins() const
virtual Float_tGetEntries() const
THnSparse*GetGrid() const
virtual const char*TObject::GetIconName() const
virtual Double_tGetIntegral() const
virtual const char*TNamed::GetName() const
virtual Int_t*GetNBins() const
virtual Int_tGetNBins(Int_t ivar) const
virtual Long_tGetNBinsTotal() const
virtual Long_tGetNFilledBins() const
virtual Int_tGetNVar() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Float_tGetOverFlows(Int_t var, Bool_t excl = kFALSE) const
virtual Int_tGetSumW2() const
virtual const char*TNamed::GetTitle() const
virtual Float_tGetUnderFlows(Int_t var, Bool_t excl = kFALSE) const
virtual UInt_tTObject::GetUniqueID() const
virtual Int_tGetVar(const Char_t* title) const
virtual const Char_t*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 AliCFGridSparse*MakeSlice(Int_t nVars, const Int_t* vars, const Double_t* varMin, const Double_t* varMax, Bool_t useBins = 0) const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection* list)
virtual voidMultiply(const AliCFGridSparse* aGrid, Double_t c = 1.)
virtual voidMultiply(const AliCFGridSparse* aGrid1, const AliCFGridSparse* aGrid2, Double_t c1 = 1., Double_t c2 = 1.)
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)
AliCFGridSparse&operator=(const AliCFGridSparse& c)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidPrintBinLimits() const
virtual voidPrintNBins() const
virtual TH1*Project(Int_t ivar1, Int_t ivar2 = -1, Int_t ivar3 = -1) const
virtual AliCFGridSparse*Project(Int_t nVars, const Int_t* vars, const Double_t* varMin, const Double_t* varMax, Bool_t useBins = 0) const
virtual Int_tTObject::Read(const char* name)
virtual voidRebin(const Int_t* group)
virtual voidTObject::RecursiveRemove(TObject* obj)
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 voidScale(const Double_t* fact)
virtual voidScale(Long_t iel, const Double_t* fact)
virtual voidScale(const Int_t* bin, const Double_t* fact)
virtual voidScale(const Double_t* var, const Double_t* fact)
virtual voidSetBinLimits(Int_t ivar, const Double_t* array)
virtual voidSetBinLimits(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 voidSetElement(Long_t iel, Float_t val)
virtual voidSetElement(const Int_t* bin, Float_t val)
virtual voidSetElement(const Double_t* var, Float_t val)
virtual voidSetElementError(Long_t iel, Float_t val)
virtual voidSetElementError(const Int_t* bin, Float_t val)
virtual voidSetElementError(const Double_t* var, Float_t val)
virtual voidSetGrid(THnSparse* grid)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetRangeUser(const Double_t* varMin, const Double_t* varMax, Bool_t useBins = kFALSE) const
virtual voidSetRangeUser(Int_t iVar, Double_t varMin, Double_t varMax, Bool_t useBins = kFALSE) const
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVarTitle(Int_t ivar, const Char_t* lab)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual TH1*Slice(Int_t ivar1, Int_t ivar2 = -1, Int_t ivar3 = -1, const Double_t* varMin = 0x0, const Double_t* varMax = 0x0, Bool_t useBins = 0) const
virtual voidSmooth()
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidSumW2()
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
voidGetProjectionName(TString& s, Int_t var0, Int_t var1 = -1, Int_t var2 = -1) const
voidGetProjectionTitle(TString& s, Int_t var0, Int_t var1 = -1, Int_t var2 = -1) const
voidGetScaledValues(const Double_t* fact, const Double_t* in, Double_t* out) const
voidTObject::MakeZombie()
voidSetAxisRange(TAxis* axis, Double_t min, Double_t max, Bool_t useBins) const

Data Members

protected:
THnSparse*fDataThe data Container: a THnSparse
TStringTNamed::fNameobject identifier
Bool_tfSumW2Flag to check if calculation of squared weights enabled
TStringTNamed::fTitleobject title

Class Charts

Inheritance Chart:
TNamed
AliCFFrame
AliCFGridSparse
AliCFDataGrid
AliCFEffGrid

Function documentation

AliCFGridSparse()
 default constructor
AliCFGridSparse(const Char_t* name, const Char_t* title)
 default constructor
AliCFGridSparse(const Char_t* name, const Char_t* title, Int_t nVarIn, const Int_t* nBinIn)
 main constructor

~AliCFGridSparse()
 destructor

AliCFGridSparse(const AliCFGridSparse& c)
 copy constructor

AliCFGridSparse& operator=(const AliCFGridSparse& c)
 assigment operator

void SetBinLimits(Int_t ivar, Double_t min, Double_t max)
 set a uniform binning for variable ivar

void SetBinLimits(Int_t ivar, const Double_t* array)
 setting the arrays containing the bin limits

void Fill(const Double_t* var, Double_t weight = 1.)
 Fill the grid,
 given a set of values of the input variable,
 with weight (by default w=1)

AliCFGridSparse* MakeSlice(Int_t nVars, const Int_t* vars, const Double_t* varMin, const Double_t* varMax, Bool_t useBins = 0) const
 projects the grid on the nVars dimensions defined in vars.
 axis ranges can be defined in arrays varMin, varMax
 If useBins=true, varMin and varMax are taken as bin numbers

Float_t GetBinCenter(Int_t ivar, Int_t ibin) const
 Returns the center of specified bin for variable axis ivar

Float_t GetBinSize(Int_t ivar, Int_t ibin) const
 Returns the size of specified bin for variable axis ivar

Float_t GetEntries() const
 total entries (including overflows and underflows)

Float_t GetElement(Long_t iel) const
 Returns content of grid element index

Float_t GetElement(const Int_t* bin) const
 Get the content in a bin corresponding to a set of bin indexes

Float_t GetElement(const Double_t* var) const
 Get the content in a bin corresponding to a set of input variables

Float_t GetElementError(Long_t iel) const
 Returns the error on the content

Float_t GetElementError(const Int_t* bin) const
 Get the error in a bin corresponding to a set of bin indexes

Float_t GetElementError(const Double_t* var) const
 Get the error in a bin corresponding to a set of input variables

void SetElement(Long_t iel, Float_t val)
 Sets grid element value

void SetElement(const Int_t* bin, Float_t val)
 Sets grid element of bin indeces bin to val

void SetElement(const Double_t* var, Float_t val)
 Set the content in a bin to value val corresponding to a set of input variables

void SetElementError(Long_t iel, Float_t val)
 Sets grid element iel error to val (linear indexing) in AliCFFrame

void SetElementError(const Int_t* bin, Float_t val)
 Sets grid element error of bin indeces bin to val

void SetElementError(const Double_t* var, Float_t val)
 Set the error in a bin to value val corresponding to a set of input variables

void SumW2()
set calculation of the squared sum of the weighted entries

void Add(const AliCFGridSparse* aGrid, Double_t c = 1.)
add aGrid to the current one

void Add(const AliCFGridSparse* aGrid1, const AliCFGridSparse* aGrid2, Double_t c1 = 1., Double_t c2 = 1.)
Add aGrid1 and aGrid2 and deposit the result into the current one

void Multiply(const AliCFGridSparse* aGrid, Double_t c = 1.)
 Multiply aGrid to the current one

void Multiply(const AliCFGridSparse* aGrid1, const AliCFGridSparse* aGrid2, Double_t c1 = 1., Double_t c2 = 1.)
Multiply aGrid1 and aGrid2 and deposit the result into the current one

void Divide(const AliCFGridSparse* aGrid, Double_t c = 1.)
 Divide aGrid to the current one

void Divide(const AliCFGridSparse* aGrid1, const AliCFGridSparse* aGrid2, Double_t c1 = 1., Double_t c2 = 1., Option_t* option = 0)
Divide aGrid1 and aGrid2 and deposit the result into the current one
binomial errors are supported

void Rebin(const Int_t* group)
 rebin the grid according to Rebin() as in THnSparse
 Please notice that the original number of bins on
 a given axis has to be divisible by the rebin group.

void Scale(Long_t iel, const Double_t* fact)
scale content of a certain cell by (positive) fact (with error)

void Scale(const Int_t* bin, const Double_t* fact)
scale content of a certain cell by (positive) fact (with error)

void Scale(const Double_t* var, const Double_t* fact)
scale content of a certain cell by (positive) fact (with error)

void Scale(const Double_t* fact)
scale contents of the whole grid by fact

Long_t GetEmptyBins() const
 Get empty bins

Int_t CheckStats(Double_t thr) const
 Count the cells below a certain threshold

Double_t GetIntegral() const
 Get full Integral

Long64_t Merge(TCollection* list)
 Merge a list of AliCFGridSparse with this (needed for PROOF).
 Returns the number of merged objects (including this).

void GetScaledValues(const Double_t* fact, const Double_t* in, Double_t* out) const
 scale input *in and its error by (positive) fact (with error)
 and erite it to *out

void Copy(TObject& c) const
 copy function

TH1* Slice(Int_t ivar1, Int_t ivar2 = -1, Int_t ivar3 = -1, const Double_t* varMin = 0x0, const Double_t* varMax = 0x0, Bool_t useBins = 0) const
 return a slice on variables iVar1 (and optionnally iVar2 (and iVar3)) while axis ranges are defined with varMin,varMax
 arrays varMin and varMax contain the min and max values of each variable.
 therefore varMin and varMax must have their dimensions equal to GetNVar()
 If useBins=true, varMin and varMax are taken as bin numbers
 if varmin or varmax point to null, all the range is taken, including over- and underflows
void SetAxisRange(TAxis* axis, Double_t min, Double_t max, Bool_t useBins) const
 sets axis range, and forces bit TAxis::kAxisRange

void SetRangeUser(Int_t iVar, Double_t varMin, Double_t varMax, Bool_t useBins = kFALSE) const
 set range of axis iVar.

void SetRangeUser(const Double_t* varMin, const Double_t* varMax, Bool_t useBins = kFALSE) const
 set range of every axis. varMin and varMax must be of dimension GetNVar()

Float_t GetOverFlows(Int_t var, Bool_t excl = kFALSE) const
 Returns overflows in variable ivar
 Set 'exclusive' to true for an exclusive check on variable ivar

Float_t GetUnderFlows(Int_t var, Bool_t excl = kFALSE) const
 Returns exclusive overflows in variable ivar
 Set 'exclusive' to true for an exclusive check on variable ivar

void Smooth()
 smoothing function: TO USE WITH CARE

Long_t GetNBinsTotal() const
void PrintNBins() const
 printing the array containing the # of bins

void PrintBinLimits() const
 printing the bin limits for each variable

void GetBinLimits(Int_t ivar, Double_t* array) const
Int_t* GetNBins() const
Double_t* GetBinLimits(Int_t ivar) const
Int_t GetVar(const Char_t* title) const
void GetProjectionName(TString& s, Int_t var0, Int_t var1 = -1, Int_t var2 = -1) const
void GetProjectionTitle(TString& s, Int_t var0, Int_t var1 = -1, Int_t var2 = -1) const
Int_t GetNVar() const
 AliCFFrame functions
{return fData->GetNdimensions();}
Long_t GetNFilledBins() const
{return fData->GetNbins();}
Int_t GetNBins(Int_t ivar) const
{return fData->GetAxis(ivar)->GetNbins();}
TAxis * GetAxis(Int_t ivar) const
virtual void       GetBinCenters(const Int_t *ibin, Float_t *binCenter) const ;
virtual void       GetBinSizes  (const Int_t *ibin, Float_t *binSizes)  const ;
{return fData->GetAxis(ivar);}
void SetVarTitle(Int_t ivar, const Char_t* lab)
{fData->GetAxis(ivar)->SetTitle(lab);}
const Char_t* GetVarTitle(Int_t ivar) const
{return GetAxis(ivar)->GetTitle();}
TH1* Project(Int_t ivar1, Int_t ivar2 = -1, Int_t ivar3 = -1) const
{return Slice(ivar1,ivar2,ivar3,0x0,0x0,kFALSE);}
Int_t GetSumW2() const
{return fSumW2;}
void SetGrid(THnSparse* grid)
{if (fData) delete fData ; fData=grid;}
THnSparse * GetGrid() const
{return fData;}
AliCFGridSparse* Project(Int_t nVars, const Int_t* vars, const Double_t* varMin, const Double_t* varMax, Bool_t useBins = 0) const
FUNCTIONS TO REMOVE
{return MakeSlice(nVars,vars,varMin,varMax,useBins);}