library: libHist
#include "TH3.h"

TH3


class description - header file - source file
viewCVS header - viewCVS source

class TH3: public TH1, public TAtt3D

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TH3()
TH3(const TH3&)
TH3(const char* name, const char* title, Int_t nbinsx, const Float_t* xbins, Int_t nbinsy, const Float_t* ybins, Int_t nbinsz, const Float_t* zbins)
TH3(const char* name, const char* title, Int_t nbinsx, const Double_t* xbins, Int_t nbinsy, const Double_t* ybins, Int_t nbinsz, const Double_t* zbins)
TH3(const char* name, const char* title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, Int_t nbinsz, Double_t zlow, Double_t zup)
virtual~TH3()
voidTObject::AbstractMethod(const char* method) const
virtual voidTH1::Add(const TH1* h1, Double_t c1 = 1)
virtual voidTH1::Add(TF1* h1, Double_t c1 = 1, Option_t* option = "")
virtual voidTH1::Add(const TH1* h, const TH1* h2, Double_t c1 = 1, Double_t c2 = 1)
virtual voidTH1::AddBinContent(Int_t bin)
virtual voidTH1::AddBinContent(Int_t bin, Double_t w)
static voidTH1::AddDirectory(Bool_t add = kTRUE)
static Bool_tTH1::AddDirectoryStatus()
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTH1::Browse(TBrowser* b)
virtual Int_tBufferEmpty(Int_t action = 0)
virtual Double_tTH1::Chi2Test(const TH1* h2, Option_t* option = "UU", Double_t* res = 0) const
virtual Double_tTH1::Chi2TestX(const TH1* h2, Double_t& chi2, Int_t& ndf, Int_t& igood, Option_t* option = "UU", Double_t* res = 0) 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 Double_tTH1::ComputeIntegral()
virtual voidCopy(TObject& hnew) const
virtual voidTObject::Delete(Option_t* option = "")
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tTH1::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTH1::Divide(const TH1* h1)
virtual voidTH1::Divide(TF1* f1, Double_t c1 = 1)
virtual voidTH1::Divide(const TH1* h1, const TH1* h2, Double_t c1 = 1, Double_t c2 = 1, Option_t* option = "")
virtual voidTH1::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual TH1*TH1::DrawCopy(Option_t* option = "") const
virtual TH1*TH1::DrawNormalized(Option_t* option = "", Double_t norm = 1) const
virtual voidTH1::DrawPanel()
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTH1::Eval(TF1* f1, Option_t* option = "")
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 voidTH1::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TH1*TH1::FFT(TH1* h_output, Option_t* option)
virtual Int_tFill(Double_t)
virtual Int_tFill(Double_t, Double_t)
virtual Int_tFill(const char*, Double_t)
Int_tFill(Double_t, const char*, Double_t)
Int_tFill(const char*, Double_t, Double_t)
Int_tFill(const char*, const char*, Double_t)
virtual Int_tFill(Double_t x, Double_t y, Double_t z)
virtual Int_tFill(Double_t x, Double_t y, Double_t z, Double_t w)
virtual Int_tFill(const char* namex, const char* namey, const char* namez, Double_t w)
virtual Int_tFill(const char* namex, Double_t y, const char* namez, Double_t w)
virtual Int_tFill(const char* namex, const char* namey, Double_t z, Double_t w)
virtual Int_tFill(Double_t x, const char* namey, const char* namez, Double_t w)
virtual Int_tFill(Double_t x, const char* namey, Double_t z, Double_t w)
virtual Int_tFill(Double_t x, Double_t y, const char* namez, Double_t w)
virtual voidTNamed::FillBuffer(char*& buffer)
virtual voidTH1::FillN(Int_t ntimes, const Double_t* x, const Double_t* w, Int_t stride = 1)
virtual voidTH1::FillN(Int_t, const Double_t*, const Double_t*, const Double_t*, Int_t)
virtual voidFillRandom(const char* fname, Int_t ntimes = 5000)
virtual voidFillRandom(TH1* h, Int_t ntimes = 5000)
virtual Int_tTH1::FindBin(Double_t x, Double_t y = 0, Double_t z = 0)
virtual TObject*TH1::FindObject(const char* name) const
virtual TObject*TH1::FindObject(const TObject* obj) const
virtual Int_tTH1::Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Double_t xmin = 0, Double_t xmax = 0)
virtual Int_tTH1::Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Double_t xmin = 0, Double_t xmax = 0)
virtual voidTH1::FitPanel()
virtual voidFitSlicesZ(TF1* f1 = 0, Int_t binminx = 1, Int_t binmaxx = 0, Int_t binminy = 1, Int_t binmaxy = 0, Int_t cut = 0, Option_t* option = "QNR")
TH1*TH1::GetAsymmetry(TH1* h2, Double_t c2 = 1, Double_t dc2 = 0)
virtual Color_tTH1::GetAxisColor(Option_t* axis = "X") const
virtual Float_tTH1::GetBarOffset() const
virtual Float_tTH1::GetBarWidth() const
virtual Int_tTH1::GetBin(Int_t binx, Int_t biny = 0, Int_t binz = 0) const
virtual Double_tTH1::GetBinCenter(Int_t bin) const
virtual Double_tTH1::GetBinContent(Int_t bin) const
virtual Double_tTH1::GetBinContent(Int_t binx, Int_t biny) const
virtual Double_tTH1::GetBinContent(Int_t binx, Int_t biny, Int_t binz) const
virtual Double_tTH1::GetBinError(Int_t bin) const
virtual Double_tTH1::GetBinError(Int_t binx, Int_t biny) const
virtual Double_tTH1::GetBinError(Int_t binx, Int_t biny, Int_t binz) const
virtual Double_tTH1::GetBinLowEdge(Int_t bin) const
virtual Double_tTH1::GetBinWidth(Int_t bin) const
virtual Double_tTH1::GetBinWithContent(Double_t c, Int_t& binx, Int_t firstx = 0, Int_t lastx = 0, Double_t maxdiff = 0) const
virtual Double_tGetBinWithContent3(Double_t c, Int_t& binx, Int_t& biny, Int_t& binz, Int_t firstx = 0, Int_t lastx = 0, Int_t firsty = 0, Int_t lasty = 0, Int_t firstz = 0, Int_t lastz = 0, Double_t maxdiff = 0) const
const Double_t*TH1::GetBuffer() const
Int_tTH1::GetBufferLength() const
Int_tTH1::GetBufferSize() const
virtual Double_tTH1::GetCellContent(Int_t binx, Int_t biny) const
virtual Double_tTH1::GetCellError(Int_t binx, Int_t biny) const
virtual voidTH1::GetCenter(Double_t* center) const
virtual Int_tTH1::GetContour(Double_t* levels = 0)
virtual Double_tTH1::GetContourLevel(Int_t level) const
virtual Double_tTH1::GetContourLevelPad(Int_t level) const
virtual Double_tGetCorrelationFactor(Int_t axis1 = 1, Int_t axis2 = 2) const
virtual Double_tGetCovariance(Int_t axis1 = 1, Int_t axis2 = 2) const
static Int_tTH1::GetDefaultBufferSize()
static Bool_tTH1::GetDefaultSumw2()
virtual Int_tTH1::GetDimension() const
TDirectory*TH1::GetDirectory() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Double_tTH1::GetEffectiveEntries() const
virtual Double_tTH1::GetEntries() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual TF1*TH1::GetFunction(const char* name) const
virtual const char*TObject::GetIconName() const
virtual Double_t*TH1::GetIntegral()
virtual Double_tTH1::GetKurtosis(Int_t axis = 1) const
virtual Color_tTH1::GetLabelColor(Option_t* axis = "X") const
virtual Style_tTH1::GetLabelFont(Option_t* axis = "X") const
virtual Float_tTH1::GetLabelOffset(Option_t* axis = "X") const
virtual Float_tTH1::GetLabelSize(Option_t* axis = "X") const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TList*TH1::GetListOfFunctions() const
virtual voidTH1::GetLowEdge(Double_t* edge) const
virtual Color_tTAttMarker::GetMarkerColor() const
virtual Size_tTAttMarker::GetMarkerSize() const
virtual Style_tTAttMarker::GetMarkerStyle() const
virtual Double_tTH1::GetMaximum(Double_t maxval = FLT_MAX) const
virtual Int_tTH1::GetMaximumBin() const
virtual Int_tTH1::GetMaximumBin(Int_t& locmax, Int_t& locmay, Int_t& locmaz) const
virtual Double_tTH1::GetMaximumStored() const
virtual Double_tTH1::GetMean(Int_t axis = 1) const
virtual Double_tTH1::GetMeanError(Int_t axis = 1) const
virtual Double_tTH1::GetMinimum(Double_t minval = -FLT_MAX) const
virtual Int_tTH1::GetMinimumBin() const
virtual Int_tTH1::GetMinimumBin(Int_t& locmix, Int_t& locmiy, Int_t& locmiz) const
virtual Double_tTH1::GetMinimumStored() const
virtual const char*TNamed::GetName() const
virtual Int_tTH1::GetNbinsX() const
virtual Int_tTH1::GetNbinsY() const
virtual Int_tTH1::GetNbinsZ() const
virtual Int_tTH1::GetNdivisions(Option_t* axis = "X") const
virtual Double_tTH1::GetNormFactor() const
virtual char*TH1::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TH1::GetOption() const
TVirtualHistPainter*TH1::GetPainter(Option_t* option = "")
virtual Int_tTH1::GetQuantiles(Int_t nprobSum, Double_t* q, const Double_t* probSum = 0)
virtual Double_tTH1::GetRandom() const
virtual voidGetRandom3(Double_t& x, Double_t& y, Double_t& z)
virtual Double_tTH1::GetRMS(Int_t axis = 1) const
virtual Double_tTH1::GetRMSError(Int_t axis = 1) const
virtual Double_tTH1::GetSkewness(Int_t axis = 1) const
virtual voidGetStats(Double_t* stats) const
virtual Double_tTH1::GetSumOfWeights() const
virtual TArrayD*TH1::GetSumw2()
virtual const TArrayD*TH1::GetSumw2() const
virtual Int_tTH1::GetSumw2N() const
virtual Float_tTH1::GetTickLength(Option_t* axis = "X") const
virtual const char*TNamed::GetTitle() const
virtual Float_tTH1::GetTitleOffset(Option_t* axis = "X") const
virtual Float_tTH1::GetTitleSize(Option_t* axis = "X") const
virtual UInt_tTObject::GetUniqueID() const
TAxis*TH1::GetXaxis() const
TAxis*TH1::GetYaxis() const
TAxis*TH1::GetZaxis() 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() const
virtual Double_tIntegral(Option_t* option = "") const
virtual Double_tIntegral(Int_t, Int_t, Option_t* = "") const
virtual Double_tIntegral(Int_t, Int_t, Int_t, Int_t, Option_t* = "") const
virtual Double_tIntegral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Option_t* option = "") const
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
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual Double_tKolmogorovTest(const TH1* h2, Option_t* option = "") const
virtual voidTH1::LabelsDeflate(Option_t* axis = "X")
virtual voidTH1::LabelsInflate(Option_t* axis = "X")
virtual voidTH1::LabelsOption(Option_t* option = "h", Option_t* axis = "X")
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection* list)
virtual voidTAttLine::Modify()
virtual voidTH1::Multiply(const TH1* h1)
virtual voidTH1::Multiply(TF1* h1, Double_t c1 = 1)
virtual voidTH1::Multiply(const TH1* h1, const TH1* h2, Double_t c1 = 1, Double_t c2 = 1, Option_t* option = "")
virtual Bool_tTObject::Notify()
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)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidTH1::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTH1::Print(Option_t* option = "") const
TH1*Project3D(Option_t* option = "x") const
TProfile2D*Project3DProfile(Option_t* option = "xy") const
TH1D*ProjectionZ(const char* name = "_pz", Int_t firstxbin = -1, Int_t lastxbin = 9999, Int_t firstybin = 0, Int_t lastybin = -1, Option_t* option = "") const
virtual voidPutStats(Double_t* stats)
virtual Int_tTObject::Read(const char* name)
virtual TH1*TH1::Rebin(Int_t ngroup = 2, const char* newname = "", const Double_t* xbins = 0)
virtual voidTH1::RebinAxis(Double_t x, Option_t* axis = "X")
virtual voidTH1::Rebuild(Option_t* option = "")
virtual voidTH1::RecursiveRemove(TObject* obj)
virtual voidReset(Option_t* option = "")
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
virtual voidTAttMarker::ResetAttMarker(Option_t* toption = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTAttMarker::SaveMarkerAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t sizdef = 1)
virtual voidTH1::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidTH1::Scale(Double_t c1 = 1)
virtual voidTH1::SetAxisColor(Color_t color = 1, Option_t* axis = "X")
virtual voidTH1::SetAxisRange(Double_t xmin, Double_t xmax, Option_t* axis = "X")
virtual voidTH1::SetBarOffset(Float_t offset = 0.25)
virtual voidTH1::SetBarWidth(Float_t width = 0.5)
virtual voidTH1::SetBinContent(Int_t bin, Double_t content)
virtual voidTH1::SetBinContent(Int_t binx, Int_t biny, Double_t content)
virtual voidTH1::SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content)
virtual voidTH1::SetBinError(Int_t bin, Double_t error)
virtual voidTH1::SetBinError(Int_t binx, Int_t biny, Double_t error)
virtual voidTH1::SetBinError(Int_t binx, Int_t biny, Int_t binz, Double_t error)
virtual voidTH1::SetBins(Int_t nx, const Double_t* xBins)
virtual voidTH1::SetBins(Int_t nx, Double_t xmin, Double_t xmax)
virtual voidTH1::SetBins(Int_t nx, const Double_t* xBins, Int_t ny, const Double_t* yBins)
virtual voidTH1::SetBins(Int_t nx, Double_t xmin, Double_t xmax, Int_t ny, Double_t ymin, Double_t ymax)
virtual voidTH1::SetBins(Int_t nx, Double_t xmin, Double_t xmax, Int_t ny, Double_t ymin, Double_t ymax, Int_t nz, Double_t zmin, Double_t zmax)
virtual voidTH1::SetBinsLength(Int_t = -1)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTH1::SetBuffer(Int_t buffersize, Option_t* option = "")
virtual voidTH1::SetCellContent(Int_t binx, Int_t biny, Double_t content)
virtual voidTH1::SetCellError(Int_t binx, Int_t biny, Double_t content)
virtual voidTH1::SetContent(const Double_t* content)
virtual voidTH1::SetContour(Int_t nlevels, const Double_t* levels = 0)
virtual voidTH1::SetContourLevel(Int_t level, Double_t value)
static voidTH1::SetDefaultBufferSize(Int_t buffersize = 1000)
static voidTH1::SetDefaultSumw2(Bool_t sumw2 = kTRUE)
virtual voidTH1::SetDirectory(TDirectory* dir)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidTH1::SetEntries(Double_t n)
virtual voidTH1::SetError(const Double_t* error)
virtual voidTAttFill::SetFillAttributes()
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTH1::SetLabelColor(Color_t color = 1, Option_t* axis = "X")
virtual voidTH1::SetLabelFont(Style_t font = 62, Option_t* axis = "X")
virtual voidTH1::SetLabelOffset(Float_t offset = 0.005, Option_t* axis = "X")
virtual voidTH1::SetLabelSize(Float_t size = 0.02, Option_t* axis = "X")
virtual voidTAttLine::SetLineAttributes()
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTAttMarker::SetMarkerAttributes()
virtual voidTAttMarker::SetMarkerColor(Color_t tcolor = 1)
virtual voidTAttMarker::SetMarkerSize(Size_t msize = 1)
virtual voidTAttMarker::SetMarkerStyle(Style_t mstyle = 1)
virtual voidTH1::SetMaximum(Double_t maximum = -1111)
virtual voidTH1::SetMinimum(Double_t minimum = -1111)
virtual voidTH1::SetName(const char* name)
virtual voidTH1::SetNameTitle(const char* name, const char* title)
virtual voidTH1::SetNdivisions(Int_t n = 510, Option_t* axis = "X")
virtual voidTH1::SetNormFactor(Double_t factor = 1)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTH1::SetOption(Option_t* option = " ")
virtual voidSetShowProjection(const char* option = "xy", Int_t nbins = 1)
virtual voidTH1::SetStats(Bool_t stats = kTRUE)
virtual voidTH1::SetTickLength(Float_t length = 0.02, Option_t* axis = "X")
virtual voidTH1::SetTitle(const char* title)
virtual voidTH1::SetTitleOffset(Float_t offset = 1, Option_t* axis = "X")
virtual voidTH1::SetTitleSize(Float_t size = 0.02, Option_t* axis = "X")
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTH1::SetXTitle(const char* title)
virtual voidTH1::SetYTitle(const char* title)
virtual voidTH1::SetZTitle(const char* title)
virtual TH1*TH1::ShowBackground(Int_t niter = 20, Option_t* option = "same")
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTH1::ShowPeaks(Double_t sigma = 2, Option_t* option = "", Double_t threshold = 0.05)
virtual Int_tTNamed::Sizeof() const
virtual voidTAtt3D::Sizeof3D() const
virtual voidTH1::Smooth(Int_t ntimes = 1, Int_t firstbin = -1, Int_t lastbin = -1)
static voidTH1::SmoothArray(Int_t NN, Double_t* XX, Int_t ntimes = 1)
static voidTH1::StatOverflows(Bool_t flag = kTRUE)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTH1::Sumw2()
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
static TH1*TH1::TransformHisto(TVirtualFFT* fft, TH1* h_output, Option_t* option)
virtual voidTH1::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 Int_tBufferFill(Double_t, Double_t)
virtual Int_tBufferFill(Double_t, Double_t, Double_t)
virtual Int_tBufferFill(Double_t x, Double_t y, Double_t z, Double_t w)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual Bool_tTH1::FindNewAxisLimits(const TAxis* axis, const Double_t point, Double_t& newMin, Double_t& newMax)
voidTObject::MakeZombie()
static Bool_tTH1::RecomputeAxisLimits(TAxis& destAxis, const TAxis& anAxis)
static Bool_tTH1::SameLimitsAndNBins(const TAxis& axis1, const TAxis& axis2)
virtual voidTH1::SavePrimitiveHelp(ostream& out, Option_t* option = "")

Data Members

public:
enum TH1::[unnamed] { kNoStats
kUserContour
kCanRebin
kLogX
kIsZoomed
kNoTitle
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tfTsumwyTotal Sum of weight*Y
Double_tfTsumwy2Total Sum of weight*Y*Y
Double_tfTsumwxyTotal Sum of weight*X*Y
Double_tfTsumwzTotal Sum of weight*Z
Double_tfTsumwz2Total Sum of weight*Z*Z
Double_tfTsumwxzTotal Sum of weight*X*Z
Double_tfTsumwyzTotal Sum of weight*Y*Z
Int_tTH1::fNcellsnumber of bins(1D), cells (2D) +U/Overflows
TAxisTH1::fXaxisX axis descriptor
TAxisTH1::fYaxisY axis descriptor
TAxisTH1::fZaxisZ axis descriptor
Short_tTH1::fBarOffset(1000*offset) for bar charts or legos
Short_tTH1::fBarWidth(1000*width) for bar charts or legos
Double_tTH1::fEntriesNumber of entries
Double_tTH1::fTsumwTotal Sum of weights
Double_tTH1::fTsumw2Total Sum of squares of weights
Double_tTH1::fTsumwxTotal Sum of weight*X
Double_tTH1::fTsumwx2Total Sum of weight*X*X
Double_tTH1::fMaximumMaximum value for plotting
Double_tTH1::fMinimumMinimum value for plotting
Double_tTH1::fNormFactorNormalization factor
TArrayDTH1::fContourArray to display contour levels
TArrayDTH1::fSumw2Array of sum of squares of weights
TStringTH1::fOptionhistogram options
TList*TH1::fFunctions->Pointer to list of functions (fits and user)
Int_tTH1::fBufferSizefBuffer size
Double_t*TH1::fBuffer[fBufferSize] entry buffer
TDirectory*TH1::fDirectory!Pointer to directory holding this histogram
Int_tTH1::fDimension!Histogram dimension (1, 2 or 3 dim)
Double_t*TH1::fIntegral!Integral of bins used by GetRandom
TVirtualHistPainter*TH1::fPainter!pointer to histogram painter
static Int_tTH1::fgBufferSize!default buffer size for automatic histograms
static Bool_tTH1::fgAddDirectory!flag to add histograms to the directory
static Bool_tTH1::fgStatOverflows!flag to use under/overflows in statistics
static Bool_tTH1::fgDefaultSumw2!flag to call TH1::Sumw2 automatically at histogram creation time
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Color_tTAttMarker::fMarkerColorMarker color index
Style_tTAttMarker::fMarkerStyleMarker style
Size_tTAttMarker::fMarkerSizeMarker size

Class Description

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*
*-*  The 3-D histogram classes derived from the 1-D histogram classes.
*-*  all operations are supported (fill, fit).
*-*  Drawing is currently restricted to one single option.
*-*  A cloud of points is drawn. The number of points is proportional to
*-*  cell content.
*-*

  TH3C a 3-D histogram with one byte per cell (char)
  TH3S a 3-D histogram with two bytes per cell (short integer)
  TH3I a 3-D histogram with four bytes per cell (32 bits integer)
  TH3F a 3-D histogram with four bytes per cell (float)
  TH3D a 3-D histogram with eight bytes per cell (double)

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
TH3()
 Default constructor.
TH3(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup ,Int_t nbinsy,Double_t ylow,Double_t yup ,Int_t nbinsz,Double_t zlow,Double_t zup)
*-*-*-*-*-*-*-*-*Normal constructor for fix bin size 3-D histograms*-*-*-*-*
*-*              ==================================================
TH3(const char *name,const char *title,Int_t nbinsx,const Float_t *xbins ,Int_t nbinsy,const Float_t *ybins ,Int_t nbinsz,const Float_t *zbins)
*-*-*-*-*-*-*-*Normal constructor for variable bin size 3-D histograms*-*-*-*
*-*            =======================================================
TH3(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins ,Int_t nbinsy,const Double_t *ybins ,Int_t nbinsz,const Double_t *zbins)
*-*-*-*-*-*-*-*Normal constructor for variable bin size 3-D histograms*-*-*-*
*-*            =======================================================
TH3(const TH3 &h)
 Copy constructor.
 The list of functions is not copied. (Use Clone if needed)
~TH3()
 Destructor.
void Copy(TObject &obj)
 Copy.
Int_t BufferEmpty(Int_t action)
 Fill histogram with all entries in the buffer.
 action = -1 histogram is reset and refilled from the buffer (called by THistPainter::Paint)
 action =  0 histogram is filled from the buffer
 action =  1 histogram is filled and buffer is deleted
             The buffer is automatically deleted when the number of entries
             in the buffer is greater than the number of entries in the histogram
Int_t BufferFill(Double_t x, Double_t y, Double_t z, Double_t w)
 accumulate arguments in buffer. When buffer is full, empty the buffer
 fBuffer[0] = number of entries in buffer
 fBuffer[1] = w of first entry
 fBuffer[2] = x of first entry
 fBuffer[3] = y of first entry
 fBuffer[4] = z of first entry
Int_t Fill(Double_t x, Double_t y, Double_t z)
*-*-*-*-*-*-*-*-*-*-*Increment cell defined by x,y,z by 1 *-*-*-*-*
*-*                  ====================================
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Int_t Fill(Double_t x, Double_t y, Double_t z, Double_t w)
*-*-*-*-*-*-*-*-*-*-*Increment cell defined by x,y,z by a weight w*-*-*-*-*
*-*                  =============================================
*-*
*-* If the storage of the sum of squares of weights has been triggered,
*-* via the function Sumw2, then the sum of the squares of weights is incremented
*-* by w^2 in the cell corresponding to x,y,z.
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Int_t Fill(const char *namex, const char *namey, const char *namez, Double_t w)
 Increment cell defined by namex,namey,namez by a weight w

