Ticket #10881 (closed: fixed)
Mover run properties to descriptor and move common run functionality to them
Reported by: | Alex Buts | Owned by: | Alex Buts |
---|---|---|---|
Priority: | major | Milestone: | Release 3.4 |
Component: | Direct Inelastic | Keywords: | |
Cc: | Blocked By: | #10836 | |
Blocking: | #10684, #10958 | Tester: | Ian Bush |
Description
Currently run properties in reducer are simple python properties (e.g. sample_run, wb_run monovan_run) with all necessary functionality spread among multiple files (common_functions, DirectEnergyConversion and PropertyManager) which leads to code duplication and ineffective testing.
The purpose of this ticket is to collect all functionality (load, getMonitorWorkspace, sum) together within a RunFileDescriptor and write unit/system tests to ensure this functionality.
Also it would be nice to decrease DirectEnergy conversion size.
Change History
comment:2 Changed 6 years ago by Alex Buts
Re #10881 Mainly created run descriptor with methods for single file
Changeset: 8748b7cf8894e8eca2d1c8ae6556d69e276fbfef
comment:3 Changed 6 years ago by Alex Buts
Re #10881 Descriptor in working state for single file
Changeset: 911d3d8697d1b073902771d54548e1dd13c6fb88
comment:4 Changed 6 years ago by Alex Buts
Re #10881 System tests for various ISIS loaders and data formats
and some data with them
Changeset: c702df20ef5c3de63825019b1b9c544feeb20068
comment:5 Changed 6 years ago by Alex Buts
Re #10881 Changes and bugfixes to single file loader, found testing
various ISIS data formats
Changeset: 6aa796733214a3651919b15bde5347c25ed235ad
comment:6 Changed 6 years ago by Alex Buts
Re #10881 System tests for various ISIS loaders and data formats
and some data with them
Changeset: b282410e49bc6a988949b601c5846d75f17050bb
comment:7 Changed 6 years ago by Alex Buts
Re #10881 DirectEnergyConversion runs with run descriptor
Changeset: 4d81e5becacf5fc2b5ef835b529a2bb922a6cab2
comment:8 Changed 6 years ago by Alex Buts
Re #10881 System test works for MARI from file
Changeset: 4a55137cc446cbc77ffd19a187e02052833b095b
comment:9 Changed 6 years ago by Alex Buts
Re #10881 Removed some duplicate workspace loading
and fixed number of unit tests failing due to changes
Changeset: 3c01e1a9d7a5db9d404ca516990dcade4aa312d2
comment:10 Changed 6 years ago by Alex Buts
Re #10881 MARI reduction from workspace works
Changeset: 2a5927e3f992b4bc7002d99f8c28fb35e948cba0
comment:11 Changed 6 years ago by Alex Buts
Re #10881 File name parser
Changeset: 05da019ad91cb511e9667daabd77513abec3160c
comment:12 Changed 6 years ago by Alex Buts
Re #10881 Struggling with separate monitor workspace
Changeset: f48235e71fc2f0b073dd2d8954fc63f90414eab0
comment:13 Changed 6 years ago by Alex Buts
Re #10881 Uncommented diagnostics
Changeset: 068f2991225934505d9d4ac608c8a71e214ad2c6
comment:14 Changed 6 years ago by Alex Buts
Re #10881 Fixed WB workspace storage (for MARI at the moment)
Changeset: 4e518b6a873d2aa240cf977a826bd69cd0ed4b78
comment:15 Changed 6 years ago by Alex Buts
Re #10881 fixed naming in case of separate monitor ws
and fixed system test for MAPS
Changeset: 3eb300c6fba704d784d119c8680bfe1b7271773c
comment:16 Changed 6 years ago by Alex Buts
Re #10881 Minir changes to system tests to reflect changes in reduction interface
Changeset: bb193f6e92fd46cdf65382fed9bcf5ad11026942
comment:17 Changed 6 years ago by Alex Buts
Re #10881 Fixed LET system test
Changeset: 928a5ec854fdd3a1521fb3f17249405b4da53090
comment:18 Changed 6 years ago by Alex Buts
Re #10881 Minor changes to system test to satisfy new interface
Changeset: 4e43203ce702802fd1ec8b8b2c3cc88e77932418
comment:19 Changed 6 years ago by Alex Buts
Re #10881 fixed bleed test (and Merlin reduction works)
Changeset: afb464cacdd13eb50d11d340056af507cfaa4a7b
comment:20 Changed 6 years ago by Alex Buts
Re #10881 Fixed diagnostics test
Changeset: 84c2d12bab891eb174e8371f4569b004a9f414d7
comment:21 Changed 6 years ago by Alex Buts
Re #10881 Fixed diagnostics test
Changeset: f97fd4ed4dca32bd46237942fb2f92bf35e4793d
comment:22 Changed 6 years ago by Alex Buts
Re #10881 Sum workspaces works
Changeset: b1f6a9194d8c90518370c25c86695e6f6df90d9f
comment:23 Changed 6 years ago by Alex Buts
Re #10881 Remove legacy code not used any more
Changeset: f8b0b46c7fa585bb3e8d9d7e6af0ff56322d728e
comment:24 Changed 6 years ago by Alex Buts
Re #10881 Fixed (probably) normalise to mon-2
Changeset: 875c2b88aad264c7a9c9acb5824a44f3bc7d27f6
comment:25 Changed 6 years ago by Alex Buts
Re #10881 Intermediate checkout. Verifying NormalizeToMonitor-2
Changeset: aec09297b443a63bf2e019da2b142a3e696a6d8f
comment:26 Changed 6 years ago by Alex Buts
Re #10881 Method to identify monitor-2 integration range
Changeset: 7a632d90fe97ba75a3f782cc1456dea8f26646ce
comment:27 Changed 6 years ago by Alex Buts
Re #10881 Method returning used monitors list
Changeset: 4302cb684402cd9e3c32125b812be38fa1be0eab
comment:28 Changed 6 years ago by Alex Buts
Re #10881 Unit test for get_used_monitors_list
Changeset: 6714158131e0d514ffe6746a27eb87359889679f
comment:29 Changed 6 years ago by Alex Buts
Re #10881 Proper normalise to monitor-2 procedure implementation
Changeset: a520c6f921cd05912278173a3424aca279e9d365
comment:30 Changed 6 years ago by Alex Buts
Re #10881 Verified and fixed system tests for mon2 normalization.
Changeset: 1ce4ddcbf6c2e558d618867b91b1003855cfb4b3
comment:31 Changed 6 years ago by Alex Buts
Re #10881 Changes to normalize to monitor2 system test
Changeset: 0331a4114deffbefe58b95c7f3060e7b6c6ef013
comment:32 Changed 6 years ago by Alex Buts
Re #10881 Minor changes and comments
Changeset: 536a4a77f443a3fe33d691d16698e6551c4e742a
comment:33 Changed 6 years ago by Martyn Gigg
The LoadLotsOfFiles.py system test has broken - http://builds.mantidproject.org/job/develop_systemtests_rhel6/1002/testReport/junit/SystemTests/LoadLotsOfFiles/LoadLotsOfFiles/. det_LET_cycle12-3.dat needs to be added to the ignore list
comment:34 Changed 6 years ago by Alex Buts
Re #10881 Fixing system test (added new det.dat file to list of
exclusions)
Changeset: adc5b28af12607f6ddd84eb1908788d40e8ed8c6
comment:35 Changed 6 years ago by Alex Buts
Re #10881 Updated IDF options to include&describe monitor-2
integration range
Changeset: df1905aacb40227d955145ae02b64ea03e3b6bd2
comment:36 Changed 6 years ago by Alex Buts
Re #10881 Re-enabled "check_abs_norm_defaults_changed option
which verify if user set up sample mass and sample rmm and unit test for it.
Changeset: 055419846531dd661424a030db6b41c699aee6ce
comment:37 Changed 6 years ago by Alex Buts
Re #10881 fixing Typos
Changeset: 143cd4a9ef8afee1c742fb23877339701ad7d047
comment:38 Changed 6 years ago by Alex Buts
Re #10881 fixing doctest
Changeset: 804e69a9f735bc20c332df587c7f05b105c3f812
comment:39 Changed 6 years ago by Alex Buts
Re #10881 fixing normalise ws with missing monitors option
Changeset: 1ead2a992ea3448fbffa46e0d5039a0a6da1933e
comment:40 Changed 6 years ago by Alex Buts
Re #10881 Changes to formatting and some string length-s
Changeset: 690d151e8dcb99667f7b406f4b2f9af507f3d8c9
comment:41 Changed 6 years ago by Alex Buts
Re #10881 Fixed system test for LETReductionEvent2014Multirep
Changeset: 18f6477afdb663c85d1dc6a2743e1882015bbee1
comment:42 Changed 6 years ago by Alex Buts
Re #10881 Typo in MERLIN_Parameters*.xml
Changeset: dae4e45ca5491519d906555c78b549d2035d4ec2
comment:43 Changed 6 years ago by Alex Buts
Re #10881 Another typo in the same files
Changeset: fb1d338ebbe5d1508cb6f41d8da44f3cb2d6cc65
comment:44 Changed 6 years ago by Alex Buts
Re #10881 Apparently, C++ diagnostics do not understand integer mon
numbers. Shame. Have to revert this to folat monitor number.
Changeset: 204574df8c3a75233d635fa2391b542fb526deb1
comment:45 Changed 6 years ago by Alex Buts
Re #10881 Added one more system test for MARI
(verify logic for vanadium run without monitors) Fixed monitor-2 normalization, which makes separate monitor-2 normalization file unnecessary.
Changeset: 3e26a19b03ce4ffcdd49bc9338eb17714c23ccf1
comment:46 Changed 6 years ago by Alex Buts
Re #10881 Fixed comparison of run properties when updated params
from instrument.
Changeset: f1d427a01cd22ec35a0019751dcc709cf60510ec
comment:47 Changed 6 years ago by Alex Buts
Re #10881 minor comments
Changeset: 91b4f047b36c4050290d46ba6fc8bcd8d5c3a1da
comment:49 Changed 6 years ago by Alex Buts
- Status changed from assigned to inprogress
The changes are both in system tests and Mantid, so both need to be merged to master. Test only after #10836 as it relies on changes made there.
It is the final step of refactoring Direct inelastic using python descriptors. All functionality related to a user run has been moved to the run descriptor, and main reduction code has been rewritten to support this functionality. Duplicated code deleted.
Doing that I have identified and fixed number of minor bugs and inefficiencies, particularly possible bugs related to normalization by monitor 2 and inefficiencies in recalculating and reloading the same wb run multiple times.
Doing so I have ensured that system tests produce the same results as before. (And mon-2 normalization works properly -- produce the same result as all other normalizations)
Number of additional unit and system tests were written, so old and new tests ensure the changes are correct -- tester may be satisfied by this.
If a tester wishes to proceed with code review, he/she should pay attention to data workflow -- if any spurious workspaces appear(left) in Mantid (only result workspace, integrated vanadium, and may be white beam should be left there) and if any unnecessary load operation download data multiple times.(Analyse run history for that) Please note, that monovan is loaded/processed multiple times for multirep mode. This is to address in ticket #10684
Current workflow correctness guaranteed by system tests but tedious tester may try to change data sources (provide a run number instead of workspace or v.v. or include/exclude monitors with workspace when possible) and see if it holds.
comment:51 Changed 6 years ago by Alex Buts
- Status changed from inprogress to verify
- Resolution set to fixed
comment:54 Changed 6 years ago by Ian Bush
- Status changed from verify to verifying
- Tester set to Ian Bush
comment:55 Changed 6 years ago by Alex Buts
- Status changed from verifying to closed
Merge branch 'feature/10836_SystemDictionary' into feature/10881_RunDescriptor
Full changeset: e6cd6a0340ff42aabfebf08ccc3a787daf6df218
comment:56 Changed 6 years ago by Ian Bush
Merge remote-tracking branch 'origin/feature/10881_RunDescriptor'
Full changeset: b0be876c5eb07355e4dae614c285c696514aa905
comment:57 Changed 6 years ago by Ian Bush
Merge remote-tracking branch 'origin/feature/10881_RunDescriptor'
Full changeset: c6d9fe4c4832f3981534fa8ff22572055f0a7c70
comment:58 Changed 6 years ago by Ian Bush
There are a lot of changes here, a lot of which are just tidying up. The other changes seem sensible as best I can tell, and the system tests all seem to be passing fine, so accepting this as fixed.
comment:59 Changed 6 years ago by Alex Buts
Merge branch 'feature/10881_RunDescriptor' into feature/10958_UpdatedReductionWrapper
Full changeset: 5343a9627d05193ff739c42bbfef32dfd47371a3
comment:60 Changed 6 years ago by Alex Buts
Merge branch 'feature/10881_RunDescriptor' into feature/10958_UpdatedReductionWrapper
Full changeset: 5343a9627d05193ff739c42bbfef32dfd47371a3
comment:61 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 11720