#a script to import noise terms from other modules to construct a noise budget
import numpy as np
import matplotlib.pyplot as plt

#import my modules
import plotting_utils 
import excess_power_utils as ep_utils

     
fc_scatter_dict= {'FC':{'witness quiet': 'H1:SQZ-FC_LSC_DOF2_IN1_DQ(REF15)',
                        'witness excitation': 'H1:SQZ-FC_LSC_DOF2_IN1_DQ(REF24)',
                        'target excitation':'H1:CAL-DELTAL_EXTERNAL_DQ(REF23)',
                        'target quiet':'H1:CAL-DELTAL_EXTERNAL_DQ(REF14)',
                        'dtt_file': "couplings/FC_backscatter.xml"},
}
asd_dict = ep_utils.get_asd_dict_from_dtt(fc_scatter_dict)
# set up you budget dictonary
freq = asd_dict['FC']['freq']
noises = ep_utils.get_noises(freq, asd_dict)
quiet_darm_ref = asd_dict['FC']['target_quiet']
fig, ax = plt.subplots(figsize = [12,8])
ax.loglog(freq, noises['FC'], label = 'linear FC scatter')
ax.loglog(freq, quiet_darm_ref, label = 'DARM reference')
ax.set_ylim([1e-25, 2e-21])
ax.set_xlim([7, 5000])
ax.set_xlabel('Frequency [Hz]')
ax.set_ylabel('Strain [1/rtHz]')
ax.legend()

fig.savefig('FC_backscatter_linear_injection.png')
print('blah')
