44 _relParam(paramRelative)
53 const char* vname =
Form(
"%s_gamma_bin_%i",
GetName(),i) ;
72 _relParam(paramRelative)
80 const char* vname =
Form(
"%s_gamma_bin_%i",
GetName(),i) ;
98 _relParam(paramRelative)
111 _x(
"x",this,other._x),
112 _p(
"p",this,other._p),
114 _relParam(other._relParam)
178 list<Double_t>* hint =
new list<Double_t> ;
181 xlo = xlo - 0.01*(xhi-xlo) ;
182 xhi = xhi + 0.01*(xhi-xlo) ;
189 if (boundaries[i]>=xlo && boundaries[i]<=xhi) {
190 hint->push_back(boundaries[i]-delta) ;
191 hint->push_back(boundaries[i]+delta) ;
215 list<Double_t>* hint =
new list<Double_t> ;
220 if (boundaries[i]>=xlo && boundaries[i]<=xhi) {
221 hint->push_back(boundaries[i]) ;
237 delete allVarsCommon ;
260 std::map<const RooAbsArg*, std::pair<double, double> > ranges;
261 for (
const auto obs :
_x) {
265 auto getBinScale = [&](
int iBin){
return static_cast<const RooAbsReal&
>(
_p[iBin]).
getVal(); };
char * Form(const char *fmt,...)
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
bool addOwnedComponents(const RooAbsCollection &comps)
Take ownership of the contents of 'comps'.
RooAbsBinning is the abstract base class for RooRealVar binning definitions.
virtual Double_t * array() const =0
virtual Int_t numBoundaries() const =0
RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
bool selectCommon(const RooAbsCollection &refColl, RooAbsCollection &outColl) const
Create a subset of the current collection, consisting only of those elements that are contained as we...
RooAbsArg * find(const char *name) const
Find object with given name in list.
Abstract base class for objects that are lvalues, i.e.
virtual const RooAbsBinning * getBinningPtr(const char *rangeName) const =0
RooAbsRealLValue is the common abstract base class for objects that represent a real value that may a...
void setConstant(Bool_t value=kTRUE)
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
Double_t 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.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
The RooDataHist is a container class to hold N-dimensional binned data.
double weight(std::size_t i) const
Return weight of i-th bin.
void weightError(double &lo, double &hi, ErrorType etype=Poisson) const override
Return the asymmetric errors on the current weight.
Int_t numEntries() const override
Return the number of bins.
const RooArgSet * get() const override
Get bin centre of current bin.
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE) override
Reimplementation of standard RooArgList::add()
A histogram function that assigns scale parameters to every bin.
void setActual(Int_t ibin, Double_t newVal)
Double_t evaluate() const
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
Double_t getNominal(Int_t ibin) const
Double_t getNominalError(Int_t ibin) const
virtual std::list< Double_t > * binBoundaries(RooAbsRealLValue &, Double_t, Double_t) const
Return sampling hint for making curves of (projections) of this function as the recursive division st...
Double_t getActual(Int_t ibin)
Double_t analyticalIntegralWN(Int_t code, const RooArgSet *normSet, const char *rangeName=0) const
Implement analytical integrations by doing appropriate weighting from component integrals functions t...
virtual std::list< Double_t > * plotSamplingHint(RooAbsRealLValue &obs, Double_t xlo, Double_t xhi) const
Return sampling hint for making curves of (projections) of this function as the recursive division st...
Int_t getAnalyticalIntegralWN(RooArgSet &allVars, RooArgSet &analVars, const RooArgSet *normSet, const char *rangeName=0) const
Advertise that all integrals can be handled internally.
RooRealVar represents a variable that can be changed from the outside.
void setError(Double_t value)
virtual void setVal(Double_t value)
Set value of variable to 'value'.
virtual const char * GetName() const
Returns name of object.
std::pair< double, double > getRangeOrBinningInterval(RooAbsArg const *arg, const char *rangeName)
Get the lower and upper bound of parameter range if arg can be casted to RooAbsRealLValue.
static uint64_t sum(uint64_t i)