[ATLLARSWDPQ-31] partial migration of LArRawChannelMonTool to LArRawChannelMonAlg
This MR addresses ATLLARSWDPQ-31 by adding a new DQ monitoring algorithm LArRawChannelMonAlg into the LArMonitoring package, filling the desired subset of DQ histograms provided up to now by LArRawChannelMonTool; namely, all 'detector' histograms are implemented, but not those per FEB or feedthrough. The alg configuration in LArRawChannelMonAlg.py uses the same settings as in LArRawChannelMonTool_jopOptions.py.
Some comparison plots between histograms produced by the old tool and the new alg are available in ATLLARSWDPQ-31.
A few remarks and questions for experts that may lead to further changes before this is merged:
- an AtlasReadyFilter is setup in all cases (as before); whereas this is not the case in LArSuperCellMonAlg.py where the filter is setup only for the old-style configuration.
- the list of types of problematic cells to mask was kept unchanged (so same as in LArRODMonAlg.py but unlike LArCoverageAlg.py)
-
the fillHistogram() function now always fail if the cell container is not found, while LArRawChannelMonTool would instead have checked the container presence earlier (in bookHistogram()) and neutralized the monitoring accordingly (hence no per-event failure)changed in 7ac34a64: a warning is printed and SUCCESS is returned. - the MR adds the new alg + its configuration but does not enable it upstream
- for compatibility the superslot axis for endcap plots uses merged bins wherever applicable (as before), hence does not respect the binning chosen in GlobalVariables.py; this can be avoided by configuring _USE_LEGACY_BINNING_IN_ENDCAPS = False if desired.
- all histograms are booked (if enabled) with the kAlwaysCreate option
Final note: while the LArRawChannelMonitoringTool relied heavily upon a helper class LArRawChannelMonitoringTools, the new alg has no dependency to it because:
- some information needs to be available earlier now, at the level of the python configuration, so is taken instead from GlobalVariables.py
- histogram handling is now ensured by the core DQ monitoring framework
- other needed functionalities (average time calculation) were absorbed into the new alg implementation