Hi roottalk, We are in the early design stage of developing a histogram manager for use in our experiment's software framework, and would like to solicit ideas from others on how to best make use of root tools to do this. Our current situation is the following: 1)We have a modular software framework, such that physicist programmers may write their own job modules for insertion into a reconstruction job. A sequence of appended job modules is called a "path", and one job cycle might execute multiple job paths. 2)Although we provide framework support for writing reconstruction objects to root trees and trees to file, we currently provide no support for managing histograms. Thus every module author is responsible for managing their own set of histograms, i.e. they must open a file, create their histogram, manage the file & histogram pointers and histogram filling over several job cycles, and write the histogram to file and close the file at the end of the job. We would like to remedy this situation by providing framework support for managing histograms, possibly through the use of a histogram manager. The new system would provide: 1)A standard output file to be used for storage of all histograms produced in a job. 2)An interface to facilitate creation and lookup of histograms by name. The module author would call the histogram manager to create a histogram on first call, and to look up the histogram on subsequent calls. Some more detailed requirements: 2a)To avoid duplicate names, histograms would be stored in such as way as to facilitate association of a histogram with a module by the module's job path & module name. For example, a histogram created in job path PathA with module ModuleA could be stored in a format that allows it to be identified as belonging to /PathA/ModuleA/histogramName. 2b)The histogram manager needs to have fast lookup capabilities to avoid hindering the peformance of the job. 3)A feature would be provided to allow the user to turn up or down the "verbosity" (Normal, Debug, Verbose) of histogram production. For example, histograms designated as Debug level histograms are only produced if the user has requested a histogram verbosity level of Debug or higher. Does anyone have any suggestions or experience with managing histograms that they would be willing to share with us? We have considered the use of TFolder for this application and would be interested to hear if this is an efficient way to handle the type of fast lookup required here. Thanks in advance for your help, -Sue
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET