Logo ROOT  
Reference Guide
RooAbsCollection Class Referenceabstract

RooAbsCollection is an abstract container object that can hold multiple RooAbsArg objects.

Collections are ordered and can contain multiple objects of the same name, (but a derived implementation can enforce unique names). The storage of objects is implemented using the container denoted by RooAbsCollection::Storage_t.

Definition at line 29 of file RooAbsCollection.h.

Public Types

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
}
 

Public Member Functions

 RooAbsCollection ()
 Default constructor. More...
 
 RooAbsCollection (const char *name)
 Empty collection constructor. More...
 
 RooAbsCollection (const RooAbsCollection &other, const char *name="")
 Copy constructor. More...
 
virtual ~RooAbsCollection ()
 Destructor. More...
 
virtual Bool_t add (const RooAbsArg &var, Bool_t silent=kFALSE)
 Add the specified argument to list. More...
 
virtual Bool_t add (const RooAbsCollection &list, Bool_t silent=kFALSE)
 Add a collection of arguments to this collection by calling add() for each element in the source collection. More...
 
virtual RooAbsArgaddClone (const RooAbsArg &var, Bool_t silent=kFALSE)
 Add a clone of the specified argument to list. More...
 
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. More...
 
virtual Bool_t addOwned (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. More...
 
virtual Bool_t addOwned (RooAbsArg &var, Bool_t silent=kFALSE)
 Add the specified argument to list. More...
 
Bool_t allInRange (const char *rangeSpec) const
 Return true if all contained object report to have their value inside the specified range. More...
 
void assignFast (const RooAbsCollection &other, Bool_t setValDirty=kTRUE)
 Functional equivalent of operator=() but assumes this and other collection have same layout. More...
 
RooAbsCollectionassignValueOnly (const RooAbsCollection &other, Bool_t oneSafe=kFALSE)
 The assignment operator sets the value of any argument in our set that also appears in the other set. More...
 
const_iterator begin () const
 
void clear ()
 Clear contents. If the collection is owning, it will also delete the contents. More...
 
virtual TObjectclone (const char *newname) const =0
 
virtual TObjectClone (const char *newname=0) const
 Make a clone of an object using the Streamer facility. More...
 
Bool_t contains (const RooAbsArg &var) const
 Check if collection contains an argument with the same name as var. More...
 
Bool_t containsInstance (const RooAbsArg &var) const
 Check if this exact instance is in this collection. More...
 
std::string contentsString () const
 Return comma separated list of contained object names as STL string. More...
 
virtual TObjectcreate (const char *newname) const =0
 
TIteratorcreateIterator (Bool_t dir=kIterForward) const
 TIterator-style iteration over contained elements. More...
 
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. More...
 
void dump () const
 Base contents dumper for debugging purposes. More...
 
bool empty () const
 
const_iterator end () const
 
Bool_t equals (const RooAbsCollection &otherColl) const
 Check if this and other collection have identically-named contents. More...
 
RooAbsArgfind (const char *name) const
 Find object with given name in list. More...
 
RooAbsArgfind (const RooAbsArg &) const
 Find object with given name in list. More...
 
RooAbsArgfirst () const
 
RooFIter fwdIterator () const
 One-time forward iterator. More...
 
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. More...
 
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. More...
 
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. More...
 
const char * GetName () const
 Returns name of object. More...
 
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. More...
 
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. More...
 
Int_t index (const char *name) const
 Return index of item with given name, or -1 in case it's not in the collection. More...
 
Int_t index (const RooAbsArg &arg) const
 Returns index of given arg, or -1 if arg is not in the collection. More...
 
Int_t index (const RooAbsArg *arg) const
 Returns index of given arg, or -1 if arg is not in the collection. More...
 
Bool_t isOwning () const
 
RooLinkedListIter iterator (Bool_t dir=kIterForward) const
 TIterator-style iteration over contained elements. More...
 
RooAbsCollectionoperator= (const RooAbsCollection &other)
 The assignment operator sets the value of any argument in our set that also appears in the other set. More...
 
RooAbsArgoperator[] (Storage_t::size_type i) const
 
Bool_t overlaps (const RooAbsCollection &otherColl) const
 Check if this and other collection have common entries. More...
 
virtual void Print (Option_t *options=0) const
 This method must be overridden when a class wants to print itself. More...
 
virtual void printClassName (std::ostream &os) const
 Return collection class name. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void printName (std::ostream &os) const
 Return collection name. More...
 
virtual void printTitle (std::ostream &os) const
 Return collection title. More...
 
virtual void printValue (std::ostream &os) const
 Print value of collection, i.e. More...
 
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. More...
 
void releaseOwnership ()
 
virtual Bool_t remove (const RooAbsArg &var, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
 Remove the specified argument from our list. More...
 
Bool_t remove (const RooAbsCollection &list, Bool_t silent=kFALSE, Bool_t matchByNameOnly=kFALSE)
 Remove each argument in the input list from our list using remove(const RooAbsArg&). More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
Storage_t::size_type size () const
 
RooAbsCollectionsnapshot (Bool_t deepCopy=kTRUE) const
 Take a snap shot of current collection contents. More...
 
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. More...
 
void sort (Bool_t reverse=false)
 Sort collection using std::sort and name comparison. More...
 
void takeOwnership ()
 
void useHashMapForFind (bool flag) const
 Install an internal hash map for fast finding of elements by name. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor. More...
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
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. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad). More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
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. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
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. More...
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
void InvertBit (UInt_t f)
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
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. More...
 
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). More...
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
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. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
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. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
- Public Member Functions inherited from RooPrintable
 RooPrintable ()
 
virtual ~RooPrintable ()
 
virtual Int_t defaultPrintContents (Option_t *opt) const
 Default choice of contents to be printed (name and value) More...
 
virtual StyleOption defaultPrintStyle (Option_t *opt) const
 
virtual void printAddress (std::ostream &os) const
 Print class name of object. More...
 
virtual void printArgs (std::ostream &os) const
 Interface for printing of object arguments. More...
 
virtual void printClassName (std::ostream &os) const
 Print class name of object. More...
 
virtual void printExtras (std::ostream &os) const
 Interface to print extras of object. More...
 
virtual void printMultiline (std::ostream &os, Int_t contents, Bool_t verbose=kFALSE, TString indent="") const
 Interface for detailed printing of object. More...
 
virtual void printName (std::ostream &os) const
 Print name of object. More...
 
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'. More...
 
virtual void printTitle (std::ostream &os) const
 Print title of object. More...
 
virtual void printTree (std::ostream &os, TString indent="") const
 Interface for tree structure printing of object. More...
 
virtual void printValue (std::ostream &os) const
 Interface to print value of object. More...
 

Protected Types

using LegacyIterator_t = TIteratorToSTLInterface< Storage_t >
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = BIT(3) }
 

Protected Member Functions

Bool_t addServerClonesToList (const RooAbsArg &var)
 Add clones of servers of given argument to end of list. More...
 
void clearStructureTags ()
 Typed structure tag. More...
 
void makeStructureTag ()
 
void makeTypedStructureTag ()
 
void safeDeleteList ()
 Examine client server dependencies in list and delete contents in safe order: any client is deleted before a server is deleted. More...
 
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). More...
 
void MakeZombie ()
 

Protected Attributes

Bool_t _allRRV
 
Storage_t _list
 
TString _name
 
Bool_t _ownCont
 
TNamed_structureTag {nullptr}
 
TNamed_typedStructureTag {nullptr}
 Structure tag. More...
 

Private Member Functions

void insert (RooAbsArg *)
 Insert an element into the owned collections. More...
 
std::unique_ptr< LegacyIterator_tmakeLegacyIterator (bool forward=true) const
 Factory for legacy iterators. More...
 
RooAbsArgtryFastFind (const TNamed *namePtr) const
 Perform a search in a hash map. More...
 

Private Attributes

std::unique_ptr< std::unordered_map< const TNamed *, Storage_t::value_type > > _nameToItemMap
 
std::size_t _sizeThresholdForMapSearch
 

Additional Inherited Members

- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- 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(). More...
 
static void nameFieldLength (Int_t newLen)
 Set length of field reserved from printing name of RooAbsArgs in multi-line collection printing to given amount. More...
 
- Static Protected Attributes inherited from RooPrintable
static Int_t _nameLength
 

