Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooJSONFactoryWSTool Class Reference

When using RooFit, statistical models can be conveniently handled and stored as a RooWorkspace.

However, for the sake of interoperability with other statistical frameworks, and also ease of manipulation, it may be useful to store statistical models in text form.

The RooJSONFactoryWSTool is a helper class to achieve exactly this, exporting to and importing from JSON and YML.

In order to import a workspace from a JSON file, you can do

ws = ROOT.RooWorkspace("ws")
tool = ROOT.RooJSONFactoryWSTool(ws)
tool.importJSON("myjson.json")

Similarly, in order to export a workspace to a JSON file, you can do

tool = ROOT.RooJSONFactoryWSTool(ws)
tool.exportJSON("myjson.json")

For more details, consult the tutorial rf515_hfJSON.

In order to import and export YML files, ROOT needs to be compiled with the external dependency RapidYAML, which needs to be installed on your system when building ROOT.

The RooJSONFactoryWSTool only knows about a limited set of classes for import and export. If import or export of a class you're interested in fails, you might need to add your own importer or exporter. Please consult the relevant section in the RooFit Developer Documentation to learn how to do that (Implement JSON I/O for a RooFit class with RooFit HS3).

You can always get a list of all the available importers and exporters by calling the following functions:

ROOT.RooFit.JSONIO.printImporters()
ROOT.RooFit.JSONIO.printExporters()
ROOT.RooFit.JSONIO.printFactoryExpressions()
ROOT.RooFit.JSONIO.printExportKeys()

Alternatively, you can generate a LaTeX version of the available importers and exporters by calling

tool = ROOT.RooJSONFactoryWSTool(ws)
tool.writedoc("hs3.tex")

Definition at line 38 of file RooJSONFactoryWSTool.h.

Classes

struct  CombinedData
 
class  DependencyMissingError
 

Public Member Functions

 RooJSONFactoryWSTool (RooWorkspace &ws)
 
 ~RooJSONFactoryWSTool ()
 
RooFit::Detail::JSONNodecreateAdHoc (const std::string &toplevel, const std::string &name)
 
void exportCategory (RooAbsCategory const &cat, RooFit::Detail::JSONNode &node)
 Export a RooAbsCategory object to a JSONNode.
 
bool exportJSON (std::ostream &os)
 Export the workspace to JSON format and write to the output stream.
 
bool exportJSON (std::string const &fileName)
 Export the workspace to JSON format and write to the specified file.
 
std::string exportJSONtoString ()
 Export the workspace to a JSON string.
 
std::string exportTransformed (const RooAbsReal *original, const std::string &tag, const std::string &operation_name, const std::string &formula)
 
bool exportYML (std::ostream &os)
 Export the workspace to YML format and write to the output stream.
 
bool exportYML (std::string const &fileName)
 Export the workspace to YML format and write to the specified file.
 
std::string exportYMLtoString ()
 Export the workspace to a YML string.
 
std::string getStringAttribute (const std::string &obj, const std::string &attrib)
 
bool hasAttribute (const std::string &obj, const std::string &attrib)
 
void importFunction (const RooFit::Detail::JSONNode &n, bool importAllDependants)
 Import a function from the JSONNode into the workspace.
 
void importFunction (const std::string &jsonString, bool importAllDependants)
 Import a function from a JSON string into the workspace.
 
bool importJSON (std::istream &os)
 Imports a JSON file from the given input stream to the workspace.
 
bool importJSON (std::string const &filename)
 Imports a JSON file from the given filename to the workspace.
 
void importJSONElement (const std::string &name, const std::string &jsonString)
 
bool importJSONfromString (const std::string &s)
 Import the workspace from a JSON string.
 
RooAbsRealimportTransformed (const std::string &name, const std::string &tag, const std::string &operation_name, const std::string &formula)
 
void importVariableElement (const RooFit::Detail::JSONNode &n)
 
bool importYML (std::istream &os)
 Imports a YML file from the given input stream to the workspace.
 
bool importYML (std::string const &filename)
 Imports a YML file from the given filename to the workspace.
 
bool importYMLfromString (const std::string &s)
 Import the workspace from a YML string.
 
