LSSTDESC / Smokescreen

A library of methods to mitigate experimenter bias in the LSST DESC cosmology analysis
https://lsstdesc.org/Smokescreen/
BSD 3-Clause "New" or "Revised" License
4 stars 0 forks source link

Implement a `__main__.py` with the functionality of blinding a SACC file #21

Closed arthurmloureiro closed 5 months ago

arthurmloureiro commented 9 months ago

Implement a main function that can be called from the terminal and blinds a SACC file provided by the user.

arthurmloureiro commented 9 months ago

This is going to be challenging because the build_likelihood() methods read automatically a sacc file.

The firecrown likelihood families demand that .read() method is called instantly and this method actually somehow filters the required data-points/binning/etc.. the likelihood "knows" how to get the theory-vector in the same shape of the (internally) selected data-vector. But there's no way of extracting that information from the likelihood so that it can be applied to an external data-vector, loaded outside the likelihood.

This really complicates things for blinding. The solution found so far would only work for a data-vector that is already being loaded into the firecrown likelihood.

arthurmloureiro commented 9 months ago

This is somewhat related to https://github.com/LSSTDESC/firecrown/issues/394#issuecomment-1960949419

arthurmloureiro commented 8 months ago

@tilmantroester pointed out that jsonargparse module could be super useful for this!

https://jsonargparse.readthedocs.io/en/stable/#