159 cout <<
"RooTrace::create: object " << obj <<
" of type " << obj->
ClassName()
160 <<
" created " << endl ;
174 cout <<
"RooTrace::destroy: object " << obj <<
" of type " << obj->
ClassName()
175 <<
" destroyed [" << obj->
GetTitle() <<
"]" << endl ;
247 os <<
"List of RooFit objects allocated while trace active:" << endl ;
250 Int_t i, nMarked(0) ;
258 if (sinceMarked) os << nMarked <<
" marked objects suppressed" << endl ;
275 Double_t tot= 1.0*(iter->first->Size()*iter->second)/(1024*1024) ;
276 cout <<
" class " << iter->first->GetName() <<
" count = " << iter->second <<
" sizeof = " << iter->first->Size() <<
" total memory = " <<
Form(
"%5.2f",tot) <<
" Mb" << endl ;
282 Double_t tot=1.0*(size*iter->second)/(1024*1024) ;
283 cout <<
" speeial " << iter->first <<
" count = " << iter->second <<
" sizeof = " << size <<
" total memory = " <<
Form(
"%5.2f",tot) <<
" Mb" << endl ;
286 cout <<
"Grand total memory = " <<
Form(
"%5.2f",
total) <<
" Mb" << endl ;
300 ooccoutD((
TObject*)0,Tracing) <<
"RooTrace::callgrind_zero()" << endl ;
312 ooccoutD((
TObject*)0,Tracing) <<
"RooTrace::callgrind_dump()" << endl ;
static unsigned int total
char * Form(const char *fmt,...)
RooAbsArg is the common abstract base class for objects that represent a value and a "shape" in RooFi...
TObject * At(Int_t index) const
Return object stored in sequential position given by index.
virtual void Add(TObject *arg)
virtual Bool_t Remove(TObject *arg)
Remove object from collection.
Int_t IndexOf(const char *name) const
Return position of given object in list.
Class RooTrace controls the memory tracing hooks in all RooFit objects.
static void destroySpecial(const char *name)
static void active(Bool_t flag)
If flag is true, memory tracing is activated.
static void dump()
Dump contents of object registry to stdout.
std::map< TClass *, int > _objectCount
static RooTrace * _instance
void dump3(std::ostream &, Bool_t sinceMarked)
Dump contents of object register to stream 'os'.
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'.
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'.
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.
static void verbose(Bool_t flag)
If flag is true, a message will be printed at each object creation or deletion.
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.