rail.creation.degraders.desi_selector_phy module
Degrader that applies DESI tracer selection using pre-computed redshift-dependent thresholds.
- class rail.creation.degraders.desi_selector_phy.SpecSelection_DESI_Phy
Bases:
SelectorDESI tracer selector based on pre-computed redshift-dependent thresholds.
Applies a selection to a simulation catalog by comparing a physical parameter column against a threshold that varies with redshift. The threshold table is provided externally (e.g. from abundance matching) and is not computed by this stage.
All supported DESI tracer types (bgs, lrg, elg) select objects whose physical parameter value is above the redshift-interpolated threshold.
Inputs
- inputPqHandle
Simulation catalog containing the physical parameter column and a redshift column.
- threshold_tableTableHandle
- Table with two columns:
z: redshift bin centersthresh: threshold values at those redshift centers
Output
- outputPqHandle
Catalog after applying the DESI selection mask.
- param output_mode:
What to do with the outputs. The options are ‘default’, where outputs will be written to files and some returned, and ‘return’, where outputs will only be returned and not written.
- type output_mode:
[str] default=default
- param drop_rows:
Drop selected rows from output table
- type drop_rows:
[bool] default=True
- param seed:
Set to an int to force reproducible results.
- type seed:
[type not specified] default=None
- param desi_type:
DESI tracer type: ‘bgs’, ‘lrg’, or ‘elg’
- type desi_type:
[str] default=lrg
- param threshold_col:
Column in the input catalog used for threshold-based selection (e.g. ‘log_peak_sub_halo_mass’ for bgs/lrg, ‘log_sfr’ for elg)
- type threshold_col:
[str] default=None
- param redshift_col:
Column name for redshift in the input catalog
- type redshift_col:
[str] default=redshift
- param threshold_table:
Filename of the threshold file
- type threshold_table:
[str] default=None
- param input:
- type input:
PqHandle (INPUT)
- param output:
- type output:
PqHandle (OUTPUT)
- entrypoint_function: str | None = '__call__'
- inputs = [('input', <class 'rail.core.data.PqHandle'>)]
- interactive_function: str | None = 'spec_selection_desi_phy'
- name = 'SpecSelection_DESI_Phy'
- outputs = [('output', <class 'rail.core.data.PqHandle'>)]