Ticket #6760 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Instrument geometry loads incorrectly for duplicate sample log values

Reported by: Stuart Campbell Owned by: Stuart Campbell
Priority: blocker Milestone: Release 2.5
Component: Mantid Keywords:
Cc: Blocked By:
Blocking: Tester: Andrei Savici

Description

This was noticed on HYSA. The msd log value affects the incident flight path (L1), if the raw data file has more than one value of msd at exactly the same time then a zero is used for the value of msd when the geometry is loaded.

If we modify the time of one of the values by even a very small amount (e.g. 1e-6) then it all works fine.

HYSPECA runs 18497 and 18498 have this issue.

If you look at the log values from within MantidPlot then all looks ok.

Change History

comment:1 Changed 8 years ago by Stuart Campbell

  • Status changed from new to accepted

comment:2 Changed 8 years ago by Stuart Campbell

Added unit test that will fail for duplicate entries.

refs #6760

Changeset: a812efe23cc00c1b47fa59c4db871630bf82d54d

comment:3 Changed 8 years ago by Stuart Campbell

Changed test method name. refs #6760

Changeset: 84b803075b9761d6cc5fac46f6535dd93addd8b4

comment:4 Changed 8 years ago by Stuart Campbell

Remove duplicate log times before calling meanTime()

Not sure this is the best thing to do, ideally meanTime() should be able to cope itself.

refs #6760

Changeset: 80242113dac148bbf5b890cb87c953a9dc986e37

comment:5 Changed 8 years ago by Stuart Campbell

Added check for all times being the same. refs #6760

If the total duration of the differences of the log values is 0.0 then just use the first log value.

Changeset: 866f882e9bded6cbfd7b5d1b4895f0674ff19ee9

comment:6 Changed 8 years ago by Stuart Campbell

Added unit test that will fail for duplicate entries.

refs #6760

Changeset: a812efe23cc00c1b47fa59c4db871630bf82d54d

comment:7 Changed 8 years ago by Stuart Campbell

Changed test method name. refs #6760

Changeset: 84b803075b9761d6cc5fac46f6535dd93addd8b4

comment:8 Changed 8 years ago by Stuart Campbell

Remove duplicate log times before calling meanTime()

Not sure this is the best thing to do, ideally meanTime() should be able to cope itself.

refs #6760

Changeset: 80242113dac148bbf5b890cb87c953a9dc986e37

comment:9 Changed 8 years ago by Stuart Campbell

Added check for all times being the same. refs #6760

If the total duration of the differences of the log values is 0.0 then just use the first log value.

Changeset: 866f882e9bded6cbfd7b5d1b4895f0674ff19ee9

comment:10 Changed 8 years ago by Stuart Campbell

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:11 Changed 8 years ago by Stuart Campbell

The branch name is bugfix/6760_loadinst_duplicate_logs

A unit test has been added to LogParserTest that has values with duplicate times, so this should pass.

This script should also produce a spectra with a peak at Et=0 (in workspace sum).

Load(Filename='/SNS/HYSA/IPTS-8718/nexus/HYSA_18497.nxs.h5', OutputWorkspace='HYSA_18497')
DgsReduction(SampleInputWorkspace='HYSA_18497',SampleInputMonitorWorkspace='HYSA_18497',OutputWorkspace='w1')
SumSpectra(InputWorkspace='w1',OutputWorkspace='sum')
Last edited 8 years ago by Stuart Campbell (previous) (diff)

comment:12 Changed 8 years ago by Andrei Savici

  • Status changed from verify to verifying
  • Tester set to Andrei Savici

comment:13 Changed 8 years ago by Stuart Campbell

Added unit test that will fail for duplicate entries.

refs #6760

Changeset: a812efe23cc00c1b47fa59c4db871630bf82d54d

comment:14 Changed 8 years ago by Stuart Campbell

Changed test method name. refs #6760

Changeset: 84b803075b9761d6cc5fac46f6535dd93addd8b4

comment:15 Changed 8 years ago by Stuart Campbell

Remove duplicate log times before calling meanTime()

Not sure this is the best thing to do, ideally meanTime() should be able to cope itself.

refs #6760

Changeset: 80242113dac148bbf5b890cb87c953a9dc986e37

comment:16 Changed 8 years ago by Stuart Campbell

Added check for all times being the same. refs #6760

If the total duration of the differences of the log values is 0.0 then just use the first log value.

Changeset: 866f882e9bded6cbfd7b5d1b4895f0674ff19ee9

comment:17 Changed 8 years ago by Andrei Savici

  • Status changed from verifying to closed

comment:18 Changed 8 years ago by Stuart Campbell

Added unit test that will fail for duplicate entries.

refs #6760

Changeset: a812efe23cc00c1b47fa59c4db871630bf82d54d

comment:19 Changed 8 years ago by Stuart Campbell

Changed test method name. refs #6760

Changeset: 84b803075b9761d6cc5fac46f6535dd93addd8b4

comment:20 Changed 8 years ago by Stuart Campbell

Remove duplicate log times before calling meanTime()

Not sure this is the best thing to do, ideally meanTime() should be able to cope itself.

refs #6760

Changeset: 80242113dac148bbf5b890cb87c953a9dc986e37

comment:21 Changed 8 years ago by Stuart Campbell

Added check for all times being the same. refs #6760

If the total duration of the differences of the log values is 0.0 then just use the first log value.

Changeset: 866f882e9bded6cbfd7b5d1b4895f0674ff19ee9

comment:22 Changed 8 years ago by Stuart Campbell

Added unit test that will fail for duplicate entries.

refs #6760

Changeset: a812efe23cc00c1b47fa59c4db871630bf82d54d

comment:23 Changed 8 years ago by Stuart Campbell

Changed test method name. refs #6760

Changeset: 84b803075b9761d6cc5fac46f6535dd93addd8b4

comment:24 Changed 8 years ago by Stuart Campbell

Remove duplicate log times before calling meanTime()

Not sure this is the best thing to do, ideally meanTime() should be able to cope itself.

refs #6760

Changeset: 80242113dac148bbf5b890cb87c953a9dc986e37

comment:25 Changed 8 years ago by Stuart Campbell

Added check for all times being the same. refs #6760

If the total duration of the differences of the log values is 0.0 then just use the first log value.

Changeset: 866f882e9bded6cbfd7b5d1b4895f0674ff19ee9

comment:26 Changed 7 years ago by Stuart Campbell

Added unit test that will fail for duplicate entries.

refs #6760

Changeset: a812efe23cc00c1b47fa59c4db871630bf82d54d

comment:27 Changed 7 years ago by Stuart Campbell

Changed test method name. refs #6760

Changeset: 84b803075b9761d6cc5fac46f6535dd93addd8b4

comment:28 Changed 7 years ago by Stuart Campbell

Remove duplicate log times before calling meanTime()

Not sure this is the best thing to do, ideally meanTime() should be able to cope itself.

refs #6760

Changeset: 80242113dac148bbf5b890cb87c953a9dc986e37

comment:29 Changed 7 years ago by Stuart Campbell

Added check for all times being the same. refs #6760

If the total duration of the differences of the log values is 0.0 then just use the first log value.

Changeset: 866f882e9bded6cbfd7b5d1b4895f0674ff19ee9

comment:30 Changed 7 years ago by Stuart Campbell

Added unit test that will fail for duplicate entries.

refs #6760

Changeset: a812efe23cc00c1b47fa59c4db871630bf82d54d

comment:31 Changed 7 years ago by Stuart Campbell

Changed test method name. refs #6760

Changeset: 84b803075b9761d6cc5fac46f6535dd93addd8b4

comment:32 Changed 7 years ago by Stuart Campbell

Remove duplicate log times before calling meanTime()

Not sure this is the best thing to do, ideally meanTime() should be able to cope itself.

refs #6760

Changeset: 80242113dac148bbf5b890cb87c953a9dc986e37

comment:33 Changed 7 years ago by Stuart Campbell

Added check for all times being the same. refs #6760

If the total duration of the differences of the log values is 0.0 then just use the first log value.

Changeset: 866f882e9bded6cbfd7b5d1b4895f0674ff19ee9

comment:34 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7606

Note: See TracTickets for help on using tickets.