class TGraphBentErrors: public TGraph


TGraphBentErrors class

A TGraphBentErrors is a TGraph with bent, assymetric error bars. The various format options to draw a TGraphBentErrors are explained in TGraphBentErrors::Paint.

The picture below gives an example:

output of MACRO_TGraphBentErrors_1_c1
{
   c1 = new TCanvas("c1","A Simple Graph with bent error bars",200,10,700,500);
   Int_t n = 10;
   Double_t x[n]    = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95};
   Double_t y[n]    = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1};
   Double_t exl[n]  = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
   Double_t eyl[n]  = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
   Double_t exh[n]  = {.02,.08,.05,.05,.03,.03,.04,.05,.06,.03};
   Double_t eyh[n]  = {.6,.5,.4,.3,.2,.2,.3,.4,.5,.6};
   Double_t exld[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.0,.0};
   Double_t eyld[n] = {.0,.0,.05,.0,.0,.0,.0,.0,.0,.0};
   Double_t exhd[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.0,.0};
   Double_t eyhd[n] = {.0,.0,.0,.0,.0,.0,.0,.0,.05,.0};
   gr = new TGraphBentErrors(n,x,y,exl,exh,eyl,eyh,exld,exhd,eyld,eyhd);
   gr->SetTitle("TGraphBentErrors Example");
   gr->SetMarkerColor(4);
   gr->SetMarkerStyle(21);
   gr->Draw("ALP");
   return c1;
}
 

Function Members (Methods)

public:
TGraphBentErrors()
TGraphBentErrors(Int_t n)
TGraphBentErrors(const TGraphBentErrors& gr)
TGraphBentErrors(Int_t n, const Float_t* x, const Float_t* y, const Float_t* exl = 0, const Float_t* exh = 0, const Float_t* eyl = 0, const Float_t* eyh = 0, const Float_t* exld = 0, const Float_t* exhd = 0, const Float_t* eyld = 0, const Float_t* eyhd = 0)
TGraphBentErrors(Int_t n, const Double_t* x, const Double_t* y, const Double_t* exl = 0, const Double_t* exh = 0, const Double_t* eyl = 0, const Double_t* eyh = 0, const Double_t* exld = 0, const Double_t* exhd = 0, const Double_t* eyld = 0, const Double_t* eyhd = 0)
virtual~TGraphBentErrors()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidApply(TF1* f)
virtual voidTGraph::Browse(TBrowser* b)
virtual Double_tTGraph::Chisquare(const TF1* f1) 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
static Bool_tTGraph::CompareArg(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareRadius(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareX(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareY(const TGraph* gr, Int_t left, Int_t right)
voidTGraph::ComputeLogs(Int_t npoints, Int_t opt)
virtual voidComputeRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const
virtual voidTNamed::Copy(TObject& named) 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_tTGraph::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTGraph::Draw(Option_t* chopt = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTGraph::DrawGraph(Int_t n, const Int_t* x, const Int_t* y, Option_t* option = "")
virtual voidTGraph::DrawGraph(Int_t n, const Float_t* x, const Float_t* y, Option_t* option = "")
virtual voidTGraph::DrawGraph(Int_t n, const Double_t* x = 0, const Double_t* y = 0, Option_t* option = "")
virtual voidTGraph::DrawPanel()
virtual voidTObject::Dump() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tTGraph::Eval(Double_t x, TSpline* spline = 0, Option_t* option = "") 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 voidTGraph::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTGraph::Expand(Int_t newsize)
virtual voidTGraph::Expand(Int_t newsize, Int_t step)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TGraph::FindObject(const char* name) const
virtual TObject*TGraph::FindObject(const TObject* obj) const
virtual Int_tTGraph::Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
virtual Int_tTGraph::Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
virtual voidTGraph::FitPanel()
virtual Double_tTGraph::GetCorrelationFactor() const
virtual Double_tTGraph::GetCovariance() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Bool_tTGraph::GetEditable() const
virtual Double_tGetErrorX(Int_t bin) const
virtual Double_tGetErrorXhigh(Int_t bin) const
virtual Double_tGetErrorXlow(Int_t bin) const
virtual Double_tGetErrorY(Int_t bin) const
virtual Double_tGetErrorYhigh(Int_t bin) const
virtual Double_tGetErrorYlow(Int_t bin) const
virtual Double_t*TGraph::GetEX() const
virtual Double_t*GetEXhigh() const
Double_t*GetEXhighd() const
virtual Double_t*GetEXlow() const
Double_t*GetEXlowd() const
virtual Double_t*TGraph::GetEY() const
virtual Double_t*GetEYhigh() const
Double_t*GetEYhighd() const
virtual Double_t*GetEYlow() const
Double_t*GetEYlowd() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
TF1*TGraph::GetFunction(const char* name) const
TH1F*TGraph::GetHistogram() const
virtual const char*TObject::GetIconName() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TList*TGraph::GetListOfFunctions() const
virtual Color_tTAttMarker::GetMarkerColor() const
virtual Size_tTAttMarker::GetMarkerSize() const
virtual Style_tTAttMarker::GetMarkerStyle() const
Int_tTGraph::GetMaxSize() const
virtual Double_tTGraph::GetMean(Int_t axis = 1) const
Int_tTGraph::GetN() const
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
virtual voidTGraph::GetPoint(Int_t i, Double_t& x, Double_t& y) const
virtual Double_tTGraph::GetRMS(Int_t axis = 1) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*TGraph::GetX() const
TAxis*TGraph::GetXaxis() const
Double_t*TGraph::GetY() const
TAxis*TGraph::GetYaxis() 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 voidTGraph::InitExpo(Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::InitGaus(Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::InitPolynom(Double_t xmin = 0, Double_t xmax = 0)
virtual Int_tTGraph::InsertPoint()
virtual voidTObject::Inspect() const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTGraph::IsEditable() 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 voidTGraph::LeastSquareFit(Int_t m, Double_t* a, Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::LeastSquareLinearFit(Int_t n, Double_t& a0, Double_t& a1, Int_t& ifail, Double_t xmin = 0, Double_t xmax = 0)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Int_tTGraph::Merge(TCollection* list)
virtual voidTAttLine::Modify()
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)
TGraphBentErrors&operator=(const TGraphBentErrors&)
virtual voidPaint(Option_t* chopt = "")
virtual voidTGraph::PaintFit(TF1* fit)
virtual voidTGraph::PaintGraph(Int_t npoints, const Double_t* x, const Double_t* y, Option_t* option = "")
virtual voidTGraph::PaintGrapHist(Int_t npoints, const Double_t* x, const Double_t* y, Option_t* option = "")
virtual voidTGraph::PaintPolyLineHatches(Int_t n, const Double_t* x, const Double_t* y)
virtual voidTObject::Pop()
virtual voidPrint(Option_t* chopt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTGraph::RecursiveRemove(TObject* obj)
virtual Int_tTGraph::RemovePoint()
virtual Int_tTGraph::RemovePoint(Int_t ipoint)
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 voidSavePrimitive(ostream& out, Option_t* option = "")
virtual voidTGraph::Set(Int_t n)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidTGraph::SetEditable(Bool_t editable = kTRUE)
virtual voidTAttFill::SetFillAttributes()
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTGraph::SetHistogram(TH1* h)
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 voidTGraph::SetMaximum(Double_t maximum = -1111)
virtual voidTGraph::SetMinimum(Double_t minimum = -1111)
virtual voidTNamed::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTGraph::SetPoint(Int_t i, Double_t x, Double_t y)
virtual voidSetPointError(Double_t exl, Double_t exh, Double_t eyl, Double_t eyh, Double_t exld = 0, Double_t exhd = 0, Double_t eyld = 0, Double_t eyhd = 0)
virtual voidSetPointError(Int_t i, Double_t exl, Double_t exh, Double_t eyl, Double_t eyh, Double_t exld = 0, Double_t exhd = 0, Double_t eyld = 0, Double_t eyhd = 0)
virtual voidTGraph::SetTitle(const char* title = "")
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
voidTGraph::Smooth(Int_t npoints, Double_t* x, Double_t* y, Int_t drawtype)
virtual voidTGraph::Sort(Bool_t (*)(const TGraph*, Int_t, Int_t) greater = &TGraph::CompareX, Bool_t ascending = kTRUE, Int_t low = 0, Int_t high = -1111)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& 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 voidTGraph::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
voidTGraph::Zero(Int_t& k, Double_t AZ, Double_t BZ, Double_t E2, Double_t& X, Double_t& Y, Int_t maxiterations)
protected:
virtual Double_t**Allocate(Int_t size)
Double_t**TGraph::AllocateArrays(Int_t Narrays, Int_t arraySize)
virtual voidCopyAndRelease(Double_t** newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
virtual Bool_tCopyPoints(Double_t** arrays, Int_t ibegin, Int_t iend, Int_t obegin)
Bool_tCtorAllocate()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Double_t**TGraph::ExpandAndCopy(Int_t size, Int_t iend)
virtual voidFillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE)
voidTObject::MakeZombie()
Double_t**TGraph::ShrinkAndCopy(Int_t size, Int_t iend)
virtual voidSwapPoints(Int_t pos1, Int_t pos2)
static voidTGraph::SwapValues(Double_t* arr, Int_t pos1, Int_t pos2)

Data Members

public:
enum TGraph::[unnamed] { kClipFrame
kNotEditable
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_t*fEXhigh[fNpoints] array of X high errors
Double_t*fEXhighd[fNpoints] array of X high displacements
Double_t*fEXlow[fNpoints] array of X low errors
Double_t*fEXlowd[fNpoints] array of X low displacements
Double_t*fEYhigh[fNpoints] array of Y high errors
Double_t*fEYhighd[fNpoints] array of Y high displacements
Double_t*fEYlow[fNpoints] array of Y low errors
Double_t*fEYlowd[fNpoints] array of Y low displacements
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
TList*TGraph::fFunctionsPointer to list of functions (fits and user)
TH1F*TGraph::fHistogramPointer to histogram used for drawing axis
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
Color_tTAttMarker::fMarkerColorMarker color index
Size_tTAttMarker::fMarkerSizeMarker size
Style_tTAttMarker::fMarkerStyleMarker style
Int_tTGraph::fMaxSize!Current dimension of arrays fX and fY
Double_tTGraph::fMaximumMaximum value for plotting along y
Double_tTGraph::fMinimumMinimum value for plotting along y
TStringTNamed::fNameobject identifier
Int_tTGraph::fNpointsNumber of points <= fMaxSize
TStringTNamed::fTitleobject title
Double_t*TGraph::fX[fNpoints] array of X points
Double_t*TGraph::fY[fNpoints] array of Y points

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGraphBentErrors()
 TGraphBentErrors default constructor.
TGraphBentErrors(const TGraphBentErrors &gr)
 TGraphBentErrors copy constructor
TGraphBentErrors(Int_t n)
 TGraphBentErrors normal constructor.

  the arrays are preset to zero
TGraphBentErrors(Int_t n, const Float_t *x, const Float_t *y, const Float_t *exl, const Float_t *exh, const Float_t *eyl, const Float_t *eyh, const Float_t *exld, const Float_t *exhd, const Float_t *eyld, const Float_t *eyhd)
 TGraphBentErrors normal constructor.

 if exl,h or eyl,h are null, the corresponding arrays are preset to zero
TGraphBentErrors(Int_t n, const Double_t *x, const Double_t *y, const Double_t *exl, const Double_t *exh, const Double_t *eyl, const Double_t *eyh, const Double_t *exld, const Double_t *exhd, const Double_t *eyld, const Double_t *eyhd)
 TGraphBentErrors normal constructor.

 if exl,h or eyl,h are null, the corresponding arrays are preset to zero
~TGraphBentErrors()
 TGraphBentErrors default destructor.
void Apply(TF1* f)
 apply a function to all data points
 y = f(x,y)

 Errors are calculated as eyh = f(x,y+eyh)-f(x,y) and
 eyl = f(x,y)-f(x,y-eyl)

 Special treatment has to be applied for the functions where the
 role of "up" and "down" is reversed.
 function suggested/implemented by Miroslav Helbich <helbich@mail.desy.de>
void ComputeRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const
 Compute range.
void CopyAndRelease(Double_t** newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 Copy and release.
Bool_t CopyPoints(Double_t** arrays, Int_t ibegin, Int_t iend, Int_t obegin)
 Copy errors from fE*** to arrays[***]
 or to f*** Copy points.
Bool_t CtorAllocate(void)
 Should be called from ctors after fNpoints has been set
Double_t GetErrorX(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along X at point i.
Double_t GetErrorY(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along Y at point i.
Double_t GetErrorXhigh(Int_t bin) const
 Get high error on X[i].
Double_t GetErrorXlow(Int_t bin) const
 Get low error on X[i].
Double_t GetErrorYhigh(Int_t bin) const
 Get high error on Y[i].
Double_t GetErrorYlow(Int_t bin) const
 Get low error on Y[i].
void FillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE)
 Set zero values for point arrays in the range [begin, end)
void Paint(Option_t* chopt = "")
 Paint this TGraphBentErrors with its current attributes

 by default horizonthal and vertical small lines are drawn at
 the end of the error bars. if option "z" or "Z" is specified,
 these lines are not drawn.

 if option contains ">" an arrow is drawn at the end of the error bars
 if option contains "|>" a full arrow is drawn at the end of the error bars
 the size of the arrow is set to 2/3 of the marker size.

 By default, error bars are drawn. If option "X" is specified,
 the errors are not drawn (TGraph::Paint equivalent).

 if option "[]" is specified only the end vertical/horizonthal lines
 of the error bars are drawn. This option is interesting to superimpose
 systematic errors on top of a graph with statistical errors.
 if option "2" is specified error rectangles are drawn.

 if option "3" is specified a filled area is drawn through the end points >
 the vertical error bars.

 if option "4" is specified a smoothed filled area is drawn through the end
 points of the vertical error bars.
void Print(Option_t* chopt = "") const
 Print graph and errors values.
void SavePrimitive(ostream& out, Option_t* option = "")
 Save primitive as a C++ statement(s) on output stream out
void SetPointError(Double_t exl, Double_t exh, Double_t eyl, Double_t eyh, Double_t exld = 0, Double_t exhd = 0, Double_t eyld = 0, Double_t eyhd = 0)
 Set ex and ey values for point pointed by the mouse.
void SetPointError(Int_t i, Double_t exl, Double_t exh, Double_t eyl, Double_t eyh, Double_t exld = 0, Double_t exhd = 0, Double_t eyld = 0, Double_t eyhd = 0)
 Set ex and ey values for point number i.
void SwapPoints(Int_t pos1, Int_t pos2)
 Swap points.
Double_t ** Allocate(Int_t size)
Double_t * GetEXlow()
{return fEXlow;}
Double_t * GetEXhigh()
{return fEXhigh;}
Double_t * GetEYlow()
{return fEYlow;}
Double_t * GetEYhigh()
{return fEYhigh;}
Double_t * GetEXlowd()
{return fEXlowd;}
Double_t * GetEXhighd()
{return fEXhighd;}
Double_t * GetEYlowd()
{return fEYlowd;}
Double_t * GetEYhighd()
{return fEYhighd;}

Author: Dave Morrison 30/06/2003
Last update: root/graf:$Id: TGraphBentErrors.h 20882 2007-11-19 11:31:26Z rdm $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *

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.