36using std::endl, std::ostream;
161 coutE(InputArguments) <<
"RooParamBinning::setRange: ERROR low bound > high bound" << endl ;
169 coutW(InputArguments) <<
"RooParamBinning::setRange: WARNING lower bound not represented by lvalue, cannot set lower bound value through setRange()" << endl ;
176 coutW(InputArguments) <<
"RooParamBinning::setRange: WARNING upper bound not represented by lvalue, cannot set upper bound value through setRange()" << endl ;
192 for(std::size_t i = 0; i <
n; ++i) {
193 bins[i] += coef * (
x[i] >= xhiVal ?
_nbins - 1 : std::max(0,
int((
x[i] - xloVal)*oneOverW)));
205 coutE(InputArguments) <<
"RooParamBinning::binCenter ERROR: bin index " << i
206 <<
" is out of range (0," <<
_nbins-1 <<
")" << endl ;
232 coutE(InputArguments) <<
"RooParamBinning::binLow ERROR: bin index " << i
233 <<
" is out of range (0," <<
_nbins-1 <<
")" << endl ;
248 coutE(InputArguments) <<
"RooParamBinning::fitBinHigh ERROR: bin index " << i
249 <<
" is out of range (0," <<
_nbins-1 <<
")" << endl ;
267 for (i=0 ; i<=
_nbins ; i++) {
283 os <<
indent <<
"xlo() = " <<
xlo() << endl ;
284 os <<
indent <<
"xhi() = " <<
xhi() << endl ;
RooCollectionProxy< RooArgList > RooListProxy
static void indent(ostringstream &buf, int indent_level)
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
void Print(Option_t *options=nullptr) const override
Print the object to the defaultPrintStream().
Abstract base class for RooRealVar binning definitions.
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
virtual void setVal(double value)=0
Set the current value of the object. Needs to be overridden by implementations.
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.
RooAbsArg * at(Int_t idx) const
Return object at given index, or nullptr if index is out of range.
bool add(const RooAbsArg &var, bool valueServer, bool shapeServer, bool silent)
Overloaded RooCollection_t::add() method insert object into set and registers object as server to own...
Implementation of RooAbsBinning that constructs a binning with a range definition that depends on ext...
RooParamBinning(const char *name=nullptr)
Default constructor.
~RooParamBinning() override
Destructor.
void insertHook(RooAbsRealLValue &) const override
Hook function called by RooAbsRealLValue when this binning is inserted as binning for into given owne...
double * array() const override
Return array of bin boundaries.
double binCenter(Int_t bin) const override
Return the central value of the 'i'-th fit bin.
double binHigh(Int_t bin) const override
Return the high edge of the 'i'-th fit bin.
double binLow(Int_t bin) const override
Return the low edge of the 'i'-th fit bin.
void binNumbers(double const *x, int *bins, std::size_t n, int coef) const override
Return the fit bin index for the current value.
double binWidth(Int_t bin) const override
Return average bin width.
double averageBinWidth() const override
RooAbsReal * _xlo
do not persist
void printMultiline(std::ostream &os, Int_t content, bool verbose=false, TString indent="") const override
Print details of binning.
void removeHook(RooAbsRealLValue &) const override
Hook function called by RooAbsRealLValue when this binning is removed as binning for into given owner...
void setRange(double xlo, double xhi) override
Adjust range by adjusting values of external RooAbsReal values Only functional when external represen...
const char * GetName() const override
Returns name of object.