void queueExport (RooAbsArg const &arg)
 
template<class T >
T * request (const std::string &objname, const std::string &requestAuthor)
 
template<class T >
T * requestArg (const RooFit::Detail::JSONNode &node, const std::string &key)
 
template<class T >
RooArgList requestArgList (const RooFit::Detail::JSONNode &node, const std::string &seqName)
 
template<class T >
RooArgSet requestArgSet (const RooFit::Detail::JSONNode &node, const std::string &seqName)
 
template<class T , class Coll_t >
Coll_t requestCollection (const RooFit::Detail::JSONNode &node, const std::string &seqName)
 
void setAttribute (const std::string &obj, const std::string &attrib)
 
void setStringAttribute (const std::string &obj, const std::string &attrib, const std::string &value)
 
RooWorkspaceworkspace ()
 
template<class Obj_t , typename... Args_t>
Obj_t & wsEmplace (RooStringView name, Args_t &&...args)
 
template<class Obj_t >
Obj_t & wsImport (Obj_t const &obj)
 

Static Public Member Functions

static RooFit::Detail::JSONNodeappendNamedChild (RooFit::Detail::JSONNode &node, std::string const &name)
 
static std::unique_ptr< RooFit::Detail::JSONTreecreateNewJSONTree ()
 Create a new JSON tree with version information.
 
static void error (const char *s)
 Writes an error message to the RooFit message service and throws a runtime_error.
 
static void error (const std::string &s)
 
static void exportArray (std::size_t n, double const *contents, RooFit::Detail::JSONNode &output)
 Export an array of doubles to a JSONNode.
 
static void exportHisto (RooArgSet const &vars, std::size_t n, double const *contents, RooFit::Detail::JSONNode &output)
 Export histogram data to a JSONNode.
 
static void fillSeq (RooFit::Detail::JSONNode &node, RooAbsCollection const &coll, size_t nMax=-1)
 
static RooFit::Detail::JSONNode const * findNamedChild (RooFit::Detail::JSONNode const &node, std::string const &name)
 
template<typename... Keys_t>
static RooFit::Detail::JSONNodegetRooFitInternal (RooFit::Detail::JSONNode &node, Keys_t const &...keys)
 
static RooFit::Detail::JSONNodemakeVariablesNode (RooFit::Detail::JSONNode &rootNode)
 
static std::string name (const RooFit::Detail::JSONNode &n)
 
static RooArgSet readAxes (const RooFit::Detail::JSONNode &node)
 Read axes from the JSONNode and create a RooArgSet representing them.
 
static std::unique_ptr< RooDataHistreadBinnedData (const RooFit::Detail::JSONNode &n, const std::string &namecomp, RooArgSet const &vars)
 Read binned data from the JSONNode and create a RooDataHist object.
 
static std::ostream & warning (const std::string &s)
 Writes a warning message to the RooFit message service.
 

Static Public Attributes

static constexpr bool useListsInsteadOfDicts = true
 

Private Member Functions

void exportAllObjects (RooFit::Detail::JSONNode &n)
 Export all objects in the workspace to a JSONNode.
 
RooJSONFactoryWSTool::CombinedData exportCombinedData (RooAbsData const &data)
 Export combined data from the workspace to a custom struct.
 
void exportData (RooAbsData const &data)
 Export data from the workspace to a JSONNode.
 
void exportModelConfig (RooFit::Detail::JSONNode &rootnode, RooStats::ModelConfig const &mc, const std::vector< RooJSONFactoryWSTool::CombinedData > &d)
 
void exportObject (RooAbsArg const &func, std::set< std::string > &exportedObjectNames)
 Export an object from the workspace to a JSONNode.
 
void exportSingleModelConfig (RooFit::Detail::JSONNode &rootnode, RooStats::ModelConfig const &mc, std::string const &analysisName, std::map< std::string, std::string > const *dataComponents)
 
void exportVariable (const RooAbsArg *v, RooFit::Detail::JSONNode &n)
 Export a variable from the workspace to a JSONNode.
 
void exportVariables (const RooArgSet &allElems, RooFit::Detail::JSONNode &n)
 Export variables from the workspace to a JSONNode.
 
void importAllNodes (const RooFit::Detail::JSONNode &n)
 Imports all nodes of the JSON data and adds them to the workspace.
 
void importDependants (const RooFit::Detail::JSONNode &n)
 Import all dependants (servers) of a node into the workspace.
 
void importVariable (const RooFit::Detail::JSONNode &n)
 Import a variable from the JSONNode into the workspace.
 
template<class T >
T * requestImpl (const std::string &objname)
 
template<>
RooRealVarrequestImpl (const std::string &objname)
 
template<>
RooAbsPdfrequestImpl (const std::string &objname)
 
template<>
RooAbsRealrequestImpl (const std::string &objname)
 

Private Attributes

const RooFit::Detail::JSONNode_attributesNode = nullptr
 
std::unique_ptr< RooFit::JSONIO::Detail::Domains_domains
 
const RooFit::Detail::JSONNode_rootnodeInput = nullptr
 
RooFit::Detail::JSONNode_rootnodeOutput = nullptr
 
std::vector< RooAbsArg const * > _serversToExport
 
RooFit::Detail::JSONNode_varsNode = nullptr
 
RooWorkspace_workspace
 

#include <RooFitHS3/RooJSONFactoryWSTool.h>

Constructor & Destructor Documentation

◆ RooJSONFactoryWSTool()

RooJSONFactoryWSTool::RooJSONFactoryWSTool ( RooWorkspace ws)

Definition at line 785 of file RooJSONFactoryWSTool.cxx.

◆ ~RooJSONFactoryWSTool()

RooJSONFactoryWSTool::~RooJSONFactoryWSTool ( )

Definition at line 787 of file RooJSONFactoryWSTool.cxx.

Member Function Documentation

◆ appendNamedChild()

JSONNode & RooJSONFactoryWSTool::appendNamedChild ( RooFit::Detail::JSONNode node,
std::string const &  name 
)
static

Definition at line 809 of file RooJSONFactoryWSTool.cxx.

◆ createAdHoc()

RooFit::Detail::JSONNode & RooJSONFactoryWSTool::createAdHoc ( const std::string &  toplevel,
const std::string &  name 
)

Definition at line 1004 of file RooJSONFactoryWSTool.cxx.

◆ createNewJSONTree()

std::unique_ptr< JSONTree > RooJSONFactoryWSTool::createNewJSONTree ( )
static

Create a new JSON tree with version information.

Returns
std::unique_ptr<JSONTree> A unique pointer to the created JSON tree.

Definition at line 1918 of file RooJSONFactoryWSTool.cxx.

◆ error() [1/2]

void RooJSONFactoryWSTool::error ( const char *  s)
static

Writes an error message to the RooFit message service and throws a runtime_error.

Parameters
sThe error message to be logged and thrown.
Returns
void

Definition at line 2288 of file RooJSONFactoryWSTool.cxx.

◆ error() [2/2]

static void RooJSONFactoryWSTool::error ( const std::string &  s)
inlinestatic

Definition at line 123 of file RooJSONFactoryWSTool.h.

◆ exportAllObjects()

void RooJSONFactoryWSTool::exportAllObjects ( RooFit::Detail::JSONNode n)
private

Export all objects in the workspace to a JSONNode.

This function exports all the objects in the workspace to the provided JSONNode. The objects' information is added as key-value pairs to the JSONNode.

Parameters
nThe JSONNode to which the objects will be exported.
Returns
void

Definition at line 1780 of file RooJSONFactoryWSTool.cxx.

◆ exportArray()

void RooJSONFactoryWSTool::exportArray ( std::size_t  n,
double const *  contents,
RooFit::Detail::JSONNode output 
)
static

Export an array of doubles to a JSONNode.

This function exports an array of doubles, represented by the provided size and contents, to a JSONNode. The array elements are added to the JSONNode as a sequence of values.

Parameters
nThe size of the array.
contentsA pointer to the array containing the double values.
outputThe JSONNode to which the array will be exported.
Returns
void

Definition at line 1325 of file RooJSONFactoryWSTool.cxx.

◆ exportCategory()

void RooJSONFactoryWSTool::exportCategory ( RooAbsCategory const &  cat,
RooFit::Detail::JSONNode node 
)

Export a RooAbsCategory object to a JSONNode.

This function exports a RooAbsCategory object, represented by the provided categories and indices, to a JSONNode. The category labels and corresponding indices are added to the JSONNode as key-value pairs.

Parameters
catThe RooAbsCategory object to be exported.
nodeThe JSONNode to which the category data will be exported.
Returns
void

Definition at line 1349 of file RooJSONFactoryWSTool.cxx.

◆ exportCombinedData()

RooJSONFactoryWSTool::CombinedData RooJSONFactoryWSTool::exportCombinedData ( RooAbsData const &  data)
private

Export combined data from the workspace to a custom struct.

This function exports combined data from the workspace, represented by the provided RooAbsData object, to a CombinedData struct. The struct contains information such as variables, categories, and bin contents of the combined data.

Parameters
dataThe RooAbsData object representing the combined data to be exported.
Returns
CombinedData A custom struct containing the exported combined data.

Definition at line 1382 of file RooJSONFactoryWSTool.cxx.

◆ exportData()

void RooJSONFactoryWSTool::exportData ( RooAbsData const &  data)
private

Export data from the workspace to a JSONNode.

This function exports data represented by the provided RooAbsData object, to a JSONNode. The data's information is added as key-value pairs to the JSONNode.

Parameters
dataThe RooAbsData object representing the data to be exported.
Returns
void

Definition at line 1457 of file RooJSONFactoryWSTool.cxx.

◆ exportHisto()

void RooJSONFactoryWSTool::exportHisto ( RooArgSet const &  vars,
std::size_t  n,
double const *  contents,
RooFit::Detail::JSONNode output 
)
static

Export histogram data to a JSONNode.

This function exports histogram data, represented by the provided variables and contents, to a JSONNode. The histogram's axes information and bin contents are added as key-value pairs to the JSONNode.

Parameters
varsThe RooArgSet representing the variables associated with the histogram.
nThe number of bins in the histogram.
contentsA pointer to the array containing the bin contents of the histogram.
outputThe JSONNode to which the histogram data will be exported.
Returns
void

Definition at line 1288 of file RooJSONFactoryWSTool.cxx.

◆ exportJSON() [1/2]

bool RooJSONFactoryWSTool::exportJSON ( std::ostream &  os)

Export the workspace to JSON format and write to the output stream.

Parameters
osThe output stream to write the JSON data to.
Returns
bool Returns true on successful export, false otherwise.

Definition at line 1945 of file RooJSONFactoryWSTool.cxx.

◆ exportJSON() [2/2]

bool RooJSONFactoryWSTool::exportJSON ( std::string const &  filename)

Export the workspace to JSON format and write to the specified file.

Parameters
filenameThe name of the JSON file to create and write the data to.
Returns
bool Returns true on successful export, false otherwise.

Definition at line 1960 of file RooJSONFactoryWSTool.cxx.

◆ exportJSONtoString()

std::string RooJSONFactoryWSTool::exportJSONtoString ( )

Export the workspace to a JSON string.

Returns
std::string The JSON string representing the exported workspace.

Definition at line 1894 of file RooJSONFactoryWSTool.cxx.

◆ exportModelConfig()

void RooJSONFactoryWSTool::exportModelConfig ( RooFit::Detail::JSONNode rootnode,
RooStats::ModelConfig const &  mc,
const std::vector< RooJSONFactoryWSTool::CombinedData > &  d 
)
private

Definition at line 1697 of file RooJSONFactoryWSTool.cxx.

◆ exportObject()

void RooJSONFactoryWSTool::exportObject ( RooAbsArg const &  func,
std::set< std::string > &  exportedObjectNames 
)
private

Export an object from the workspace to a JSONNode.

This function exports an object, represented by the provided RooAbsArg, from the workspace to a JSONNode. The object's information is added to the JSONNode as key-value pairs.

Parameters
funcThe RooAbsArg representing the object to be exported.
exportedObjectNamesA set of strings containing names of previously exported objects to avoid duplicates. This set is updated with the name of the newly exported object.
Returns
void

Definition at line 1021 of file RooJSONFactoryWSTool.cxx.

◆ exportSingleModelConfig()

void RooJSONFactoryWSTool::exportSingleModelConfig ( RooFit::Detail::JSONNode rootnode,
RooStats::ModelConfig const &  mc,
std::string const &  analysisName,
std::map< std::string, std::string > const *  dataComponents 
)
private

Definition at line 1719 of file RooJSONFactoryWSTool.cxx.

◆ exportTransformed()

std::string RooJSONFactoryWSTool::exportTransformed ( const RooAbsReal original,
const std::string &  tag,
const std::string &  operation_name,
const std::string &  formula 
)

Definition at line 985 of file RooJSONFactoryWSTool.cxx.

◆ exportVariable()

void RooJSONFactoryWSTool::exportVariable ( const RooAbsArg v,
RooFit::Detail::JSONNode n 
)
private

Export a variable from the workspace to a JSONNode.

This function exports a variable, represented by the provided RooAbsArg pointer 'v', from the workspace to a JSONNode. The variable's information is added to the JSONNode as key-value pairs.

Parameters
vThe pointer to the RooAbsArg representing the variable to be exported.
nodeThe JSONNode to which the variable will be exported.
Returns
void

Definition at line 907 of file RooJSONFactoryWSTool.cxx.

◆ exportVariables()

void RooJSONFactoryWSTool::exportVariables ( const RooArgSet allElems,
RooFit::Detail::JSONNode n 
)
private

Export variables from the workspace to a JSONNode.

This function exports variables, represented by the provided RooArgSet, from the workspace to a JSONNode. The variables' information is added to the JSONNode as key-value pairs.

Parameters
allElemsThe RooArgSet representing the variables to be exported.
nThe JSONNode to which the variables will be exported.
Returns
void

Definition at line 951 of file RooJSONFactoryWSTool.cxx.

◆ exportYML() [1/2]

bool RooJSONFactoryWSTool::exportYML ( std::ostream &  os)

Export the workspace to YML format and write to the output stream.

Parameters
osThe output stream to write the YML data to.
Returns
bool Returns true on successful export, false otherwise.

Definition at line 1978 of file RooJSONFactoryWSTool.cxx.

◆ exportYML() [2/2]

bool RooJSONFactoryWSTool::exportYML ( std::string const &  filename)

Export the workspace to YML format and write to the specified file.

Parameters
filenameThe name of the YML file to create and write the data to.
Returns
bool Returns true on successful export, false otherwise.

Definition at line 1993 of file RooJSONFactoryWSTool.cxx.

◆ exportYMLtoString()

std::string RooJSONFactoryWSTool::exportYMLtoString ( )

Export the workspace to a YML string.

Returns
std::string The YML string representing the exported workspace.

Definition at line 1906 of file RooJSONFactoryWSTool.cxx.

◆ fillSeq()

void RooJSONFactoryWSTool::fillSeq ( RooFit::Detail::JSONNode node,
RooAbsCollection const &  coll,
size_t  nMax = -1 
)
static

Definition at line 789 of file RooJSONFactoryWSTool.cxx.

◆ findNamedChild()

JSONNode const * RooJSONFactoryWSTool::findNamedChild ( RooFit::Detail::JSONNode const &  node,
std::string const &  name 
)
static

Definition at line 819 of file RooJSONFactoryWSTool.cxx.

◆ getRooFitInternal()

template<typename... Keys_t>
static RooFit::Detail::JSONNode & RooJSONFactoryWSTool::getRooFitInternal ( RooFit::Detail::JSONNode node,
Keys_t const &...  keys 
)
inlinestatic

Definition at line 170 of file RooJSONFactoryWSTool.h.

◆ getStringAttribute()

std::string RooJSONFactoryWSTool::getStringAttribute ( const std::string &  obj,
const std::string &  attrib 
)

Definition at line 2027 of file RooJSONFactoryWSTool.cxx.

◆ hasAttribute()

bool RooJSONFactoryWSTool::hasAttribute ( const std::string &  obj,
const std::string &  attrib 
)

