Skip to content
Snippets Groups Projects

transients: fix window=none case and allow custom dt0, dtau

Merged David Keitel requested to merge transientParamsFixes into master
2 files
+ 38
18
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 33
18
@@ -332,6 +332,7 @@ class ComputeFstat(BaseSearchClass):
@@ -332,6 +332,7 @@ class ComputeFstat(BaseSearchClass):
def __init__(self, tref, sftfilepattern=None, minStartTime=None,
def __init__(self, tref, sftfilepattern=None, minStartTime=None,
maxStartTime=None, binary=False, BSGL=False,
maxStartTime=None, binary=False, BSGL=False,
transientWindowType=None, t0Band=None, tauBand=None,
transientWindowType=None, t0Band=None, tauBand=None,
 
dt0=None, dtau=None,
detectors=None, minCoverFreq=None, maxCoverFreq=None,
detectors=None, minCoverFreq=None, maxCoverFreq=None,
injectSources=None, injectSqrtSX=None, assumeSqrtSX=None,
injectSources=None, injectSqrtSX=None, assumeSqrtSX=None,
SSBprec=None):
SSBprec=None):
@@ -360,6 +361,9 @@ class ComputeFstat(BaseSearchClass):
@@ -360,6 +361,9 @@ class ComputeFstat(BaseSearchClass):
and tau in (2*Tsft,2*Tsft+tauBand).
and tau in (2*Tsft,2*Tsft+tauBand).
if =0, only compute CW Fstat with t0=minStartTime,
if =0, only compute CW Fstat with t0=minStartTime,
tau=maxStartTime-minStartTime.
tau=maxStartTime-minStartTime.
 
dt0, dtau: int
 
grid resolutions in transient start-time and duration,
 
both default to Tsft
detectors : str
detectors : str
Two character reference to the data to use, specify None for no
Two character reference to the data to use, specify None for no
contraint. If multiple-separate by comma.
contraint. If multiple-separate by comma.
@@ -616,27 +620,38 @@ class ComputeFstat(BaseSearchClass):
@@ -616,27 +620,38 @@ class ComputeFstat(BaseSearchClass):
.format(self.transientWindowType,
.format(self.transientWindowType,
', '.join(transientWindowTypes)))
', '.join(transientWindowTypes)))
 
# default spacing
self.Tsft = int(1.0/SFTCatalog.data[0].header.deltaF)
self.Tsft = int(1.0/SFTCatalog.data[0].header.deltaF)
if self.t0Band is None:
self.windowRange.dt0 = self.Tsft
 
self.windowRange.dtau = self.Tsft
 
 
# special treatment of window_type = none ==> replace by rectangular window spanning all the data
 
if self.windowRange.type == lalpulsar.TRANSIENT_NONE:
 
self.windowRange.t0 = int(self.minStartTime)
self.windowRange.t0Band = 0
self.windowRange.t0Band = 0
self.windowRange.dt0 = 1
self.windowRange.tau = int(self.maxStartTime-self.minStartTime)
else:
if not isinstance(self.t0Band, int):
logging.warn('Casting non-integer t0Band={} to int...'
.format(self.t0Band))
self.t0Band = int(self.t0Band)
self.windowRange.t0Band = self.t0Band
self.windowRange.dt0 = self.Tsft
if self.tauBand is None:
self.windowRange.tauBand = 0
self.windowRange.tauBand = 0
self.windowRange.dtau = 1
else: # user-set bands and spacings
else:
if self.t0Band is None:
if not isinstance(self.tauBand, int):
self.windowRange.t0Band = 0
logging.warn('Casting non-integer tauBand={} to int...'
else:
.format(self.tauBand))
if not isinstance(self.t0Band, int):
self.tauBand = int(self.tauBand)
logging.warn('Casting non-integer t0Band={} to int...'
self.windowRange.tauBand = self.tauBand
.format(self.t0Band))
self.windowRange.dtau = self.Tsft
self.t0Band = int(self.t0Band)
 
self.windowRange.t0Band = self.t0Band
 
if self.dt0:
 
self.windowRange.dt0 = self.dt0
 
if self.tauBand is None:
 
self.windowRange.tauBand = 0
 
else:
 
if not isinstance(self.tauBand, int):
 
logging.warn('Casting non-integer tauBand={} to int...'
 
.format(self.tauBand))
 
self.tauBand = int(self.tauBand)
 
self.windowRange.tauBand = self.tauBand
 
if self.dtau:
 
self.windowRange.dtau = self.dtau
def get_fullycoherent_twoF(self, tstart, tend, F0, F1, F2, Alpha, Delta,
def get_fullycoherent_twoF(self, tstart, tend, F0, F1, F2, Alpha, Delta,
asini=None, period=None, ecc=None, tp=None,
asini=None, period=None, ecc=None, tp=None,
Loading