Logo ROOT  
Reference Guide
RooCurve Class Reference

A RooCurve is a one-dimensional graphical representation of a real-valued function.

A curve is approximated by straight line segments with end points chosen to give a "good" approximation to the true curve. The goodness of the approximation is controlled by a precision and a resolution parameter.

A RooCurve derives from TGraph, so it can either be drawn as a line (default) or as points:

RooPlot *p = y.plotOn(x.frame());
p->getAttMarker("curve_y")->SetMarkerStyle(20);
p->setDrawOptions("curve_y","PL");
p->Draw();

To retrieve a RooCurve from a RooPlot, use RooPlot::getCurve().

Definition at line 32 of file RooCurve.h.

Public Types

enum  WingMode { NoWings =0, Straight =1, Extended =2 }
 
- Public Types inherited from TGraph
enum  EStatusBits {
  kClipFrame = BIT(10), kResetHisto = BIT(17), kNotEditable = BIT(18), kIsSortedX = BIT(19),
  kIsHighlight = BIT(20)
}
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kInconsistent = 0x08000000,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5),
  kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
- Public Types inherited from RooPrintable
enum  ContentsOption {
  kName =1, kClassName =2, kValue =4, kArgs =8,
  kExtras =16, kAddress =32, kTitle =64, kCollectionHeader =128
}
 
enum  StyleOption {
  kInline =1, kSingleLine =2, kStandard =3, kVerbose =4,
  kTreeStructure =5
}
 

Public Member Functions

 RooCurve ()
 Default constructor. More...
 
 RooCurve (const char *name, const char *title, const RooAbsFunc &func, Double_t xlo, Double_t xhi, UInt_t minPoints, Double_t prec=1e-3, Double_t resolution=1e-3, Bool_t shiftToZero=kFALSE, WingMode wmode=Extended, Int_t nEvalError=-1, Int_t doEEVal=kFALSE, Double_t eeVal=0)
 Create a 1-dim curve of the value of the specified real-valued expression as a function of x. More...
 
 RooCurve (const char *name, const char *title, const RooCurve &c1, const RooCurve &c2, Double_t scale1=1., Double_t scale2=1.)
 Constructor of a curve as sum of two other curves. More...
 
 RooCurve (const RooAbsReal &func, RooAbsRealLValue &x, Double_t xlo, Double_t xhi, Int_t xbins, Double_t scaleFactor=1, const RooArgSet *normVars=0, Double_t prec=1e-3, Double_t resolution=1e-3, Bool_t shiftToZero=kFALSE, WingMode wmode=Extended, Int_t nEvalError=-1, Int_t doEEVal=kFALSE, Double_t eeVal=0, Bool_t showProgress=kFALSE)
 Create a 1-dim curve of the value of the specified real-valued expression as a function of x. More...
 
virtual ~RooCurve ()
 Destructor. More...
 
void addPoint (Double_t x, Double_t y)
 Add a point with the specified coordinates. Update our y-axis limits. More...
 
Double_t average (Double_t lo, Double_t hi) const
 Return average curve value in [xFirst,xLast] by integrating curve between points and dividing by xLast-xFirst. More...
 
Double_t chiSquare (const RooHist &hist, int nFitParam) const
 Calculate the chi^2/NDOF of this curve with respect to the histogram 'hist' accounting nFitParam floating parameters in case the curve was the result of a fit. More...
 
Int_t findPoint (Double_t value, Double_t tolerance=1e-10) const
 Find the nearest point to xvalue. More...
 
Double_t getFitRangeBinW () const
 Get the bin width associated with this plotable object. More...
 
Double_t getFitRangeNEvt () const
 Return the number of events associated with the plotable object, it is always 1 for curves. More...
 
Double_t getFitRangeNEvt (Double_t xlo, Double_t xhi) const
 Return the number of events associated with the plotable object, in the given range. More...
 
Double_t interpolate (Double_t x, Double_t tolerance=1e-10) const
 Return linearly interpolated value of curve at xvalue. More...
 
Bool_t isIdentical (const RooCurve &other, Double_t tol=1e-6) const
 Return true if curve is identical to other curve allowing for given absolute tolerance on each point compared point. More...
 
RooCurvemakeErrorBand (const std::vector< RooCurve * > &plusVar, const std::vector< RooCurve * > &minusVar, const TMatrixD &V, Double_t Z=1) const
 Construct filled RooCurve represented error band represent the error added in quadrature defined by the curves arguments plusVar and minusVar corresponding to one-sigma variations of each parameter. More...
 
RooCurvemakeErrorBand (const std::vector< RooCurve * > &variations, Double_t Z=1) const
 Construct filled RooCurve represented error band that captures alpha% of the variations of the curves passed through argument variations, where the percentage alpha corresponds to the central interval fraction of a significance Z. More...
 
virtual void Print (Option_t *options=0) const
 Print graph values. More...
 
virtual void printClassName (std::ostream &os) const
 Print the class name of this curve. More...
 
virtual void printMultiline (std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
 Print the details of this curve. More...
 
virtual void printName (std::ostream &os) const
 Print name of object. More...
 
virtual void printTitle (std::ostream &os) const
 Print the title of this curve. More...
 
- Public Member Functions inherited from TGraph
 TGraph ()
 Graph default constructor. More...
 
 TGraph (const char *filename, const char *format="%lg %lg", Option_t *option="")
 Graph constructor reading input from filename. More...
 
 TGraph (const TF1 *f, Option_t *option="")
 Graph constructor importing its parameters from the TF1 object passed as argument. More...
 
 TGraph (const TGraph &gr)
 Copy constructor for this graph. More...
 
 TGraph (const TH1 *h)
 Graph constructor importing its parameters from the TH1 object passed as argument. More...
 
 TGraph (const TVectorD &vx, const TVectorD &vy)
 Graph constructor with two vectors of doubles in input A graph is build with the X coordinates taken from vx and Y coord from vy The number of points in the graph is the minimum of number of points in vx and vy. More...
 
 TGraph (const TVectorF &vx, const TVectorF &vy)
 Graph constructor with two vectors of floats in input A graph is build with the X coordinates taken from vx and Y coord from vy The number of points in the graph is the minimum of number of points in vx and vy. More...
 
 TGraph (Int_t n)
 Constructor with only the number of points set the arrays x and y will be set later. More...
 
 TGraph (Int_t n, const Double_t *x, const Double_t *y)
 Graph normal constructor with doubles. More...
 
 TGraph (Int_t n, const Float_t *x, const Float_t *y)
 Graph normal constructor with floats. More...
 
 TGraph (Int_t n, const Int_t *x, const Int_t *y)
 Graph normal constructor with ints. More...
 
virtual ~TGraph ()
 Graph default destructor. More...
 
virtual void AddPoint (Double_t x, Double_t y)
 Append a new point to the graph. More...
 
virtual void Apply (TF1 *f)
 Apply function f to all the data points f may be a 1-D function TF1 or 2-d function TF2 The Y values of the graph are replaced by the new values computed using the function. More...
 
virtual void Browse (TBrowser *b)
 Browse. More...
 
virtual Double_t Chisquare (TF1 *f1, Option_t *option="") const
 Return the chisquare of this graph with respect to f1. More...
 
virtual void ComputeRange (Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const
 Compute the x/y range of the points in this graph. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Compute distance from point px,py to a graph. More...
 
virtual void Draw (Option_t *chopt="")
 Draw this graph with its current attributes. More...
 
virtual void DrawGraph (Int_t n, const Double_t *x=0, const Double_t *y=0, Option_t *option="")
 Draw this graph with new attributes. More...
 
virtual void DrawGraph (Int_t n, const Float_t *x, const Float_t *y, Option_t *option="")
 Draw this graph with new attributes. More...
 
virtual void DrawGraph (Int_t n, const Int_t *x, const Int_t *y, Option_t *option="")
 Draw this graph with new attributes. More...
 
virtual void DrawPanel ()
 Display a panel with all graph drawing options. More...
 
virtual Double_t Eval (Double_t x, TSpline *spline=0, Option_t *option="") const
 Interpolate points in this graph at x using a TSpline. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to one event. More...
 
virtual void Expand (Int_t newsize)
 If array sizes <= newsize, expand storage to 2*newsize. More...
 
virtual void Expand (Int_t newsize, Int_t step)
 If graph capacity is less than newsize points then make array sizes equal to least multiple of step to contain newsize points. More...
 
virtual TObjectFindObject (const char *name) const
 Search object named name in the list of functions. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Search object obj in the list of functions. More...
 
virtual TFitResultPtr Fit (const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
 Fit this graph with function with name fname. More...
 
virtual TFitResultPtr Fit (TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
 Fit this graph with function f1. More...
 
virtual void FitPanel ()
 Display a GUI panel with all graph fit options. More...
 
virtual Double_t GetCorrelationFactor () const
 Return graph correlation factor. More...
 
virtual Double_t GetCovariance () const
 Return covariance of vectors x,y. More...
 
Bool_t GetEditable () const
 Return kTRUE if kNotEditable bit is not set, kFALSE otherwise. More...
 
virtual Double_t GetErrorX (Int_t bin) const
 This function is called by GraphFitChisquare. More...
 
virtual Double_t GetErrorXhigh (Int_t bin) const
 This function is called by GraphFitChisquare. More...
 
virtual Double_t GetErrorXlow (Int_t bin) const
 This function is called by GraphFitChisquare. More...
 
virtual Double_t GetErrorY (Int_t bin) const
 This function is called by GraphFitChisquare. More...
 
virtual Double_t GetErrorYhigh (Int_t bin) const
 This function is called by GraphFitChisquare. More...
 
virtual Double_t GetErrorYlow (Int_t bin) const
 This function is called by GraphFitChisquare. More...
 
virtual Double_tGetEX () const
 
virtual Double_tGetEXhigh () const
 
virtual Double_tGetEXhighd () const
 
virtual Double_tGetEXlow () const
 
virtual Double_tGetEXlowd () const
 
virtual Double_tGetEY () const
 
virtual Double_tGetEYhigh () const
 
virtual Double_tGetEYhighd () const
 
virtual Double_tGetEYlow () const
 
virtual Double_tGetEYlowd () const
 
TF1GetFunction (const char *name) const
 Return pointer to function with name. More...
 
TH1FGetHistogram () const
 Returns a pointer to the histogram used to draw the axis Takes into account the two following cases. More...
 
TListGetListOfFunctions () const
 
Double_t GetMaximum () const
 
Int_t GetMaxSize () const
 
virtual Double_t GetMean (Int_t axis=1) const
 Return mean value of X (axis=1) or Y (axis=2) More...
 
Double_t GetMinimum () const
 
Int_t GetN () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Implementation to get information on point of graph at cursor position Adapted from class TH1. More...
 
virtual Int_t GetPoint (Int_t i, Double_t &x, Double_t &y) const
 Get x and y values for point number i. More...
 
virtual Double_t GetPointX (Int_t i) const
 Get x value for point i. More...
 
virtual Double_t GetPointY (Int_t i) const
 Get y value for point i. More...
 
virtual Double_t GetRMS (Int_t axis=1) const
 Return RMS of X (axis=1) or Y (axis=2) More...
 
Double_tGetX () const
 
TAxisGetXaxis () const
 Get x axis of the graph. More...
 
Double_tGetY () const
 
TAxisGetYaxis () const
 Get y axis of the graph. More...
 
virtual void InitExpo (Double_t xmin=0, Double_t xmax=0)
 Compute Initial values of parameters for an exponential. More...
 
virtual void InitGaus (Double_t xmin=0, Double_t xmax=0)
 Compute Initial values of parameters for a gaussian. More...
 
virtual void InitPolynom (Double_t xmin=0, Double_t xmax=0)
 Compute Initial values of parameters for a polynom. More...
 
virtual Int_t InsertPoint ()
 Insert a new point at the mouse position. More...
 
virtual void InsertPointBefore (Int_t ipoint, Double_t x, Double_t y)
 Insert a new point with coordinates (x,y) before the point number ipoint. More...
 
virtual Double_t Integral (Int_t first=0, Int_t last=-1) const
 Integrate the TGraph data within a given (index) range. More...
 
virtual Bool_t IsEditable () const
 
virtual Bool_t IsHighlight () const
 
virtual Int_t IsInside (Double_t x, Double_t y) const
 Return 1 if the point (x,y) is inside the polygon defined by the graph vertices 0 otherwise. More...
 
virtual void LeastSquareFit (Int_t m, Double_t *a, Double_t xmin=0, Double_t xmax=0)
 Least squares polynomial fitting without weights. More...
 
virtual void LeastSquareLinearFit (Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin=0, Double_t xmax=0)
 Least square linear fit without weights. More...
 
virtual Int_t Merge (TCollection *list)
 Adds all graphs from the collection to this graph. More...
 
virtual void MovePoints (Double_t dx, Double_t dy, Bool_t logx=kFALSE, Bool_t logy=kFALSE)
 Move all graph points on specified values dx,dy If log argument specified, calculation done in logarithmic scale like: new_value = exp( log(old_value) + delta );. More...
 
TGraphoperator= (const TGraph &)
 Equal operator for this graph. More...
 
virtual void Paint (Option_t *chopt="")
 Draw this graph with its current attributes. More...
 
void PaintGraph (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
 Draw the (x,y) as a graph. More...
 
void PaintGrapHist (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt)
 Draw the (x,y) as a histogram. More...
 
virtual void PaintStats (TF1 *fit)
 Draw the stats. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove object from the list of functions. More...
 
virtual Int_t RemovePoint ()
 Delete point close to the mouse position. More...
 
virtual Int_t RemovePoint (Int_t ipoint)
 Delete point number ipoint. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save primitive as a C++ statement(s) on output stream out. More...
 
virtual void Set (Int_t n)
 Set number of points in the graph Existing coordinates are preserved New coordinates above fNpoints are preset to 0. More...
 
virtual void SetEditable (Bool_t editable=kTRUE)
 if editable=kFALSE, the graph cannot be modified with the mouse by default a TGraph is editable More...
 
virtual void SetHighlight (Bool_t set=kTRUE)
 Set highlight (enable/disble) mode for the graph by default highlight mode is disable. More...
 
virtual void SetHistogram (TH1F *h)
 
virtual void SetMaximum (Double_t maximum=-1111)
 Set the maximum of the graph. More...
 
virtual void SetMinimum (Double_t minimum=-1111)
 Set the minimum of the graph. More...
 
virtual void SetName (const char *name="")
 Set graph name. More...
 
virtual void SetNameTitle (const char *name="", const char *title="")
 Set graph name and title. More...
 
virtual void SetPoint (Int_t i, Double_t x, Double_t y)
 Set x and y values for point number i. More...
 
virtual void SetPointX (Int_t i, Double_t x)
 Set x value for point i. More...
 
virtual void SetPointY (Int_t i, Double_t y)
 Set y value for point i. More...
 
virtual void SetTitle (const char *title="")
 Change (i.e. More...
 
virtual void Sort (Bool_t(*greater)(const TGraph *, Int_t, Int_t)=&TGraph::CompareX, Bool_t ascending=kTRUE, Int_t low=0, Int_t high=-1111)
 Sorts the points of this TGraph using in-place quicksort (see e.g. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this graph This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
void Zero (Int_t &k, Double_t AZ, Double_t BZ, Double_t E2, Double_t &X, Double_t &Y, Int_t maxiterations)
 Find zero of a continuous function. More...
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor. More...
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor. More...
 
virtual void Clear (Option_t *option="")
 Set name and title to empty strings (""). More...
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects. More...
 
virtual void Copy (TObject &named) const
 Copy this to obj. More...
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t IsSortable () const
 
virtual void ls (Option_t *option="") const
 List TNamed name and title. More...
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator. More...
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
- Public Member Functions inherited from TAttLine
 TAttLine ()
 AttLine default constructor. More...
 
 TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth)
 AttLine normal constructor. More...
 
virtual ~TAttLine ()
 AttLine destructor. More...
 
void Copy (TAttLine &attline) const
 Copy this line attributes to a new TAttLine. More...
 
Int_t DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
 Compute distance from point px,py to a line. More...
 
virtual Color_t GetLineColor () const
 Return the line color. More...
 
virtual Style_t GetLineStyle () const
 Return the line style. More...
 
virtual Width_t GetLineWidth () const
 Return the line width. More...
 
virtual void Modify ()
 Change current line attributes if necessary. More...
 
virtual void ResetAttLine (Option_t *option="")
 Reset this line attributes to default values. More...
 
virtual void SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
 Save line attributes as C++ statement(s) on output stream out. More...
 
virtual void SetLineAttributes ()
 Invoke the DialogCanvas Line attributes. More...
 
virtual void SetLineColor (Color_t lcolor)
 Set the line color. More...
 
virtual void SetLineColorAlpha (Color_t lcolor, Float_t lalpha)
 Set a transparent line color. More...
 
virtual void SetLineStyle (Style_t lstyle)
 Set the line style. More...
 
virtual void SetLineWidth (Width_t lwidth)
 Set the line width. More...
 
- Public Member Functions inherited from TAttFill
 TAttFill ()
 AttFill default constructor. More...
 
 TAttFill (Color_t fcolor, Style_t fstyle)
 AttFill normal constructor. More...
 
virtual ~TAttFill ()
 AttFill destructor. More...
 
void Copy (TAttFill &attfill) const
 Copy this fill attributes to a new TAttFill. More...
 
virtual Color_t GetFillColor () const
 Return the fill area color. More...
 
virtual Style_t GetFillStyle () const
 Return the fill area style. More...
 
virtual Bool_t IsTransparent () const
 
virtual void Modify ()
 Change current fill area attributes if necessary. More...
 
virtual void ResetAttFill (Option_t *option="")
 Reset this fill attributes to default values. More...
 
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
 Save fill attributes as C++ statement(s) on output stream out. More...
 
virtual void SetFillAttributes ()
 Invoke the DialogCanvas Fill attributes. More...
 
virtual void SetFillColor (Color_t fcolor)
 Set the fill area color. More...
 
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
 Set a transparent fill color. More...
 
virtual void SetFillStyle (Style_t fstyle)
 Set the fill area style. More...
 
- Public Member Functions inherited from TAttMarker
 TAttMarker ()
 TAttMarker default constructor. More...
 
 TAttMarker (Color_t color, Style_t style, Size_t msize)
 TAttMarker normal constructor. More...
 
virtual ~TAttMarker ()
 TAttMarker destructor. More...
 
void Copy (TAttMarker &attmarker) const
 Copy this marker attributes to a new TAttMarker. More...
 
virtual Color_t GetMarkerColor () const
 Return the marker color. More...
 
virtual Size_t GetMarkerSize () const
 Return the marker size. More...
 
virtual Style_t GetMarkerStyle () const
 Return the marker style. More...
 
virtual void Modify ()
 Change current marker attributes if necessary. More...
 
virtual void ResetAttMarker (Option_t *toption="")
 Reset this marker attributes to the default values. More...
 
virtual void SaveMarkerAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
 Save line attributes as C++ statement(s) on output stream out. More...
 
virtual void SetMarkerAttributes ()
 Invoke the DialogCanvas Marker attributes. More...
 
virtual void SetMarkerColor (Color_t mcolor=1)
 Set the marker color. More...
 
virtual void SetMarkerColorAlpha (Color_t mcolor, Float_t malpha)
 Set a transparent marker color. More...
 
virtual void SetMarkerSize (Size_t msize=1)
 Set the marker size. More...
 
virtual void SetMarkerStyle (Style_t mstyle=1)
 Set the marker style. More...
 
- Public Member Functions inherited from RooPlotable
 RooPlotable ()
 
virtual ~RooPlotable ()
 
TObjectcrossCast ()
 Return cast of RooPlotable as TObject. More...
 
const char * getYAxisLabel () const
 
Double_t getYAxisMax () const
 
Double_t getYAxisMin () const
 
void setYAxisLabel (const char *label)
 
void setYAxisLimits (Double_t ymin, Double_t ymax)
 
void updateYAxisLimits (Double_t y)
 
- Public Member Functions inherited from RooPrintable
 RooPrintable ()
 
virtual ~RooPrintable ()
 
virtual Int_t defaultPrintContents (Option_t *opt) const
 Default choice of contents to be printed (name and value) More...
 
virtual StyleOption defaultPrintStyle (Option_t *opt) const
 
virtual void printAddress (std::ostream &os) const
 Print class name of object. More...
 
virtual void printArgs (std::ostream &os) const
 Interface for printing of object arguments. More...
 
virtual void printExtras (std::ostream &os) const
 Interface to print extras of object. More...
 
virtual void printStream (std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
 Print description of object on ostream, printing contents set by contents integer, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'. More...
 
virtual void printTree (std::ostream &os, TString indent="") const
 Interface for tree structure printing of object. More...
 
virtual void printValue (std::ostream &os) const
 Interface to print value of object. More...
 

Protected Member Functions

void addPoints (const RooAbsFunc &func, Double_t xlo, Double_t xhi, Int_t minPoints, Double_t prec, Double_t resolution, WingMode wmode, Int_t numee=0, Bool_t doEEVal=kFALSE, Double_t eeVal=0., std::list< Double_t > *samplingHint=0)
 Add points calculated with the specified function, over the range (xlo,xhi). More...
 
void addRange (const RooAbsFunc &func, Double_t x1, Double_t x2, Double_t y1, Double_t y2, Double_t minDy, Double_t minDx, Int_t numee=0, Bool_t doEEVal=kFALSE, Double_t eeVal=0.)
 Fill the range (x1,x2) with points calculated using func(&x). More...
 
void calcBandInterval (const std::vector< RooCurve * > &plusVar, const std::vector< RooCurve * > &minusVar, Int_t i, const TMatrixD &V, Double_t Z, Double_t &lo, Double_t &hi) const
 Retrieve variation points from curves. More...
 
void calcBandInterval (const std::vector< RooCurve * > &variations, Int_t i, Double_t Z, Double_t &lo, Double_t &hi, Bool_t approxGauss) const
 
void initialize ()
 Perform initialization that is common to all curves. More...
 
void shiftCurveToZero (Double_t prevYMax)
 Find lowest point in curve and move all points in curve so that lowest point will go exactly through zero. More...
 
- Protected Member Functions inherited from TGraph
virtual Double_t ** Allocate (Int_t newsize)
 Allocate internal data structures for newsize points. More...
 
Double_t ** AllocateArrays (Int_t Narrays, Int_t arraySize)
 Allocate arrays. More...
 
virtual void CopyAndRelease (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin != iend. More...
 
virtual Bool_t CopyPoints (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin != iend. More...
 
Bool_t CtorAllocate ()
 In constructors set fNpoints than call this method. More...
 
virtual Bool_t DoMerge (const TGraph *g)
 protected function to perform the merge operation of a graph More...
 
Double_t ** ExpandAndCopy (Int_t size, Int_t iend)
 if size > fMaxSize allocate new arrays of 2*size points and copy iend first points. More...
 
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) Should be redefined in descendant classes. More...
 
Double_t ** ShrinkAndCopy (Int_t size, Int_t iend)
 if size*2 <= fMaxSize allocate new arrays of size points, copy points [0,oend). More...
 
virtual void SwapPoints (Int_t pos1, Int_t pos2)
 Swap points. More...
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 
void MakeZombie ()
 

Protected Attributes

Bool_t _showProgress
 
- Protected Attributes inherited from TGraph
TListfFunctions
 Pointer to list of functions (fits and user) More...
 
TH1FfHistogram
 Pointer to histogram used for drawing axis. More...
 
Double_t fMaximum
 Maximum value for plotting along y. More...
 
Int_t fMaxSize
 !Current dimension of arrays fX and fY More...
 
Double_t fMinimum
 Minimum value for plotting along y. More...
 
Int_t fNpoints
 Number of points <= fMaxSize. More...
 
Double_tfX
 [fNpoints] array of X points More...
 
Double_tfY
 [fNpoints] array of Y points More...
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 
- Protected Attributes inherited from TAttLine
Color_t fLineColor
 Line color. More...
 
Style_t fLineStyle
 Line style. More...
 
Width_t fLineWidth
 Line width. More...
 
- Protected Attributes inherited from TAttFill
Color_t fFillColor
 Fill area color. More...
 
Style_t fFillStyle
 Fill area style. More...
 
- Protected Attributes inherited from TAttMarker
Color_t fMarkerColor
 Marker color. More...
 
Size_t fMarkerSize
 Marker size. More...
 
Style_t fMarkerStyle
 Marker style. More...
 
- Protected Attributes inherited from RooPlotable
Double_t _normValue
 
TString _yAxisLabel
 
Double_t _ymax
 
Double_t _ymin
 

Additional Inherited Members

- Static Public Member Functions inherited from TGraph
static Bool_t CompareArg (const TGraph *gr, Int_t left, Int_t right)
 Return kTRUE if point number "left"'s argument (angle with respect to positive x-axis) is bigger than that of point number "right". More...
 
static Bool_t CompareRadius (const TGraph *gr, Int_t left, Int_t right)
 Return kTRUE if point number "left"'s distance to origin is bigger than that of point number "right". More...
 
static Bool_t CompareX (const TGraph *gr, Int_t left, Int_t right)
 Return kTRUE if fX[left] > fX[right]. Can be used by Sort. More...
 
static Bool_t CompareY (const TGraph *gr, Int_t left, Int_t right)
 Return kTRUE if fY[left] > fY[right]. Can be used by Sort. More...
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Static Public Member Functions inherited from TAttMarker
static Width_t GetMarkerLineWidth (Style_t style)
 Internal helper function that returns the line width of the given marker style (0 = filled marker) More...
 
static Style_t GetMarkerStyleBase (Style_t style)
 Internal helper function that returns the corresponding marker style with line width 1 for the given style. More...
 
- Static Public Member Functions inherited from RooPrintable
static std::ostream & defaultPrintStream (std::ostream *os=0)
 Return a reference to the current default stream to use in Print(). More...
 
static void nameFieldLength (Int_t newLen)
 Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount. More...
 
- Static Protected Member Functions inherited from TGraph
static void SwapValues (Double_t *arr, Int_t pos1, Int_t pos2)
 Swap values. More...
 
- Static Protected Attributes inherited from RooPrintable
static Int_t _nameLength
 

#include <RooCurve.h>

Inheritance diagram for RooCurve:
[legend]

Member Enumeration Documentation

◆ WingMode

Enumerator
NoWings 
Straight 
Extended 

Definition at line 35 of file RooCurve.h.

Constructor & Destructor Documentation

◆ RooCurve() [1/4]

RooCurve::RooCurve ( )

Default constructor.

Definition at line 69 of file RooCurve.cxx.

◆ RooCurve() [2/4]

RooCurve::RooCurve ( const RooAbsReal f,
RooAbsRealLValue x,
Double_t  xlo,
Double_t  xhi,
Int_t  xbins,
Double_t  scaleFactor = 1,
const RooArgSet normVars = 0,
Double_t  prec = 1e-3,
Double_t  resolution = 1e-3,
Bool_t  shiftToZero = kFALSE,
WingMode  wmode = Extended,
Int_t  nEvalError = -1,
Int_t  doEEVal = kFALSE,
Double_t  eeVal = 0,
Bool_t  showProg = kFALSE 
)

Create a 1-dim curve of the value of the specified real-valued expression as a function of x.

Use the optional precision parameter to control how precisely the smooth curve is rasterized. Use the optional argument set to specify how the expression should be normalized. Use the optional scale factor to rescale the expression after normalization. If shiftToZero is set, the entire curve is shifted down to make the lowest point of the curve go through zero.

Definition at line 83 of file RooCurve.cxx.

◆ RooCurve() [3/4]

RooCurve::RooCurve ( const char *  name,
const char *  title,
const RooAbsFunc func,
Double_t  xlo,
Double_t  xhi,
UInt_t  minPoints,
Double_t  prec = 1e-3,
Double_t  resolution = 1e-3,
Bool_t  shiftToZero = kFALSE,
WingMode  wmode = Extended,
Int_t  nEvalError = -1,
Int_t  doEEVal = kFALSE,
Double_t  eeVal = 0 
)

Create a 1-dim curve of the value of the specified real-valued expression as a function of x.

Use the optional precision parameter to control how precisely the smooth curve is rasterized. If shiftToZero is set, the entire curve is shifted down to make the lowest point in of the curve go through zero.

Definition at line 168 of file RooCurve.cxx.

◆ ~RooCurve()

RooCurve::~RooCurve ( )
virtual

Destructor.

Definition at line 249 of file RooCurve.cxx.

◆ RooCurve() [4/4]

RooCurve::RooCurve ( const char *  name,
const char *  title,
const RooCurve c1,
const RooCurve c2,
Double_t  scale1 = 1.,
Double_t  scale2 = 1. 
)

Constructor of a curve as sum of two other curves.

\[ C_\mathrm{sum} = \mathrm{scale1}*c1 + \mathrm{scale2}*c2 \]

Parameters
[in]nameName of the curve (to retrieve it from a plot)
[in]titleTitle (for plotting).
[in]c1First curve.
[in]c2Second curve.
[in]scale1Scale y values for c1 by this factor.
[in]scale1Scale y values for c2 by this factor.

Definition at line 202 of file RooCurve.cxx.

Member Function Documentation

◆ addPoint()

void RooCurve::addPoint ( Double_t  x,
Double_t  y 
)

Add a point with the specified coordinates. Update our y-axis limits.

Definition at line 469 of file RooCurve.cxx.

◆ addPoints()

void RooCurve::addPoints ( const RooAbsFunc func,
Double_t  xlo,
Double_t  xhi,
Int_t  minPoints,
Double_t  prec,
Double_t  resolution,
WingMode  wmode,
Int_t  numee = 0,
Bool_t  doEEVal = kFALSE,
Double_t  eeVal = 0.,
std::list< Double_t > *  samplingHint = 0 
)
protected

Add points calculated with the specified function, over the range (xlo,xhi).

Add at least minPoints equally spaced points, and add sufficient points so that the maximum deviation from the final straight-line segments is prec*(ymax-ymin), down to a minimum horizontal spacing of resolution*(xhi-xlo).

Definition at line 308 of file RooCurve.cxx.

◆ addRange()

void RooCurve::addRange ( const RooAbsFunc func,
Double_t  x1,
Double_t  x2,
Double_t  y1,
Double_t  y2,
Double_t  minDy,
Double_t  minDx,
Int_t  numee = 0,
Bool_t  doEEVal = kFALSE,
Double_t  eeVal = 0. 
)
protected

Fill the range (x1,x2) with points calculated using func(&x).

No point will be added at x1, and a point will always be added at x2. The density of points will be calculated so that the maximum deviation from a straight line approximation is prec*(ymax-ymin) down to the specified minimum horizontal spacing.

Definition at line 424 of file RooCurve.cxx.

◆ average()

Double_t RooCurve::average ( Double_t  lo,
Double_t  hi 
) const

Return average curve value in [xFirst,xLast] by integrating curve between points and dividing by xLast-xFirst.

Definition at line 605 of file RooCurve.cxx.

◆ calcBandInterval() [1/2]

void RooCurve::calcBandInterval ( const std::vector< RooCurve * > &  plusVar,
const std::vector< RooCurve * > &  minusVar,
Int_t  i,
const TMatrixD V,
Double_t  Z,
Double_t lo,
Double_t hi 
) const
protected

Retrieve variation points from curves.

Definition at line 817 of file RooCurve.cxx.

◆ calcBandInterval() [2/2]

void RooCurve::calcBandInterval ( const std::vector< RooCurve * > &  variations,
Int_t  i,
Double_t  Z,
Double_t lo,
Double_t hi,
Bool_t  approxGauss 
) const
protected

Definition at line 848 of file RooCurve.cxx.

◆ chiSquare()

Double_t RooCurve::chiSquare ( const RooHist hist,
int  nFitParam 
) const

Calculate the chi^2/NDOF of this curve with respect to the histogram 'hist' accounting nFitParam floating parameters in case the curve was the result of a fit.

Definition at line 557 of file RooCurve.cxx.

◆ findPoint()

Int_t RooCurve::findPoint ( Double_t  xvalue,
Double_t  tolerance = 1e-10 
) const

Find the nearest point to xvalue.

Return -1 if distance exceeds tolerance

Definition at line 669 of file RooCurve.cxx.

◆ getFitRangeBinW()

Double_t RooCurve::getFitRangeBinW ( ) const
virtual

Get the bin width associated with this plotable object.

It is alwats zero for curves

Implements RooPlotable.

Definition at line 501 of file RooCurve.cxx.

◆ getFitRangeNEvt() [1/2]

Double_t RooCurve::getFitRangeNEvt ( ) const
virtual

Return the number of events associated with the plotable object, it is always 1 for curves.

Implements RooPlotable.

Definition at line 482 of file RooCurve.cxx.

◆ getFitRangeNEvt() [2/2]

Double_t RooCurve::getFitRangeNEvt ( Double_t  xlo,
Double_t  xhi 
) const
virtual

Return the number of events associated with the plotable object, in the given range.

It is always 1 for curves

Implements RooPlotable.

Definition at line 491 of file RooCurve.cxx.

◆ initialize()

void RooCurve::initialize ( void  )
protected

Perform initialization that is common to all curves.

Definition at line 258 of file RooCurve.cxx.

◆ interpolate()

Double_t RooCurve::interpolate ( Double_t  xvalue,
Double_t  tolerance = 1e-10 
) const

Return linearly interpolated value of curve at xvalue.

If distance to nearest point is less than tolerance, return nearest point value instead

Definition at line 691 of file RooCurve.cxx.

◆ isIdentical()

Bool_t RooCurve::isIdentical ( const RooCurve other,
Double_t  tol = 1e-6 
) const

Return true if curve is identical to other curve allowing for given absolute tolerance on each point compared point.

Definition at line 886 of file RooCurve.cxx.

◆ makeErrorBand() [1/2]

RooCurve * RooCurve::makeErrorBand ( const std::vector< RooCurve * > &  plusVar,
const std::vector< RooCurve * > &  minusVar,
const TMatrixD C,
Double_t  Z = 1 
) const

Construct filled RooCurve represented error band represent the error added in quadrature defined by the curves arguments plusVar and minusVar corresponding to one-sigma variations of each parameter.

The resulting error band, combined used the correlation matrix C is multiplied with the significance parameter Z to construct the equivalent of a Z sigma error band (in Gaussian approximation)

Definition at line 777 of file RooCurve.cxx.

◆ makeErrorBand() [2/2]

RooCurve * RooCurve::makeErrorBand ( const std::vector< RooCurve * > &  variations,
Double_t  Z = 1 
) const

Construct filled RooCurve represented error band that captures alpha% of the variations of the curves passed through argument variations, where the percentage alpha corresponds to the central interval fraction of a significance Z.

Definition at line 738 of file RooCurve.cxx.

◆ Print()

virtual void RooCurve::Print ( Option_t chopt = 0) const
inlinevirtual

Print graph values.

Reimplemented from TGraph.

Definition at line 59 of file RooCurve.h.

◆ printClassName()

void RooCurve::printClassName ( std::ostream &  os) const
virtual

Print the class name of this curve.

Reimplemented from RooPrintable.

Definition at line 529 of file RooCurve.cxx.

◆ printMultiline()

void RooCurve::printMultiline ( std::ostream &  os,
Int_t  contents,
Bool_t  verbose = kFALSE,
TString  indent = "" 
) const
virtual

Print the details of this curve.

Reimplemented from RooPlotable.

Definition at line 539 of file RooCurve.cxx.

◆ printName()

void RooCurve::printName ( std::ostream &  os) const
virtual

Print name of object.

Reimplemented from RooPrintable.

Definition at line 509 of file RooCurve.cxx.

◆ printTitle()

void RooCurve::printTitle ( std::ostream &  os) const
virtual

Print the title of this curve.

Reimplemented from RooPrintable.

Definition at line 520 of file RooCurve.cxx.

◆ shiftCurveToZero()

void RooCurve::shiftCurveToZero ( Double_t  prevYMax)
protected

Find lowest point in curve and move all points in curve so that lowest point will go exactly through zero.

Definition at line 272 of file RooCurve.cxx.

Member Data Documentation

◆ _showProgress

Bool_t RooCurve::_showProgress
protected

Definition at line 91 of file RooCurve.h.

Libraries for RooCurve:
[legend]

The documentation for this class was generated from the following files:
RooPlot::Draw
virtual void Draw(Option_t *options=0)
Draw this plot and all of the elements it contains.
Definition: RooPlot.cxx:691
RooPlot::setDrawOptions
Bool_t setDrawOptions(const char *name, TString options)
Register the specified drawing options for the named object.
Definition: RooPlot.cxx:1019
x
Double_t x[n]
Definition: legend1.C:17
RooPlot
A RooPlot is a plot frame and a container for graphics objects within that frame.
Definition: RooPlot.h:44
y
Double_t y[n]
Definition: legend1.C:17
RooPlot::getAttMarker
TAttMarker * getAttMarker(const char *name=0) const
Return a pointer to the marker attributes of the named object in this plot, or zero if the named obje...
Definition: RooPlot.cxx:886
TAttMarker::SetMarkerStyle
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
Definition: TAttMarker.h:40