15#ifndef RooFit_RooEvaluatorWrapper_h
16#define RooFit_RooEvaluatorWrapper_h
36class RooEvaluatorWrapper final :
public RooAbsReal {
38 RooEvaluatorWrapper(
RooAbsReal &topNode, RooAbsData *
data,
bool useGPU, std::string
const &rangeName,
39 RooAbsPdf
const *simPdf,
bool takeGlobalObservablesFromData);
41 RooEvaluatorWrapper(
const RooEvaluatorWrapper &other,
const char *
name =
nullptr);
43 TObject *
clone(
const char *newname)
const override {
return new RooEvaluatorWrapper(*
this, newname); }
45 double defaultErrorLevel()
const override {
return _topNode->defaultErrorLevel(); }
47 bool getParameters(
const RooArgSet *observables, RooArgSet &outputSet,
bool stripDisconnected)
const override;
49 bool setData(RooAbsData &
data,
bool cloneData)
override;
55 void printMultiline(std::ostream &os,
Int_t ,
bool =
false,
56 TString =
"")
const override
58 _evaluator->print(os);
68 std::shared_ptr<RooFit::Evaluator> _evaluator;
70 RooAbsData *
_data =
nullptr;
73 RooAbsPdf
const *_pdf =
nullptr;
75 std::stack<std::vector<double>> _vectorBuffers;
76 std::map<RooFit::Detail::DataKey, std::span<const double>> _dataSpans;
RooCollectionProxy< RooArgSet > RooSetProxy
void constOptimizeTestStatistic(ConstOpCode opcode, bool doAlsoTrackingOpt=true) override
const bool _takeGlobalObservablesFromData
If the global observable values are taken from data.
RooAbsData * _data
Pointer to original input dataset.
RooSetProxy _paramSet
Parameters of the test statistic (=parameters of the input function)
std::string _rangeName
Name of range in which to calculate test statistic.
bool setData(RooAbsData &data, bool cloneData=true) override
TObject * clone(const char *newname) const override
double defaultErrorLevel() const override
double evaluate() const override
double getValV(const RooArgSet *set=nullptr) const override
void applyWeightSquared(bool flag) override
RooTemplateProxy< RooAbsReal > RooRealProxy
Compatibility typedef replacing the old RooRealProxy class.
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.
A space to attach TBranches.
Abstract interface for all probability density functions.
Abstract base class for objects that represent a real value and implements functionality common to al...