#include <RooAbsCollection.h>

Inheritance diagram for RooAbsCollection:
[legend]

Member Typedef Documentation

◆ const_iterator

using RooAbsCollection::const_iterator = Storage_t::const_iterator

Definition at line 32 of file RooAbsCollection.h.

◆ LegacyIterator_t

◆ Storage_t

using RooAbsCollection::Storage_t = std::vector<RooAbsArg*>

Definition at line 31 of file RooAbsCollection.h.

Constructor & Destructor Documentation

◆ RooAbsCollection() [1/3]

RooAbsCollection::RooAbsCollection ( )

Default constructor.

Definition at line 68 of file RooAbsCollection.cxx.

◆ RooAbsCollection() [2/3]

RooAbsCollection::RooAbsCollection ( const char *  name)

Empty collection constructor.

Definition at line 83 of file RooAbsCollection.cxx.

◆ ~RooAbsCollection()

RooAbsCollection::~RooAbsCollection ( )
virtual

Destructor.

Definition at line 124 of file RooAbsCollection.cxx.

◆ RooAbsCollection() [3/3]

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

Copy constructor.

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

Definition at line 100 of file RooAbsCollection.cxx.

Member Function Documentation

◆ add() [1/2]

Bool_t RooAbsCollection::add ( const RooAbsArg var,
Bool_t  silent = kFALSE 
)
virtual

Add the specified argument to list.

Returns kTRUE if successful, or else kFALSE if a variable of the same name is already in the list or the list owns its variables (in this case, try addClone() or addOwned() instead).

Reimplemented in RooArgSet, RooListProxy, and RooSetProxy.

Definition at line 435 of file RooAbsCollection.cxx.

◆ add() [2/2]

Bool_t RooAbsCollection::add ( const RooAbsCollection list,
Bool_t  silent = kFALSE 
)
virtual

Add a collection of arguments to this collection by calling add() for each element in the source collection.

Reimplemented in RooArgSet, RooListProxy, and RooSetProxy.

Definition at line 455 of file RooAbsCollection.cxx.

◆ addClone() [1/2]

RooAbsArg * RooAbsCollection::addClone ( const RooAbsArg var,
Bool_t  silent = kFALSE 
)
virtual

Add a clone of the specified argument to list.

Returns a pointer to the clone if successful, or else zero if a variable of the same name is already in the list or the list does not own its variables (in this case, try add() instead.) Calling addClone() on an empty list forces it to take ownership of all its subsequent variables.

Reimplemented in RooArgSet, and RooSetProxy.

Definition at line 410 of file RooAbsCollection.cxx.

◆ addClone() [2/2]

void RooAbsCollection::addClone ( const RooAbsCollection list,
Bool_t  silent = kFALSE 
)
virtual

Add a collection of arguments to this collection by calling addOwned() for each element in the source collection.

Reimplemented in RooArgSet, and RooSetProxy.

Definition at line 491 of file RooAbsCollection.cxx.

◆ addOwned() [1/2]

Bool_t RooAbsCollection::addOwned ( const RooAbsCollection list,
Bool_t  silent = kFALSE 
)
virtual

Add a collection of arguments to this collection by calling addOwned() for each element in the source collection.

Reimplemented in RooArgSet, RooListProxy, and RooSetProxy.

Definition at line 473 of file RooAbsCollection.cxx.

◆ addOwned() [2/2]

Bool_t RooAbsCollection::addOwned ( RooAbsArg var,
Bool_t  silent = kFALSE 
)
virtual

Add the specified argument to list.

Returns kTRUE if successful, or else kFALSE if a variable of the same name is already in the list. This method can only be called on a list that is flagged as owning all of its contents, or else on an empty list (which will force the list into that mode).

Reimplemented in RooArgSet, RooListProxy, and RooSetProxy.

Definition at line 387 of file RooAbsCollection.cxx.

◆ addServerClonesToList()

Bool_t RooAbsCollection::addServerClonesToList ( const RooAbsArg var)
protected

Add clones of servers of given argument to end of list.

Definition at line 279 of file RooAbsCollection.cxx.

◆ allInRange()

Bool_t RooAbsCollection::allInRange ( const char *  rangeSpec) const

