35 std::string
const &rangeName,
RooAbsPdf const *pdf,
36 bool takeGlobalObservablesFromData)
37 :
RooAbsReal{
"RooEvaluatorWrapper",
"RooEvaluatorWrapper"},
41 _paramSet(
"paramSet",
"Set of parameters",
this),
42 _rangeName{rangeName},
44 _takeGlobalObservablesFromData{takeGlobalObservablesFromData}
47 setData(*
data,
false);
49 _paramSet.add(_evaluator->getParameters());
51 _paramSet.remove(*_paramSet.find(item.first->GetName()));
57 _evaluator{
other._evaluator},
58 _topNode(
"topNode",
this,
other._topNode),
60 _paramSet(
"paramSet",
"Set of parameters",
this),
61 _rangeName{
other._rangeName},
63 _takeGlobalObservablesFromData{
other._takeGlobalObservablesFromData},
66 _paramSet.add(
other._paramSet);
69double RooEvaluatorWrapper::evaluate()
const
75 :
RooFit::EvalContext::OffsetMode::WithOffset);
77 return _evaluator->run()[0];
83 outputSet.add(_evaluator->getParameters());
85 outputSet.remove(*observables,
false,
true);
89 if (_data->getGlobalObservables() && _data->getGlobalObservables()->find(item.first->GetName())) {
101 if (_takeGlobalObservablesFromData && _data->getGlobalObservables()) {
102 outputSet.replace(*_data->getGlobalObservables());
113 constexpr auto errMsg =
"Error in RooAbsReal::setData(): only resetting with same-structured data is supported.";
119 std::stack<std::vector<double>>{}.swap(_vectorBuffers);
120 bool skipZeroWeights = !_pdf || !_pdf->getAttribute(
"BinnedLikelihoodActive");
121 _dataSpans = RooFit::BatchModeDataHelpers::getDataSpans(
126 throw std::runtime_error(
errMsg);
129 const char *
name = item.first->GetName();
130 _evaluator->setInput(
name, item.second,
false);
131 if (_paramSet.find(
name)) {
133 throw std::runtime_error(
errMsg);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract base class for binned and unbinned datasets.
Abstract interface for all probability density functions.
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Facilitates simultaneous fitting of multiple PDFs to subsets of a given dataset.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...