12#ifndef ROOT_TGraphMultiErrors
13#define ROOT_TGraphMultiErrors
82 std::vector<std::vector<Float_t>> eyL, std::vector<std::vector<Float_t>> eyH,
85 const Float_t *exL,
const Float_t *exH, std::vector<std::vector<Float_t>> eyL,
88 std::vector<std::vector<Double_t>> eyL, std::vector<std::vector<Double_t>> eyH,
91 const Double_t *exL,
const Double_t *exH, std::vector<std::vector<Double_t>> eyL,
97 const Float_t *exL,
const Float_t *exH, std::vector<TArrayF> eyL, std::vector<TArrayF> eyH,
102 const Double_t *exL,
const Double_t *exH, std::vector<TArrayD> eyL, std::vector<TArrayD> eyH,
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Signed integer 4 bytes (int).
char Char_t
Character 1 byte (char).
short Width_t
Line width (short).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
short Color_t
Color number (short).
short Style_t
Style number (short).
float Float_t
Float 4 bytes (float).
const char Option_t
Option string (const char).
#define ClassDefOverride(name, id)
static unsigned int total
TVectorT< Double_t > TVectorD
TVectorT< Float_t > TVectorF
Array of doubles (64 bits per element).
Array of floats (32 bits per element).
virtual Color_t GetFillColor() const
Return the fill area color.
virtual Style_t GetFillStyle() const
Return the fill area style.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetFillColorAlpha(Color_t fcolor, Float_t falpha)
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
virtual Color_t GetLineColor() const
Return the line color.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual Width_t GetLineWidth() const
Return the line width.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual Style_t GetLineStyle() const
Return the line style.
virtual void SetLineColorAlpha(Color_t lcolor, Float_t lalpha)
Double_t * fEyLSum
! Array of summed Y low errors for fitting
TGraphMultiErrors(Int_t np, const Double_t *x, const Double_t *y, const Double_t *exL=nullptr, const Double_t *exH=nullptr, const Double_t *eyL=nullptr, const Double_t *eyH=nullptr, Int_t m=kOnlyFirst)
virtual void SetPointError(Int_t i, Int_t ne, Double_t exL, Double_t exH, const Double_t *eyL, const Double_t *eyH)
Int_t GetSumErrorsMode() const
virtual void SetFillStyle(Int_t e, Style_t fstyle)
Double_t * GetEYhigh() const override
virtual TAttFill * GetAttFill(Int_t e)
Double_t GetErrorX(Int_t i) const override
TGraphMultiErrors(Int_t np, Int_t ne, const Double_t *x, const Double_t *y, const Double_t *exL, const Double_t *exH, std::vector< std::vector< Double_t > > eyL, std::vector< std::vector< Double_t > > eyH, Int_t m=kOnlyFirst)
Double_t GetErrorXhigh(Int_t i) const override
Double_t GetErrorYlow(Int_t i) const override
void Divide(const TH1 *pass, const TH1 *total, Option_t *opt="cp")
TGraphMultiErrors(Int_t np, Int_t ne, const Double_t *x, const Double_t *y, const Double_t *exL, const Double_t *exH, std::vector< TArrayD > eyL, std::vector< TArrayD > eyH, Int_t m=kOnlyFirst)
std::vector< TAttLine > fAttLine
The AttLine attributes of the different errors.
TGraphMultiErrors(const TVectorF &tvX, const TVectorF &tvY, const TVectorF &tvExL, const TVectorF &tvExH, const TVectorF &tvEyL, const TVectorF &tvEyH, Int_t m=kOnlyFirst)
virtual void DeleteYError(Int_t e)
Double_t GetErrorXlow(Int_t i) const override
virtual TAttLine * GetAttLine(Int_t e)
virtual void SetEYlow(Int_t e, Int_t np, const Double_t *eyL)
void Print(Option_t *chopt="") const override
This method must be overridden when a class wants to print itself.
virtual void SetPointEXhigh(Int_t i, Double_t exH)
TGraphMultiErrors & operator=(const TGraphMultiErrors &tgme)
virtual void SetEYhigh(Int_t e, Int_t np, const Double_t *eyH)
virtual void SetPointEY(Int_t i, Int_t e, Double_t eyL, Double_t eyH)
void CopyAndRelease(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin) override
virtual void SetPointEYlow(Int_t i, Int_t ne, const Double_t *eyL)
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save a primitive as a C++ statement(s) on output stream "out".
TGraphMultiErrors(const TGraphMultiErrors &tgme)
virtual void SetLineColorAlpha(Int_t e, Color_t lcolor, Float_t lalpha)
Int_t fSumErrorsMode
How y errors are summed: kOnlyFirst = Only First; kSquareSum = Squared Sum; kSum = Absolute Addition.
virtual void SetPointEX(Int_t i, Double_t exL, Double_t exH)
TGraphMultiErrors(Int_t ne, const TVectorF &tvX, const TVectorF &tvY, const TVectorF &tvExL, const TVectorF &tvExH, const TVectorF *tvEyL, const TVectorF *tvEyH, Int_t m=kOnlyFirst)
virtual void SetAttFill(Int_t e, TAttFill *taf)
virtual Color_t GetLineColor(Int_t e) const
virtual void SetPointEYhigh(Int_t i, Int_t ne, const Double_t *eyH)
Double_t * GetEXhigh() const override
@ kAbsSum
Calculate the absolute sum of all errors.
@ kSquareSum
Calculate the square sum of all errors.
@ kOnlyFirst
Only take errors from first dimension.
virtual void SetPointEXlow(Int_t i, Double_t exL)
TGraphMultiErrors(const Char_t *name, const Char_t *title, Int_t np, const Double_t *x, const Double_t *y, const Double_t *exL=nullptr, const Double_t *exH=nullptr, const Double_t *eyL=nullptr, const Double_t *eyH=nullptr, Int_t m=kOnlyFirst)
Bool_t CopyPoints(Double_t **arrays, Int_t ibegin, Int_t iend, Int_t obegin) override
virtual void SetPointEYhigh(Int_t i, Int_t e, Double_t eyH)
Double_t * fExL
[fNpoints] array of X low errors
void FillZero(Int_t begin, Int_t end, Bool_t from_ctor=kTRUE) override
virtual void AddYError(Int_t np, const Double_t *eyL=nullptr, const Double_t *eyH=nullptr)
virtual void SetAttLine(Int_t e, TAttLine *tal)
virtual Double_t * GetEYhigh(Int_t e)
std::vector< TArrayD > fEyH
Two dimensional array of Y high errors.
TGraphMultiErrors(Int_t ne, const TVectorD &tvX, const TVectorD &tvY, const TVectorD &tvExL, const TVectorD &tvExH, const TVectorD *tvEyL, const TVectorD *tvEyH, Int_t m=kOnlyFirst)
void Scale(Double_t c1=1., Option_t *option="y") override
virtual Double_t GetErrorY(Int_t i, Int_t e) const
Double_t * GetEXlow() const override
virtual void SetPointError(Double_t exL, Double_t exH, Double_t eyL1, Double_t eyH1, Double_t eyL2=0., Double_t eyH2=0., Double_t eyL3=0., Double_t eyH3=0.)
virtual Double_t * GetEYlow(Int_t e)
TGraphMultiErrors(Int_t np, Int_t ne=1)
void CalcYErrorsSum() const
TGraphMultiErrors(const Char_t *name, const Char_t *title, Int_t np, Int_t ne, const Float_t *x, const Float_t *y, const Float_t *exL, const Float_t *exH, std::vector< std::vector< Float_t > > eyL, std::vector< std::vector< Float_t > > eyH, Int_t m=kOnlyFirst)
virtual void BayesDivide(const TH1 *pass, const TH1 *total, Option_t *opt="")
virtual void SetLineStyle(Int_t e, Style_t lstyle)
~TGraphMultiErrors() override
TGraphMultiErrors(const TVectorD &tvX, const TVectorD &tvY, const TVectorD &tvExL, const TVectorD &tvExH, const TVectorD &tvEyL, const TVectorD &tvEyH, Int_t m=kOnlyFirst)
Double_t * fEyHSum
! Array of summed Y high errors for fitting
virtual void SetFillColor(Int_t e, Color_t fcolor)
Double_t * GetEYlow() const override
virtual Double_t GetErrorYhigh(Int_t i, Int_t e) const
virtual Color_t GetFillColor(Int_t e) const
void Apply(TF1 *f) override
Int_t GetNYErrors() const
void SwapPoints(Int_t pos1, Int_t pos2) override
virtual void SetSumErrorsMode(Int_t m)
std::vector< TAttFill > fAttFill
The AttFill attributes of the different errors.
TGraphMultiErrors(const TH1 *th, Int_t ne=1)
void UpdateArrays(const std::vector< Int_t > &sorting_indices, Int_t numSortedPoints, Int_t low) override
virtual Width_t GetLineWidth(Int_t e) const
TGraphMultiErrors(const TH1 *pass, const TH1 *total, Int_t ne=1, Option_t *option="")
virtual void SetPointEY(Int_t i, Int_t ne, const Double_t *eyL, const Double_t *eyH)
TGraphMultiErrors(const Char_t *name, const Char_t *title, Int_t np, Int_t ne, const Double_t *x, const Double_t *y, const Double_t *exL, const Double_t *exH, std::vector< std::vector< Double_t > > eyL, std::vector< std::vector< Double_t > > eyH, Int_t m=kOnlyFirst)
TGraphMultiErrors(const Char_t *name, const Char_t *title, Int_t np, const Float_t *x, const Float_t *y, const Float_t *exL=nullptr, const Float_t *exH=nullptr, const Float_t *eyL=nullptr, const Float_t *eyH=nullptr, Int_t m=kOnlyFirst)
virtual void SetEY(Int_t e, Int_t np, const Double_t *eyL, const Double_t *eyH)
TGraphMultiErrors(const Char_t *name, const Char_t *title, Int_t np, Int_t ne, const Float_t *x, const Float_t *y, const Float_t *exL, const Float_t *exH, std::vector< TArrayF > eyL, std::vector< TArrayF > eyH, Int_t m=kOnlyFirst)
TGraphMultiErrors(const Char_t *name, const Char_t *title, Int_t np, Int_t ne, const Double_t *x, const Double_t *y, const Double_t *exL, const Double_t *exH, std::vector< TArrayD > eyL, std::vector< TArrayD > eyH, Int_t m=kOnlyFirst)
virtual Style_t GetFillStyle(Int_t e) const
TGraphMultiErrors(Int_t np, Int_t ne, const Float_t *x, const Float_t *y, const Float_t *exL, const Float_t *exH, std::vector< TArrayF > eyL, std::vector< TArrayF > eyH, Int_t m=kOnlyFirst)
TGraphMultiErrors(const Char_t *name, const Char_t *title)
Double_t * fExH
[fNpoints] array of X high errors
virtual void SetFillColorAlpha(Int_t e, Color_t fcolor, Float_t falpha)
TGraphMultiErrors(const Char_t *name, const Char_t *title, Int_t np, Int_t ne=1)
virtual void SetPointEYlow(Int_t i, Int_t e, Double_t eyL)
virtual Double_t GetErrorYlow(Int_t i, Int_t e) const
TGraphMultiErrors(Int_t np, const Float_t *x, const Float_t *y, const Float_t *exL=nullptr, const Float_t *exH=nullptr, const Float_t *eyL=nullptr, const Float_t *eyH=nullptr, Int_t m=kOnlyFirst)
TGraphMultiErrors(Int_t np, Int_t ne, const Float_t *x, const Float_t *y, const Float_t *exL, const Float_t *exH, std::vector< std::vector< Float_t > > eyL, std::vector< std::vector< Float_t > > eyH, Int_t m=kOnlyFirst)
void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const override
virtual Style_t GetLineStyle(Int_t e) const
Int_t fNYErrors
The amount of different y-errors.
std::vector< TArrayD > fEyL
Two dimensional array of Y low errors.
Double_t GetErrorY(Int_t i) const override
virtual void SetLineWidth(Int_t e, Width_t lwidth)
Double_t ** Allocate(Int_t size) override
Bool_t DoMerge(const TGraph *tg) override
virtual void SetLineColor(Int_t e, Color_t lcolor)
Double_t GetErrorYhigh(Int_t i) const override
TH1 is the base class of all histogram classes in ROOT.