Skip to content
Snippets Groups Projects

Implemented new sliding-window seed finder in CbmTaskBuildRawEvents.

Closed Dominik Smith requested to merge d.smith/cbmroot:SlidingWindowSeedFinder into master

Implemented a new seed finder based on the old "sliding-window" event builder "CbmBuildEventsSimple". Seed times are obtained when the number of digis within a sliding time window exceeds a threshold. The purpose is to enable seed finding with a reference detector which has large background noise.

Edited by Dominik Smith

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Author Maintainer

    Suggested reviewer: @v.friese

  • Dear @f.uhlig, @p.-a.loizeau, @d.smith,

    you have been identified as code owner of at least one file which was changed with this merge request.

    Please check the changes and approve them or request changes.

  • @d.smith,

    there are now at least two different versions of the seed finder implemented in the task. In my opinion both should be implemented as algorithms and then it is up to the user which one to plug in.

  • Author Maintainer

    @f.uhlig I agree in principle. The reason why I have not done so so far is because each seed finder consists only of a few lines of code and is encapsulated in a single function. Not sure that this warrants a stand-alone class for each, together with a base class, which will be required. Probably, if the number of seed finders grows to much larger than two, this is ultimately the right approach, so implementing it now might be more future proof. Also, I'm not happy with how the switchting between seed finders is currently implemented. There should be a more elegant solution, possibly using an enum for different seed finder types. I will think about it. The main purpose of this MR was to provide @v.friese with a working example, that can be used for tests etc.

  • Dominik Smith added 4 commits

    added 4 commits

    • dbd6eba3...e5f0a293 - 2 commits from branch computing:master
    • 7ece7548 - Implemented new sliding-window seed finder in CbmTaskBuildRawEvents.
    • 5334af4e - CbmTaskBuildRawEvents: Removed 'single-instance' seed time filler as it is...

    Compare with previous version

  • Dominik Smith marked this merge request as draft

    marked this merge request as draft

  • Dominik Smith added 10 commits

    added 10 commits

    • 5334af4e...661105d3 - 6 commits from branch computing:master
    • 5927dff5 - Bugfix: Replaced ECbmModuleId::kHodo by ECbmModuleId::kT0 in...
    • 02fc57f7 - Implemented new sliding-window seed finder in CbmTaskBuildRawEvents.
    • deedd129 - CbmTaskBuildRawEvents: Removed 'single-instance' seed time filler as it is...
    • 98e873f1 - Added new class CbmSeedFinderSlidingWindow.

    Compare with previous version

  • Author Maintainer

    @f.uhlig The sliding window seed finder now has been implemented in a separate algo class. Setting to WIP until the new class has been integrated into the event builder task.

    Edited by Dominik Smith
  • Dominik Smith added 1 commit

    added 1 commit

    • 8744f4a1 - Added new class CbmSeedFinderSlidingWindow.

    Compare with previous version

  • Author Maintainer

    This MR already includes the bugfix proposed in !462 (merged)

  • Dominik Smith added 1 commit

    added 1 commit

    • eacfddb4 - Added new class CbmSeedFinderSlidingWindow. Replaced the seed finding...

    Compare with previous version

  • Dominik Smith added 1 commit

    added 1 commit

    • 6343920d - Added new class CbmSeedFinderSlidingWindow. Replaced the seed finding...

    Compare with previous version

  • Author Maintainer

    New class is used in the task now.

  • Dominik Smith marked this merge request as ready

    marked this merge request as ready

  • Author Maintainer

    @v.friese The WIP flag has been removed. The current version is fully operational. On possibility for further refining the seed finder is to combine the sliding-window approach with the "detector list" approach. Instead of passing a digi vector to the seed finder one could pass a sorted list of digi times to the seed finder, which was obtained from multiple detectors. Before implementing this I would like some feedback as to whether this is a desirable feature.

  • Dominik Smith added 1 commit

    added 1 commit

    • 8dbeff13 - CbmSeedFinderSlidingWindow: Class now also accepts a vector with explicit...

    Compare with previous version

  • Author Maintainer

    In preparation for what I described above, the sliding-window seed finder now also accepts a vector of doubles (explicit times) instead of a vector of digis. The input type then triggers a template selection.

    This change came at a small price: In the old version, the seed finder would automatically detect non-allocated pointers in the vector of digis and ignore them. Now, any pointer that is nullptr triggers a crash and an error message. I assume this case should never occur in the input data, at least I am not aware that the unpackers would ever do this.

  • Dominik Smith added 1 commit

    added 1 commit

    • fc56768e - CbmSeedFinderSlidingWindow: Class now also accepts a vector with explicit...

    Compare with previous version

  • Dominik Smith added 7 commits

    added 7 commits

    • 5d871213 - 1 commit from branch computing:master
    • 07d55827 - Bugfix: Replaced ECbmModuleId::kHodo by ECbmModuleId::kT0 in...
    • 031e18f4 - Implemented new sliding-window seed finder in CbmTaskBuildRawEvents.
    • 817a14ff - CbmTaskBuildRawEvents: Removed 'single-instance' seed time filler as it is...
    • 2ebfdfeb - Added new class CbmSeedFinderSlidingWindow. Replaced the seed finding...
    • 22d9bbd5 - CbmSeedFinderSlidingWindow: Class now also accepts a vector with explicit...
    • 9551ff6e - CbmTaskBuildRawEvents: List of seed detectors can now be used with sliding-window seed finder.

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading