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

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.

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

tool.importJSON("myjson.json")
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.

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

tool.exportJSON("myjson.json")

Analogously, in C++, you can do

// ...
RooWorkspace ws("ws");
tool.importJSON("myjson.json");
When using RooFit, statistical models can be conveniently handled and stored as a RooWorkspace.
Persistable container for RooFit projects.

and

// ...
tool.exportJSON("myjson.json");

For more details, consult the tutorial rf515_hfJSON.

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:

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

Definition at line 40 of file RooJSONFactoryWSTool.h.

Classes

struct  CombinedData
 
struct  Config
 
class  DependencyMissingError
 

Public Member Functions

 RooJSONFactoryWSTool (RooWorkspace &ws)
 
 ~RooJSONFactoryWSTool ()
 
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 &suffix, const std::string &formula)
 
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 &p, 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.
 
void importVariableElement (const RooFit::Detail::JSONNode &n)
 
void queueExport (RooAbsArg const &arg)
 
void queueExportTemporary (RooAbsArg *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_twsEmplace (RooStringView name, Args_t &&...args)
 
template<class Obj_t >
Obj_twsImport (Obj_t const &obj)
 

Static Public Member Functions

static RooFit::Detail::JSONNodeappendNamedChild (RooFit::Detail::JSONNode &node, std::string const &name)
 
static RooWorkspace cleanWS (const RooWorkspace &ws, bool onlyModelConfig=false)
 
static Configconfig ()
 
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 exportAxis (RooFit::Detail::JSONNode &obsNode, RooRealVar const &var)
 Export the name and binning of a RooRealVar 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 constfindNamedChild (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 bool isValidName (const std::string &str)
 Check if a string is a valid name.
 
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 void rebuildModelConfigInWorkspace (RooStats::ModelConfig *mc, RooWorkspace &ws)
 
static std::string sanitizeName (const std::string str)
 Cleans up names to the HS3 standard.
 
static RooWorkspace sanitizeWS (const RooWorkspace &ws)
 
static bool testValidName (const std::string &str, bool forcError)
 
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)
 
RooJSONFactoryWSTool::CombinedData exportCombinedData (RooAbsData const &data)
 
void exportData (RooAbsData const &data)
 
void exportModelConfig (RooFit::Detail::JSONNode &rootnode, RooStats::ModelConfig const &mc, const std::vector< RooJSONFactoryWSTool::CombinedData > &combined, const std::vector< RooAbsData * > &single)
 
void exportObject (RooAbsArg const &func, std::set< std::string > &exportedObjectNames)
 
template<class T >
void exportObjects (T const &args, std::set< std::string > &exportedObjectNames)
 
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, bool storeConstant, bool storeBins)
 
void exportVariables (const RooArgSet &allElems, RooFit::Detail::JSONNode &n, bool storeConstant, bool storeBins)
 
void importAllNodes (const RooFit::Detail::JSONNode &n)
 
void importDependants (const RooFit::Detail::JSONNode &n)
 
void importVariable (const RooFit::Detail::JSONNode &p)
 
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::unordered_map< std::string, RooFit::Detail::JSONNode const * > _distributionsByName
 
std::unique_ptr< RooFit::JSONIO::Detail::Domains_domains
 
std::unordered_map< std::string, RooFit::Detail::JSONNode const * > _functionsByName
 
const RooFit::Detail::JSONNode_rootnodeInput = nullptr
 
RooFit::Detail::JSONNode_rootnodeOutput = nullptr
 
std::vector< RooAbsArg const * > _serversToDelete
 
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 741 of file RooJSONFactoryWSTool.cxx.

◆ ~RooJSONFactoryWSTool()

RooJSONFactoryWSTool::~RooJSONFactoryWSTool ( )

Definition at line 743 of file RooJSONFactoryWSTool.cxx.

Member Function Documentation

◆ appendNamedChild()

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

Definition at line 765 of file RooJSONFactoryWSTool.cxx.

◆ cleanWS()

RooWorkspace RooJSONFactoryWSTool::cleanWS ( const RooWorkspace & ws,
bool onlyModelConfig = false )
static

Definition at line 2256 of file RooJSONFactoryWSTool.cxx.

◆ config()

RooJSONFactoryWSTool::Config & RooJSONFactoryWSTool::config ( )
static

Definition at line 2305 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 1867 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 2217 of file RooJSONFactoryWSTool.cxx.

◆ error() [2/2]

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

Definition at line 140 of file RooJSONFactoryWSTool.h.

◆ exportAllObjects()

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

Definition at line 1742 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 1283 of file RooJSONFactoryWSTool.cxx.

◆ exportAxis()

void RooJSONFactoryWSTool::exportAxis ( RooFit::Detail::JSONNode & obsNode,
RooRealVar const & var )
static

Export the name and binning of a RooRealVar to a JSONNode.

Parameters
obsNodeThe JSONNode to which the axis information will be exported.
varThe RooRealVar representing the axis to be exported.
Returns
void

Definition at line 1229 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 1325 of file RooJSONFactoryWSTool.cxx.

◆ exportCombinedData()

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

Definition at line 1338 of file RooJSONFactoryWSTool.cxx.

◆ exportData()

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

Definition at line 1394 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 1261 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 1894 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 1909 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 1855 of file RooJSONFactoryWSTool.cxx.

◆ exportModelConfig()

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

Definition at line 1625 of file RooJSONFactoryWSTool.cxx.

◆ exportObject()

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

Definition at line 953 of file RooJSONFactoryWSTool.cxx.

◆ exportObjects()

template<class T >
void RooJSONFactoryWSTool::exportObjects ( T const & args,
std::set< std::string > & exportedObjectNames )
inlineprivate

Definition at line 216 of file RooJSONFactoryWSTool.h.

◆ 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 1660 of file RooJSONFactoryWSTool.cxx.

◆ exportTransformed()

std::string RooJSONFactoryWSTool::exportTransformed ( const RooAbsReal * original,
const std::string & suffix,
const std::string & formula )

Definition at line 940 of file RooJSONFactoryWSTool.cxx.

◆ exportVariable()

void RooJSONFactoryWSTool::exportVariable ( const RooAbsArg * v,
RooFit::Detail::JSONNode & n,
bool storeConstant,
bool storeBins )
private

Definition at line 898 of file RooJSONFactoryWSTool.cxx.

◆ exportVariables()

void RooJSONFactoryWSTool::exportVariables ( const RooArgSet & allElems,
RooFit::Detail::JSONNode & n,
bool storeConstant,
bool storeBins )
private

Definition at line 931 of file RooJSONFactoryWSTool.cxx.

◆ fillSeq()

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

Definition at line 745 of file RooJSONFactoryWSTool.cxx.

◆ findNamedChild()

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

Definition at line 775 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 181 of file RooJSONFactoryWSTool.h.

◆ getStringAttribute()

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

Definition at line 1939 of file RooJSONFactoryWSTool.cxx.

◆ hasAttribute()

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

Definition at line 1917 of file RooJSONFactoryWSTool.cxx.

◆ importAllNodes()

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

Definition at line 1962 of file RooJSONFactoryWSTool.cxx.

◆ importDependants()

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

Definition at line 1605 of file RooJSONFactoryWSTool.cxx.

◆ importFunction() [1/2]

void RooJSONFactoryWSTool::importFunction ( const RooFit::Detail::JSONNode & p,
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 1104 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 1217 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 2090 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 2109 of file RooJSONFactoryWSTool.cxx.

◆ importJSONElement()

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

Definition at line 2118 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 1844 of file RooJSONFactoryWSTool.cxx.

◆ importVariable()

void RooJSONFactoryWSTool::importVariable ( const RooFit::Detail::JSONNode & p)
private

Definition at line 1580 of file RooJSONFactoryWSTool.cxx.

◆ importVariableElement()

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

Definition at line 2162 of file RooJSONFactoryWSTool.cxx.

◆ isValidName()

bool RooJSONFactoryWSTool::isValidName ( const std::string & str)
static

Check if a string is a valid name.

A valid name should start with a letter or an underscore, followed by letters, digits, or underscores. Only characters from the ASCII character set are allowed.

Parameters
strThe string to be checked.
Returns
bool Returns true if the string is a valid name; otherwise, returns false.

Definition at line 801 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 195 of file RooJSONFactoryWSTool.h.

◆ queueExportTemporary()

void RooJSONFactoryWSTool::queueExportTemporary ( RooAbsArg * arg)
inline

Definition at line 196 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 1495 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 1536 of file RooJSONFactoryWSTool.cxx.

◆ rebuildModelConfigInWorkspace()

static void RooJSONFactoryWSTool::rebuildModelConfigInWorkspace ( RooStats::ModelConfig * mc,
RooWorkspace & ws )
static

◆ request()

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

Definition at line 76 of file RooJSONFactoryWSTool.h.

◆ requestArg()

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

Definition at line 85 of file RooJSONFactoryWSTool.h.

◆ requestArgList()

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

Definition at line 119 of file RooJSONFactoryWSTool.h.

◆ requestArgSet()

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

Definition at line 113 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 95 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 876 of file RooJSONFactoryWSTool.cxx.

◆ sanitizeName()

std::string RooJSONFactoryWSTool::sanitizeName ( const std::string str)
static

Cleans up names to the HS3 standard.

Parameters
strThe string to be sanitized.
Returns
std::string

Definition at line 2229 of file RooJSONFactoryWSTool.cxx.

◆ sanitizeWS()

RooWorkspace RooJSONFactoryWSTool::sanitizeWS ( const RooWorkspace & ws)
static

Definition at line 2312 of file RooJSONFactoryWSTool.cxx.

◆ setAttribute()

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

Definition at line 1931 of file RooJSONFactoryWSTool.cxx.

◆ setStringAttribute()

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

Definition at line 1952 of file RooJSONFactoryWSTool.cxx.

◆ testValidName()

bool RooJSONFactoryWSTool::testValidName ( const std::string & str,
bool forcError )
static

Definition at line 820 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 2206 of file RooJSONFactoryWSTool.cxx.

◆ workspace()

RooWorkspace * RooJSONFactoryWSTool::workspace ( )
inline

Definition at line 124 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 134 of file RooJSONFactoryWSTool.h.

◆ wsImport()

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

Definition at line 127 of file RooJSONFactoryWSTool.h.

Member Data Documentation

◆ _attributesNode

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

Definition at line 251 of file RooJSONFactoryWSTool.h.

◆ _distributionsByName

std::unordered_map<std::string, RooFit::Detail::JSONNode const *> RooJSONFactoryWSTool::_distributionsByName
private

Definition at line 266 of file RooJSONFactoryWSTool.h.

◆ _domains

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

Definition at line 257 of file RooJSONFactoryWSTool.h.

◆ _functionsByName

std::unordered_map<std::string, RooFit::Detail::JSONNode const *> RooJSONFactoryWSTool::_functionsByName
private

Definition at line 265 of file RooJSONFactoryWSTool.h.

◆ _rootnodeInput

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

Definition at line 250 of file RooJSONFactoryWSTool.h.

◆ _rootnodeOutput

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

Definition at line 252 of file RooJSONFactoryWSTool.h.

◆ _serversToDelete

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

Definition at line 259 of file RooJSONFactoryWSTool.h.

◆ _serversToExport

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

Definition at line 258 of file RooJSONFactoryWSTool.h.

◆ _varsNode

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

Definition at line 253 of file RooJSONFactoryWSTool.h.

◆ _workspace

RooWorkspace& RooJSONFactoryWSTool::_workspace
private

Definition at line 254 of file RooJSONFactoryWSTool.h.

◆ useListsInsteadOfDicts

constexpr bool RooJSONFactoryWSTool::useListsInsteadOfDicts = true
staticconstexpr

Definition at line 42 of file RooJSONFactoryWSTool.h.

Libraries for RooJSONFactoryWSTool:

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