Draft: Recycle analysis
Just sharing the code for now to show the logic of these changes. It only targets clusters for now, it will be extended to other collections.
The idea: Having a tool for computing/extracting these variables given a collection of objects (i.e. Clusters). This tool contains all the functions used for computing the monitored variables and can be used by several costumers so that we makes sure the computation is done the same way (and avoid bugs due to repeated implementation of the same functions). Also add a function in the JO that, given a Generic Monitoring Tool, defines histograms and ntuples. This assures as well consistency of histograms definitions across the different customers and an easy validation. Of course this also still allows different histograms definitions should we need it in the different environments.
As an example, I'm showing the Cluster monitoring. These tool and functions are used both during reconstruction (i.e. added in the Clustering algorithms) as well as after reconstruction (i.e. in our Analysis algorithms).
My idea was to use this same structure and recycle this strategy also for the IDPVM environment, but it looks like it is not possible since that uses a different monitoring algorithms/strategy. Any idea how to also incorporate IDPVM into this?