 If the storage of the sum of squares of weights has been triggered,
 via the function Sumw2, then the sum of the squares of weights is incremented
 by w^2 in the cell corresponding to x,y,z.

Int_t Fill(const char *namex, Double_t y, const char *namez, Double_t w)
 Increment cell defined by namex,y,namez by a weight w

 If the storage of the sum of squares of weights has been triggered,
 via the function Sumw2, then the sum of the squares of weights is incremented
 by w^2 in the cell corresponding to x,y,z.

Int_t Fill(const char *namex, const char *namey, Double_t z, Double_t w)
 Increment cell defined by namex,namey,z by a weight w

 If the storage of the sum of squares of weights has been triggered,
 via the function Sumw2, then the sum of the squares of weights is incremented
 by w^2 in the cell corresponding to x,y,z.

Int_t Fill(Double_t x, const char *namey, const char *namez, Double_t w)
 Increment cell defined by x,namey,namezz by a weight w

 If the storage of the sum of squares of weights has been triggered,
 via the function Sumw2, then the sum of the squares of weights is incremented
 by w^2 in the cell corresponding to x,y,z.

Int_t Fill(Double_t x, const char *namey, Double_t z, Double_t w)
 Increment cell defined by x,namey,z by a weight w

 If the storage of the sum of squares of weights has been triggered,
 via the function Sumw2, then the sum of the squares of weights is incremented
 by w^2 in the cell corresponding to x,y,z.

Int_t Fill(Double_t x, Double_t y, const char *namez, Double_t w)
 Increment cell defined by x,y,namez by a weight w

 If the storage of the sum of squares of weights has been triggered,
 via the function Sumw2, then the sum of the squares of weights is incremented
 by w^2 in the cell corresponding to x,y,z.

void FillRandom(const char *fname, Int_t ntimes)
*-*-*-*-*-*-*Fill histogram following distribution in function fname*-*-*-*
*-*          =======================================================
*-*
*-*   The distribution contained in the function fname (TF1) is integrated
*-*   over the channel contents.
*-*   It is normalized to 1.
*-*   Getting one random number implies:
*-*     - Generating a random number between 0 and 1 (say r1)
*-*     - Look in which bin in the normalized integral r1 corresponds to
*-*     - Fill histogram channel
*-*   ntimes random numbers are generated
*-*
*-*  One can also call TF1::GetRandom to get a random variate from a function.
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**-*-*-*-*-*-*-*
void FillRandom(TH1 *h, Int_t ntimes)
*-*-*-*-*-*-*Fill histogram following distribution in histogram h*-*-*-*
*-*          ====================================================
*-*
*-*   The distribution contained in the histogram h (TH3) is integrated
*-*   over the channel contents.
*-*   It is normalized to 1.
*-*   Getting one random number implies:
*-*     - Generating a random number between 0 and 1 (say r1)
*-*     - Look in which bin in the normalized integral r1 corresponds to
*-*     - Fill histogram channel
*-*   ntimes random numbers are generated
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**-*-*-*-*-*-*-*
void FitSlicesZ(TF1 *f1, Int_t binminx, Int_t binmaxx, Int_t binminy, Int_t binmaxy, Int_t cut, Option_t *option)
 Project slices along Z in case of a 3-D histogram, then fit each slice
 with function f1 and make a 2-d histogram for each fit parameter
 Only cells in the bin range [binminx,binmaxx] and [binminy,binmaxy] are considered.
 if f1=0, a gaussian is assumed
 Before invoking this function, one can set a subrange to be fitted along Z
 via f1->SetRange(zmin,zmax)
 The argument option (default="QNR") can be used to change the fit options.
     "Q" means Quiet mode
     "N" means do not show the result of the fit
     "R" means fit the function in the specified function range

 Note that the generated histograms are added to the list of objects
 in the current directory. It is the user's responsability to delete
 these histograms.

  Example: Assume a 3-d histogram h3
   Root > h3->FitSlicesZ(); produces 4 TH2D histograms
          with h3_0 containing parameter 0(Constant) for a Gaus fit
                    of each cell in X,Y projected along Z
          with h3_1 containing parameter 1(Mean) for a gaus fit
          with h3_2 containing parameter 2(RMS)  for a gaus fit
          with h3_chi2 containing the chisquare/number of degrees of freedom for a gaus fit

   Root > h3->Fit(0,15,22,0,0,10);
          same as above, but only for bins 15 to 22 along X
          and only for cells in X,Y for which the corresponding projection
          along Z has more than cut bins filled.

  NOTE: To access the generated histograms in the current directory, do eg:
     TH2D *h3_1 = (TH2D*)gDirectory->Get("h3_1");
Double_t GetBinWithContent3(Double_t c, Int_t &binx, Int_t &biny, Int_t &binz, Int_t firstx, Int_t lastx, Int_t firsty, Int_t lasty, Int_t firstz, Int_t lastz, Double_t maxdiff)
 compute first cell (binx,biny,binz) in the range [firstx,lastx](firsty,lasty][firstz,lastz] for which
 diff = abs(cell_content-c) <= maxdiff
 In case several cells in the specified range with diff=0 are found
 the first cell found is returned in binx,biny,binz.
 In case several cells in the specified range satisfy diff <=maxdiff
 the cell with the smallest difference is returned in binx,biny,binz.
 In all cases the function returns the smallest difference.

