91 _integrate(integrate),
92 _intConfig(*defaultIntegratorConfig()),
119 _integrate(integrate),
120 _intConfig(*defaultIntegratorConfig()),
150 _integrate(integrate),
151 _intConfig(*defaultIntegratorConfig()),
155 throw std::runtime_error(
Form(
"RooXYChi2Var::RooXYChi2Var(%s) ERROR: Input p.d.f. must be extendible",
GetName()));
184 _integrate(integrate),
185 _intConfig(*defaultIntegratorConfig()),
189 throw std::runtime_error(
Form(
"RooXYChi2Var::ctor(%s) ERROR: Input p.d.f. must be an extendible",
GetName()));
203 _extended(other._extended),
204 _integrate(other._integrate),
205 _intConfig(other._intConfig),
240#ifdef R__HAS_MATHMORE
302 var->
setVal(cxval - xerr/100) ;
306 var->
setVal(cxval + xerr/100) ;
310 Double_t slope = (fxmax-fxmin)/(2*xerr/100.) ;
315 if ((ydata>cxval && fxmax>fxmin) || (ydata<=cxval && fxmax<=fxmin)) {
317 ret += pow(xerrHi*slope,2) ;
320 ret += pow(xerrLo*slope,2) ;
330 var->
setVal(cxval - xerr/100) ;
334 var->
setVal(cxval + xerr/100) ;
338 Double_t slope = (fxmax-fxmin)/(2*xerr/100.) ;
346 ret += pow(xerr*slope,2) ;
375 for (list<RooAbsBinning*>::const_iterator iter =
_binList.begin() ; iter !=
_binList.end() ; ++iter) {
384 return ret / volume ;
408 for (
auto i=firstEvent ; i<lastEvent ; i+=stepSize) {
413 if (!xydata->
valid()) {
432 ydata = xydata->
weight() ;
440 Double_t eInt = (eExt>0) ? eyhi : eylo ;
449 coutE(Eval) <<
"RooXYChi2Var::RooXYChi2Var(" <<
GetName() <<
") INFINITY ERROR: data point " << i
450 <<
" has zero error, but function is not zero (f=" << yfunc <<
")" << endl ;
455 Double_t term = eExt*eExt/(eInt*eInt+ eIntX2);
458 carry = (t - result) -
y;
char * Form(const char *fmt,...)
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
virtual Bool_t add(const RooAbsArg &var, Bool_t silent=kFALSE)
Add the specified argument to list.
TIterator * createIterator(Bool_t dir=kIterForward) const
TIterator-style iteration over contained elements.
RooAbsArg * find(const char *name) const
Find object with given name in list.
virtual void recalculateCache(const RooArgSet *, Int_t, Int_t, Int_t, Bool_t)
virtual const RooArgSet * get() const
RooAbsDataStore * store()
virtual Bool_t valid() const
RooAbsOptTestStatistic is the abstract base class for test statistics objects that evaluate a functio...
Bool_t canBeExtended() const
If true, PDF can provide extended likelihood term.
virtual Double_t expectedEvents(const RooArgSet *nset) const
Return expected number of events to be used in calculation of extended likelihood.
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
RooAbsReal * createIntegral(const RooArgSet &iset, const RooCmdArg &arg1, 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
Create an object that represents the integral of the function over one or more observables listed in ...
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
Double_t _evalCarry
Offset as KahanSum to avoid loss of precision.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual Bool_t setLabel(const char *label, bool printError=true) override
Set value by specifying the name of the desired state.
RooDataSet is a container class to hold unbinned data.
virtual const RooArgSet * get(Int_t index) const override
Return RooArgSet with coordinates of event 'index'.
virtual void weightError(double &lo, double &hi, ErrorType etype=SumW2) const override
Return the asymmetric errors on the current weight.
virtual Double_t weight() const override
Return event weight of current event.
void setEpsAbs(Double_t newEpsAbs)
Set absolute convergence criteria (convergence if abs(Err)<newEpsAbs)
void setEpsRel(Double_t newEpsRel)
Set relative convergence criteria (convergence if abs(Err)/abs(Int)<newEpsRel)
RooRealVar represents a variable that can be changed from the outside.
Double_t getAsymErrorLo() const
Double_t getErrorHi() const
Bool_t hasAsymError(Bool_t allowZero=kTRUE) const
Double_t getErrorLo() const
Double_t getAsymErrorHi() const
Bool_t hasError(Bool_t allowZero=kTRUE) const
Double_t getError() const
virtual void setVal(Double_t value)
Set value of variable to 'value'.
RooXYChi2Var implements a simple chi^2 calculation from an unbinned dataset with values x,...
RooArgSet requiredExtraObservables() const
std::list< RooAbsBinning * > _binList
Function integral.
void initIntegrator()
Initialize bin content integrator.
RooXYChi2Var()
coverity[UNINIT_CTOR]
virtual ~RooXYChi2Var()
Destructor.
virtual Double_t evaluatePartition(std::size_t firstEvent, std::size_t lastEvent, std::size_t stepSize) const
Calculate chi^2 in partition from firstEvent to lastEvent using given stepSize.
Double_t fy() const
Return function value requested bu present configuration.
void initialize()
Iterator over set of real-valued observables.
RooNumIntConfig _intConfig
Double_t xErrorContribution(Double_t ydata) const
Calculate contribution to internal error due to error on 'x' coordinates at point i.
Iterator abstract base class.
virtual TObject * Next()=0
virtual const char * GetName() const
Returns name of object.