29#include <unordered_map>
39 msg.setGlobalKillBelow(
lvl);
41 for (
int i = 0; i <
msg.numStreams(); ++i) {
44 msg.getStream(i).minLevel =
lvl;
46 msg.setStreamStatus(i,
true);
59 for (
int i = 0; i <
msg.numStreams(); ++i) {
60 if (i <
static_cast<int>(
fOldConf.size()))
77 msg.setGlobalKillBelow(level);
79 std::vector<RooMsgService::StreamConfig>
tmpStreams;
80 for (
int i = 0; i <
msg.numStreams(); ++i) {
84 msg.setStreamStatus(i,
false);
103 for (
unsigned int i = 0; i <
_oldConf.size(); ++i) {
126 if (par && ((par->getMin() < min || par->getMax() > max) ||
130 if (min > -std::numeric_limits<double>::max()) {
136 if (max < std::numeric_limits<double>::max()) {
143 <<
"The parameter '" << par->GetName() <<
"' with range [" << par->getMin(
"") <<
", " << par->getMax()
145 <<
"' 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 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...
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.
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.