Ticket #8655 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Filter events by fast log value from pre nexus file

Reported by: Wenduo Zhou Owned by: Wenduo Zhou
Priority: major Milestone: Release 3.2
Component: Framework Keywords:
Cc: petersonpf@… Blocked By:
Blocking: Tester: Vickie Lynch

Description

Fast log values are recorded in event pre-nexus file with special pixel IDs. Therefore, for this type of log value, event filtering can be made from pre nexus data.

This algorithm will serve to prove the result obtained by the regular event filtering algorithm acting on event workspace. And it will serve as a benchmark for processing speed.

But this algorithm is just a prototype and is not supposed to be used by Mantid users. It will inherit from DeprecatedAlgorithm.

Attachments

verify8655.py (2.9 KB) - added by Wenduo Zhou 6 years ago.

Change History

comment:1 Changed 7 years ago by Wenduo Zhou

  • Status changed from new to inprogress

Started FilterEventsByLogValuePreNexus. Refs #8655.

New algorithm was copied from LoadEventPreNexus2.

Changeset: 1be92878240bb2c32a5fbb4053e30d62cfc7740d

comment:2 Changed 7 years ago by Wenduo Zhou

Add output table for special pixel. Refs #8655.

Changeset: f2142bfe31116cc721d759e0966aacc228f796d2

comment:3 Changed 7 years ago by Wenduo Zhou

Added (unfinished) wrong event index correction. Refs #8655.

Changeset: 7631105b1060c716276098bd24c217c6eead6097

comment:4 Changed 7 years ago by Wenduo Zhou

Added option for not splitting log. Refs #8655.

Changeset: 598b8c57e0f718acae69da0323e1b016ea974a7e

comment:5 Changed 7 years ago by Wenduo Zhou

Checkpointing work. Refs #8655.

Changeset: 95d87cbab00ca4333babba8b6cc9fe626961c69a

comment:6 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 3.1 to Backlog

Moved to backlog at the end of Release 3.1

comment:7 Changed 7 years ago by Wenduo Zhou

Added new algorithm FilterEventsByLogValuePreNexus. Refs #8655.

Changeset: 83b1d46a6459582ac5dd51d7d3c596c05c61ee5b

comment:8 Changed 7 years ago by Wenduo Zhou

Changed some logs. Refs #8655.

Changeset: 59082c0777d472f45379400922695689107714ae

comment:9 Changed 7 years ago by Wenduo Zhou

Fixed some issues. Refs #8655.

Including but not restricted to

  1. Adding TOF correction to sample;
  2. Considering the situation that events are not recorded in time order;
  3. Some debug information.

Changeset: e8e4d2b6bed2d8a3d0c5d6c1b8381a39f5bdc108

comment:10 Changed 7 years ago by Wenduo Zhou

Make algorithm deprecated. Refs #8655.

  1. Algorithm is made deprecated because it is used to verify

FilterEvents on fast sample logs;

  1. Fixed a bug in compiling.

Changeset: 3e256c43c60b1df5f181a21acdacc954d50cb39f

comment:11 Changed 7 years ago by Wenduo Zhou

Fixed an OSX error. Refs #8655.

Changeset: 8708747c616c6f9306e596932f2eef95e211497b

comment:12 Changed 7 years ago by Wenduo Zhou

Fixed a Windows compiling error. Refs #8655.

Changeset: b8232c5473f297809c05fdbdd4868df3db37cc28

comment:13 Changed 7 years ago by Martyn Gigg

There is a compiler warning about an unused variable in FilterEventsByLogValuePreNexus.cpp and also a cppcheck error

Last edited 7 years ago by Martyn Gigg (previous) (diff)

comment:14 Changed 7 years ago by Wenduo Zhou

  • Milestone changed from Backlog to Release 3.2

comment:15 Changed 7 years ago by Wenduo Zhou

Fixed cppcheck error and compile warning. Refs #8655.

Changeset: ac1bb4289561c34e7f3af555add298ea595f7a40

comment:16 Changed 7 years ago by Martyn Gigg

Unfortunately the same cppcheck error still exists. I don't quite understand why the same line later in the file doesn't cause the same error but I think it's a false positive so can be supressed by putting

// cppcheck-suppress syntaxError

on the line directly before the #PRAGMA_OMP.

The same problem also exists in GenerateEventsFilter.cpp at line 1367

comment:17 Changed 7 years ago by Wenduo Zhou

Suppress a cppcheck error. Refs #8655.

Changeset: a7f64e440330f5bd8fec1b060f1b8eeea1acb93a

comment:18 Changed 6 years ago by Russell Taylor

There are 2 doxygen warnings coming out of FilterEventsByLogValuePreNexus.

comment:19 Changed 6 years ago by Wenduo Zhou

Refs #8655. Fixed 2 doxygen error.

Changeset: ba88242b059eb4f674a1a65620ba9cf5303dbff7

comment:20 Changed 6 years ago by Wenduo Zhou

For tester

The purpose of this ticket is to generate an algorithm to verify GenerateEventsFilter and FilterEvents operating on fast sample log. Therefore, algorithm FilterEventsByLogValuePreNexus is a deprecated algorithm, which means that it is not supposed to be used by most users.

The most efficient way to verify this ticket is to filter events from a preNexus data file and compare the result from GenerateEventsFiler/FilterEvents.

  1. Download the script verify8655.py;
  2. Merge the commits from this ticket and build Mantid;
  3. Run script;
  4. The difference between 2 binned and reduced workspaces, recorded by workspace Diff20002, are tiny. Only 3 counts are in difference out of millions.
Last edited 6 years ago by Wenduo Zhou (previous) (diff)

Changed 6 years ago by Wenduo Zhou

comment:21 Changed 6 years ago by Wenduo Zhou

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

comment:22 Changed 6 years ago by Wenduo Zhou

Added a unit test. Refs #8655.

Changeset: 64a69192543bab3209f1b0a6e48bedfadb4e9244

comment:23 Changed 6 years ago by Vickie Lynch

  • Status changed from verify to verifying
  • Tester set to Vickie Lynch

comment:24 Changed 6 years ago by Vickie Lynch

  • Status changed from verifying to closed

Merge remote branch 'origin/feature/8655_filter_in_prenexus'

Full changeset: b4295c0ac97d92ce70e5176fa077581578456d70

comment:25 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9499

Note: See TracTickets for help on using tickets.