 NOTE1: if firstx <= 0, firstx is set to bin 1
        if (lastx < firstx then firstx is set to the number of bins in X
        ie if firstx=0 and lastx=0 (default) the search is on all bins in X.
        if firsty <= 0, firsty is set to bin 1
        if (lasty < firsty then firsty is set to the number of bins in Y
        ie if firsty=0 and lasty=0 (default) the search is on all bins in Y.
        if firstz <= 0, firstz is set to bin 1
        if (lastz < firstz then firstz is set to the number of bins in Z
        ie if firstz=0 and lastz=0 (default) the search is on all bins in Z.
 NOTE2: if maxdiff=0 (default), the first cell with content=c is returned.
Double_t GetCorrelationFactor(Int_t axis1, Int_t axis2)
*-*-*-*-*-*-*-*Return correlation factor between axis1 and axis2*-*-*-*-*
*-*            ====================================================
Double_t GetCovariance(Int_t axis1, Int_t axis2)
*-*-*-*-*-*-*-*Return covariance between axis1 and axis2*-*-*-*-*
*-*            ====================================================
void GetRandom3(Double_t &x, Double_t &y, Double_t &z)
 return 3 random numbers along axis x , y and z distributed according
 the cellcontents of a 3-dim histogram
void GetStats(Double_t *stats)
 fill the array stats from the contents of this histogram
 The array stats must be correctly dimensionned in the calling program.
 stats[0] = sumw
 stats[1] = sumw2
 stats[2] = sumwx
 stats[3] = sumwx2
 stats[4] = sumwy
 stats[5] = sumwy2
 stats[6] = sumwxy
 stats[7] = sumwz
 stats[8] = sumwz2
 stats[9] = sumwxz
 stats[10]= sumwyz
Double_t Integral(Option_t *option)
Return integral of bin contents. Only bins in the bins range are considered.
 By default the integral is computed as the sum of bin contents in the range.
 if option "width" is specified, the integral is the sum of
 the bin contents multiplied by the bin width in x, y and in z.
Double_t Integral(Int_t binx1, Int_t binx2, Int_t biny1, Int_t biny2, Int_t binz1, Int_t binz2, Option_t *option)
Return integral of bin contents in range [binx1,binx2],[biny1,biny2],[binz1,binz2]
 for a 3-D histogram
 By default the integral is computed as the sum of bin contents in the range.
 if option "width" is specified, the integral is the sum of
 the bin contents multiplied by the bin width in x, y and in z.
Double_t KolmogorovTest(const TH1 *h2, Option_t *option)
  Statistical test of compatibility in shape between
  THIS histogram and h2, using Kolmogorov test.
     Default: Ignore under- and overflow bins in comparison

     option is a character string to specify options
         "U" include Underflows in test
         "O" include Overflows
         "N" include comparison of normalizations
         "D" Put out a line of "Debug" printout

   The returned function value is the probability of test
       (much less than one means NOT compatible)

        WARNING !!!! THIS FUNCTION NOT YET TESTED
  I started from TH2::KolmogorovTest, but changes are probably required
  when invoking KolmogorovProb to take into account the 3rd dimension
  It would be nice if a mathematician could look into this.

  Code adapted by Rene Brun from original HBOOK routine HDIFF
Long64_t Merge(TCollection *list)
Add all histograms in the collection to this histogram.
This function computes the min/max for the axes,
compute a new number of bins, if necessary,
add bin contents, errors and statistics.
If overflows are present and limits are different the function will fail.
The function returns the total number of entries in the result histogram
if the merge is successfull, -1 otherwise.

IMPORTANT remark. The 2 axis x and y may have different number
of bins and different limits, BUT the largest bin width must be
a multiple of the smallest bin width and the upper limit must also
be a multiple of the bin width.
TH1D * ProjectionZ(const char *name, Int_t ixmin, Int_t ixmax, Int_t iymin, Int_t iymax, Option_t *option)
*-*-*-*-*Project a 3-D histogram into a 1-D histogram along Z*-*-*-*-*-*-*
*-*      ====================================================

   The projection is always of the type TH1D.
   The projection is made from the cells along the X axis
   ranging from ixmin to ixmax and iymin to iymax included.
   By default, bins 1 to nx and 1 to ny  are included

   if option "e" is specified, the errors are computed.
   if option "d" is specified, the projection is drawn in the current pad.

   NOTE1: if a TH1D named name exists in the current directory or pad,
   the histogram is reset and filled again with the current contents of the TH2.

   code from Paola Collins & Hans Dijkstra

   NOTE 2: The number of entries in the projected histogram is set to the
   number of entries of the parent histogram if all bins are selected,
   otherwise it is set to the sum of the bin contents.
TH1 * Project3D(Option_t *option)
 Project a 3-d histogram into 1 or 2-d histograms depending on the
 option parameter
 option may contain a combination of the characters x,y,z,e
 option = "x" return the x projection into a TH1D histogram
 option = "y" return the y projection into a TH1D histogram
 option = "z" return the z projection into a TH1D histogram
 option = "xy" return the x versus y projection into a TH2D histogram
 option = "yx" return the y versus x projection into a TH2D histogram
 option = "xz" return the x versus z projection into a TH2D histogram
 option = "zx" return the z versus x projection into a TH2D histogram
 option = "yz" return the y versus z projection into a TH2D histogram
 option = "zy" return the z versus y projection into a TH2D histogram

 If option contains the string "e", errors are computed

 The projection is made for the selected bins only.
 To select a bin range along an axis, use TAxis::SetRange, eg
    h3.GetYaxis()->SetRange(23,56);

 NOTE 1: The generated histogram is named th3name + option
 eg if the TH3* h histogram is named "myhist", then
 h->Project3D("xy"); produces a TH2D histogram named "myhist_xy"
 if a histogram of the same type already exists, it is overwritten.
 The following sequence
    h->Project3D("xy");
    h->Project3D("xy2");
  will generate two TH2D histograms named "myhist_xy" and "myhist_xy2"

  NOTE 2: The number of entries in the projected histogram is set to the
  number of entries of the parent histogram if all bins are selected,
  otherwise it is set to the sum of the bin contents.
TProfile2D * Project3DProfile(Option_t *option)
 Project a 3-d histogram into a 2-d profile histograms depending
 on the option parameter
 option may contain a combination of the characters x,y,z
 option = "xy" return the x versus y projection into a TProfile2D histogram
 option = "yx" return the y versus x projection into a TProfile2D histogram
 option = "xz" return the x versus z projection into a TProfile2D histogram
 option = "zx" return the z versus x projection into a TProfile2D histogram
 option = "yz" return the y versus z projection into a TProfile2D histogram
 option = "zy" return the z versus y projection into a TProfile2D histogram

 The projection is made for the selected bins only.
 To select a bin range along an axis, use TAxis::SetRange, eg
    h3.GetYaxis()->SetRange(23,56);

 NOTE 1: The generated histogram is named th3name + _poption
 eg if the TH3* h histogram is named "myhist", then
 h->Project3D("xy"); produces a TProfile2D histogram named "myhist_pxy"
 if a histogram of the same type already exists, it is deleted.
 The following sequence
    h->Project3DProfile("xy");
    h->Project3DProfile("xy2");
  will generate two TProfile2D histograms named "myhist_pxy" and "myhist_pxy2"

  NOTE 2: The number of entries in the projected profile is set to the
  number of entries of the parent histogram if all bins are selected,
  otherwise it is set to the sum of the bin contents.
void PutStats(Double_t *stats)
 Replace current statistics with the values in array stats
void Reset(Option_t *option)
*-*-*-*-*-*-*-*Reset this histogram: contents, errors, etc*-*-*-*-*-*-*-*
*-*            ===========================================
void Streamer(TBuffer &R__b)
 Stream an object of class TH3.
void SetShowProjection(const char *option,Int_t nbins)
 When the mouse is moved in a pad containing a 3-d view of this histogram
 a second canvas shows a projection type given as option.
 To stop the generation of the projections, delete the canvas
 containing the projection.
 option may contain a combination of the characters x,y,z,e
 option = "x" return the x projection into a TH1D histogram
 option = "y" return the y projection into a TH1D histogram
 option = "z" return the z projection into a TH1D histogram
 option = "xy" return the x versus y projection into a TH2D histogram
 option = "yx" return the y versus x projection into a TH2D histogram
 option = "xz" return the x versus z projection into a TH2D histogram
 option = "zx" return the z versus x projection into a TH2D histogram
 option = "yz" return the y versus z projection into a TH2D histogram
 option = "zy" return the z versus y projection into a TH2D histogram
 option can also include the drawing option for the projection, eg to draw
 the xy projection using the draw option "box" do
   myhist.SetShowProjection("xy box");
 This function is typically called from the context menu.
Int_t BufferFill(Double_t, Double_t)
{return -2;}
Int_t BufferFill(Double_t, Double_t, Double_t)
{return -2;}
Int_t Fill(Double_t)
{return -1;}
Int_t Fill(Double_t,Double_t)
{return -1;}
Int_t Fill(const char*, Double_t)
{return -1;}
Int_t Fill(Double_t,const char*,Double_t)
{return -1;}
Int_t Fill(const char*,Double_t,Double_t)
{return -1;}
Int_t Fill(const char*,const char*,Double_t)
{return -1;}
Double_t Integral(Option_t *option="")
Double_t Integral(Int_t, Int_t, Option_t * ="")
{return 0;}

Author: Rene Brun 27/10/95
Last update: root/hist:$Name: $:$Id: TH3.cxx,v 1.85 2006/10/09 06:31:09 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.