Dear QC-Experts,
I have a question about the existing TH1 and TH2 reductors. For the trending of the TPC, we found that, in some cases, it is important not to trend a whole histogram, but rather multiple sub-parts of this histogram and compare them to each other in the trending.
Take as an introductory example a TH2 histogram with mean of minimum ionizing particles MIPs vs azimuthal angle phi. It would not be beneficial to trend this TH2 as a whole histogram (as the reductor is currently doing) but to rather divide it into several sub-ranges in the phi direction and to trend these sub-ranges separately for comparison. This would allow to perform QC for the sectors of the TPC separately and compare them to each other.
Let us consider for now a TH1. To solve this in general, we would propose to add a section “Divisions” in the “dataSources” part of the post-processing trending json. In this part, one can define an array of size N+1 which defines the boundaries of the N sub-ranges which one wants to divide the histogram into. This could look like
"dataSources": [
{
"type": "repository",
"path": "qc/TPC/MO/Tracks",
"names": [ "hPhiAside", "hPhiCside" ],
"Divisions": [ "Boundary_0", ...., "Boundary_N"],
"reductorName": "o2::quality_control_modules::common::TH1Reductor",
"moduleName": "QcCommon"
}
],
Then, this array is passed to the TH1 reductor, which loops over the N divisions and performs the reduction on the sub-ranges separately. This can be achieved via the TAxis::SetRange functionality. As an output, the TH1 reductor would then not give
return "mean/D:stddev:entries";
but rather a
return "mean[N]/D:stddev[N]:entries[N]";
In the same fashion, one could pass two arrays for a TH2 histogram for N divisions along the x-axis and M divisions along the y-axis.
Is something like this already in planning? And if not, would it be possible to implement such a feature? We assume that this would be helpful also for other detectors.
Thanks in advance!
Best,
Marcel