diff --git a/pycbc/workflow/coincidence.py b/pycbc/workflow/coincidence.py
index <HASH>..<HASH> 100644
--- a/pycbc/workflow/coincidence.py
+++ b/pycbc/workflow/coincidence.py
@@ -606,6 +606,15 @@ def convert_trig_to_hdf(workflow, hdfbank, xml_trigger_files, out_dir, tags=[]):
             trig_files += trig2hdf_node.output_files
     return trig_files
 
+def make_psd_file(workflow, segment_file, segment_name, out_dir, tags=None):
+    tags = [] if not tags else tags
+    node = PlotExecutable(workflow.cp, 'calculate_spectrum', ifo=segment_file.ifo,
+                          out_dir=out_dir, tags=tags).create_node()
+    node.add_input_opt('--analysis-segment-file', psd_file)
+    node.add_opt('--segment-name', segment_name)
+    node.new_output_file_opt(workflow.analysis_time, '.hdf', '--output-file')
+    workflow += node
+
 def setup_interval_coinc_inj(workflow, hdfbank, full_data_trig_files, inj_trig_files,
                            background_file, veto_file, veto_name, out_dir, tags=[]):
     """
add workflow setup function for psd hdf file generation