Inference of a parametric, evolving LF.
lf.py
- The main LF and completeness and effective volume classesinfer.py
- The likelihood, and tools for inferring parametersdata.py
- The data samples (in z and luminosity)
mock.py
jof.py
Jollof expects data in the form of FITS binary table with the following columns that give samples (from the likelihood) for each object.
z_samples
float, shape(n_samples,)
MUV_samples
, float, shape(n_samples,)
Each row of the table should be a different object. Note each entry in these
columns is a vector of length n_samples
.
You can have additional columns (e.g. "id"
)
Currently the selection and detection completeness functions should be provided
as FITS files containing three extensions - the 2D image with the value of the
completeness and the 1d vectors describing the axes of this image. But
constructing the inputs to EffectiveVolumeGrid is currently the responsibility
of the user, see jof.py
for an example.
A rate density describes the expected (differential) number of occurrences as a
function of the N-dimensional vector
where
However, we rarely know
This marginalization correctly accounts for the uncertainties on each object via
a forward model, resulting in a probability for the error-deconvolved rate
density
I skipped over an important subtlety in the above. We cannot use just any
distribution for
Removing a prior can be done in a number of ways, but one of them is to divide by the prior probability during the marginalization integral (either analytic or numeric).