Skip to content
Snippets Groups Projects
Commit 44aae7ca authored by Anna Green's avatar Anna Green
Browse files

single_test now allows QNS plotting. QNS plotting tool moved from SRM_locked...

single_test now allows QNS plotting. QNS plotting tool moved from SRM_locked to the more usual tune_tools file
parent b6217cac
Branches
No related tags found
No related merge requests found
......@@ -74,7 +74,7 @@ def QNSs(kat,LIGO1):
set_tunings(dragged_kat,final_tunings)
plt.figure()
for k in [kat,dragged_kat]:
plot_QNS(k,plotit=True)
tt.plot_QNS(k,plotit=True)
plt.legend(["original","After Drag"])
plt.show(block=0)
......@@ -211,47 +211,7 @@ def tracked_tunings(kat,out):
points = len(tunings["SRM"])
return tunings,points
def plot_QNS(_kat, xstart=0.5, xend=1e5, steps=300, verbose=False, plotit=False,show=False,unlock=False):
#plot the Quantum limited sensitivity of a GW detector
#updated from AG_tools: length names changed
print("""
----------------------------------------------
plotting QNS curve...
----------------------------------------------""")
import matplotlib.pyplot as pl
import pykat
kat = _kat.deepcopy()
if verbose == True:
kat.verbose = True
if unlock==True:
kat.removeBlock('locks')
# kat.removeBlock('errsigs')
kat.parseCommands("""
fsig darm LX 1 0
fsig darm2 LY 1 180
qnoisedS QuantumNoise 1 $fs nSRM2
xaxis darm f log {0} {1} {2}
yaxis log abs
""".format(xstart,xend,steps))
out = kat.run()
if plotit==True:
plt.loglog(out.x, out["QuantumNoise"],linewidth=2)
plt.title('Quantum Noise Limited Sensitivity', fontsize=16)
plt.xlabel('GW Frequency [$Hz$]', fontsize=14)
plt.ylabel('Sensitivity [$\sqrt{Hz}$]', fontsize=14)
plt.grid(b=True, which='major', color='0.65',linestyle='--')
plt.xlim(min(out.x), max(out.x))
# plt.tight_layout()
if show ==True:
plt.show()
return out.x, out["QuantumNoise"]
if __name__ == '__main__':
main()
\ No newline at end of file
......@@ -16,8 +16,19 @@ LIGO1.aMICH = ifo.DOF("aMICH", LIGO1.APOP_f2, "Q", ["ITMX", "ETMX", "ITMY", "ETM
dofs = [LIGO1.CARM, LIGO1.DARM, LIGO1.aMICH, LIGO1.PRCL, LIGO1.SRCL]
locks = [kat.ETMX_lock, kat.ETMY_lock, kat.MICH_lock, kat.ITMY_lock, kat.PRCL_lock, kat.SRCL_lock]
testing(kat,dofs,locks,debug=True,xlim=1e-1)#,prc=False)#,opt='ITMX')
# testing(kat,dofs,locks,debug=True,xlim=1e-1)#,prc=False)#,opt='ITMX')
##testing(kat,dofs,locks,prc=True,xlim=1e-2,opt="BS")
# tt.plot_QNS(kat,plotit=True,show=True)
####comparison
kat2=finesse.kat()
kat2.loadKatFile("tuned/PI-DRMi-maxtem4.kat")
plt.figure()
tt.plot_QNS(kat,plotit=True)
tt.plot_QNS(kat2,plotit=True)
plt.legend(["maxtem 0","maxtem 4"],loc=0)
plt.show(block=False)
END = input('press enter to finish and close all plots')#to override auto-closing.
......
......@@ -156,6 +156,51 @@ def prepare_locks(_kat, DCoffset=None, verbose=False):
kat.parseCommands(lock_code)
return kat, err_code, lock_code
def plot_QNS(_kat, xstart=0.5, xend=1e5, steps=300, verbose=False, plotit=False,show=False,unlock=False):
#plot the Quantum limited sensitivity of a GW detector
#updated from AG_tools: length names changed
print("""
----------------------------------------------
plotting QNS curve...
----------------------------------------------""")
import matplotlib.pyplot as pl
import pykat
kat = _kat.deepcopy()
if verbose == True:
kat.verbose = True
if unlock==True:
kat.removeBlock('locks')
# kat.removeBlock('errsigs')
kat.parseCommands("""
fsig darm LX 1 0
fsig darm2 LY 1 180
qnoisedS QuantumNoise 1 $fs nSRM2
xaxis darm f log {0} {1} {2}
yaxis log abs
""".format(xstart,xend,steps))
out = kat.run()
if show==True:
plt.figure()
if plotit==True:
plt.loglog(out.x, out["QuantumNoise"],linewidth=2)
plt.title('Quantum Noise Limited Sensitivity', fontsize=16)
plt.xlabel('GW Frequency [$Hz$]', fontsize=14)
plt.ylabel('Sensitivity [$\sqrt{Hz}$]', fontsize=14)
plt.grid(b=True, which='major', color='0.65',linestyle='--')
plt.xlim(min(out.x), max(out.x))
# plt.tight_layout()
if show ==True:
plt.show(block=False)
return out.x, out["QuantumNoise"]
# def plot_powers(_kat, dofs, xlimits=[-10,10]):
# #based on ifo.py plot_pretune_powers
# kat = _kat.deepcopy()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment