From bf50459bd4b12c72c504dc22a3823612101c429c Mon Sep 17 00:00:00 2001
From: Alex Buts <Alex.Buts@stfc.ac.uk>
Date: Mon, 9 Feb 2015 22:11:47 +0000
Subject: [PATCH] Re #10684 Bug in chunking

---
 .../Inelastic/Direct/DirectEnergyConversion.py       |  3 +++
 .../Mantid/scripts/Inelastic/Direct/RunDescriptor.py | 12 ++++++------
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/Code/Mantid/scripts/Inelastic/Direct/DirectEnergyConversion.py b/Code/Mantid/scripts/Inelastic/Direct/DirectEnergyConversion.py
index bc58417971b..140c937cbdc 100644
--- a/Code/Mantid/scripts/Inelastic/Direct/DirectEnergyConversion.py
+++ b/Code/Mantid/scripts/Inelastic/Direct/DirectEnergyConversion.py
@@ -590,6 +590,9 @@ class DirectEnergyConversion(object):
 
         data_ws = data_run.get_workspace()
         monitor_ws = data_run.get_monitors_ws()
+        if not monitor_ws:
+           raise RuntimeError("Can not find monitors workspace for workspace {0}, run N{1}".\
+                 format(data_ws.name(),data_ws.getRunNumber()))
         separate_monitors = data_run.is_monws_separate()
         data_run.set_action_suffix('_shifted')
 
diff --git a/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py b/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py
index e6925068d8e..dfe366c2223 100644
--- a/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py
+++ b/Code/Mantid/scripts/Inelastic/Direct/RunDescriptor.py
@@ -313,20 +313,20 @@ class RunDescriptor(PropDescriptor):
            origin = self.get_workspace()
 
         origin_name = origin.name()
+        try:
+           mon_ws = mtd[origin_name+'_monitors']
+        except:
+           mon_ws = None
+
         target_name = '#{0}/{1}#'.format(chunk_num,n_chunks)+origin_name
         if chunk_num == n_chunks:
-           try:
-              mon_ws = mtd[origin_name+'_monitors']
-           except:
-              mon_ws = None
            RenameWorkspace(InputWorkspace=origin_name,OutputWorkspace=target_name)
            if mon_ws:
               RenameWorkspace(InputWorkspace=mon_ws,OutputWorkspace=target_name+'_monitors')
            origin_name = target_name
            origin_invalidated=True
         else:
-           if self.is_monws_separate():
-              mon_ws=self.get_monitors_ws()
+           if mon_ws:
               CloneWorkspace(InputWorkspace=mon_ws,OutputWorkspace=target_name+'_monitors')
            origin_invalidated=False
 
-- 
GitLab