THistSvc: cache TObject types
The TObject::InheritsFrom
call can be quite slow. Since we already
deduce the object type (TH1
, TTree
, etc.) during registration, save
this information and use it instead of re-deriving it every time.
Also avoid calling updateFiles
if no TTrees are registered.
Both these changes significantly speed up the EndEvent
incident
handling for jobs with large (>10k) number of histograms. Thanks to @rbielski for reporting this.
Also re-organize struct THistID
to avoid padding (using Pahole), delete unused reset
method and include debug message protections from @smh (!1283 (closed)).