Skip to content

Add filtering based on pixel grouping#679

Open
dlcaballero16 wants to merge 2 commits intonextfrom
add-filtering-based-on-pixel-grouping
Open

Add filtering based on pixel grouping#679
dlcaballero16 wants to merge 2 commits intonextfrom
add-filtering-based-on-pixel-grouping

Conversation

@dlcaballero16
Copy link
Copy Markdown
Collaborator

Description of work

This adds the ability to filter out "bad" records meaning records that have pixel grouping that overlap East and West bank detectors.

Explanation of work

A new algorithm was added called DetectorPanelStraddleCheck that checks if a given GroupingWorkspace is "invalid" meaning that if any banks are both in the East and West panel. This saves on performance as opposed to checking each individual pixel. Two filter functions were then added to DataFactoryService where the inputs are a list of records, run number, if using liteMode or not, that then returns a list of invalid groupings for both calibration and normalization records.

To test

Dev testing

See CIS testing.

CIS testing

Setup

Make sure to run a few diffcals and normalizations of both lite and non-lite mode and that have groupings of All and either Column or Bank. So at a minimum you should have 8 records. I tested using run 58882.

Testing

After generating all the records, run the new CIS test script, detector_panel_straddle_check.py. There are three user settings near the top: runNumber, useLiteMode, and recordType. Mess around with the inputs and make sure the outputs make sense. If you only generated the bare minimum, you should get output saying that the All grouping is invalid for whatever input you set for the script. It should only be one grouping since it only checks the lite mode setting and the specific record type.

Link to EWM item

EWM#16082

Verification

  • the author has read the EWM story and acceptance critera
  • the reviewer has read the EWM story and acceptance criteria
  • the reviewer certifies the acceptance criteria below reflect the criteria in EWM

Acceptance Criteria

This list is for ease of reference, and does not replace reading the EWM story as part of the review. Verify this list matches the EWM story before reviewing.

  • acceptance criterion 1
  • acceptance criterion 2

@codecov
Copy link
Copy Markdown

codecov Bot commented May 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.35%. Comparing base (81358c2) to head (21c1281).

Additional details and impacted files
@@           Coverage Diff           @@
##             next     #679   +/-   ##
=======================================
  Coverage   96.35%   96.35%           
=======================================
  Files          77       77           
  Lines        7096     7133   +37     
=======================================
+ Hits         6837     6873   +36     
- Misses        259      260    +1     
Flag Coverage Δ
integration 49.17% <18.42%> (-0.13%) ⬇️
unittests 96.07% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant