16#ifndef ROO_ABS_REAL_LVALUE
17#define ROO_ABS_REAL_LVALUE
49 void setBin(
Int_t ibin,
const char* rangeName=
nullptr)
override ;
53 double volume(
const char* rangeName)
const override {
return getMax(rangeName)-
getMin(rangeName) ; }
54 void randomize(
const char* rangeName=
nullptr)
override;
88 std::pair<double, double>
getRange(
const char*
name =
nullptr)
const {
90 return {binning.lowBound(), binning.highBound()};
103 inline bool isLValue()
const override {
return true; }
106 bool inRange(
double value,
const char* rangeName,
double* clippedValue=
nullptr)
const;
107 void inRange(std::span<const double> values, std::string
const& rangeName, std::vector<bool>& out)
const;
114 bool readFromStream(std::istream& is,
bool compact,
bool verbose=
false)
override ;
115 void writeToStream(std::ostream& os,
bool compact)
const override ;
144 double* xlo=
nullptr,
double* xhi=
nullptr,
Int_t* nBins=
nullptr)
const ;
149 const char *tAxisLabel,
double* xlo=
nullptr,
double* xhi=
nullptr,
Int_t* nBins=
nullptr)
const ;
162 void copyCache(
const RooAbsArg* source,
bool valueOnly=
false,
bool setValDirty=
true)
override ;
#define ClassDefOverride(name, id)
static void indent(ostringstream &buf, int indent_level)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Common abstract base class for objects that represent a value and a "shape" in RooFit.
void setShapeDirty()
Notify that a shape-like property (e.g. binning) has changed.
void setValueDirty()
Mark the element dirty. This forces a re-evaluation when a value is requested.
void setAttribute(const Text_t *name, bool value=true)
Set (default) or clear a named boolean attribute of this object.
Abstract base class for RooRealVar binning definitions.
int binNumber(double x) const
Returns the bin number corresponding to the value x.
Int_t numBins() const
Return number of bins.
virtual double highBound() const =0
virtual double lowBound() const =0
virtual double binWidth(Int_t bin) const =0
Abstract base class for objects that are lvalues, i.e.
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
bool isLValue() const override
Is this argument an l-value, i.e., can it appear on the left-hand side of an assignment expression?...
Int_t numBins(const char *rangeName=nullptr) const override
Int_t getBin(const RooAbsBinning *ptr) const override
virtual Int_t getBins(const char *name=nullptr) const
Get number of bins of currently defined range.
RooFit::OwningPtr< RooAbsReal > createIntegral(const RooArgSet &iset, const RooArgSet *nset=nullptr, const RooNumIntConfig *cfg=nullptr, const char *rangeName=nullptr) const override
Create an object that represents the integral of the function over one or more observables listed in ...
virtual void setValFast(double value)
virtual void setVal(double value, const char *)
Set the current value of the object.
bool isValidReal(double value, bool printError=false) const override
Check if given value is valid.
void setConstant(bool value=true)
virtual double jacobian() const
virtual const RooAbsBinning & getBinning(const char *name=nullptr, bool verbose=true, bool createOnTheFly=false) const =0
Retrieve binning configuration with given name or default binning.
virtual bool isJacobianOK(const RooArgSet &depList) const
virtual double volume(const RooAbsBinning &binning) const
Int_t getBin(const char *rangeName=nullptr) const override
virtual double getMax(const char *name=nullptr) const
Get maximum of currently defined range.
RooPlot * frame() const
Create a new RooPlot on the heap with a drawing frame initialized for this object,...
bool hasMax(const char *name=nullptr) const
Check if variable has an upper bound.
void copyCache(const RooAbsArg *source, bool valueOnly=false, bool setValDirty=true) override
Copy cache of another RooAbsArg to our cache.
bool fitRangeOKForPlotting() const
Check if fit range is usable as plot range, i.e.
void setBin(Int_t ibin, const char *rangeName=nullptr) override
Set value to center of bin 'ibin' of binning 'rangeName' (or of default binning if no range is specif...
double getBinWidth(Int_t i, const char *rangeName=nullptr) const override
void writeToStream(std::ostream &os, bool compact) const override
Write object contents to given stream.
void randomize(const char *rangeName=nullptr) override
Set a new value sampled from a uniform distribution over the fit range.
TH1 * createHistogram(const char *name, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}) const
virtual void setVal(double value)=0
Set the current value of the object. Needs to be overridden by implementations.
virtual bool hasBinning(const char *name) const =0
Check if binning with given name has been defined.
double volume(const char *rangeName) const override
virtual Int_t getBin(const RooAbsBinning &binning) const
virtual double getMin(const char *name=nullptr) const
Get minimum of currently defined range.
bool readFromStream(std::istream &is, bool compact, bool verbose=false) override
Read object contents from given stream.
bool inRange(const char *name) const override
Check if current value is inside range with given name.
const RooAbsBinning * getBinningPtr(const char *rangeName) const override
void printMultiline(std::ostream &os, Int_t contents, bool verbose=false, TString indent="") const override
Structure printing.
virtual RooAbsBinning & getBinning(const char *name=nullptr, bool verbose=true, bool createOnTheFly=false)=0
Retrieve binning configuration with given name or default binning.
bool hasRange(const char *name) const override
Check if variable has a binning with given name.
std::pair< double, double > getRange(const char *name=nullptr) const
Get low and high bound of the variable.
virtual double getBinWidth(Int_t i, const RooAbsBinning &binning) const
virtual RooAbsArg & operator=(double newValue)
Assignment operator from a double.
virtual Int_t numBins(const RooAbsBinning &binning) const
bool hasMin(const char *name=nullptr) const
Check if variable has a lower bound.
Abstract base class for objects that represent a real value and implements functionality common to al...
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Named container for two doubles, two integers two object points and three string pointers that can be...
Collection class for internal use, storing a collection of RooAbsArg pointers in a doubly linked list...
Holds the configuration parameters of the various numeric integrators used by RooRealIntegral.
static constexpr int isInfinite(double x)
Return true if x is infinite by RooNumber internal specification.
Plot frame and a container for graphics objects within that frame.
1-D histogram with a float per channel (see TH1 documentation)
TH1 is the base class of all histogram classes in ROOT.
2-D histogram with a float per channel (see TH1 documentation)
3-D histogram with a float per channel (see TH1 documentation)
T * OwningPtr
An alias for raw pointers for indicating that the return type of a RooFit function is an owning point...