From d35d02d38b51b4c7b7477976249ad85609335978 Mon Sep 17 00:00:00 2001 From: Robert Applin <40830825+robertapplin@users.noreply.github.com> Date: Tue, 12 Mar 2019 10:49:07 +0000 Subject: [PATCH] Refs #25061. Code changes --- scripts/Inelastic/IndirectReductionCommon.py | 27 ++++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/scripts/Inelastic/IndirectReductionCommon.py b/scripts/Inelastic/IndirectReductionCommon.py index 2c2515d9423..01bbb54dd90 100644 --- a/scripts/Inelastic/IndirectReductionCommon.py +++ b/scripts/Inelastic/IndirectReductionCommon.py @@ -395,25 +395,30 @@ def sum_chopped_runs(workspace_names): # ------------------------------------------------------------------------------- -def get_detectors_to_mask_from_groups(group_names): +def add_workspace_names(workspace_names, workspace): + if isinstance(workspace, WorkspaceGroup): + workspace_names.extend(workspace.getNames()) + else: + workspace_names.append(group_name) + return workspace_names + + +def get_all_workspace_names(group_names): workspace_names = [] for group_name in group_names: - workspace = AnalysisDataService.retrieve(group_name) - if isinstance(workspace, WorkspaceGroup): - for name in workspace.getNames(): - workspace_names.append(name) - else: - workspace_names.append(group_name) + workspace_names = add_workspace_names(workspace_names, AnalysisDataService.retrieve(group_name)) + return workspace_names + - return get_detectors_to_mask(workspace_names) +def get_detectors_to_mask_from_groups(group_names): + return get_detectors_to_mask(get_all_workspace_names(group_names)) def get_detectors_to_mask(workspace_names): masked_detectors = [] for workspace_name in workspace_names: - for bad_detector in identify_bad_detectors(workspace_name): - if bad_detector not in masked_detectors: - masked_detectors.append(bad_detector) + bad_detectors = [detector for detector in identify_bad_detectors(workspace_name) if detector not in masked_detectors] + masked_detectors.extend(bad_detectors) return sorted(masked_detectors) -- GitLab