1#ifndef FCCAnalyses_JetFlavourUtils_h
2#define FCCAnalyses_JetFlavourUtils_h
4#include <ROOT/RVec.hxx>
7 namespace JetFlavourUtils {
8 namespace rv = ROOT::VecOps;
10 using Variables = rv::RVec<FCCAnalysesJetConstituentsData>;
14 rv::RVec<rv::RVec<float> >
compute_weights(
unsigned int slot,
const rv::RVec<Variables>&);
17 void setup_weaver(
const std::string&,
const std::string&,
const rv::RVec<std::string>&,
unsigned int nSlots);
19 template <
typename... Args>
20 ROOT::VecOps::RVec<ROOT::VecOps::RVec<float> >
get_weights(
unsigned int slot, Args&&... args) {
21 return compute_weights(slot, std::vector<Variables>{std::forward<Args>(args)...});
24 rv::RVec<float>
get_weight(
const rv::RVec<rv::RVec<float> >&,
int);
rv::RVec< float > FCCAnalysesJetConstituentsData
Definition JetFlavourUtils.h:9
void setup_weaver(const std::string &, const std::string &, const rv::RVec< std::string > &, unsigned int nSlots)
Setup the ONNXRuntime instance using Weaver-provided parameters.
Definition JetFlavourUtils.cc:11
rv::RVec< FCCAnalysesJetConstituentsData > Variables
Definition JetFlavourUtils.h:10
ROOT::VecOps::RVec< ROOT::VecOps::RVec< float > > get_weights(unsigned int slot, Args &&... args)
Compute all weights given an unspecified collection of input variables.
Definition JetFlavourUtils.h:20
rv::RVec< rv::RVec< float > > compute_weights(unsigned int slot, const rv::RVec< Variables > &)
Compute all weights given a collection of input variables.
Definition JetFlavourUtils.cc:22
rv::RVec< float > get_weight(const rv::RVec< rv::RVec< float > > &, int)
Get one specific weight previously computed.
Definition JetFlavourUtils.cc:47
FCC analyzers collection.
Definition Algorithms.h:15