8bool startsWith(std::string_view str, std::string_view prefix)
10 return str.size() >= prefix.size() && 0 == str.compare(0, prefix.size(), prefix);
18std::string
removePrefix(std::string_view str, std::string_view prefix)
22 out = out.substr(prefix.length());
29 out = out.substr(0, out.length() -
suffix.length());
39 bool isConstant =
false;
43 val =
n->val_double();
55 val = (maxVal + minVal) / 2;
59 throw std::invalid_argument(
"Invalid Syntax: Please provide either 'value' or 'min' and 'max' or both");
64 JSONNode &_domains =
n[
"domains"].set_seq().append_child().set_map();
67 _domains[
"name"] <<
"default_domain";
68 _domains[
"type"] <<
"product_domain";
78 _axes[
"max"] << maxVal;
79 _axes[
"min"] << minVal;
87 _var[
"tags"] <<
"Constant";
std::unique_ptr< RooFit::Detail::JSONTree > varJSONString(const JSONNode &treeRoot)
std::string removePrefix(std::string_view str, std::string_view prefix)
bool startsWith(std::string_view str, std::string_view prefix)
bool endsWith(std::string_view str, std::string_view suffix)
std::string removeSuffix(std::string_view str, std::string_view suffix)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
virtual JSONNode & set_seq()=0
static std::unique_ptr< JSONTree > create()