Add the option to use bankchisq by adding chisq and bankchisq residuals
RankingStat objects have a new attribute use_bankchisq, which is by default set to False. gstlal_inspiral_create_prior_diststats sets it to True if use_bankchisq: True
is provided in the rank section of config.yml. When set to True, the numerator snr_bankchi PDF is used in the numerator's __call__
method, and the denominator ifo_snr_bankchi PDF is used in the denominator's __call__
method. In addition, RankingStat's kwargs_from_triggers
returns a dict with chi2s_over_snr2s
being this new added-residuals-chisq instead of autochisq.
In order to make this possible, itacac and snglinspiral.c have been modified to store the chisq_norm in the chisq_dof
column, and similarly for bankchisq. Then, the bankchisq variable is populated as (chisq * chisq_norm + bankchisq * bankchisq_norm) / (chisq_norm + bankchisq_norm).
Adding the residuals this way has been shown to slightly increase VT when plotted against FAR However, the VT improvement when plotted against SNR is a bit less encouraging, which is why this feature is added as an option
This plot shows that these changes do not change the value stored in the chisq variable:
This plot shows chisq and combined chisq values of triggers: