Gitlab will migrate to a new storage backend starting 0300 UTC on 2020-04-04. We do not anticipate a maintenance window for this migration. Performance may be impacted over the weekend. Thanks for your patience.

Commit d4a55027 authored by cal's avatar cal

Edits to plotting scripts for calibration checks

parent 993c001a
Pipeline #75722 passed with stages
in 25 minutes and 30 seconds
......@@ -40,7 +40,7 @@ calcs_asd = calcs_data.asd(4, 2, method = 'lal_median_mean')
hoft_asd = hoft_data.asd(4, 2, method = 'lal_median_mean')
if options.analyze_additional_hoft_channel:
additional_hoft_asd = additional_hoft_data.asd(4,2, method = 'lal_median_mean')
additional_hoft_asd = additional_hoft_asd.filter([30]*6, [0.3]*6, 1e-12 / 4e3)
#additional_hoft_asd = additional_hoft_asd.filter([30]*6, [0.3]*6, 1e-12 / 4e3)
#dewhiten CALCS
calcs_asd = calcs_asd.filter([30]*6, [0.3]*6, 1e-12 / 4e3)
......@@ -53,7 +53,7 @@ if options.analyze_additional_hoft_channel:
ax = plot.gca()
ax.set_ylabel('Strain [Hz $^{-1/2}$]', fontname = 'Times', fontsize = 18)
ax.set_xlabel('Frequency [Hz]', fontname = 'Times', fontsize = 18)
ax.legend([r'CAL-DELTAL\_EXTERNAL', r'GDS-CALIB\_STRAIN', r'CAL-CFTD\_DELTAL\_EXTERNAL'], loc='upper right', fontsize='small')
ax.legend([r'CAL-DELTAL\_EXTERNAL', r'GDS-CALIB\_STRAIN', r'DCS-CALIB\_STRAIN'], loc='upper right', fontsize='small')
ax.set_xlim(0.5,8192)
ax.set_ylim(1e-24,1e-16)
plot.save('%s_%s_%s_spectrum_comparison.png' % (options.ifo, start_time, end_time))
......@@ -69,7 +69,7 @@ if options.analyze_additional_hoft_channel:
ax = plot.gca()
ax.set_ylabel('Strain [Hz $^{-1/2}$]', fontname = 'Times', fontsize = 18)
ax.set_xlabel('Frequency [Hz]', fontname = 'Times', fontsize = 18)
ax.legend([r'GDS h(t) ASD / CALCS h(t) ASD', r'CALCS h(t) ASD / CFTD CALCS h(t) ASD', r'GDS h(t) ASD / CFTD CALCS h(t) ASD'], loc='upper right', fontsize='small')
ax.set_xlim(5,5000)
ax.legend([r'GDS h(t) ASD / CALCS h(t) ASD', r'CALCS h(t) ASD / DCS h(t) ASD', r'GDS h(t) ASD / DCS h(t) ASD'], loc='upper right', fontsize='small')
ax.set_xlim(0.5,8192)
ax.set_ylim(0.75, 1.25)
plot.save('%s_%s_%s_ASD_residual.png' % (options.ifo, start_time, end_time))
......@@ -154,7 +154,7 @@ if options.analyze_calcs_hoft:
plot.add_frequencyseries(CALCS_tf, dB=False, color='#4ba6ff', linewidth=2)
if options.analyze_additional_hoft:
plot.add_frequencyseries(additional_hoft_tf*3995.1, dB = False, color="#94ded7", linewidth=2)
plot.legend([r'Reference model response function', r'GDS h(t) derived response function', r'CALCS h(t) derived response function'], loc='upper right', fontsize='x-small')
plot.legend([r'Reference model response function', r'GDS h(t) derived response function', r'CALCS h(t) derived response function', r'DCS h(t) derived response function'], loc='upper right', fontsize='x-small')
# FIXME: Figure out how to make the legend and title appropriate and flexible
plot.maxes.set_yscale('log')
plot.paxes.set_yscale("linear")
......@@ -172,7 +172,7 @@ if options.analyze_calcs_hoft:
plot.add_frequencyseries(ratio_CALCS, dB = False, color='#4ba6ff',linewidth=2)
if options.analyze_additional_hoft:
plot.add_frequencyseries(ratio_additional_hoft*3995.1, dB = False, color="#94ded7", linewidth=2)
plot.legend([r'GDS h(t) derived response / Reference model response', 'CALCS h(t) derived response / Reference model response'], loc='upper right', fontsize='small')
plot.legend([r'GDS h(t) derived response / Reference model response', r'CALCS h(t) derived response / Reference model response', r'DCS h(t) derived response / Reference model response'], loc='upper right', fontsize='small')
plot.maxes.set_yscale('linear')
plot.paxes.set_yscale('linear')
plot.maxes.set_ylim(0,2)
......@@ -183,7 +183,7 @@ if options.analyze_calcs_hoft:
plot.add_frequencyseries(ratio_CALCS, dB = False, color='#4ba6ff',linewidth=2)
if options.analyze_additional_hoft:
plot.add_frequencyseries(ratio_additional_hoft*3995.1, dB = False, color="#94ded7", linewidth=2)
plot.legend([r'GDS h(t) derived response / Reference model response', r'CALCS h(t) derived response / Reference model response'], loc='upper right', fontsize='small')
plot.legend([r'GDS h(t) derived response / Reference model response', r'CALCS h(t) derived response / Reference model response', r'DCS h(t) derived response / Reference model response'], loc='upper right', fontsize='small')
plot.maxes.set_yscale('linear')
plot.paxes.set_yscale('linear')
plot.maxes.set_ylim(.9, 1.1)
......
......@@ -13,6 +13,9 @@ parser.add_option("--ifo", metavar = "name", help = "Interferometer to perform t
parser.add_option("--frame-cache", metavar = "name", help = "Filename for frame cache to be analyzed.")
parser.add_option("--channel-list", metavar = "list", help = "List of channels to be plotted.")
parser.add_option("--front-end-channel-list", metavar = "list", help = "List of channels to be plotted from the front-end.")
parser.add_option("--analyze-additional-hoft", action = "store_true", help = "Set this to analyze an additional h(t) channel.")
parser.add_option("--additional-hoft-frames-cache", metavar = "name", help = "If desired, provide an additional frame cache for a secondary h(t) data stream to be analyzed.")
parser.add_option("--additional-channel-list", metavar = "list", help = "List of channels to be plotted from additional h(t) frames.")
options, filenames = parser.parse_args()
......@@ -28,6 +31,17 @@ if options.channel_list is not None:
else:
raise ValueError('Channel list option must be set.')
if options.analyze_additional_hoft:
additional_channel_list = []
if options.additional_channel_list is not None:
additional_channels = options.additional_channel_list.split(',')
for channel in additional_channels:
additional_channel_list.append((ifo, channel))
plot_additional_hoft = True
else:
plot_additional_hoft = False
front_end_channel_list = []
if options.front_end_channel_list is not None:
front_end_channels = options.front_end_channel_list.split(',')
......@@ -40,6 +54,8 @@ else:
data = TimeSeriesDict.read(options.frame_cache, map("%s:%s".__mod__, channel_list), start = start, end = end)
if plot_front_end:
front_end_data = TimeSeriesDict.fetch(map("%s:%s".__mod__, front_end_channel_list), start = start, end = end)
if plot_additional_hoft:
additional_hoft_data = TimeSeriesDict.read(options.additional_hoft_frames_cache, map("%s:%s".__mod__, additional_channel_list), start = start, end = end)
print(map("%s:%s".__mod__, front_end_channel_list))
......@@ -50,6 +66,8 @@ for n, channel in enumerate(channels):
ax = plot.gca()
if plot_front_end:
ax.plot(front_end_data["%s:%s" % (ifo, front_end_channels[n])])
if plot_additional_hoft:
ax.plot(additional_hoft_data["%s:%s" % (ifo, additional_channels[n])])
ax.set_ylabel('Correction value')
plot.gca().legend()
#title = item
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment