6. BIASCOR
revised May 15 2026 by R.Kessler
Using the FITRES files produce by light curve fitting (2_LCFIT), along with optional classifer probabilities (3_CLASS), this stage runs SALT2mu.exe to implement “BEAMS with Bias Corrections” (BBC). A large SNIa simulation is needed for spec-confirmed and photometrically-identified samples; the latter also needs a large “non-Ia” simulation with Core Collapse SNe and peculiar SNe Ia. Inputs are shown below, along with how to combine surveys (e.g., low-z plus high-z).
BIASCOR:
LABEL:
# The base input file to utilise
BASE: surveys/des/bbc/bbc.input
# names of the lcfits_data (real or sim). Note list format, and LcfitLabel_SimLabel key.
DATA: [DESFIT_DESSIM, LOWZFIT_LOWZSIM]
# Input Ia bias correction simulation per survey
SIMFILE_BIASCOR: [DESFIT_DESBIASCOR, LOWZFIT_LOWZBIASCOR]
# For surveys with contamination (e.g., DES-SN5YR), include NONIA-only simulation for CCPRIOR
SIMFILE_CCPRIOR: DESFIT_DESSIMBIAS5YRCC
# Define which classifier PROB-Ia to use by specifying argument of PROB_COLUMN_NAME in 3_CLAS stage.
CLASSIFIER: PROB_SCONEV19
# - - - - - - - - - - - - rarely used/obsolete features - - - - - - - - - - -
# Optional, specify FITOPT to use. Defaults to 0 for each SIMFILE_BIASCOR/SIMFILE_CCPRIOR. Must specify a FITOPT for each SIMFILE_BIASCOR/SIMFILE_CCPRIOR
SIMFILE_BIASCOR_FITOPTS: [0, 1] # FITOPT000 and FITOPT001
SIMFILE_CCPRIOR_FITOPTS: [0, 1] # FITOPT000 and FITOPT001
# Default False. If multiple sims (RANSEED_CHANGE), make one or all Hubble plots.
MAKE_ALL_HUBBLE: False
# Defaults to False. Load recalibrated probabilities.
USE_RECALIBRATED: True
# - - - - - - - - - - - end rare/obsolete - - - - - - - - - - - - - - -
# Optional "MUOPTS" add BBC-related systematics. They share the structure of the main biascor definition. Can define multiple, or use a dict structure, with the MUOPT name being the key
MUOPTS:
C11:
SIMFILE_BIASCOR: [D_DESBIASSYS_C11, L_LOWZBIASSYS_C11]
SCALE: 0.5 # Default=1, used by CREATE_COV to determine COVSYS contribution
# Generic OPTS that can modify the base file and overwrite properties
OTPS:
BATCH_INFO: sbatch $SBATCH_TEMPLATES/SBATCH_Midway2_1hr.TEMPLATE 10
# optional replace BCOR & CCPRIOR for specific LCFIT-FITOPTS.
# Each /path argument can be a comma-sep list (no brackets, no spaces)
# to include multuple surveys.
# Initial motivation is for systematics with altered host zPHOT algorithm;
# same zPHOT alteration should be be used for both data and biasCor.
REPLACE_SIMFILE_BIASCOR:
label0: /path_replace_bcor0 # label0 must match a FITOPT label at 2_LCFIT stage
label1: /path_replace_bcor1 # label1 must match a FITOPT label at 2_LCFIT stage
etc ...
REPLACE_SIMFILE_CCPRIOR:
label0: /path_replace_cc0 # label0 must match a FITOPT label at 2_LCFIT stage
label1: /path_replace_cc1 # label1 must match a FITOPT label at 2_LCFIT stage
etc ...
For those that generate large simulations and want to cut them up into little pieces, you want the NSPLITRAN syntax. The configuration below will take the inputs and divide them into 10 samples.
BIASCOR:
LABEL:
BASE: surveys/des/bbc/bbc_3yr.input
DATA: [D_DES_G10]
SIMFILE_BIASCOR: [D_DESSIMBIAS3YRIA_G10]
PROB_COLUMN_NAME: some_column_name # optional instead of CLASSIFIER
OPTS:
NSPLITRAN: 10