32#include <unordered_map>
42 msg.setGlobalKillBelow(
lvl);
44 for (
int i = 0; i <
msg.numStreams(); ++i) {
47 msg.getStream(i).minLevel =
lvl;
49 msg.setStreamStatus(i,
true);
62 for (
int i = 0; i <
msg.numStreams(); ++i) {
63 if (i <
static_cast<int>(
fOldConf.size()))
80 msg.setGlobalKillBelow(level);
82 std::vector<RooMsgService::StreamConfig>
tmpStreams;
83 for (
int i = 0; i <
msg.numStreams(); ++i) {
87 msg.setStreamStatus(i,
false);
106 for (
unsigned int i = 0; i <
_oldConf.size(); ++i) {
129 if (par && ((par->getMin() < min || par->getMax() > max) ||
133 if (min > -std::numeric_limits<double>::max()) {
139 if (max < std::numeric_limits<double>::max()) {
146 <<
"The parameter '" << par->GetName() <<
"' with range [" << par->getMin(
"") <<
", " << par->getMax()
148 <<
"' exceeds the safe range of " <<
rangeMsg.str() <<
". Advise to limit its range."
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract container object that can hold multiple RooAbsArg objects.
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
Abstract base class for objects that represent a real value and implements functionality common to al...
Object to represent discrete states.
Named container for two doubles, two integers two object points and three string pointers that can be...
RooFit::MsgLevel _oldKillBelow
HijackMessageStream(RooFit::MsgLevel level, RooFit::MsgTopic topics, const char *objectName=nullptr)
Hijack all messages with given level and topics while this object is alive.
std::vector< RooMsgService::StreamConfig > _oldConf
~HijackMessageStream()
Deregister the hijacked stream and restore the stream state of all previous streams.
RooFit::MsgLevel fOldKillBelow
LocalChangeMsgLevel(RooFit::MsgLevel lvl=RooFit::DEBUG, unsigned int extraTopics=0u, unsigned int removeTopics=0u, bool overrideExternalLevel=true)
Change message level (and topics) while this object is alive, reset when it goes out of scope.
std::vector< RooMsgService::StreamConfig > fOldConf
static RooMsgService & instance()
Return reference to singleton instance.
Variable that can be changed from the outside.
RooCmdArg ClassName(const char *name)
RooCmdArg OutputStream(std::ostream &os)
RooCmdArg Topic(Int_t topic)
RooCmdArg TagName(const char *name)
RooCmdArg BaseClassName(const char *name)
RooCmdArg ObjectName(const char *name)
MsgLevel
Verbosity level for RooMsgService::StreamConfig in RooMsgService.
MsgTopic
Topics for a RooMsgService::StreamConfig in RooMsgService.
void checkRangeOfParameters(const RooAbsReal *callingClass, std::initializer_list< const RooAbsReal * > pars, double min=-std::numeric_limits< double >::max(), double max=std::numeric_limits< double >::max(), bool limitsInAllowedRange=false, std::string const &extraMessage="")
Check if the parameters have a range, and warn if the range extends below / above the set limits.
bool setAllConstant(const RooAbsCollection &coll, bool constant=true)
set all RooRealVars to constants. return true if at least one changed status