diff --git a/pyfstat/mcmc_based_searches.py b/pyfstat/mcmc_based_searches.py index 727e3ef60c251bf2c2504207d1f38a375e913f5b..836bee1c373b110528485dac31b322fbf31e3542 100644 --- a/pyfstat/mcmc_based_searches.py +++ b/pyfstat/mcmc_based_searches.py @@ -13,14 +13,14 @@ import emcee import corner import dill as pickle -from core import BaseSearchClass, ComputeFstat, SemiCoherentSearch -from optimal_setup_functions import get_V_estimate +import core from core import tqdm, args, earth_ephem, sun_ephem +from optimal_setup_functions import get_V_estimate from optimal_setup_functions import get_optimal_setup import helper_functions -class MCMCSearch(BaseSearchClass): +class MCMCSearch(core.BaseSearchClass): """ MCMC search using ComputeFstat""" @helper_functions.initializer def __init__(self, label, outdir, theta_prior, tref, minStartTime, @@ -108,7 +108,7 @@ class MCMCSearch(BaseSearchClass): def initiate_search_object(self): logging.info('Setting up search object') - self.search = ComputeFstat( + self.search = core.ComputeFstat( tref=self.tref, sftfilepath=self.sftfilepath, minCoverFreq=self.minCoverFreq, maxCoverFreq=self.maxCoverFreq, earth_ephem=self.earth_ephem, sun_ephem=self.sun_ephem, @@ -1084,7 +1084,8 @@ class MCMCSearch(BaseSearchClass): if self.nglitch == 1: tglitches = [d['tglitch']] else: - tglitches = [d['tglitch_{}'.format(i)] for i in range(self.nglitch)] + tglitches = [d['tglitch_{}'.format(i)] + for i in range(self.nglitch)] tboundaries = [self.minStartTime] + tglitches + [self.maxStartTime] deltaTs = np.diff(tboundaries) ntrials = [time_trials + delta_F0 * dT for dT in deltaTs] @@ -1234,7 +1235,7 @@ class MCMCGlitchSearch(MCMCSearch): def initiate_search_object(self): logging.info('Setting up search object') - self.search = SemiCoherentGlitchSearch( + self.search = core.SemiCoherentGlitchSearch( label=self.label, outdir=self.outdir, sftfilepath=self.sftfilepath, tref=self.tref, minStartTime=self.minStartTime, maxStartTime=self.maxStartTime, minCoverFreq=self.minCoverFreq, @@ -1257,7 +1258,7 @@ class MCMCGlitchSearch(MCMCSearch): def logl(self, theta, search): if self.nglitch > 1: - ts = ([self.minStartTime] + list(theta_vals[-self.nglitch:]) + ts = ([self.minStartTime] + list(theta[-self.nglitch:]) + [self.maxStartTime]) if np.array_equal(ts, np.sort(ts)) is False: return -np.inf @@ -1399,12 +1400,12 @@ class MCMCSemiCoherentSearch(MCMCSearch): """ MCMC search for a signal using the semi-coherent ComputeFstat """ @helper_functions.initializer def __init__(self, label, outdir, theta_prior, tref, sftfilepath=None, - nsegs=None, nsteps=[100, 100, 100], nwalkers=100, binary=False, - ntemps=1, log10temperature_min=-5, theta_initial=None, - scatter_val=1e-10, detectors=None, BSGL=False, - minStartTime=None, maxStartTime=None, minCoverFreq=None, - maxCoverFreq=None, earth_ephem=None, sun_ephem=None, - injectSources=None, assumeSqrtSX=None): + nsegs=None, nsteps=[100, 100, 100], nwalkers=100, + binary=False, ntemps=1, log10temperature_min=-5, + theta_initial=None, scatter_val=1e-10, detectors=None, + BSGL=False, minStartTime=None, maxStartTime=None, + minCoverFreq=None, maxCoverFreq=None, earth_ephem=None, + sun_ephem=None, injectSources=None, assumeSqrtSX=None): """ """ @@ -1442,7 +1443,7 @@ class MCMCSemiCoherentSearch(MCMCSearch): def initiate_search_object(self): logging.info('Setting up search object') - self.search = SemiCoherentSearch( + self.search = core.SemiCoherentSearch( label=self.label, outdir=self.outdir, tref=self.tref, nsegs=self.nsegs, sftfilepath=self.sftfilepath, binary=self.binary, BSGL=self.BSGL, minStartTime=self.minStartTime, @@ -1564,7 +1565,8 @@ class MCMCFollowUpSearch(MCMCSemiCoherentSearch): V_vals = old_setup['V_vals'] generate_setup = False else: - logging.info('Old setup does not match requested R, Nsegs0') + logging.info( + 'Old setup does not match requested R, Nsegs0') generate_setup = True else: generate_setup = True @@ -1779,7 +1781,7 @@ class MCMCTransientSearch(MCMCSearch): def initiate_search_object(self): logging.info('Setting up search object') - self.search = ComputeFstat( + self.search = core.ComputeFstat( tref=self.tref, sftfilepath=self.sftfilepath, minCoverFreq=self.minCoverFreq, maxCoverFreq=self.maxCoverFreq, earth_ephem=self.earth_ephem, sun_ephem=self.sun_ephem, @@ -1840,6 +1842,3 @@ class MCMCTransientSearch(MCMCSearch): self.theta_idxs = [self.theta_idxs[i] for i in idxs] self.theta_symbols = [self.theta_symbols[i] for i in idxs] self.theta_keys = [self.theta_keys[i] for i in idxs] - - -