Logo ROOT   6.16/01
Reference Guide
TGraphAsymmErrors.h
Go to the documentation of this file.
1// @(#)root/hist:$Id$
2// Author: Rene Brun 03/03/99
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TGraphAsymmErrors
13#define ROOT_TGraphAsymmErrors
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TGraphAsymmErrors //
19// //
20// a Graph with asymmetric error bars //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TGraph.h"
25
26class TGraphAsymmErrors : public TGraph {
27
28protected:
29 Double_t *fEXlow; ///<[fNpoints] array of X low errors
30 Double_t *fEXhigh; ///<[fNpoints] array of X high errors
31 Double_t *fEYlow; ///<[fNpoints] array of Y low errors
32 Double_t *fEYhigh; ///<[fNpoints] array of Y high errors
33
34 virtual void SwapPoints(Int_t pos1, Int_t pos2);
35
36 virtual Double_t** Allocate(Int_t size);
37 virtual void CopyAndRelease(Double_t **newarrays,
38 Int_t ibegin, Int_t iend, Int_t obegin);
39 virtual Bool_t CopyPoints(Double_t **arrays, Int_t ibegin, Int_t iend,
40 Int_t obegin);
42 virtual void FillZero(Int_t begin, Int_t end,
43 Bool_t from_ctor = kTRUE);
44 virtual Bool_t DoMerge(const TGraph * g);
45
46public:
49 TGraphAsymmErrors(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);
50 TGraphAsymmErrors(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);
51 TGraphAsymmErrors(const TVectorF &vx, const TVectorF &vy, const TVectorF &vexl, const TVectorF &vexh, const TVectorF &veyl, const TVectorF &veyh);
52 TGraphAsymmErrors(const TVectorD &vx, const TVectorD &vy, const TVectorD &vexl, const TVectorD &vexh, const TVectorD &veyl, const TVectorD &veyh);
55 TGraphAsymmErrors(const TH1 *h);
56 TGraphAsymmErrors(const TH1* pass, const TH1* total, Option_t *option="");
57 TGraphAsymmErrors(const char *filename, const char *format="%lg %lg %lg %lg %lg %lg", Option_t *option="");
58
59 virtual ~TGraphAsymmErrors();
60
61 virtual void Apply(TF1 *f);
62 virtual void BayesDivide(const TH1* pass, const TH1* total, Option_t *opt="");
63 virtual void Divide(const TH1* pass, const TH1* total, Option_t *opt="cp");
64 virtual void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const;
65 Double_t GetErrorX(Int_t bin) const;
66 Double_t GetErrorY(Int_t bin) const;
71 Double_t *GetEXlow() const {return fEXlow;}
72 Double_t *GetEXhigh() const {return fEXhigh;}
73 Double_t *GetEYlow() const {return fEYlow;}
74 Double_t *GetEYhigh() const {return fEYhigh;}
75 virtual Int_t Merge(TCollection* list);
76 virtual void Print(Option_t *chopt="") const;
77 virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
78 virtual void SetPointError(Double_t exl, Double_t exh, Double_t eyl, Double_t eyh); // *MENU*
79 virtual void SetPointError(Int_t i, Double_t exl, Double_t exh, Double_t eyl, Double_t eyh);
80 virtual void SetPointEXlow(Int_t i, Double_t exl);
81 virtual void SetPointEXhigh(Int_t i, Double_t exh);
82 virtual void SetPointEYlow(Int_t i, Double_t eyl);
83 virtual void SetPointEYhigh(Int_t i, Double_t eyh);
84
85 ClassDef(TGraphAsymmErrors,3) //A graph with asymmetric error bars
86};
87
89 return AllocateArrays(6, size);
90}
91
92#endif
#define f(i)
Definition: RSha256.hxx:104
#define g(i)
Definition: RSha256.hxx:105
#define h(i)
Definition: RSha256.hxx:106
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:324
static unsigned int total
float xmin
Definition: THbookFile.cxx:93
float ymin
Definition: THbookFile.cxx:93
float xmax
Definition: THbookFile.cxx:93
float ymax
Definition: THbookFile.cxx:93
Collection abstract base class.
Definition: TCollection.h:63
1-Dim function class
Definition: TF1.h:211
TGraph with asymmetric error bars.
virtual void Print(Option_t *chopt="") const
Print graph and errors values.
virtual Double_t ** Allocate(Int_t size)
Double_t * GetEXhigh() const
virtual void SetPointEYlow(Int_t i, Double_t eyl)
Set EYlow for point i.
Double_t * GetEYlow() const
virtual void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const
Compute Range.
Double_t * fEXhigh
[fNpoints] array of X high errors
virtual ~TGraphAsymmErrors()
TGraphAsymmErrors default destructor.
virtual void Divide(const TH1 *pass, const TH1 *total, Option_t *opt="cp")
Fill this TGraphAsymmErrors by dividing two 1-dimensional histograms pass/total.
Bool_t CtorAllocate()
Should be called from ctors after fNpoints has been set Note: This function should be called only fro...
virtual void SetPointError(Double_t exl, Double_t exh, Double_t eyl, Double_t eyh)
Set ex and ey values for point pointed by the mouse.
Double_t GetErrorYhigh(Int_t i) const
Get high error on Y.
virtual void CopyAndRelease(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
Copy and release.
Double_t * fEYhigh
[fNpoints] array of Y high errors
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
virtual void SetPointEXlow(Int_t i, Double_t exl)
Set EXlow for point i.
Double_t GetErrorYlow(Int_t i) const
Get low error on Y.
virtual void SetPointEYhigh(Int_t i, Double_t eyh)
Set EYhigh for point i.
virtual void FillZero(Int_t begin, Int_t end, Bool_t from_ctor=kTRUE)
Set zero values for point arrays in the range [begin, end)
virtual void BayesDivide(const TH1 *pass, const TH1 *total, Option_t *opt="")
This function is only kept for backward compatibility.
Double_t * GetEXlow() const
Double_t GetErrorXlow(Int_t i) const
Get low error on X.
Double_t * fEYlow
[fNpoints] array of Y low errors
Double_t GetErrorXhigh(Int_t i) const
Get high error on X.
virtual void Apply(TF1 *f)
Apply a function to all data points y = f(x,y)
virtual Int_t Merge(TCollection *list)
Adds all graphs with asymmetric errors from the collection to this graph.
Double_t * fEXlow
[fNpoints] array of X low errors
Double_t GetErrorY(Int_t bin) const
This function is called by GraphFitChisquare.
virtual Bool_t DoMerge(const TGraph *g)
protected function to perform the merge operation of a graph with asymmetric errors
Double_t * GetEYhigh() const
virtual void SetPointEXhigh(Int_t i, Double_t exh)
Set EXhigh for point i.
virtual 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.
virtual void SwapPoints(Int_t pos1, Int_t pos2)
Swap points.
TGraphAsymmErrors()
TGraphAsymmErrors default constructor.
TGraphAsymmErrors & operator=(const TGraphAsymmErrors &gr)
TGraphAsymmErrors assignment operator.
Double_t GetErrorX(Int_t bin) const
This function is called by GraphFitChisquare.
A Graph is a graphics object made of two arrays X and Y with npoints each.
Definition: TGraph.h:41
Double_t ** AllocateArrays(Int_t Narrays, Int_t arraySize)
Allocate arrays.
Definition: TGraph.cxx:531
The TH1 histogram class.
Definition: TH1.h:56
TVectorT.
Definition: TVectorT.h:27
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
const Int_t n
Definition: legend1.C:16
TGraphErrors * gr
Definition: legend1.C:25