Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooArgSet Class Reference

RooArgSet is a container object that can hold multiple RooAbsArg objects.

The container has set semantics which means that:

  • Every object it contains must have a unique name returned by GetName().
  • Contained objects are not ordered, although the set can be traversed using an iterator returned by createIterator(). The iterator does not necessarily follow the object insertion order.
  • Objects can be retrieved by name only, and not by index.

Ownership of contents

Unowned objects are inserted with the add() method. Owned objects are added with addOwned() or addClone(). A RooArgSet either owns all of it contents, or none, which is determined by the first add call. Once an ownership status is selected, inappropriate add calls will return error status. Clearing the list via removeAll() resets the ownership status. Arguments supplied in the constructor are always added as unowned elements.

Definition at line 35 of file RooArgSet.h.

Public Member Functions

 RooArgSet ()
 Default constructor.
 
 RooArgSet (const char *name)
 Empty set constructor.
 
template<typename... Args_t>
 RooArgSet (const RooAbsArg &arg, Args_t &&... moreArgsOrName)
 Construct a (non-owning) RooArgSet from one or more RooFit objects.
 
 RooArgSet (const RooAbsCollection &coll)
 Constructor from a RooArgList.
 
 RooArgSet (const RooAbsCollection &collection, const RooAbsArg *var1)
 Constructor from a RooArgSet / RooArgList and a pointer to another RooFit object.
 
 RooArgSet (const RooArgSet &other, const char *name="")
 Copy constructor.
 
 RooArgSet (const RooArgSet &set1, const RooArgSet &set2, const char *name="")
 Construct a set from two existing sets.
 
 RooArgSet (const TCollection &tcoll, const char *name="")
 Constructor from a root TCollection.
 
template<typename... Args_t>
 RooArgSet (double arg, Args_t &&... moreArgsOrName)
 
template<typename Iterator_t , typename value_type = typename std::remove_pointer<typename std::iterator_traits<Iterator_t>::value_type>::type, typename = std::enable_if<std::is_convertible<const value_type*, const RooAbsArg*>::value>>
 RooArgSet (Iterator_t beginIt, Iterator_t endIt, const char *name="")
 Construct a (non-owning) RooArgSet from iterators.
 
template<typename... Args_t>
 RooArgSet (RooAbsArg &&arg, Args_t &&... moreArgsOrName)
 This constructor will provoke a static_assert, because passing a RooAbsArg as r-value reference is not allowed.
 
 RooArgSet (RooArgSet &&other)
 Move constructor.
 
 RooArgSet (std::vector< RooAbsArgPtrOrDouble > const &vec)
 Construct a non-owning RooArgSet from a vector of RooAbsArg pointers.
 
 ~RooArgSet () override
 Destructor.
 
TObjectclone (const char *newname) const override
 
Bool_t containsInstance (const RooAbsArg &var) const override
 Check if this exact instance is in this collection.
 
TObjectcreate (const char *newname) const override
 
Bool_t isInRange (const char *rangeSpec)
 
void operator delete (void *ptr)
 
voidoperator new (size_t bytes)
 
voidoperator new (size_t bytes, void *ptr) noexcept
 
RooArgSetoperator= (const RooArgSet &other)
 
RooAbsArgoperator[] (const TString &str) const
 Get reference to an element using its name.
 
Bool_t readFromFile (const char *fileName, const char *flagReadAtt=0, const char *section=0, Bool_t verbose=kFALSE)
 Read contents of the argset from specified file.
 
virtual bool readFromStream (std::istream &is, bool compact, bool verbose=false)
 Shortcut for readFromStream(std::istream&, Bool_t, const char*, const char*, Bool_t), setting flagReadAtt and section to 0.
 
Bool_t readFromStream (std::istream &is, Bool_t compact, const char *flagReadAtt, const char *section, Bool_t verbose=kFALSE)
 Read the contents of the argset in ASCII form from given stream.
 
RooArgSetsnapshot (bool deepCopy=true) const
 Use RooAbsCollection::snapshot(), but return as RooArgSet.
 
Bool_t snapshot (RooAbsCollection &output, Bool_t deepCopy=kTRUE) const
 Take a snap shot of current collection contents.
 
RooFit::UniqueId< RooArgSet > const & uniqueId () const
 Returns a unique ID that is different for every instantiated RooArgSet.
 
void writeToFile (const char *fileName) const
 Write contents of the argset to specified file.
 
virtual void writeToStream (std::ostream &os, bool compact, const char *section=0) const
 Write the contents of the argset in ASCII form to given stream.
 
- Public Member Functions inherited from RooAbsCollection
 RooAbsCollection ()
 Default constructor.
 
 RooAbsCollection (const char *name)
 Empty collection constructor.
 
 RooAbsCollection (const RooAbsCollection &other, const char *name="")
 Copy constructor.
 
 RooAbsCollection (RooAbsCollection &&other)
 Move constructor.
 
virtual ~RooAbsCollection ()
 Destructor.
 
virtual Bool_t add (const RooAbsArg &var, Bool_t silent=kFALSE)
 Add the specified argument to list.
 
bool add (const RooAbsCollection &list, bool silent=kFALSE)
 Add a collection of arguments to this collection by calling add() for each element in the source collection.
 
template<typename Iterator_t , typename value_type = typename std::remove_pointer<typename std::iterator_traits<Iterator_t>::value_type>, typename = std::enable_if<std::is_convertible<const value_type*, const RooAbsArg*>::value>>
bool add (Iterator_t beginIt, Iterator_t endIt, bool silent=false)
 
virtual RooAbsArgaddClone (const RooAbsArg &var, Bool_t silent=kFALSE)
 Add a clone of the specified argument to list.
 
virtual void addClone (const RooAbsCollection &list, Bool_t silent=kFALSE)
 Add a collection of arguments to this collection by calling addOwned() for each element in the source collection.
 
virtual bool addOwned (const RooAbsCollection &list, bool silent=false)
 for each element in the source collection.
 
virtual Bool_t addOwned (RooAbsArg &var, Bool_t silent=kFALSE)
 Add an argument and transfer the ownership to the collection.
 
bool addOwned (RooAbsCollection &&list, bool silent=false)
 Add a collection of arguments to this collection by calling addOwned() for each element in the source collection.
 
bool addOwned (std::unique_ptr< RooAbsArg > var, bool silent=false)
 Add an argument and transfer the ownership to the collection from a std::unique_ptr.
 
Bool_t allInRange (const char *rangeSpec) const
 Return true if all contained object report to have their value inside the specified range.
 
void assign (const RooAbsCollection &other) const
 Sets the value, cache and constant attribute of any argument in our set that also appears in the other set.
 
void assignFast (const RooAbsCollection &other, bool setValDirty=true) const
 Functional equivalent of assign() but assumes this and other collection have same layout.
 
RooAbsCollectionassignValueOnly (const RooAbsCollection &other, bool forceIfSizeOne=false)
 Sets the value of any argument in our set that also appears in the other set.
 
const_iterator begin () const
 
void clear ()
 Clear contents. If the collection is owning, it will also delete the contents.
 
virtual TObjectClone (const char *newname=0) const
 Make a clone of an object using the Streamer facility.
 
Bool_t contains (const RooAbsArg &var) const
 Check if collection contains an argument with the same name as var.
 
std::string contentsString () const
 Return comma separated list of contained object names as STL string.
 
TIteratorcreateIterator (Bool_t dir=kIterForward) const
 TIterator-style iteration over contained elements.
 
virtual Int_t defaultPrintContents (Option_t *opt) const
 Define default RooPrinable print options for given Print() flag string For inline printing only show value of objects, for default print show name,class name value and extras of each object.
 
void dump () const
 Base contents dumper for debugging purposes.
 
bool empty () const
 
const_iterator end () const
 
Bool_t equals (const RooAbsCollection &otherColl) const
 Check if this and other collection have identically-named contents.
 
RooAbsArgfind (const char *name) const
 Find object with given name in list.
 
RooAbsArgfind (const RooAbsArg &) const
 Find object with given name in list.
 
TObjectFindObject (const char *name) const
 Find object by name in the collection.
 
TObjectFindObject (const TObject *obj) const
 Find object in the collection, Note: matching by object name, like the find() method.
 
RooAbsArgfirst () const
 
RooFIter fwdIterator () const
 One-time forward iterator.
 
Storage_t const & get () const
 Const access to the underlying stl container.
 
Int_t getCatIndex (const char *name, Int_t defVal=0, Bool_t verbose=kFALSE) const
 Get index value of a RooAbsCategory stored in set with given name.
 
const char * getCatLabel (const char *name, const char *defVal="", Bool_t verbose=kFALSE) const
 Get state name of a RooAbsCategory stored in set with given name.
 
Int_t getHashTableSize () const
 Query the size at which the collection will automatically start using an extra lookup table instead of performing a linear search.
 
const char * GetName () const
 Returns name of object.
 
Double_t getRealValue (const char *name, Double_t defVal=0, Bool_t verbose=kFALSE) const
 Get value of a RooAbsReal stored in set with given name.
 
Int_t getSize () const
 
const char * getStringValue (const char *name, const char *defVal="", Bool_t verbose=kFALSE) const
 Get string value of a RooStringVar stored in set with given name.
 
bool hasSameLayout (const RooAbsCollection &other) const
 Check that all entries where the collections overlap have the same name.
 
Int_t index (const char *name) const
 Return index of item with given name, or -1 in case it's not in the collection.
 
Int_t index (const RooAbsArg &arg) const
 Returns index of given arg, or -1 if arg is not in the collection.
 
Int_t index (const RooAbsArg *arg) const
 Returns index of given arg, or -1 if arg is not in the collection.
 
Bool_t isOwning () const
 
RooLinkedListIter iterator (Bool_t dir=kIterForward) const
 TIterator-style iteration over contained elements.
 
RooAbsCollectionoperator= (const RooAbsCollection &other)
 Assign values from the elements in other to our elements.
 
RooAbsArgoperator[] (Storage_t::size_type i) const
 
bool overlaps (const RooAbsCollection &otherColl) const
 Check if this and other collection have common entries.
 
template<typename Iterator_t , typename value_type = typename std::remove_pointer<typename std::iterator_traits<Iterator_t>::value_type>, typename = std::enable_if<std::is_convertible<const value_type*, const RooAbsArg*>::value>>
bool overlaps (Iterator_t otherCollBegin, Iterator_t otherCollEnd) const
 
virtual void Print (Option_t *options=0) const
 This method must be overridden when a class wants to print itself.
 
virtual void printClassName (std::ostream &os) const
 Return collection class name.
 
void printLatex (const RooCmdArg &arg1=RooCmdArg(), const RooCmdArg &arg2=RooCmdArg(), const RooCmdArg &arg3=RooCmdArg(), const RooCmdArg &arg4=RooCmdArg(), const RooCmdArg &arg5=RooCmdArg(), const RooCmdArg &arg6=RooCmdArg(), const RooCmdArg &arg7=RooCmdArg(), const RooCmdArg &arg8=RooCmdArg()) const
 Output content of collection as LaTex table.
 
void printLatex (std::ostream &ofs, Int_t ncol, const char *option="NEYU", Int_t sigDigit=1, const RooLinkedList &siblingLists=RooLinkedList(), const RooCmdArg *formatCmd=0) const
 Internal implementation function of printLatex.
 
virtual void printMultiline (std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
 Implement multiline printing of collection, one line for each contained object showing the requested content.
 
virtual void printName (std::ostream &os) const
 Return collection name.
 
virtual void printTitle (std::ostream &os) const
 Return collection title.
 
virtual void printValue (std::ostream &os) const
 Print value of collection, i.e.
 
Storage_t::const_reverse_iterator rbegin () const
 
virtual void RecursiveRemove (TObject *obj)
 If one of the TObject we have a referenced to is deleted, remove the reference.
 
void releaseOwnership ()
 
virtual Bool_t remove (const RooAbsArg &var, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
 Remove the specified argument from our list.
 
Bool_t remove (const RooAbsCollection &list, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
 Remove each argument in the input list from our list.
 
template<class forwardIt >
void remove (forwardIt rangeBegin, forwardIt rangeEnd, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
 
virtual void removeAll ()
 Remove all arguments from our set, deleting them if we own them.
 
Storage_t::const_reverse_iterator rend () const
 
virtual Bool_t replace (const RooAbsArg &var1, const RooAbsArg &var2)
 Replace var1 with var2 and return kTRUE for success.
 
Bool_t replace (const RooAbsCollection &other)
 Replace any args in our set with args of the same name from the other set and return kTRUE for success.
 
void reserve (Storage_t::size_type count)
 
RooAbsCollectionselectByAttrib (const char *name, Bool_t value) const
 Create a subset of the current collection, consisting only of those elements with the specified attribute set.
 
RooAbsCollectionselectByName (const char *nameList, Bool_t verbose=kFALSE) const
 Create a subset of the current collection, consisting only of those elements with names matching the wildcard expressions in nameList, supplied as a comma separated list.
 
RooAbsCollectionselectCommon (const RooAbsCollection &refColl) const
 Create a subset of the current collection, consisting only of those elements that are contained as well in the given reference collection.
 
bool selectCommon (const RooAbsCollection &refColl, RooAbsCollection &outColl) const
 Create a subset of the current collection, consisting only of those elements that are contained as well in the given reference collection.
 
void setAttribAll (const Text_t *name, Bool_t value=kTRUE)
 Set given attribute in each element of the collection by calling each elements setAttribute() function.
 
Bool_t setCatIndex (const char *name, Int_t newVal=0, Bool_t verbose=kFALSE)
 Set index value of a RooAbsCategoryLValue stored in set with given name to newVal.
 
Bool_t setCatLabel (const char *name, const char *newVal="", Bool_t verbose=kFALSE)
 Set state name of a RooAbsCategoryLValue stored in set with given name to newVal.
 
void setHashTableSize (Int_t number)
 Set the size at which the collection will automatically start using an extra lookup table instead of performing a linear search.
 
void setName (const char *name)
 
Bool_t setRealValue (const char *name, Double_t newVal=0, Bool_t verbose=kFALSE)
 Set value of a RooAbsRealLValye stored in set with given name to newVal No error messages are printed unless the verbose flag is set.
 
Bool_t setStringValue (const char *name, const char *newVal="", Bool_t verbose=kFALSE)
 Set string value of a RooStringVar stored in set with given name to newVal.
 
Storage_t::size_type size () const
 
RooAbsCollectionsnapshot (Bool_t deepCopy=kTRUE) const
 Take a snap shot of current collection contents.
 
Bool_t snapshot (RooAbsCollection &output, Bool_t deepCopy=kTRUE) const
 Take a snap shot of current collection contents: A collection that owns its elements is returned containing clones of.
 
void sort (Bool_t reverse=false)
 Sort collection using std::sort and name comparison.
 
void sortTopologically ()
 Sort collection topologically: the servers of any RooAbsArg will be before that RooAbsArg in the collection.
 
void takeOwnership ()
 
void useHashMapForFind (bool flag) const
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Clear (Option_t *="")
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method.
 
virtual void Copy (TObject &object) const
 Copy this to obj.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout.
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification.
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 
- Public Member Functions inherited from RooPrintable
 RooPrintable ()
 
virtual ~RooPrintable ()
 
virtual StyleOption defaultPrintStyle (Option_t *opt) const
 
virtual void printAddress (std::ostream &os) const
 Print class name of object.
 
virtual void printArgs (std::ostream &os) const
 Interface for printing of object arguments.
 
virtual void printExtras (std::ostream &os) const
 Interface to print extras of object.
 
virtual void printStream (std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
 Print description of object on ostream, printing contents set by contents integer, which is interpreted as an OR of 'enum ContentsOptions' values and in the style given by 'enum StyleOption'.
 
virtual void printTree (std::ostream &os, TString indent="") const
 Interface for tree structure printing of object.
 

Static Public Member Functions

static void cleanup ()
 
- Static Public Member Functions inherited from TObject
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Static Public Member Functions inherited from RooPrintable
static std::ostream & defaultPrintStream (std::ostream *os=0)
 Return a reference to the current default stream to use in Print().
 
static void nameFieldLength (Int_t newLen)
 Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount.
 

Protected Member Functions

virtual bool canBeAdded (const RooAbsArg &arg, bool silent) const override
 Determine whether it's possible to add a given RooAbsArg to the collection or not.
 
Bool_t checkForDup (const RooAbsArg &arg, Bool_t silent) const
 Check if element with var's name is already in set.
 
- Protected Member Functions inherited from RooAbsCollection
Bool_t addServerClonesToList (const RooAbsArg &var)
 Add clones of servers of given argument to end of list.
 
void clearStructureTags ()
 Typed structure tag.
 
void deleteList ()
 Delete contents of the list.
 
void makeStructureTag ()
 
void makeTypedStructureTag ()
 
TNamedstructureTag ()
 
TNamedtypedStructureTag ()
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Private Types

typedef MemPoolForRooSets< RooArgSet, 10 *600 > MemPool
 

Private Member Functions

template<class Arg_t >
void processArg (Arg_t &&arg)
 
void processArg (const char *name)
 
void processArg (const RooAbsArg &arg)
 
void processArg (const RooAbsArg *arg)
 
void processArg (const RooAbsCollection &coll)
 
void processArg (const RooArgList &list)
 
void processArg (double value)
 
void processArg (RooAbsArg *var)
 
void processArg (RooAbsCollection &&coll)
 
template<typename... Args_t>
void processArgs (Args_t &&... args)
 

Static Private Member Functions

static MemPoolmemPool ()
 

Private Attributes

const RooFit::UniqueId< RooArgSet_uniqueId
 

Additional Inherited Members

- Public Types inherited from RooAbsCollection
using const_iterator = Storage_t::const_iterator
 
using Storage_t = std::vector< RooAbsArg * >
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 
- Public Types inherited from RooPrintable
enum  ContentsOption {
  kName =1 , kClassName =2 , kValue =4 , kArgs =8 ,
  kExtras =16 , kAddress =32 , kTitle =64 , kCollectionHeader =128
}
 
enum  StyleOption {
  kInline =1 , kSingleLine =2 , kStandard =3 , kVerbose =4 ,
  kTreeStructure =5
}
 
- Protected Types inherited from RooAbsCollection
using LegacyIterator_t = TIteratorToSTLInterface< Storage_t >
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = BIT(3) }
 
- Static Protected Member Functions inherited from RooAbsCollection
template<class T >
static void assert_is_no_temporary (T &&)
 
- Protected Attributes inherited from RooAbsCollection
Bool_t _allRRV
 
Storage_t _list
 
TString _name
 
Bool_t _ownCont
 
TNamed_structureTag {nullptr}
 
TNamed_typedStructureTag {nullptr}
 Structure tag.
 
- Static Protected Attributes inherited from RooPrintable
static Int_t _nameLength
 

#include <RooArgSet.h>

Inheritance diagram for RooArgSet:
[legend]

Member Typedef Documentation

◆ MemPool

Definition at line 204 of file RooArgSet.h.

Constructor & Destructor Documentation

◆ RooArgSet() [1/13]

RooArgSet::RooArgSet ( )

Default constructor.

Definition at line 146 of file RooArgSet.cxx.

◆ RooArgSet() [2/13]

template<typename... Args_t>
RooArgSet::RooArgSet ( const RooAbsArg arg,
Args_t &&...  moreArgsOrName 
)
inline

Construct a (non-owning) RooArgSet from one or more RooFit objects.

The set will not own its contents.

Template Parameters
TsParameter pack of objects that derive from RooAbsArg or RooFit collections; or a name.
Parameters
argA RooFit object. Note that you can also pass a double as first argument when constructing a RooArgSet, and another templated constructor will be used where a RooConstVar is implicitly created from the double value.
moreArgsOrNameArbitrary number of

Definition at line 61 of file RooArgSet.h.

◆ RooArgSet() [3/13]

template<typename... Args_t>
RooArgSet::RooArgSet ( RooAbsArg &&  arg,
Args_t &&...  moreArgsOrName 
)
inline

This constructor will provoke a static_assert, because passing a RooAbsArg as r-value reference is not allowed.

Definition at line 79 of file RooArgSet.h.

◆ RooArgSet() [4/13]

template<typename... Args_t>
RooArgSet::RooArgSet ( double  arg,
Args_t &&...  moreArgsOrName 
)
inlineexplicit

Definition at line 83 of file RooArgSet.h.

◆ RooArgSet() [5/13]

template<typename Iterator_t , typename value_type = typename std::remove_pointer<typename std::iterator_traits<Iterator_t>::value_type>::type, typename = std::enable_if<std::is_convertible<const value_type*, const RooAbsArg*>::value>>
RooArgSet::RooArgSet ( Iterator_t  beginIt,
Iterator_t  endIt,
const char *  name = "" 
)
inline

Construct a (non-owning) RooArgSet from iterators.

Template Parameters
Iterator_tAn iterator pointing to RooFit objects or to pointers/references of those.
Parameters
beginItIterator to first element to add.
endItIterator to end of range to be added.
nameOptional name of the collection.

Definition at line 95 of file RooArgSet.h.

◆ RooArgSet() [6/13]

RooArgSet::RooArgSet ( std::vector< RooAbsArgPtrOrDouble > const &  vec)
inline

Construct a non-owning RooArgSet from a vector of RooAbsArg pointers.

This constructor is mainly intended for pyROOT. With cppyy, a Python list or tuple can be implicitly converted to an std::vector, and by enabling implicit construction of a RooArgSet from a std::vector, we indirectly enable implicit conversion from a Python list/tuple to RooArgSets.

Parameters
vecA vector with pointers to the arguments or doubles for RooFit::RooConst().

Definition at line 108 of file RooArgSet.h.

◆ RooArgSet() [7/13]

RooArgSet::RooArgSet ( const RooArgSet other,
const char *  name = "" 
)

Copy constructor.

Note that a copy of a set is always non-owning, even if the source set owns its contents. To create an owning copy of a set (owning or not), use the snapshot() method.

Definition at line 231 of file RooArgSet.cxx.

◆ RooArgSet() [8/13]

RooArgSet::RooArgSet ( RooArgSet &&  other)
inline

Move constructor.

Definition at line 117 of file RooArgSet.h.

◆ RooArgSet() [9/13]

RooArgSet::RooArgSet ( const RooArgSet set1,
const RooArgSet set2,
const char *  name = "" 
)

Construct a set from two existing sets.

The new set will not own its contents.

Definition at line 196 of file RooArgSet.cxx.

◆ RooArgSet() [10/13]

RooArgSet::RooArgSet ( const RooAbsCollection coll)

Constructor from a RooArgList.

If the list contains multiple objects with the same name, only the first is store in the set. Warning messages will be printed for dropped items.

Definition at line 157 of file RooArgSet.cxx.

◆ RooArgSet() [11/13]

RooArgSet::RooArgSet ( const RooAbsCollection collection,
const RooAbsArg var1 
)

Constructor from a RooArgSet / RooArgList and a pointer to another RooFit object.

Parameters
[in]collectionCollection of RooFit objects to be added. If a list contains multiple objects with the same name, only the first is stored in the set. Warning messages will be printed for dropped items.
[in]var1Further object to be added. If it is already in collection, nothing happens, and the warning message is suppressed.

Definition at line 173 of file RooArgSet.cxx.

◆ RooArgSet() [12/13]

RooArgSet::RooArgSet ( const TCollection tcoll,
const char *  name = "" 
)
explicit

Constructor from a root TCollection.

Elements in the collection that do not inherit from RooAbsArg will be skipped. A warning message will be printed for every skipped item.

Definition at line 209 of file RooArgSet.cxx.

◆ RooArgSet() [13/13]

RooArgSet::RooArgSet ( const char *  name)
explicit

Empty set constructor.

Definition at line 186 of file RooArgSet.cxx.

◆ ~RooArgSet()

RooArgSet::~RooArgSet ( )
override

Destructor.

Definition at line 241 of file RooArgSet.cxx.

Member Function Documentation

◆ canBeAdded()

virtual bool RooArgSet::canBeAdded ( const RooAbsArg arg,
bool  silent 
) const
inlineoverrideprotectedvirtual

Determine whether it's possible to add a given RooAbsArg to the collection or not.

Implements RooAbsCollection.

Definition at line 175 of file RooArgSet.h.

◆ checkForDup()

Bool_t RooArgSet::checkForDup ( const RooAbsArg arg,
Bool_t  silent 
) const
protected

Check if element with var's name is already in set.

Definition at line 274 of file RooArgSet.cxx.

◆ cleanup()

void RooArgSet::cleanup ( )
static

Definition at line 73 of file RooArgSet.cxx.

◆ clone()

TObject * RooArgSet::clone ( const char *  newname) const
inlineoverridevirtual

Implements RooAbsCollection.

Definition at line 128 of file RooArgSet.h.

◆ containsInstance()

Bool_t RooArgSet::containsInstance ( const RooAbsArg var) const
inlineoverridevirtual

Check if this exact instance is in this collection.

Reimplemented from RooAbsCollection.

Definition at line 149 of file RooArgSet.h.

◆ create()

TObject * RooArgSet::create ( const char *  newname) const
inlineoverridevirtual

Implements RooAbsCollection.

Definition at line 129 of file RooArgSet.h.

◆ isInRange()

Bool_t RooArgSet::isInRange ( const char *  rangeSpec)

Definition at line 615 of file RooArgSet.cxx.

◆ memPool()

static MemPool * RooArgSet::memPool ( )
staticprivate

◆ operator delete()

void RooArgSet::operator delete ( void ptr)

◆ operator new() [1/2]

void * RooArgSet::operator new ( size_t  bytes)

◆ operator new() [2/2]

void * RooArgSet::operator new ( size_t  bytes,
void ptr 
)
noexcept

◆ operator=()

RooArgSet & RooArgSet::operator= ( const RooArgSet other)
inline

Definition at line 130 of file RooArgSet.h.

◆ operator[]()

RooAbsArg & RooArgSet::operator[] ( const TString name) const

Get reference to an element using its name.

Named element must exist in set.

Exceptions
invalid_argumentif an element with the given name is not in the set.

Note that since most RooFit objects use an assignment operator that copies values, an expression like

mySet["x"] = y;
Double_t y[n]
Definition legend1.C:17

will not replace the element "x", it just assigns the values of y.

Definition at line 259 of file RooArgSet.cxx.

◆ processArg() [1/9]

template<class Arg_t >
void RooArgSet::processArg ( Arg_t &&  arg)
inlineprivate

Definition at line 191 of file RooArgSet.h.

◆ processArg() [2/9]

void RooArgSet::processArg ( const char *  name)
inlineprivate

Definition at line 195 of file RooArgSet.h.

◆ processArg() [3/9]

void RooArgSet::processArg ( const RooAbsArg arg)
inlineprivate

Definition at line 187 of file RooArgSet.h.

◆ processArg() [4/9]

void RooArgSet::processArg ( const RooAbsArg arg)
inlineprivate

Definition at line 188 of file RooArgSet.h.

◆ processArg() [5/9]

void RooArgSet::processArg ( const RooAbsCollection coll)
inlineprivate

Definition at line 197 of file RooArgSet.h.

◆ processArg() [6/9]

void RooArgSet::processArg ( const RooArgList list)
private

◆ processArg() [7/9]

void RooArgSet::processArg ( double  value)
private

Definition at line 651 of file RooArgSet.cxx.

◆ processArg() [8/9]

void RooArgSet::processArg ( RooAbsArg var)
inlineprivate

Definition at line 189 of file RooArgSet.h.

◆ processArg() [9/9]

void RooArgSet::processArg ( RooAbsCollection &&  coll)
inlineprivate

Definition at line 200 of file RooArgSet.h.

◆ processArgs()

template<typename... Args_t>
void RooArgSet::processArgs ( Args_t &&...  args)
inlineprivate

Definition at line 182 of file RooArgSet.h.

◆ readFromFile()

Bool_t RooArgSet::readFromFile ( const char *  fileName,
const char *  flagReadAtt = 0,
const char *  section = 0,
Bool_t  verbose = kFALSE 
)

Read contents of the argset from specified file.

See readFromStream() for details

Definition at line 317 of file RooArgSet.cxx.

◆ readFromStream() [1/2]

virtual bool RooArgSet::readFromStream ( std::istream &  is,
bool  compact,
bool  verbose = false 
)
inlinevirtual

Shortcut for readFromStream(std::istream&, Bool_t, const char*, const char*, Bool_t), setting flagReadAtt and section to 0.

Definition at line 138 of file RooArgSet.h.

◆ readFromStream() [2/2]

Bool_t RooArgSet::readFromStream ( std::istream &  is,
Bool_t  compact,
const char *  flagReadAtt,
const char *  section,
Bool_t  verbose = kFALSE 
)

Read the contents of the argset in ASCII form from given stream.

The stream is read to end-of-file and each line is assumed to be of the form

<argName> = <argValue>

Lines starting with argNames not matching any element in the list will be ignored with a warning message. In addition limited C++ style preprocessing and flow control is provided. The following constructions are recognized:

include "include.file"

Include given file, recursive inclusion OK

if (<boolean_expression>)
<name> = <value>
....
else if (<boolean_expression>)
....
else
....
endif
char name[80]
Definition TGX11.cxx:110

All expressions are evaluated by RooFormula, and may involve any of the sets variables.

echo <Message>

Print console message while reading from stream

abort

Force termination of read sequence with error status

The value of each argument is read by the arguments readFromStream function.

Definition at line 407 of file RooArgSet.cxx.

◆ snapshot() [1/2]

RooArgSet * RooArgSet::snapshot ( bool  deepCopy = true) const
inline

Use RooAbsCollection::snapshot(), but return as RooArgSet.

Definition at line 158 of file RooArgSet.h.

◆ snapshot() [2/2]

Bool_t RooArgSet::snapshot ( RooAbsCollection output,
Bool_t  deepCopy = kTRUE 
) const
inline

Take a snap shot of current collection contents.

An owning collection is returned containing clones of

  • Elements in this collection
  • External dependents of all elements and recursively any dependents of those dependents (if deepCopy flag is set)

This is useful to save the values of variables or parameters. It doesn't require deep copying if the parameters are direct members of the collection.

If deepCopy is specified, the client-server links between the cloned list elements and the cloned external dependents are reconnected to each other, making the snapshot a completely self-contained entity.

Definition at line 163 of file RooArgSet.h.

◆ uniqueId()

RooFit::UniqueId< RooArgSet > const & RooArgSet::uniqueId ( ) const
inline

Returns a unique ID that is different for every instantiated RooArgSet.

This ID can be used to check whether two RooAbsData are the same object, which is safer than memory address comparisons that might result in false positives when memory is recycled.

Definition at line 171 of file RooArgSet.h.

◆ writeToFile()

void RooArgSet::writeToFile ( const char *  fileName) const

Write contents of the argset to specified file.

See writeToStream() for details

Definition at line 301 of file RooArgSet.cxx.

◆ writeToStream()

void RooArgSet::writeToStream ( std::ostream &  os,
bool  compact,
const char *  section = 0 
) const
virtual

Write the contents of the argset in ASCII form to given stream.

A line is written for each element contained in the form <argName> = <argValue>

The <argValue> part of each element is written by the arguments' writeToStream() function.

Parameters
osThe stream to write to.
compactWrite only the bare values, separated by ' '.
Note
In compact mode, the stream cannot be read back into a RooArgSet, but only into a RooArgList, because the variable names are lost.
Parameters
sectionIf non-null, add a section header like [<section>].

Definition at line 343 of file RooArgSet.cxx.

Member Data Documentation

◆ _uniqueId

const RooFit::UniqueId<RooArgSet> RooArgSet::_uniqueId
private

Definition at line 210 of file RooArgSet.h.

Libraries for RooArgSet:

The documentation for this class was generated from the following files: