Fix Post-Processing in InDetPhysValMonitoring
When merging output files from multiple separate runs of InDetPhysValMonitoring
(for example on the grid), the iterative RMS evaluation used to determine resolutions needs to be re-run in a postprocessing stage.
So far, this was done in a ROOT macro that had to be compiled on the fly by the user and relied on hard-coded histogram binnings, which are outdated by now and led to failure of the postprocessing in recent ART setups.
This MR does three main things to address this, with the overall aim of using the same code which evaluates the resolution in the IDPVM tool itself also during the post-processing stage:
- The methods used for the evaluation of the iterative RMS at histogram level are moved from the
InDetPerfPlot_Resolutions
class to what used to be theGetMeanWidth
class. - At the same time, this
GetMeanWidth
class is renamed to a more fittingResolutionHelper
, and the header is moved fromsrc
toInDetPhysValMonitoring
to allow inclusion in programs inutil
. Some clean-up is performed, for example avector
of floats is replaced by a more expressivestruct
. - A post-processing executable is added to the package (in
util
), compiled within the release. The executable automatically detects which resolutions exist and how they are binned, reducing (if not completely removing) the dependency on conventions withinInDetPhysValMonitoring
. The existing post-processing shell script is updated to use this new executable.
Further, a bit of general cleaning up is performed on those parts of the code that were touched as part of the MR. More of that will follow in a future MR.
The approach was tested to work when post-processing all of the currently supported resolution histograms. Further updates will be made in another follow-up MR when this one is merged, which will update some naming conventions and add further post-processable histograms.
This MR is also a requirement for the work by @keli, as the post-processing issues are preventing him from merging the new single muon ART tests.