13#ifndef RooFitHS3_RooJSONFactoryWSTool_h
14#define RooFitHS3_RooJSONFactoryWSTool_h
59 T *
request(
const std::string &objname,
const std::string &requestAuthor)
61 if (T *out = requestImpl<T>(objname)) {
74 return request<T>(node[key].val(), requestAuthor);
77 template <
class T,
class Coll_t>
84 if (!node[seqName].is_seq()) {
89 for (
const auto &elem : node[seqName].
children()) {
90 out.add(*request<T>(elem.val(), requestAuthor));
98 return requestCollection<T, RooArgSet>(node, seqName);
104 return requestCollection<T, RooArgList>(node, seqName);
109 template <
class Obj_t>
116 template <
class Obj_t,
typename... Args_t>
119 return wsImport(Obj_t(
name.c_str(),
name.c_str(), std::forward<Args_t>(args)...));
122 [[noreturn]]
static void error(
const char *s);
123 [[noreturn]]
inline static void error(
const std::string &s) {
error(s.c_str()); }
124 static std::ostream &
warning(
const std::string &s);
127 static std::unique_ptr<RooDataHist>
135 bool exportYML(std::string
const &fileName);
147 void importFunction(
const std::string &jsonString,
bool importAllDependants);
166 const char *
what() const noexcept
override {
return _message.c_str(); }
169 template <
typename... Keys_t>
172 return node.
get(
"misc",
"ROOT_internal", keys...);
186 void setAttribute(
const std::string &obj,
const std::string &attrib);
187 bool hasAttribute(
const std::string &obj,
const std::string &attrib);
199 void exportObjects(T
const &args, std::set<std::string> &exportedObjectNames)
225 const std::vector<RooJSONFactoryWSTool::CombinedData> &
d);
228 std::string
const &analysisName,
229 std::map<std::string, std::string>
const *dataComponents);
239 std::unique_ptr<RooFit::JSONIO::Detail::Domains>
_domains;
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Common abstract base class for objects that represent a value and a "shape" in RooFit.
A space to attach TBranches.
Abstract container object that can hold multiple RooAbsArg objects.
virtual bool add(const RooAbsArg &var, bool silent=false)
Add the specified argument to list.
void sort(bool reverse=false)
Sort collection using std::sort and name comparison.
Abstract base class for binned and unbinned datasets.
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
JSONNode & get(std::string const &key)
virtual children_view children()
virtual bool has_child(std::string const &) const =0
ModelConfig is a simple class that holds configuration information specifying how a model should be u...
The RooStringView is a wrapper around a C-style string that can also be constructed from a std::strin...
Persistable container for RooFit projects.
TObject * obj(RooStringView name) const
Return any type of object (RooAbsArg, RooAbsData or generic object) with given name)
bool import(const RooAbsArg &arg, const RooCmdArg &arg1={}, const RooCmdArg &arg2={}, const RooCmdArg &arg3={}, const RooCmdArg &arg4={}, const RooCmdArg &arg5={}, const RooCmdArg &arg6={}, const RooCmdArg &arg7={}, const RooCmdArg &arg8={}, const RooCmdArg &arg9={})
Import a RooAbsArg object, e.g.
RooCmdArg RecycleConflictNodes(bool flag=true)
RooCmdArg Silence(bool flag=true)
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
Namespace for the RooStats classes.