Definition at line 2005 of file RooJSONFactoryWSTool.cxx.

◆ importAllNodes()

void RooJSONFactoryWSTool::importAllNodes ( const RooFit::Detail::JSONNode n)
private

Imports all nodes of the JSON data and adds them to the workspace.

Parameters
nThe JSONNode representing the root node of the JSON data.
Returns
void

Definition at line 2055 of file RooJSONFactoryWSTool.cxx.

◆ importDependants()

void RooJSONFactoryWSTool::importDependants ( const RooFit::Detail::JSONNode n)
private

Import all dependants (servers) of a node into the workspace.

This function imports all the dependants (servers) of the given JSONNode into the workspace. The dependants' information is read from the JSONNode and added to the workspace.

Parameters
nThe JSONNode representing the node whose dependants are to be imported.
Returns
void

Definition at line 1677 of file RooJSONFactoryWSTool.cxx.

◆ importFunction() [1/2]

void RooJSONFactoryWSTool::importFunction ( const RooFit::Detail::JSONNode n,
bool  importAllDependants 
)

Import a function from the JSONNode into the workspace.

This function imports a function from the given JSONNode into the workspace. The function's information is read from the JSONNode and added to the workspace.

Parameters
pThe JSONNode representing the function to be imported.
importAllDependantsA boolean flag indicating whether to import all dependants (servers) of the function.
Returns
void

Definition at line 1168 of file RooJSONFactoryWSTool.cxx.

◆ importFunction() [2/2]

void RooJSONFactoryWSTool::importFunction ( const std::string &  jsonString,
bool  importAllDependants 
)

Import a function from a JSON string into the workspace.

This function imports a function from the provided JSON string into the workspace. The function's information is read from the JSON string and added to the workspace.

Parameters
jsonStringThe JSON string containing the function information.
importAllDependantsA boolean flag indicating whether to import all dependants (servers) of the function.
Returns
void

Definition at line 1271 of file RooJSONFactoryWSTool.cxx.

◆ importJSON() [1/2]

bool RooJSONFactoryWSTool::importJSON ( std::istream &  is)

Imports a JSON file from the given input stream to the workspace.

Parameters
isThe input stream containing the JSON data.
Returns
bool Returns true on successful import, false otherwise.

Definition at line 2155 of file RooJSONFactoryWSTool.cxx.

◆ importJSON() [2/2]

bool RooJSONFactoryWSTool::importJSON ( std::string const &  filename)

Imports a JSON file from the given filename to the workspace.

Parameters
filenameThe name of the JSON file to import.
Returns
bool Returns true on successful import, false otherwise.

Definition at line 2169 of file RooJSONFactoryWSTool.cxx.

◆ importJSONElement()

void RooJSONFactoryWSTool::importJSONElement ( const std::string &  name,
const std::string &  jsonString 
)

Definition at line 2215 of file RooJSONFactoryWSTool.cxx.

◆ importJSONfromString()

bool RooJSONFactoryWSTool::importJSONfromString ( const std::string &  s)

Import the workspace from a JSON string.

Parameters
sThe JSON string containing the workspace data.
Returns
bool Returns true on successful import, false otherwise.

Definition at line 1871 of file RooJSONFactoryWSTool.cxx.

◆ importTransformed()

RooAbsReal * RooJSONFactoryWSTool::importTransformed ( const std::string &  name,
const std::string &  tag,
const std::string &  operation_name,
const std::string &  formula 
)

Definition at line 959 of file RooJSONFactoryWSTool.cxx.

◆ importVariable()

void RooJSONFactoryWSTool::importVariable ( const RooFit::Detail::JSONNode n)
private

Import a variable from the JSONNode into the workspace.

This function imports a variable from the given JSONNode into the workspace. The variable's information is read from the JSONNode and added to the workspace.

Parameters
pThe JSONNode representing the variable to be imported.
Returns
void

Definition at line 1637 of file RooJSONFactoryWSTool.cxx.

◆ importVariableElement()

void RooJSONFactoryWSTool::importVariableElement ( const RooFit::Detail::JSONNode n)