Return true if all contained object report to have their value inside the specified range.

Definition at line 1367 of file RooAbsCollection.cxx.

◆ assignFast()

void RooAbsCollection::assignFast ( const RooAbsCollection other,
Bool_t  setValDirty = kTRUE 
)

Functional equivalent of operator=() but assumes this and other collection have same layout.

Also no attributes are copied

Definition at line 354 of file RooAbsCollection.cxx.

◆ assignValueOnly()

RooAbsCollection & RooAbsCollection::assignValueOnly ( const RooAbsCollection other,
Bool_t  oneSafe = kFALSE 
)

The assignment operator sets the value of any argument in our set that also appears in the other set.

Definition at line 328 of file RooAbsCollection.cxx.

◆ begin()

const_iterator RooAbsCollection::begin ( ) const
inline

Definition at line 147 of file RooAbsCollection.h.

◆ clear()

void RooAbsCollection::clear ( )
inline

Clear contents. If the collection is owning, it will also delete the contents.

Definition at line 176 of file RooAbsCollection.h.

◆ clearStructureTags()

void RooAbsCollection::clearStructureTags ( )
inlineprotected

Typed structure tag.

Definition at line 276 of file RooAbsCollection.h.

◆ clone()

virtual TObject * RooAbsCollection::clone ( const char *  newname) const
pure virtual

Implemented in RooArgList, and RooArgSet.

◆ Clone()

virtual TObject * RooAbsCollection::Clone ( const char *  newname = 0) const
inlinevirtual

Make a clone of an object using the Streamer facility.

If the object derives from TNamed, this function is called by TNamed::Clone. TNamed::Clone uses the optional argument to set a new name to the newly created object.

If the object class has a DirectoryAutoAdd function, it will be called at the end of the function with the parameter gDirectory. This usually means that the object will be appended to the current ROOT directory.

Reimplemented from TObject.

Definition at line 40 of file RooAbsCollection.h.

◆ contains()

Bool_t RooAbsCollection::contains ( const RooAbsArg var) const
inline

Check if collection contains an argument with the same name as var.

To check for a specific instance, use containsInstance().

Definition at line 111 of file RooAbsCollection.h.

◆ containsInstance()

Bool_t RooAbsCollection::containsInstance ( const RooAbsArg var) const
inline

Check if this exact instance is in this collection.

Definition at line 115 of file RooAbsCollection.h.

◆ contentsString()

string RooAbsCollection::contentsString ( ) const

Return comma separated list of contained object names as STL string.

Definition at line 1024 of file RooAbsCollection.cxx.

◆ create()

virtual TObject * RooAbsCollection::create ( const char *  newname) const
pure virtual

Implemented in RooArgList, and RooArgSet.

◆ createIterator()

TIterator * RooAbsCollection::createIterator ( Bool_t  dir = kIterForward) const
inline

TIterator-style iteration over contained elements.

Note
These iterators are slow. Use begin() and end() or range-based for loop instead.

Definition at line 127 of file RooAbsCollection.h.

◆ defaultPrintContents()

Int_t RooAbsCollection::defaultPrintContents ( Option_t opt) const
virtual

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.

In verbose mode also add object adress, argument and title

Reimplemented from RooPrintable.

Definition at line 1075 of file RooAbsCollection.cxx.

◆ dump()

void RooAbsCollection::dump ( ) const

Base contents dumper for debugging purposes.

Definition at line 1154 of file RooAbsCollection.cxx.

◆ empty()

bool RooAbsCollection::empty ( ) const
inline

Definition at line 167 of file RooAbsCollection.h.

◆ end()

const_iterator RooAbsCollection::end ( ) const
inline

Definition at line 151 of file RooAbsCollection.h.

◆ equals()

Bool_t RooAbsCollection::equals ( const RooAbsCollection otherColl) const

Check if this and other collection have identically-named contents.

Definition at line 761 of file RooAbsCollection.cxx.

◆ find() [1/2]

RooAbsArg * RooAbsCollection::find ( const char *  name) const

Find object with given name in list.

A null pointer is returned if no object with the given name is found.

Definition at line 811 of file RooAbsCollection.cxx.

◆ find() [2/2]

