16#ifndef ROO_ABS_REAL_LVALUE
17#define ROO_ABS_REAL_LVALUE
50 void setBin(
Int_t ibin,
const char* rangeName=
nullptr)
override ;
54 double volume(
const char* rangeName)
const override {
return getMax(rangeName)-
getMin(rangeName) ; }
55 void randomize(
const char* rangeName=
nullptr)
override;
89 std::pair<double, double>
getRange(
const char*
name =
nullptr)
const {
91 return {binning.lowBound(), binning.highBound()};
104 inline bool isLValue()
const override {
return true; }
107 bool inRange(
double value,
const char* rangeName,
double* clippedValue=
nullptr)
const;
108 void inRange(std::span<const double> values, std::string
const& rangeName, std::vector<bool>& out)
const;
115 bool readFromStream(std::istream& is,
bool compact,
bool verbose=
false)
override ;
116 void writeToStream(std::ostream& os,
bool compact)
const override ;
145 double* xlo=
nullptr,
double* xhi=
nullptr,
Int_t* nBins=
nullptr)
const ;
150 const char *tAxisLabel,
double* xlo=
nullptr,
double* xhi=
nullptr,
Int_t* nBins=
nullptr)
const ;
163 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
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
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.
RooAbsBinning is the 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.
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
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 std::liste...
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
Retrive 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.
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.
~RooAbsRealLValue() override
Destructor.
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
Retrive 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
TH1 * createHistogram(const char *name, const RooCmdArg &arg1=RooCmdArg::none(), const RooCmdArg &arg2=RooCmdArg::none(), const RooCmdArg &arg3=RooCmdArg::none(), const RooCmdArg &arg4=RooCmdArg::none(), const RooCmdArg &arg5=RooCmdArg::none(), const RooCmdArg &arg6=RooCmdArg::none(), const RooCmdArg &arg7=RooCmdArg::none(), const RooCmdArg &arg8=RooCmdArg::none()) const
bool hasMin(const char *name=nullptr) const
Check if variable has a lower bound.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
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.
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
static const RooCmdArg & none()
Return reference to null argument.
RooLinkedList is an collection class for internal use, storing a collection of RooAbsArg pointers in ...
RooNumIntConfig holds the configuration parameters of the various numeric integrators used by RooReal...
static constexpr int isInfinite(double x)
Return true if x is infinite by RooNumber internal specification.
A RooPlot is a 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...