96using std::ostream, std::setw, std::hex, std::dec, std::map, std::string;
213 std::cout <<
"RooTrace::create: object " << obj <<
" of type " << obj->
ClassName()
214 <<
" created " << std::endl ;
228 std::cout <<
"RooTrace::destroy: object " << obj <<
" of type " << obj->
ClassName()
229 <<
" destroyed [" << obj->
GetTitle() <<
"]" << std::endl ;
301 os <<
"List of RooFit objects allocated while trace active:" << std::endl ;
329 double tot= 1.0*(iter->first->Size()*iter->second)/(1024*1024) ;
330 std::cout <<
" class " << iter->first->GetName() <<
" count = " << iter->second <<
" sizeof = " << iter->first->Size() <<
" total memory = " <<
Form(
"%5.2f",
tot) <<
" Mb" << std::endl ;
336 double tot=1.0*(
size*iter->second)/(1024*1024) ;
337 std::cout <<
" speeial " << iter->first <<
" count = " << iter->second <<
" sizeof = " <<
size <<
" total memory = " <<
Form(
"%5.2f",
tot) <<
" Mb" << std::endl ;
340 std::cout <<
"Grand total memory = " <<
Form(
"%5.2f",
total) <<
" Mb" << std::endl ;
354 ooccoutD((
TObject*)
nullptr,Tracing) <<
"RooTrace::callgrind_zero()" << std::endl ;
366 ooccoutD((
TObject*)
nullptr,Tracing) <<
"RooTrace::callgrind_dump()" << std::endl ;
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
static unsigned int total
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Common abstract base class for objects that represent a value and a "shape" in RooFit.
TObject * At(int index) const
Return object stored in sequential position given by index.
virtual void Add(TObject *arg)
Int_t IndexOf(const char *name) const
Return position of given object in list.
virtual bool Remove(TObject *arg)
Remove object from collection.
Controls the memory tracing hooks in all RooFit objects.
static void destroySpecial(const char *name)
static void dump()
Dump contents of object registry to stdout.
std::map< TClass *, int > _objectCount
static void verbose(bool flag)
If flag is true, a message will be printed at each object creation or deletion.
static RooTrace * _instance
static void callgrind_zero()
Utility function to trigger zeroing of callgrind counters.
std::map< std::string, int > _specialSize
static void printObjectCounts()
static void createSpecial(const char *name, int size)
static void destroy(const TObject *obj)
Register deletion of object 'obj'.
static RooTrace & instance()
static void mark()
Put marker in object list, that allows to dump contents of list relative to this marker.
void mark3()
Put marker in object list, that allows to dump contents of list relative to this marker.
void create2(const TObject *obj)
Back end function of create(), register creation of object 'obj'.
void dump3(std::ostream &, bool sinceMarked)
Dump contents of object register to stream 'os'.
std::map< std::string, int > _specialCount
void create3(const TObject *obj)
void destroySpecial3(const char *name)
static void create(const TObject *obj)
Register creation of object 'obj'.
static void active(bool flag)
If flag is true, memory tracing is activated.
void printObjectCounts3()
void destroy2(const TObject *obj)
Back end function of destroy(), register deletion of object 'obj'.
static void callgrind_dump()
Utility function to trigger dumping of callgrind counters.
void destroy3(const TObject *obj)
Back end function of destroy(), register deletion of object 'obj'.
void createSpecial3(const char *name, int size)
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual const char * GetTitle() const
Returns title of object.
virtual TClass * IsA() const