13#ifndef RooFit_RooONNXFunc_h
14#define RooFit_RooONNXFunc_h
25 RooONNXFunc(
const char *
name,
const char *title,
const std::vector<RooArgList> &inputTensors,
26 const std::string &onnxFile,
const std::vector<std::string> &inputNames = {},
27 const std::vector<std::vector<int>> &inputShapes = {});
69 any = std::make_any<T>();
70 ptr = std::any_cast<T>(&
any);
73 void emplace(std::string
const &typeName);
76template <
class Session_t,
class... Inputs>
79 doInfer(*
reinterpret_cast<Session_t *
>(session), inputs..., out);
#define ClassDefOverride(name, id)
RooAbsReal()
coverity[UNINIT_CTOR] Default constructor
RooArgList is a container object that can hold multiple RooAbsArg objects.
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
std::vector< std::uint8_t > _onnxBytes
Persisted ONNX model bytes.
std::string outerWrapperName() const
std::shared_ptr< RuntimeCache > _runtime
! Transient runtime information.
std::vector< float > _inputBuffer
!
TObject * clone(const char *newName) const override
std::size_t nInputTensors() const
std::vector< std::unique_ptr< RooListProxy > > _inputTensors
Inputs mapping to flattened input tensors.
RooArgList const & inputTensorList(int iTensor) const
void initialize()
Build transient runtime backend on first use.
std::string funcName() const
void fillInputBuffer() const
Gather current RooFit inputs into a contiguous feature buffer.
Mother of all ROOT objects.
void doInferWithSessionVoidPtr(void *session, float *out, Inputs const *...inputs)