Definition at line 2233 of file RooJSONFactoryWSTool.cxx.

◆ importYML() [1/2]

bool RooJSONFactoryWSTool::importYML ( std::istream &  is)

Imports a YML file from the given input stream to the workspace.

Parameters
isThe input stream containing the YML data.
Returns
bool Returns true on successful import, false otherwise.

Definition at line 2188 of file RooJSONFactoryWSTool.cxx.

◆ importYML() [2/2]

bool RooJSONFactoryWSTool::importYML ( std::string const &  filename)

Imports a YML file from the given filename to the workspace.

Parameters
filenameThe name of the YML file to import.
Returns
bool Returns true on successful import, false otherwise.

Definition at line 2202 of file RooJSONFactoryWSTool.cxx.

◆ importYMLfromString()

bool RooJSONFactoryWSTool::importYMLfromString ( const std::string &  s)

Import the workspace from a YML string.

Parameters
sThe YML string containing the workspace data.
Returns
bool Returns true on successful import, false otherwise.

Definition at line 1883 of file RooJSONFactoryWSTool.cxx.

◆ makeVariablesNode()

JSONNode & RooJSONFactoryWSTool::makeVariablesNode ( RooFit::Detail::JSONNode rootNode)
static

Definition at line 841 of file RooJSONFactoryWSTool.cxx.

◆ name()

std::string RooJSONFactoryWSTool::name ( const RooFit::Detail::JSONNode n)
static

Definition at line 836 of file RooJSONFactoryWSTool.cxx.

◆ queueExport()

void RooJSONFactoryWSTool::queueExport ( RooAbsArg const &  arg)
inline

Definition at line 182 of file RooJSONFactoryWSTool.h.

◆ readAxes()

RooArgSet RooJSONFactoryWSTool::readAxes ( const RooFit::Detail::JSONNode node)
static

Read axes from the JSONNode and create a RooArgSet representing them.

This function reads axes information from the given JSONNode and creates a RooArgSet with variables representing these axes.

Parameters
topNodeThe JSONNode containing the axes information to be read.
Returns
RooArgSet A RooArgSet containing the variables created from the JSONNode.

Definition at line 1544 of file RooJSONFactoryWSTool.cxx.

◆ readBinnedData()

std::unique_ptr< RooDataHist > RooJSONFactoryWSTool::readBinnedData ( const RooFit::Detail::JSONNode n,
const std::string &  name,
RooArgSet const &  vars 
)
static

Read binned data from the JSONNode and create a RooDataHist object.

This function reads binned data from the given JSONNode and creates a RooDataHist object. The binned data is associated with the specified name and variables (RooArgSet) in the workspace.

Parameters
nThe JSONNode representing the binned data to be read.
nameThe name to be associated with the created RooDataHist object.
varsThe RooArgSet representing the variables associated with the binned data.
Returns
std::unique_ptr<RooDataHist> A unique pointer to the created RooDataHist object.

Definition at line 1585 of file RooJSONFactoryWSTool.cxx.

◆ request()

template<class T >
T * RooJSONFactoryWSTool::request ( const std::string &  objname,
const std::string &  requestAuthor 
)
inline

Definition at line 59 of file RooJSONFactoryWSTool.h.

◆ requestArg()

template<class T >
T * RooJSONFactoryWSTool::requestArg ( const RooFit::Detail::JSONNode node,
const std::string &  key 
)
inline

Definition at line 68 of file RooJSONFactoryWSTool.h.

◆ requestArgList()

template<class T >
RooArgList RooJSONFactoryWSTool::requestArgList ( const RooFit::Detail::JSONNode node,
const std::string &  seqName 
)
inline

Definition at line 102 of file RooJSONFactoryWSTool.h.

◆ requestArgSet()

template<class T >
RooArgSet RooJSONFactoryWSTool::requestArgSet ( const RooFit::Detail::JSONNode node,
const std::string &  seqName 
)
inline

Definition at line 96 of file RooJSONFactoryWSTool.h.

◆ requestCollection()

template<class T , class Coll_t >
Coll_t RooJSONFactoryWSTool::requestCollection ( const RooFit::Detail::JSONNode node,
const std::string &  seqName 
)
inline

Definition at line 78 of file RooJSONFactoryWSTool.h.

◆ requestImpl() [1/4]

template<class T >
T * RooJSONFactoryWSTool::requestImpl ( const std::string &  objname)
private

◆ requestImpl() [2/4]

template<>
RooRealVar * RooJSONFactoryWSTool::requestImpl ( const std::string &  objname)
private

Definition at line 847 of file RooJSONFactoryWSTool.cxx.

◆ requestImpl() [3/4]

template<>
RooAbsPdf * RooJSONFactoryWSTool::requestImpl ( const std::string &  objname)
private

Definition at line 862 of file RooJSONFactoryWSTool.cxx.

◆ requestImpl() [4/4]

template<>
RooAbsReal * RooJSONFactoryWSTool::requestImpl ( const std::string &  objname)
private

Definition at line 877 of file RooJSONFactoryWSTool.cxx.

◆ setAttribute()

void RooJSONFactoryWSTool::setAttribute ( const std::string &  obj,
const std::string &  attrib 
)

Definition at line 2019 of file RooJSONFactoryWSTool.cxx.

◆ setStringAttribute()

void RooJSONFactoryWSTool::setStringAttribute ( const std::string &  obj,
const std::string &  attrib,
const std::string &  value 
)

Definition at line 2040 of file RooJSONFactoryWSTool.cxx.

◆ warning()

std::ostream & RooJSONFactoryWSTool::warning ( const std::string &  s)
static

Writes a warning message to the RooFit message service.

Parameters
strThe warning message to be logged.
Returns
std::ostream& A reference to the output stream.

Definition at line 2277 of file RooJSONFactoryWSTool.cxx.

◆ workspace()

RooWorkspace * RooJSONFactoryWSTool::workspace ( )
inline

Definition at line 107 of file RooJSONFactoryWSTool.h.

◆ wsEmplace()

template<class Obj_t , typename... Args_t>
Obj_t & RooJSONFactoryWSTool::wsEmplace ( RooStringView  name,
Args_t &&...  args 
)
inline

Definition at line 117 of file RooJSONFactoryWSTool.h.

◆ wsImport()

template<class Obj_t >
Obj_t & RooJSONFactoryWSTool::wsImport ( Obj_t const &  obj)
inline

Definition at line 110 of file RooJSONFactoryWSTool.h.

Member Data Documentation

◆ _attributesNode

const RooFit::Detail::JSONNode* RooJSONFactoryWSTool::_attributesNode = nullptr
private

Definition at line 223 of file RooJSONFactoryWSTool.h.

◆ _domains

std::unique_ptr<RooFit::JSONIO::Detail::Domains> RooJSONFactoryWSTool::_domains
private

Definition at line 229 of file RooJSONFactoryWSTool.h.

◆ _rootnodeInput

const RooFit::Detail::JSONNode* RooJSONFactoryWSTool::_rootnodeInput = nullptr
private

Definition at line 222 of file RooJSONFactoryWSTool.h.

◆ _rootnodeOutput

RooFit::Detail::JSONNode* RooJSONFactoryWSTool::_rootnodeOutput = nullptr
private

Definition at line 224 of file RooJSONFactoryWSTool.h.

◆ _serversToExport

std::vector<RooAbsArg const *> RooJSONFactoryWSTool::_serversToExport
private

Definition at line 230 of file RooJSONFactoryWSTool.h.

◆ _varsNode

RooFit::Detail::JSONNode* RooJSONFactoryWSTool::_varsNode = nullptr
private

Definition at line 225 of file RooJSONFactoryWSTool.h.

◆ _workspace

RooWorkspace& RooJSONFactoryWSTool::_workspace
private

Definition at line 226 of file RooJSONFactoryWSTool.h.

◆ useListsInsteadOfDicts

constexpr bool RooJSONFactoryWSTool::useListsInsteadOfDicts = true
staticconstexpr

Definition at line 40 of file RooJSONFactoryWSTool.h.

Libraries for RooJSONFactoryWSTool:

The documentation for this class was generated from the following files: