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

Classes

class  ChangeOperModeRAII
 Struct to temporarily change the operation mode of a RooAbsArg until it goes out of scope. More...
 
struct  DisableCachingRAII
 Disable all caches for sub-branches in an expression tree. More...
 
class  HijackMessageStream
 Hijacks all messages with given level and topic (and optionally object name) while alive. More...
 
class  LocalChangeMsgLevel
 Switches the message service to a different level while the instance is alive. More...
 
struct  WrapIntoTObject
 Wrap an object into a TObject. Sometimes needed to avoid reinterpret_cast or enable RTTI. More...
 

Functions

bool checkIfRangesOverlap (RooAbsPdf const &pdf, RooAbsData const &data, std::vector< std::string > const &rangeNames, bool splitRange)
 Check if there is any overlap when a list of ranges is applied to a set of observables.
 
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.
 
std::string getColonSeparatedNameString (RooArgSet const &argSet)
 Create a string with all sorted names of RooArgSet elements separated by colons.
 
std::pair< double, doublegetRangeOrBinningInterval (RooAbsArg const *arg, const char *rangeName)
 Get the lower and upper bound of parameter range if arg can be casted to RooAbsRealLValue.
 
RooArgSet selectFromArgSet (RooArgSet const &argSet, std::string const &names)
 Construct a RooArgSet of objects in a RooArgSet whose names match to those in the names string.
 

Function Documentation

◆ checkIfRangesOverlap()

bool RooHelpers::checkIfRangesOverlap ( RooAbsPdf const &  pdf,
RooAbsData const &  data,
std::vector< std::string > const &  rangeNames,
bool  splitRange 
)

Check if there is any overlap when a list of ranges is applied to a set of observables.

Parameters
[in]pdfthe PDF
[in]dataRooAbsCollection with the observables to check for overlap.
[in]rangeNamesThe names of the ranges.
[in]splitRangeIf true, each component of a RooSimultaneous will be checked individually for overlaps, with the range names in that component suffixed by _<cat_label>. See the SplitRange() command argument of RooAbsPdf::fitTo()` to understand where this is used.

Definition at line 192 of file RooHelpers.cxx.

◆ checkRangeOfParameters()

void RooHelpers::checkRangeOfParameters ( const RooAbsReal callingClass,
std::initializer_list< const RooAbsReal * >  pars,
double  min,
double  max,
bool  limitsInAllowedRange,
std::string const &  extraMessage 
)

Check if the parameters have a range, and warn if the range extends below / above the set limits.

Parameters
[in]callingClassClass that's calling. Needed to include name and type name of the class in error message.
[in]parsList of all parameters to be checked.
[in]minMinimum of allowed range. min itself counts as disallowed.
[in]maxMaximum of allowed range. max itself counts as disallowed.
[in]limitsInAllowedRangeIf true, the limits passed as parameters are part of the allowed range.
[in]extraMessageMessage that should be appended to the warning.

Definition at line 121 of file RooHelpers.cxx.

◆ getColonSeparatedNameString()

std::string RooHelpers::getColonSeparatedNameString ( RooArgSet const &  argSet)

Create a string with all sorted names of RooArgSet elements separated by colons.

Parameters
[in]argargSet The input RooArgSet.

Definition at line 282 of file RooHelpers.cxx.

◆ getRangeOrBinningInterval()

std::pair< double, double > RooHelpers::getRangeOrBinningInterval ( RooAbsArg const *  arg,
const char *  rangeName 
)

Get the lower and upper bound of parameter range if arg can be casted to RooAbsRealLValue.

If no range with rangeName is defined for the argument, this will check if a binning of the same name exists and return the interval covered by the binning. Returns {-infinity, infinity} if agument can't be casted to RooAbsRealLValue* or if no range or binning with the requested name exists.

Parameters
[in]argRooAbsArg for which to get the range.
[in]rangeNameThe name of the range.

Definition at line 170 of file RooHelpers.cxx.

◆ selectFromArgSet()

RooArgSet RooHelpers::selectFromArgSet ( RooArgSet const &  argSet,
std::string const &  names 
)

Construct a RooArgSet of objects in a RooArgSet whose names match to those in the names string.

Parameters
[in]argargSet The input RooArgSet.
[in]argnames The names of the objects to select in a colon-separated string.

Definition at line 303 of file RooHelpers.cxx.