RooAbsArg * RooAbsCollection::find ( const RooAbsArg arg) const

Find object with given name in list.

A null pointer is returned if no object with the given name is found.

Definition at line 830 of file RooAbsCollection.cxx.

◆ first()

RooAbsArg * RooAbsCollection::first ( ) const
inline

Definition at line 185 of file RooAbsCollection.h.

◆ fwdIterator()

RooFIter RooAbsCollection::fwdIterator ( ) const
inline

One-time forward iterator.

Note
Use begin() and end() or range-based for loop instead.

Definition at line 142 of file RooAbsCollection.h.

◆ getCatIndex()

Int_t RooAbsCollection::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.

If none is found, value of defVal is returned. No error messages are printed unless the verbose flag is set

Definition at line 940 of file RooAbsCollection.cxx.

◆ getCatLabel()

const char * RooAbsCollection::getCatLabel ( const char *  name,
const char *  defVal = "",
Bool_t  verbose = kFALSE 
) const

Get state name of a RooAbsCategory stored in set with given name.

If none is found, value of defVal is returned. No error messages are printed unless the verbose flag is set

Definition at line 897 of file RooAbsCollection.cxx.

◆ getHashTableSize()

Int_t RooAbsCollection::getHashTableSize ( ) const
inline

Query the size at which the collection will automatically start using an extra lookup table instead of performing a linear search.

Definition at line 64 of file RooAbsCollection.h.

◆ GetName()

const char * RooAbsCollection::GetName ( ) const
inlinevirtual

Returns name of object.

This default method returns the class name. Classes that give objects a name should override this method.

Reimplemented from TObject.

Definition at line 235 of file RooAbsCollection.h.

◆ getRealValue()

Double_t RooAbsCollection::getRealValue ( const char *  name,
Double_t  defVal = 0,
Bool_t  verbose = kFALSE 
) const

Get value of a RooAbsReal stored in set with given name.

If none is found, value of defVal is returned. No error messages are printed unless the verbose flag is set

Definition at line 854 of file RooAbsCollection.cxx.

◆ getSize()

Int_t RooAbsCollection::getSize ( ) const
inline

Definition at line 180 of file RooAbsCollection.h.

◆ getStringValue()

const char * RooAbsCollection::getStringValue ( const char *  name,
const char *  defVal = "",
Bool_t  verbose = kFALSE 
) const

Get string value of a RooStringVar stored in set with given name.

If none is found, value of defVal is returned. No error messages are printed unless the verbose flag is set

Definition at line 983 of file RooAbsCollection.cxx.

◆ index() [1/3]

Int_t RooAbsCollection::index ( const char *  name) const

Return index of item with given name, or -1 in case it's not in the collection.

Definition at line 841 of file RooAbsCollection.cxx.

◆ index() [2/3]

Int_t RooAbsCollection::index ( const RooAbsArg arg) const
inline

Returns index of given arg, or -1 if arg is not in the collection.

Definition at line 202 of file RooAbsCollection.h.

◆ index() [3/3]

Int_t RooAbsCollection::index ( const RooAbsArg arg) const
inline

Returns index of given arg, or -1 if arg is not in the collection.

Definition at line 196 of file RooAbsCollection.h.

◆ insert()

void RooAbsCollection::insert ( RooAbsArg item)
private

Insert an element into the owned collections.

Definition at line 1469 of file RooAbsCollection.cxx.

◆ isOwning()

Bool_t RooAbsCollection::isOwning ( ) const
inline

Definition at line 239 of file RooAbsCollection.h.

◆ iterator()

RooLinkedListIter RooAbsCollection::iterator ( Bool_t  dir = kIterForward) const
inline

TIterator-style iteration over contained elements.

Note
This iterator is slow. Use begin() and end() or range-based for loop instead.

Definition at line 135 of file RooAbsCollection.h.

◆ makeLegacyIterator()

std::unique_ptr< RooAbsCollection::LegacyIterator_t > RooAbsCollection::makeLegacyIterator ( bool  forward = true) const
private

Factory for legacy iterators.

Definition at line 1459 of file RooAbsCollection.cxx.

◆ makeStructureTag()

void RooAbsCollection::makeStructureTag ( )
protected

Definition at line 1413 of file RooAbsCollection.cxx.

◆ makeTypedStructureTag()

void RooAbsCollection::makeTypedStructureTag ( )
protected

Definition at line 1420 of file RooAbsCollection.cxx.

◆ operator=()

RooAbsCollection & RooAbsCollection::operator= ( const RooAbsCollection other)

The assignment operator sets the value of any argument in our set that also appears in the other set.

Definition at line 308 of file RooAbsCollection.cxx.

◆ operator[]()

RooAbsArg * RooAbsCollection::operator[] ( Storage_t::size_type  i) const
inline

Definition at line 190 of file RooAbsCollection.h.

◆ overlaps()

Bool_t RooAbsCollection::overlaps ( const RooAbsCollection otherColl) const

Check if this and other collection have common entries.

Definition at line 782 of file RooAbsCollection.cxx.

◆ Print()

virtual void RooAbsCollection::Print ( Option_t option = 0) const
inlinevirtual

This method must be overridden when a class wants to print itself.

Reimplemented from TObject.

Definition at line 208 of file RooAbsCollection.h.

◆ printClassName()

void RooAbsCollection::printClassName ( std::ostream &  os) const
virtual

Return collection class name.

Reimplemented from RooPrintable.

Definition at line 1062 of file RooAbsCollection.cxx.

◆ printLatex() [1/2]

void RooAbsCollection::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.

By default a table with two columns is created: the left column contains the name of each variable, the right column the value.

The following optional named arguments can be used to modify the default behavior

Argument Effect
Columns(Int_t ncol) Fold table into multiple columns, i.e. ncol=3 will result in 3 x 2 = 6 total columns
Sibling(const RooAbsCollection& other) Define sibling list. The sibling list is assumed to have objects with the same name in the same order. If this is not the case warnings will be printed. If a single sibling list is specified, 3 columns will be output: the (common) name, the value of this list and the value in the sibling list. Multiple sibling lists can be specified by repeating the Sibling() command.
Format(const char* str) Classic format string, provided for backward compatibility
Format() Formatting arguments.
const char* what Controls what is shown. "N" adds name, "E" adds error, "A" shows asymmetric error, "U" shows unit, "H" hides the value
FixedPrecision(int n) Controls precision, set fixed number of digits
AutoPrecision(int n) Controls precision. Number of shown digits is calculated from error and n specified additional digits (1 is sensible default)
VerbatimName(Bool_t flag) Put variable name in a \verb+ + clause.
OutputFile(const char* fname)

Send output to file with given name rather than standard output

Example use:

list.printLatex(Columns(2), Format("NEU",AutoPrecision(1),VerbatimName()) );
static char * Format(const char *format, va_list ap)
Format a string in a circular formatting buffer (using a printf style format descriptor).
Definition: TString.cxx:2375
RooCmdArg AutoPrecision(Int_t ndigit=2)
RooCmdArg VerbatimName(Bool_t flag=kTRUE)
RooCmdArg Columns(Int_t ncol)

Definition at line 1196 of file RooAbsCollection.cxx.

◆ printLatex() [2/2]

void RooAbsCollection::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.

Definition at line 1253 of file RooAbsCollection.cxx.

◆ printMultiline()

void RooAbsCollection::printMultiline ( std::ostream &  os,
Int_t  contents,
Bool_t  verbose = kFALSE,
TString  indent = "" 
) const
virtual

Implement multiline printing of collection, one line for each contained object showing the requested content.

Reimplemented from RooPrintable.

Definition at line 1119 of file RooAbsCollection.cxx.

◆ printName()

void RooAbsCollection::printName ( std::ostream &  os) const
virtual

Return collection name.

Reimplemented from RooPrintable.

Definition at line 1042 of file RooAbsCollection.cxx.

◆ printTitle()

void RooAbsCollection::printTitle ( std::ostream &  os) const
virtual

Return collection title.

Reimplemented from RooPrintable.

Definition at line 1052 of file RooAbsCollection.cxx.

◆ printValue()

void RooAbsCollection::printValue ( std::ostream &  os) const
virtual

Print value of collection, i.e.

a comma separated list of contained object names

Reimplemented from RooPrintable.

Definition at line 1094 of file RooAbsCollection.cxx.

◆ rbegin()

Storage_t::const_reverse_iterator RooAbsCollection::rbegin ( ) const
inline

Definition at line 155 of file RooAbsCollection.h.

◆ RecursiveRemove()

void RooAbsCollection::RecursiveRemove ( TObject obj)
virtual

If one of the TObject we have a referenced to is deleted, remove the reference.

Reimplemented from TObject.

Definition at line 1428 of file RooAbsCollection.cxx.

◆ releaseOwnership()

void RooAbsCollection::releaseOwnership ( )
inline

Definition at line 248 of file RooAbsCollection.h.

◆ remove() [1/3]

Bool_t RooAbsCollection::remove ( const RooAbsArg var,
Bool_t  silent = kFALSE,
Bool_t  matchByNameOnly = kFALSE 
)
virtual

Remove the specified argument from our list.

Return kFALSE if the specified argument is not found in our list. An exact pointer match is required, not just a match by name. If matchByNameOnly is set, items will be looked up by name. In this case, if the collection also owns the item, it will delete it.

Reimplemented in RooListProxy, and RooSetProxy.

Definition at line 582 of file RooAbsCollection.cxx.

◆ remove() [2/3]

Bool_t RooAbsCollection::remove ( const RooAbsCollection list,
Bool_t  silent = kFALSE,
Bool_t  matchByNameOnly = kFALSE 
)

Remove each argument in the input list from our list using remove(const RooAbsArg&).

Return kFALSE in case of problems.

Definition at line 623 of file RooAbsCollection.cxx.

◆ remove() [3/3]

template<class forwardIt >
void RooAbsCollection::remove ( forwardIt  rangeBegin,
forwardIt  rangeEnd,
Bool_t  silent = kFALSE,
Bool_t  matchByNameOnly = kFALSE 
)
inline

Definition at line 82 of file RooAbsCollection.h.

◆ removeAll()

void RooAbsCollection::removeAll ( )
virtual

Remove all arguments from our set, deleting them if we own them.

This effectively restores our object to the state it would have just after calling the RooAbsCollection(const char*) constructor.

Reimplemented in RooListProxy, and RooSetProxy.

Definition at line 641 of file RooAbsCollection.cxx.

◆ rend()

Storage_t::const_reverse_iterator RooAbsCollection::rend ( ) const
inline

Definition at line 159 of file RooAbsCollection.h.

◆ replace() [1/2]

Bool_t RooAbsCollection::replace ( const RooAbsArg var1,
const RooAbsArg var2 
)
virtual

Replace var1 with var2 and return kTRUE for success.

Fails if this list is a copy of another, if var1 is not already in this set, or if var2 is already in this set. var1 and var2 do not need to have the same name.

Reimplemented in RooListProxy, and RooSetProxy.

Definition at line 531 of file RooAbsCollection.cxx.

◆ replace() [2/2]

Bool_t RooAbsCollection::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.

Fails if this list is a copy of another.

Definition at line 506 of file RooAbsCollection.cxx.

◆ reserve()

void RooAbsCollection::reserve ( Storage_t::size_type  count)
inline

Definition at line 171 of file RooAbsCollection.h.

◆ safeDeleteList()

void RooAbsCollection::safeDeleteList ( )
protected

Examine client server dependencies in list and delete contents in safe order: any client is deleted before a server is deleted.

Definition at line 138 of file RooAbsCollection.cxx.

◆ selectByAttrib()

RooAbsCollection * RooAbsCollection::selectByAttrib ( const char *  name,
Bool_t  value 
) const

Create a subset of the current collection, consisting only of those elements with the specified attribute set.

The caller is responsibe for deleting the returned collection

Definition at line 675 of file RooAbsCollection.cxx.

◆ selectByName()

RooAbsCollection * RooAbsCollection::selectByName ( 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.

Definition at line 721 of file RooAbsCollection.cxx.

◆ selectCommon()

RooAbsCollection * RooAbsCollection::selectCommon ( 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.

The caller is responsible for deleting the returned collection

Definition at line 698 of file RooAbsCollection.cxx.

◆ setAttribAll()

void RooAbsCollection::setAttribAll ( const Text_t name,
Bool_t  value = kTRUE 
)

Set given attribute in each element of the collection by calling each elements setAttribute() function.

Definition at line 660 of file RooAbsCollection.cxx.

◆ setCatIndex()

Bool_t RooAbsCollection::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.

No error messages are printed unless the verbose flag is set

Definition at line 961 of file RooAbsCollection.cxx.

◆ setCatLabel()

Bool_t RooAbsCollection::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.

No error messages are printed unless the verbose flag is set

Definition at line 918 of file RooAbsCollection.cxx.

◆ setHashTableSize()

void RooAbsCollection::setHashTableSize ( Int_t  number)
inline

Set the size at which the collection will automatically start using an extra lookup table instead of performing a linear search.

Definition at line 59 of file RooAbsCollection.h.

◆ setName()

void RooAbsCollection::setName ( const char *  name)
inline

Definition at line 231 of file RooAbsCollection.h.

◆ setRealValue()

Bool_t RooAbsCollection::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.

Definition at line 875 of file RooAbsCollection.cxx.

◆ setStringValue()

Bool_t RooAbsCollection::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.

No error messages are printed unless the verbose flag is set

Definition at line 1005 of file RooAbsCollection.cxx.

◆ size()

Storage_t::size_type RooAbsCollection::size ( ) const
inline

Definition at line 163 of file RooAbsCollection.h.

◆ snapshot() [1/2]

RooAbsCollection * RooAbsCollection::snapshot ( Bool_t  deepCopy = kTRUE) const

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 199 of file RooAbsCollection.cxx.

◆ snapshot() [2/2]

Bool_t RooAbsCollection::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.

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

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 234 of file RooAbsCollection.cxx.

◆ sort()

void RooAbsCollection::sort ( Bool_t  reverse = false)

Sort collection using std::sort and name comparison.

Definition at line 1436 of file RooAbsCollection.cxx.

◆ structureTag()

TNamed * RooAbsCollection::structureTag ( )
inlineprotected

Definition at line 270 of file RooAbsCollection.h.

◆ takeOwnership()

void RooAbsCollection::takeOwnership ( )
inline

Definition at line 249 of file RooAbsCollection.h.

◆ tryFastFind()

RooAbsArg * RooAbsCollection::tryFastFind ( const TNamed namePtr) const
private

Perform a search in a hash map.

This only happens if this collection is larger than _sizeThresholdForMapSearch. This search is not guaranteed to find an existing element because elements can be renamed while being stored in the collection.

Definition at line 1504 of file RooAbsCollection.cxx.

◆ typedStructureTag()

TNamed * RooAbsCollection::typedStructureTag ( )
inlineprotected

Definition at line 271 of file RooAbsCollection.h.

◆ useHashMapForFind()

void RooAbsCollection::useHashMapForFind ( bool  flag) const

Install an internal hash map for fast finding of elements by name.

Definition at line 1484 of file RooAbsCollection.cxx.

Member Data Documentation

◆ _allRRV

Bool_t RooAbsCollection::_allRRV
protected

Definition at line 263 of file RooAbsCollection.h.

◆ _list

Storage_t RooAbsCollection::_list
protected

Definition at line 258 of file RooAbsCollection.h.

◆ _name

TString RooAbsCollection::_name
protected

Definition at line 262 of file RooAbsCollection.h.

◆ _nameToItemMap

std::unique_ptr<std::unordered_map<const TNamed*, Storage_t::value_type> > RooAbsCollection::_nameToItemMap
mutableprivate

Definition at line 283 of file RooAbsCollection.h.

◆ _ownCont

Bool_t RooAbsCollection::_ownCont
protected

Definition at line 261 of file RooAbsCollection.h.

◆ _sizeThresholdForMapSearch

std::size_t RooAbsCollection::_sizeThresholdForMapSearch
private

Definition at line 284 of file RooAbsCollection.h.

◆ _structureTag

TNamed* RooAbsCollection::_structureTag {nullptr}
mutableprotected

Definition at line 273 of file RooAbsCollection.h.

◆ _typedStructureTag

TNamed* RooAbsCollection::_typedStructureTag {nullptr}
mutableprotected

Structure tag.

Definition at line 274 of file RooAbsCollection.h.

Libraries for RooAbsCollection:
[legend]

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