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: Selector

DESI 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 centers

  • thresh: 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'>)]