76 RooCmdConfig::decodeStringOnTheFly(
"RooChi2Var::RooChi2Var",
"RangeWithName",0,
"",arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9).c_str(),
78 RooCmdConfig::decodeIntOnTheFly(
"RooChi2Var::RooChi2Var",
"NumCPU",0,1,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9),
80 RooCmdConfig::decodeIntOnTheFly(
"RooChi2Var::RooChi2Var",
"Verbose",0,1,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9),
85 pc.defineInt(
"extended",
"Extended",0,
kFALSE) ;
88 pc.process(arg1) ;
pc.process(arg2) ;
pc.process(arg3) ;
89 pc.process(arg4) ;
pc.process(arg5) ;
pc.process(arg6) ;
90 pc.process(arg7) ;
pc.process(arg8) ;
pc.process(arg9) ;
139 *(const
RooArgSet*)
RooCmdConfig::decodeObjOnTheFly(
"RooChi2Var::RooChi2Var",
"ProjectedObservables",0,&_emptySet
140 ,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9),
141 RooCmdConfig::decodeStringOnTheFly(
"RooChi2Var::RooChi2Var",
"RangeWithName",0,
"",arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9).c_str(),
142 RooCmdConfig::decodeStringOnTheFly(
"RooChi2Var::RooChi2Var",
"AddCoefRange",0,
"",arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9).c_str(),
143 RooCmdConfig::decodeIntOnTheFly(
"RooChi2Var::RooChi2Var",
"NumCPU",0,1,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9),
145 RooCmdConfig::decodeIntOnTheFly(
"RooChi2Var::RooChi2Var",
"Verbose",0,1,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9),
146 RooCmdConfig::decodeIntOnTheFly(
"RooChi2Var::RooChi2Var",
"SplitRange",0,0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9))
149 pc.defineInt(
"extended",
"Extended",0,
kFALSE) ;
151 pc.allowUndefined() ;
153 pc.process(arg1) ;
pc.process(arg2) ;
pc.process(arg3) ;
154 pc.process(arg4) ;
pc.process(arg5) ;
pc.process(arg6) ;
155 pc.process(arg7) ;
pc.process(arg8) ;
pc.process(arg9) ;
183 Bool_t extended,
const char* cutRange,
const char* addCoefRange,
185 RooAbsOptTestStatistic(
name,title,pdf,hdata,
RooArgSet(),cutRange,addCoefRange,nCPU,interleave,
verbose,splitCutRange),
186 _etype(etype), _funcMode(extended?ExtendedPdf:Pdf)
212 RooAbsOptTestStatistic(
name,title,func,hdata,projDeps,cutRange,addCoefRange,nCPU,interleave,
verbose,splitCutRange),
213 _etype(etype), _funcMode(fmode)
224 _etype(other._etype),
225 _funcMode(other._funcMode)
257 case Function: normFactor=1 ; break ;
264 for (
auto i=firstEvent ; i<lastEvent ; i+=stepSize) {
269 if (!hdata->
valid())
continue;
282 eInt = (eExt>0) ? eIntHi : eIntLo ;
288 if (0. ==
eInt *
eInt && 0. == nData * nData && 0. == nPdf * nPdf) continue ;
292 coutE(
Eval) <<
"RooChi2Var::RooChi2Var(" <<
GetName() <<
") INFINITY ERROR: bin " << i
293 <<
" has zero error" << endl ;
302 carry = (t - result) -
y;
virtual void recalculateCache(const RooArgSet *, Int_t, Int_t, Int_t, Bool_t)
virtual const RooArgSet * get() const
RooAbsDataStore * store()
virtual Double_t sumEntries() const =0
RooAbsOptTestStatistic is the abstract base class for test statistics objects that evaluate a functio...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Double_t getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
Double_t _evalCarry
avoids loss of precision
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Class RooChi2Var implements a simple chi^2 calculation from a binned dataset and a PDF.
RooDataHist::ErrorType _etype
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.
RooChi2Var(const char *name, const char *title, RooAbsReal &func, RooDataHist &data, 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 RooCmdArg &arg9=RooCmdArg::none())
RooChi2Var constructor.
static RooArgSet _emptySet
virtual ~RooChi2Var()
Destructor.
RooCmdArg is a named container for two doubles, two integers two object points and three string point...
Class RooCmdConfig is a configurable parser for RooCmdArg named arguments.
The RooDataHist is a container class to hold N-dimensional binned data.
virtual Double_t weight() const
virtual void weightError(Double_t &lo, Double_t &hi, ErrorType etype=Poisson) const
Return the error on current weight.
virtual Bool_t isNonPoissonWeighted() const
Returns true if datasets contains entries with a non-integer weight.
virtual const RooArgSet * get() const
virtual Bool_t valid() const
Return true if currently loaded coordinate is considered valid within the current range definitions o...
Double_t binVolume() const
virtual const char * GetName() const
Returns name of object.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
static constexpr double pc