96using std::cout, std::endl, std::ostream, std::setw, std::hex, std::dec, std::map, std::string;
214 cout <<
"RooTrace::create: object " << obj <<
" of type " << obj->
ClassName()
215 <<
" created " << endl ;
229 cout <<
"RooTrace::destroy: object " << obj <<
" of type " << obj->
ClassName()
230 <<
" destroyed [" << obj->
GetTitle() <<
"]" << endl ;
302 os <<
"List of RooFit objects allocated while trace active:" << endl ;
313 if (sinceMarked) os << nMarked <<
" marked objects suppressed" << endl ;
330 double tot= 1.0*(iter->first->Size()*iter->second)/(1024*1024) ;
331 cout <<
" class " << iter->first->GetName() <<
" count = " << iter->second <<
" sizeof = " << iter->first->Size() <<
" total memory = " <<
Form(
"%5.2f",tot) <<
" Mb" << endl ;
337 double tot=1.0*(
size*iter->second)/(1024*1024) ;
338 cout <<
" speeial " << iter->first <<
" count = " << iter->second <<
" sizeof = " <<
size <<
" total memory = " <<
Form(
"%5.2f",tot) <<
" Mb" << endl ;
341 cout <<
"Grand total memory = " <<
Form(
"%5.2f",
total) <<
" Mb" << endl ;
355 ooccoutD((
TObject*)
nullptr,Tracing) <<
"RooTrace::callgrind_zero()" << endl ;
367 ooccoutD((
TObject*)
nullptr,Tracing) <<
"RooTrace::callgrind_dump()" << endl ;
bool _verbose
Verbose messaging if true.
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
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