diff --git a/playground/anna/PI_paper/kat_files/generate_kats.py b/playground/anna/PI_paper/kat_files/generate_kats.py
new file mode 100644
index 0000000000000000000000000000000000000000..cbc63125efb437b77e956d05496267a5e94ef7bb
--- /dev/null
+++ b/playground/anna/PI_paper/kat_files/generate_kats.py
@@ -0,0 +1,64 @@
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+
+import matplotlib.pyplot as plt
+import numpy as np
+
+from pykat import finesse
+from pykat.commands import *
+import pykat.gw_detectors.ifo as ifo
+
+def main():
+    """
+    File to generate kat objects from the core aLIGO
+    file, ready for manual tuning.
+    Anna G 04.01.17
+    """
+    global kat,out,LIGO1
+    
+    LIGO1 = ifo.aLIGO(debug=True)
+    kat=LIGO1.kat
+    kat.verbose=True
+    
+    ## the full DR file
+    DRkat=kat.deepcopy()
+    DRkat.saveScript("raw/PI-DRMi.kat")
+    
+    ## the usual builddown files
+    kat = DRkat.deepcopy()
+    #PR
+    ifo.make_transparent(kat,["SRM","SRMAR"])
+    kat.cavSRX.remove()
+    kat.cavSRY.remove() #didn't do this before...necessary/different?
+    kat.saveScript("raw/PI-PRMi.kat")
+    #FP
+    ifo.make_transparent(kat,["PRM","PRMAR"])
+    kat.cavPRX.remove()
+    kat.cavPRY.remove()
+    kat.saveScript("raw/PI-FPMi.kat")
+    #1arm
+    ifo.make_transparent(kat,["ETMY","ITMY","ETMYAR","ITMYAR"])
+    kat.cavYARM.remove()
+    kat.saveScript("raw/PI-Xarm.kat")
+    
+    ## buildding down with 1 arm removed first
+    kat = DRkat.deepcopy()#returning to the built up version
+    #1arm, DR
+    ifo.make_transparent(kat,["ETMY","ITMY","ETMYAR","ITMYAR"])
+    kat.cavYARM.remove()
+    kat.saveScript("raw/PI-noY-DRMi.kat")
+    # PR
+    ifo.make_transparent(kat,["SRM","SRMAR"])
+    kat.cavSRX.remove()
+    kat.cavSRY.remove()
+    kat.saveScript("raw/PI-noY-PRMi.kat")
+    # Michelson
+    ifo.make_transparent(kat,["PRM","PRMAR"])
+    kat.cavPRX.remove()
+    kat.cavPRY.remove()
+    kat.saveScript("raw/PI-noY-FPMi.kat")#should be identical to PI-Xarm.kat
+
+    
+if __name__ == '__main__':
+    main()
\ No newline at end of file
diff --git a/playground/anna/PI_paper/kat_files/tune.py b/playground/anna/PI_paper/kat_files/tune.py
new file mode 100644
index 0000000000000000000000000000000000000000..85ca7089c167ce918ff11e68d13801ca3124b036
--- /dev/null
+++ b/playground/anna/PI_paper/kat_files/tune.py
@@ -0,0 +1,64 @@
+from pykat import finesse
+from pykat.commands import *
+import pykat.gw_detectors.ifo as ifo
+import matplotlib.pyplot as plt
+import tune_tools as tt
+
+def main():
+    # #################  make  #####################
+    #initialising
+    ########################
+    LIGO1 = ifo.aLIGO(debug=True)
+    kat = finesse.kat()
+    kat.verbose=False
+    ########################
+    # kat = LIGO1.kat
+    katfile = "DRMi"
+    kat.loadKatFile("tuned/PI-"+katfile+".kat")
+    ########################
+    kat.maxtem = 0#'off'
+    kat.phase  = 2
+    
+    # #Making lock blocks
+    # # ######################## #high masses to ensure TF calcs work in DRMi_tuning
+    # kat.ETMX.mass = 1e9
+    # kat.ETMY.mass = 1e9
+    # kat.ITMX.mass = 1e9
+    # kat.ITMY.mass = 1e9
+    # ################ make locks #################### # edited from Andreas' TestLIGO file
+    # BlockList = kat._kat__blocks
+    # if 'locks' in BlockList:
+    #     kat.removeBlock('locks')
+    # if 'errsigs' in BlockList:
+    #     kat.removeBlock('errsigs')
+    # if 'powers' in BlockList:
+    #     kat.removeBlock('powers')
+    # ######################## # tuning the original DR file
+    # kat = tt.DRMi_tuning(kat)
+    # ######################## # re-including the real masses
+    # kat.ETMX.mass = 40
+    # kat.ETMY.mass = 40
+    # kat.ITMX.mass = 40
+    # kat.ITMY.mass = 40
+    
+    ###############  cut down  #####################
+    ifo.make_transparent(kat,["SRM","SRMAR"])
+    kat.SRCL_lock.enable=False
+    
+    #################   save  ######################
+    katfile = "PRMi"
+    # kat.saveScript("tuned/PI-"+katfile+".kat")
+    
+    # #################  test  #####################
+    dofs = [LIGO1.DARM, LIGO1.CARM, LIGO1.PRCL, LIGO1.MICH]#, LIGO1.SRCL]
+    locks = [kat.ETMX_lock, kat.ETMY_lock, kat.PRCL_lock, kat.MICH_lock, kat.ITMY_lock]#, kat.SRCL_lock]
+    prc = True
+    # print(kat)
+    # LIGO1.plot_error_signals(kat, xlimits=[-1e-2, 1e-2])
+    tt.plot_errs(kat,dofs,xlimits=[-1e-2, 1e-2])
+    tt.test_locks(kat,locks,PRC=prc)
+    
+    END = input('press enter to finish and close all plots')#to override auto-closing.
+
+if __name__ == '__main__':
+    main()
\ No newline at end of file
diff --git a/playground/anna/PI_paper/kat_files/tune_tools.py b/playground/anna/PI_paper/kat_files/tune_tools.py
new file mode 100644
index 0000000000000000000000000000000000000000..06a7709a66ad5864f1e3c2e1c681e2cada8defb2
--- /dev/null
+++ b/playground/anna/PI_paper/kat_files/tune_tools.py
@@ -0,0 +1,118 @@
+# Collection of tools used to ~manually tune the different kat objects.
+from __future__ import division
+from __future__ import print_function
+from __future__ import unicode_literals
+
+import matplotlib.pyplot as plt
+from matplotlib.ticker import FormatStrFormatter
+import numpy as np
+
+from pykat import finesse
+from pykat.commands import *
+import pykat.gw_detectors.ifo as ifo
+
+LIGO1 = ifo.aLIGO(debug=True)
+
+def plot_errs(_kat,dofs=[LIGO1.DARM, LIGO1.CARM, LIGO1.PRCL, LIGO1.SRCL, LIGO1.MICH],xlimits=[-1,1]):
+    #based on ifo.py, adapted to select dofs
+    kat = _kat.deepcopy()
+    kat.verbose=False
+    kat.noxaxis=True
+    #remove the lock block if it's present
+    BlockList = kat._kat__blocks
+    if 'locks' in BlockList:
+        kat.removeBlock('locks')
+    if 'errsigs' in BlockList: 
+        kat.removeBlock('errsigs')
+    if 'powers' in BlockList:
+        kat.removeBlock('powers')
+    #plotting
+    w = int((len(dofs)+1)/2) #make figure of nice size for number of dofs:
+    idx=1
+    fig = plt.figure()
+    for d in dofs:
+        ax = fig.add_subplot(w,2,idx)
+        idx+=1
+        out = ifo.scan_DOF(kat, d, xlimits = np.multiply(d.scale,xlimits), relative = True)
+        ax.plot(out.x,out[d.signal_name(kat)])
+        ax.set_xlim([np.min(out.x), np.max(out.x)])
+        ax.set_xlabel("{} [deg]".format(d.name))
+        ax.set_ylabel('{} [W] '.format(d.port.name))
+        ax.grid()
+    plt.tight_layout()
+    plt.show(block=0) 
+    
+
+def test_locks(_kat,locks,PRC=False):
+    # separated from DRMi_tuning
+    kat = _kat.deepcopy()
+    if PRC==True:
+    # check f1 resonance in PRC
+        kat = _kat.deepcopy()
+        LIGO1.check_f1_PRC_resonance(kat)
+    # test lock with BS tuning
+    code = """
+    xaxis BS phi lin 0 2 100 
+    yaxis abs
+    #showiterate -1
+    """
+    kat.parseCommands(code)    
+    out = kat.run()
+    plt.figure()
+    ifo.make_list_copy(locks)
+    for l in locks:
+        plt.plot(out.x,out[l.name], label=l.name)
+    plt.legend()
+    plt.grid()
+    plt.show(block=0)
+
+def DRMi_tuning(_kat):
+    # edited from Andreas' TestLIGO file
+    kat = _kat.deepcopy()
+    # BlockList = kat._kat__blocks
+    # if 'locks' in BlockList:
+    #     kat.removeBlock('locks')
+    # if 'errsigs' in BlockList:
+    #     kat.removeBlock('errsigs')
+    # if 'powers' in BlockList:
+    #     kat.removeBlock('powers')
+    #pretuning and DC offset
+    pretune(kat, verbose=True, debug=False)
+    LIGO1.pretune_status(kat)
+    LIGO1.lengths_status(kat)
+    DCoffset = 20e-12 / kat.lambda0 * 180.0 # 20 pm
+    LIGO1.set_DC_offset(kat, DCoffset=DCoffset, verbose=True)
+    #LIGO1.plot_error_signals(kat, xlimits=[-1e-2, 1e-2])
+    #locks
+    kat_lock = prepare_locks(kat, verbose=True)  
+    kat_lock.noxaxis = True
+    kat_lock.verbose = True
+    out = kat_lock.run()
+    LIGO1.apply_lock_feedback(kat_lock, out) 
+    return kat_lock
+    
+
+def pretune(kat, verbose=False, debug=False):
+    # from Andreas' TestLIGO file
+    kat_pretune = kat.deepcopy()
+    ifo.remove_components(kat_pretune, ["mod1", "lmod2", "mod2", "lmod3"], component_in="lmod1");
+    LIGO1.pretune(kat_pretune, verbose=verbose, pretune_precision=1.0e-4)
+    pretuning = LIGO1.get_tunings(kat_pretune)
+    if debug:
+        LIGO1.plot_pretuning_powers(kat_pretune, xlimits=[-.1, .1])
+    LIGO1.set_tunings(kat, pretuning)
+    # adjusting length of PRC and SRC versus mod frequencies
+    LIGO1.adjust_PRC_length(kat, verbose=verbose)
+    if debug:
+        LIGO1.check_f1_PRC_resonance(kat)
+
+def prepare_locks(_kat, DCoffset=None, verbose=False):
+    # from Andreas' TestLIGO file
+    kat = _kat.deepcopy()
+    print("-- preparing block with lock commands")
+    code = LIGO1.generate_errsig_block(kat, noplot=True)
+    kat.parseCommands(code)
+    code = LIGO1.generate_locks(kat, verbose=True)
+    code = LIGO1.generate_lock_block(kat, verbose=True)
+    kat.parseCommands(code)
+    return kat
\ No newline at end of file
diff --git a/playground/anna/PI_paper/kat_files/tuned/PI-DRMi.kat b/playground/anna/PI_paper/kat_files/tuned/PI-DRMi.kat
new file mode 100644
index 0000000000000000000000000000000000000000..5f53e3a25a9c5a0632760a8260e299bd7f946ec0
--- /dev/null
+++ b/playground/anna/PI_paper/kat_files/tuned/PI-DRMi.kat
@@ -0,0 +1,146 @@
+% Generated by PyKat 06.01.2017 15:35:57
+
+%%% FTblock laser
+l L0 125.0 0 0.0 n0
+s lmod1 1.0 n0 n1
+mod mod1 9099471.0 0.18 1 pm 0.0 n1 n2
+s lmod2 1.0 n2 n3
+mod mod2 45497355.0 0.18 1 pm 0.0 n3 n4
+s lmod3 1.0 n4 nREFL
+%%% FTend laser
+
+%%% FTblock PRC
+m PRMAR 0.0 0.99996 0.0 nREFL nPRMs1
+s sPRMsub1 0.0737 1.44963098985906 nPRMs1 nPRMs2
+m PRM 0.9699915 0.03 0.003 nPRMs2 nPRM2
+put* PRM phi $PRCL_lock
+attr PRM Rcx 11.009
+attr PRM Rcy 11.009
+s lp1 16.610426383062517 nPRM2 nPR2a
+bs PR2 0.9997125 0.00025 0.0 -0.79 nPR2a nPR2b nPOP dump11
+attr PR2 Rcx -4.545
+attr PR2 Rcy -4.545
+s lp2 16.1647 nPR2b nPR3a
+bs PR3 0.9999625 0.0 0.0 0.615 nPR3a nPR3b dump12 dump13
+attr PR3 Rcx 36.027
+attr PR3 Rcy 36.027
+s lp3 19.5381 nPR3b nPRBS
+%%% FTend PRC
+
+%%% FTblock BS
+bs BS 0.4999625 0.5 0.0 45.0 nPRBS nYBS nBSi1 nBSi3
+s BSsub1 0.0687 1.44963098985906 nBSi1 nBSi2
+s BSsub2 0.0687 1.44963098985906 nBSi3 nBSi4
+bs BSAR1 5e-05 0.99995 0.0 -29.195 nBSi2 dump14 nXBS nPOX
+bs BSAR2 5e-05 0.99995 0.0 29.195 nBSi4 dump15 nSRBS dump16
+%%% FTend BS
+
+%%% FTblock Yarm
+s ly1 5.0126 nYBS nITMY1a
+lens ITMY_therm 34500.0 nITMY1a nITM_th1
+s ITMY_th1 0.0 nITM_th1 nITM_th2
+lens ITMY_lens inf nITM_th2 nITM_th3
+s ITMY_th2 0.0 nITM_th3 nITMY1
+m ITMYAR 0.0 0.99998 0.0 nITMY1 nITMYs1
+s ITMYsub 0.2 1.44963098985906 nITMYs1 nITMYs2
+m ITMY 0.9859625 0.014 0.0012 nITMYs2 nITMY2
+put* ITMY phi $ITMY_lock
+attr ITMY Rcx -1934.0
+attr ITMY Rcy -1934.0
+attr ITMY mass 40.0
+s LY 3994.4692 nITMY2 nETMY1
+m ETMY 0.9999575 5e-06 0.004601519713819729 nETMY1 nETMYs1
+put* ETMY phi $ETMY_lock
+attr ETMY Rcx 2245.0
+attr ETMY Rcy 2245.0
+attr ETMY mass 40.0
+s ETMYsub 0.2 1.44963098985906 nETMYs1 nETMYs2
+m ETMYAR 0.0 0.9995 0.0 nETMYs2 nPTY
+%%% FTend Yarm
+
+%%% FTblock Xarm
+s lx1 4.993 nXBS nITMX1a
+lens ITMX_therm 34500.0 nITMX1a nITMX_th1
+s ITMX_th1 0.0 nITMX_th1 nITMX_th2
+lens ITMX_lens inf nITMX_th2 nITMX_th3
+s ITMX_th2 0.0 nITMX_th3 nITMX1
+m ITMXAR 0.0 0.99998 0.0 nITMX1 nITMXs1
+s ITMXsub 0.2 1.44963098985906 nITMXs1 nITMXs2
+m ITMX 0.9859625 0.014 -0.0012 nITMXs2 nITMX2
+put* ITMX phi $MICH_lock
+attr ITMX Rcx -1934.0
+attr ITMX Rcy -1934.0
+attr ITMX mass 40.0
+s LX 3994.4692 nITMX2 nETMX1
+m ETMX 0.9999575 5e-06 -0.004601298494819022 nETMX1 nETMXs1
+put* ETMX phi $ETMX_lock
+attr ETMX Rcx 2245.0
+attr ETMX Rcy 2245.0
+attr ETMX mass 40.0
+s ETMXsub 0.2 1.44963098985906 nETMXs1 nETMXs2
+m ETMXAR 0.0 0.9995 0.0 nETMXs2 nPTX
+%%% FTend Xarm
+
+%%% FTblock SRC
+s ls3 19.3661 nSRBS nSR3b
+bs SR3 0.9999625 0.0 0.0 0.785 nSR3b nSR3a dump17 dump18
+attr SR3 Rcx 35.972841
+attr SR3 Rcy 35.972841
+s ls2 15.4435 nSR3a nSR2b
+bs SR2 0.9999625 0.0 0.0 -0.87 nSR2b nSR2a dump19 dump20
+attr SR2 Rcx -6.406
+attr SR2 Rcy -6.406
+s ls1 15.7586 nSR2a nSRM1
+m SRM 0.7999913 0.2 -90.0012 nSRM1 nSRMs1
+put* SRM phi $SRCL_lock
+attr SRM Rcx -5.6938
+attr SRM Rcy -5.6938
+s SRMsub 0.0749 1.44963098985906 nSRMs1 nSRMs2
+m SRMAR 0.0 0.99999995 0.0 nSRMs2 nSRM2
+%%% FTend SRC
+
+%%% FTblock HOMs
+cav cavXARM ITMX nITMX2 ETMX nETMX1
+cav cavYARM ITMY nITMY2 ETMY nETMY1
+cav cavPRX PRM nPRM2 ITMX nITMXs2
+cav cavPRY PRM nPRM2 ITMY nITMYs2
+cav cavSRX SRM nSRM1 ITMX nITMXs2
+cav cavSRY SRM nSRM1 ITMY nITMYs2
+%%% FTend HOMs
+
+%%% FTblock errsigs
+noplot AS_DC
+pd0 AS_DC nSRM2
+noplot REFL_f1_I
+pd1 REFL_f1_I 9099471 101.0 nREFL
+noplot POP_f1_I
+pd1 POP_f1_I 9099471 101.0 nPOP
+noplot POP_f2_Q
+pd1 POP_f2_Q 45497355 103.0 nPOP
+noplot REFL_f2_I
+pd1 REFL_f2_I 45497355 14.0 nREFL
+%%% FTend errsigs
+
+%%% FTblock locks
+set AS_f2_I_re AS_DC re
+set CARM_err REFL_f1_I re
+set PRCL_err POP_f1_I re
+set MICH_err POP_f2_Q re
+set SRCL_err REFL_f2_I re
+func DARM_err = $AS_f2_I_re - 1.56140670384883
+lock DARM_lock $DARM_err 0.0035 0.0048
+lock CARM_lock $CARM_err 0.00039 0.00043
+lock PRCL_lock $PRCL_err -2.8 0.00012
+lock MICH_lock $MICH_err 43.0 3.9e-05
+lock SRCL_lock $SRCL_err 2.6 0.0016
+noplot ITMY_lock
+func ITMY_lock = (-1.0) * $MICH_lock
+noplot ETMX_lock
+func ETMX_lock = $CARM_lock + $MICH_lock + $DARM_lock
+noplot ETMY_lock
+func ETMY_lock = $CARM_lock - $MICH_lock - $DARM_lock
+%%% FTend locks
+phase 2
+maxtem 0
+noxaxis
+yaxis abs
diff --git a/playground/anna/PI_paper/kat_files/tuned/PI-PRMi.kat b/playground/anna/PI_paper/kat_files/tuned/PI-PRMi.kat
new file mode 100644
index 0000000000000000000000000000000000000000..cc14e27ef778e22897f7dd1e82ce4b7f0577c104
--- /dev/null
+++ b/playground/anna/PI_paper/kat_files/tuned/PI-PRMi.kat
@@ -0,0 +1,146 @@
+% Generated by PyKat 06.01.2017 13:46:33
+
+%%% FTblock laser
+l L0 125.0 0 0.0 n0
+s lmod1 1.0 n0 n1
+mod mod1 9099471.0 0.18 1 pm 0.0 n1 n2
+s lmod2 1.0 n2 n3
+mod mod2 45497355.0 0.18 1 pm 0.0 n3 n4
+s lmod3 1.0 n4 nREFL
+%%% FTend laser
+
+%%% FTblock PRC
+m PRMAR 0.0 0.99996 0.0 nREFL nPRMs1
+s sPRMsub1 0.0737 1.44963098985906 nPRMs1 nPRMs2
+m PRM 0.9699915 0.03 0.003 nPRMs2 nPRM2
+put* PRM phi $PRCL_lock
+attr PRM Rcx 11.009
+attr PRM Rcy 11.009
+s lp1 16.610426383062517 nPRM2 nPR2a
+bs PR2 0.9997125 0.00025 0.0 -0.79 nPR2a nPR2b nPOP dump11
+attr PR2 Rcx -4.545
+attr PR2 Rcy -4.545
+s lp2 16.1647 nPR2b nPR3a
+bs PR3 0.9999625 0.0 0.0 0.615 nPR3a nPR3b dump12 dump13
+attr PR3 Rcx 36.027
+attr PR3 Rcy 36.027
+s lp3 19.5381 nPR3b nPRBS
+%%% FTend PRC
+
+%%% FTblock BS
+bs BS 0.4999625 0.5 0.0 45.0 nPRBS nYBS nBSi1 nBSi3
+s BSsub1 0.0687 1.44963098985906 nBSi1 nBSi2
+s BSsub2 0.0687 1.44963098985906 nBSi3 nBSi4
+bs BSAR1 5e-05 0.99995 0.0 -29.195 nBSi2 dump14 nXBS nPOX
+bs BSAR2 5e-05 0.99995 0.0 29.195 nBSi4 dump15 nSRBS dump16
+%%% FTend BS
+
+%%% FTblock Yarm
+s ly1 5.0126 nYBS nITMY1a
+lens ITMY_therm 34500.0 nITMY1a nITM_th1
+s ITMY_th1 0.0 nITM_th1 nITM_th2
+lens ITMY_lens inf nITM_th2 nITM_th3
+s ITMY_th2 0.0 nITM_th3 nITMY1
+m ITMYAR 0.0 0.99998 0.0 nITMY1 nITMYs1
+s ITMYsub 0.2 1.44963098985906 nITMYs1 nITMYs2
+m ITMY 0.9859625 0.014 0.0012 nITMYs2 nITMY2
+put* ITMY phi $ITMY_lock
+attr ITMY Rcx -1934.0
+attr ITMY Rcy -1934.0
+attr ITMY mass 40.0
+s LY 3994.4692 nITMY2 nETMY1
+m ETMY 0.9999575 5e-06 0.004601519713819729 nETMY1 nETMYs1
+put* ETMY phi $ETMY_lock
+attr ETMY Rcx 2245.0
+attr ETMY Rcy 2245.0
+attr ETMY mass 40.0
+s ETMYsub 0.2 1.44963098985906 nETMYs1 nETMYs2
+m ETMYAR 0.0 0.9995 0.0 nETMYs2 nPTY
+%%% FTend Yarm
+
+%%% FTblock Xarm
+s lx1 4.993 nXBS nITMX1a
+lens ITMX_therm 34500.0 nITMX1a nITMX_th1
+s ITMX_th1 0.0 nITMX_th1 nITMX_th2
+lens ITMX_lens inf nITMX_th2 nITMX_th3
+s ITMX_th2 0.0 nITMX_th3 nITMX1
+m ITMXAR 0.0 0.99998 0.0 nITMX1 nITMXs1
+s ITMXsub 0.2 1.44963098985906 nITMXs1 nITMXs2
+m ITMX 0.9859625 0.014 -0.0012 nITMXs2 nITMX2
+put* ITMX phi $MICH_lock
+attr ITMX Rcx -1934.0
+attr ITMX Rcy -1934.0
+attr ITMX mass 40.0
+s LX 3994.4692 nITMX2 nETMX1
+m ETMX 0.9999575 5e-06 -0.004601298494819022 nETMX1 nETMXs1
+put* ETMX phi $ETMX_lock
+attr ETMX Rcx 2245.0
+attr ETMX Rcy 2245.0
+attr ETMX mass 40.0
+s ETMXsub 0.2 1.44963098985906 nETMXs1 nETMXs2
+m ETMXAR 0.0 0.9995 0.0 nETMXs2 nPTX
+%%% FTend Xarm
+
+%%% FTblock SRC
+s ls3 19.3661 nSRBS nSR3b
+bs SR3 0.9999625 0.0 0.0 0.785 nSR3b nSR3a dump17 dump18
+attr SR3 Rcx 35.972841
+attr SR3 Rcy 35.972841
+s ls2 15.4435 nSR3a nSR2b
+bs SR2 0.9999625 0.0 0.0 -0.87 nSR2b nSR2a dump19 dump20
+attr SR2 Rcx -6.406
+attr SR2 Rcy -6.406
+s ls1 15.7586 nSR2a nSRM1
+m SRM 0.7999913 0.2 -90.0012 nSRM1 nSRMs1
+put* SRM phi $SRCL_lock
+attr SRM Rcx -5.6938
+attr SRM Rcy -5.6938
+s SRMsub 0.0749 1.44963098985906 nSRMs1 nSRMs2
+m SRMAR 0.0 0.99999995 0.0 nSRMs2 nSRM2
+%%% FTend SRC
+
+%%% FTblock HOMs
+cav cavXARM ITMX nITMX2 ETMX nETMX1
+cav cavYARM ITMY nITMY2 ETMY nETMY1
+cav cavPRX PRM nPRM2 ITMX nITMXs2
+cav cavPRY PRM nPRM2 ITMY nITMYs2
+cav cavSRX SRM nSRM1 ITMX nITMXs2
+cav cavSRY SRM nSRM1 ITMY nITMYs2
+%%% FTend HOMs
+
+%%% FTblock errsigs
+noplot AS_DC
+pd0 AS_DC nSRM2
+noplot REFL_f1_I
+pd1 REFL_f1_I 9099471 101.0 nREFL
+noplot POP_f1_I
+pd1 POP_f1_I 9099471 101.0 nPOP
+noplot POP_f2_Q
+pd1 POP_f2_Q 45497355 103.0 nPOP
+noplot REFL_f2_I
+pd1 REFL_f2_I 45497355 14.0 nREFL
+%%% FTend errsigs
+
+%%% FTblock locks
+set AS_f2_I_re AS_DC re
+set CARM_err REFL_f1_I re
+set PRCL_err POP_f1_I re
+set MICH_err POP_f2_Q re
+set SRCL_err REFL_f2_I re
+func DARM_err = $AS_f2_I_re - 1.56140670384883
+lock DARM_lock $DARM_err 0.0035 0.0048
+lock CARM_lock $CARM_err 0.00039 0.00043
+lock PRCL_lock $PRCL_err -2.8 0.00012
+lock MICH_lock $MICH_err 43.0 3.9e-05
+lock SRCL_lock $SRCL_err 2.6 0.0016
+noplot ITMY_lock
+func ITMY_lock = (-1.0) * $MICH_lock
+noplot ETMX_lock
+func ETMX_lock = $CARM_lock + $MICH_lock + $DARM_lock
+noplot ETMY_lock
+func ETMY_lock = $CARM_lock - $MICH_lock - $DARM_lock
+%%% FTend locks
+phase 2
+maxtem 0
+noxaxis
+yaxis lin abs