Skip to content

Conversation

@vitenti
Copy link
Collaborator

@vitenti vitenti commented Sep 26, 2025

Description

This PR introduces a framework for bin pair selection in two-point correlation functions through a hierarchy of BinPairSelector classes. The design allows users to define, combine, and reuse rules for filtering InferredGalaxyZDist bins and their measurements before constructing TwoPointXY objects. This addresses the need to systematically and safely generate physically meaningful combinations, beyond simple “all compatible pairs”. The tutorials were reorganized to include this new feature and a new tutorial document detailing BinPairSelector was added.

Type of change

Please delete the bullet items below that do not apply to this pull request.

  • New feature (non-breaking change which adds functionality)

Checklist:

The following checklist will make sure that you are following the code style and
guidelines of the project as described in the
contributing page.

  • I have run bash pre-commit-check and fixed any issues
  • I have added tests that prove my fix is effective or that my feature works
  • I have made corresponding changes to the documentation
  • I have 100% test coverage for my changes (please check this after the CI system has verified the coverage)

@codecov
Copy link

codecov bot commented Sep 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.0%. Comparing base (855ac88) to head (9e76bd2).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff            @@
##           master     #552    +/-   ##
========================================
  Coverage   100.0%   100.0%            
========================================
  Files         150      151     +1     
  Lines        8787     9035   +248     
  Branches     1012     1033    +21     
========================================
+ Hits         8787     9035   +248     
Files with missing lines Coverage Δ
firecrown/generators/_inferred_galaxy_zdist.py 100.0% <ø> (ø)
firecrown/metadata_functions/__init__.py 100.0% <ø> (ø)
firecrown/metadata_functions/_combination_utils.py 100.0% <100.0%> (ø)
firecrown/metadata_functions/_extraction.py 100.0% <100.0%> (ø)
firecrown/metadata_types/__init__.py 100.0% <100.0%> (ø)
firecrown/metadata_types/_inferred_galaxy_zdist.py 100.0% <100.0%> (ø)
firecrown/metadata_types/_measurements.py 100.0% <100.0%> (ø)
firecrown/metadata_types/_pair_selector.py 100.0% <100.0%> (ø)
firecrown/metadata_types/_sacc_type_string.py 100.0% <100.0%> (ø)
firecrown/metadata_types/_utils.py 100.0% <100.0%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@vitenti vitenti marked this pull request as ready for review December 5, 2025 16:06
@vitenti vitenti changed the title First version of BinRule class system for bin combinations. First version of BinPairSelector class system for bin combinations. Dec 5, 2025
@vitenti vitenti changed the title First version of BinPairSelector class system for bin combinations. Introducing BinPairSelector class system for bin pair selection. Dec 5, 2025
@vitenti vitenti requested a review from marcpaterno January 13, 2026 18:54
@marcpaterno marcpaterno merged commit a92b250 into master Jan 13, 2026
13 checks passed
@marcpaterno marcpaterno deleted the bin_combinations branch January 13, 2026 19:00
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.

3 participants