diff --git a/gstlal-burst/bin/gstlal_feature_extractor_pipe b/gstlal-burst/bin/gstlal_feature_extractor_pipe index 361876d482429a757b58581e2f155c85c7445fc6..a94d1e740b48717a535396efd1fc24926a3d7db1 100755 --- a/gstlal-burst/bin/gstlal_feature_extractor_pipe +++ b/gstlal-burst/bin/gstlal_feature_extractor_pipe @@ -76,13 +76,15 @@ def feature_extractor_node_gen(feature_extractor_job, dag, parent_nodes, segsdic # parallelize jobs by channel subsets for ii, channel_subset in enumerate(data_source_info.channel_subsets): + print "Creating feature extractor jobs for channel subset %d" % ii + # parallelize jobs by segments for seg in segsdict[ifo]: # only produce jobs where the analysis runtime after applying segments is nonzero if not data_source_info.frame_segments[ifo].intersects_segment(seg): if options.verbose: - print "Skipping %s since there is no analyzable data here" % repr(seg) + print " Skipping segment (%d, %d) for channel subset %d since there is no analyzable data here" % (int(seg[0]), int(seg[1]), ii) continue # set maximum number of jobs reading concurrently from the same frame file to prevent I/O locks @@ -98,14 +100,18 @@ def feature_extractor_node_gen(feature_extractor_job, dag, parent_nodes, segsdic channels[0] = channels[0].split('=')[1] outpath = os.path.join(options.out_path, "gstlal_feature_extractor") - trig_start = int(seg[0]) + multirate_datasource.PSD_DROP_TIME + max_template_length + + # define analysis times + gps_start_time = int(seg[0]) + feature_start_time = gps_start_time + multirate_datasource.PSD_DROP_TIME + max_template_length + feature_end_time = min(int(seg[1]), options.gps_end_time) feature_extractor_nodes[(ii, seg)] = \ inspiral_pipe.generic_node(feature_extractor_job, dag, parent_nodes = dep_nodes, - opts = {"gps-start-time":int(seg[0]), - "gps-end-time":int(seg[1]), - "feature-start-time":int(trig_start), - "feature-end-time":int(seg[1]), + opts = {"gps-start-time":gps_start_time, + "gps-end-time":feature_end_time, + "feature-start-time":feature_start_time, + "feature-end-time":feature_end_time, "data-source":"frames", "mismatch":options.mismatch, "waveform":options.waveform, @@ -126,7 +132,7 @@ def feature_extractor_node_gen(feature_extractor_job, dag, parent_nodes, segsdic output_files = {"out-path":outpath} ) if options.verbose: - print "Creating node for index, segment %s" % repr((ii, seg)) + print " Creating node for channel subset %d, gps range %d - %d" % (ii, feature_start_time, feature_end_time) return feature_extractor_nodes