Preparation

ppm=10^-6;

TE=10ppm;
LE=loss ppm/2;
RE=1-TE-LE;
tE=(Sqrt[TE]);
rE=(Sqrt[RE]);

TF=.;
LF=loss ppm/2;
RF=1-TF-LF;
tF=(Sqrt[TF]);
rF=(Sqrt[RF]);

rcav=-rF+(((tF^2)rE)/(1-rF rE));

Rcav[TF_,loss_]=rcav^2;

F[TF_,loss_]=((π(Sqrt[rF rE]))/(1-rF rE));

FSRX=3897627.1; (*MHz*)
FSRY=3878678.;(*MHz*)

Before the wiping (Visibility: Oct 07, 2009 / fcav: Nov 10, 2009)

Data Preparation

fcX=1650;
dfcX=70;(* from TF measurement. Error +/-70 Hz*)

fcY=1720;
dfcY=70;(* from TF measurement. Error +/-70 Hz*)

Loading the data files

datX=ReadList["/Users/karai/LIGO/09/09_40m/Upgrade09/IFO/loss-X-939008600.log",{Number,Number}];

VdatX=Map[#[[1]]/#[[2]]&,datX];

ListPlot[VdatX,PlotRange->{0.8,1},Frame->True,GridLines->Automatic]

X={Mean[VdatX],StandardDeviation[VdatX],Length[VdatX]}

datY=ReadList["/Users/karai/LIGO/09/09_40m/Upgrade09/IFO/loss-Y-939010178.log",{Number,Number}];

VdatY=Map[#[[1]]/#[[2]]&,datY];

ListPlot[VdatY,PlotRange->{0.8,1},Frame->True,GridLines->Automatic]

Y={Mean[VdatY],StandardDeviation[VdatY],Length[VdatY]}

X arm

FWHM

(*
fc={1615.38,1558.21,1620.97,1616.46,1646.69};
Mean[fc]
*)
(* numbers from abs length measurement *)

FWHM=fcX*2;
FSR=FSRX;
FinesseX=FSR/FWHM

dFinesseX=Abs[D[FSR/(FC*2),FC]*dfcX/.FC->fcX]

{FinesseX,dFinesseX}

loss

solX=FindRoot[{Rcav[TF,loss]==X[[1]],F[TF,loss]==FinesseX},{{loss,0,200},{TF,0.001,0.01}}]

lossX=loss/.solX;
TFX=TF/.solX;

Error

solXdX1=FindRoot[{Rcav[TF,loss]==X[[1]]+X[[2]],F[TF,loss]==FinesseX},{{loss,0,200},{TF,0.001,0.01}}];

solXdX2=FindRoot[{Rcav[TF,loss]==X[[1]]-X[[2]],F[TF,loss]==FinesseX},{{loss,0,200},{TF,0.001,0.01}}];

solXdF1=FindRoot[{Rcav[TF,loss]==X[[1]],F[TF,loss]==FinesseX+dFinesseX},{{loss,0,200},{TF,0.001,0.01}}];

solXdF2=FindRoot[{Rcav[TF,loss]==X[[1]],F[TF,loss]==FinesseX-dFinesseX},{{loss,0,200},{TF,0.001,0.01}}];

dlossX=(Sqrt[((((((loss /.solXdX2)-(loss /.solXdX1))/2)))^2)+((((((loss /.solXdF1)-(loss /.solXdF2))/2)))^2)])

dTFX=(Sqrt[((((((TF /.solXdX2)-(TF /.solXdX1))/2)))^2)+((((((TF /.solXdF1)-(TF /.solXdF2))/2)))^2)])

Y arm

FWHM

(*
fc={1649.9,1662.6,1652.0,1619.1,1650.3,1644.4,1636.9,1646.3,1647.3,1633.2};
Mean[fc]
*)
(* numbers from abs length measurement *)

FWHM=fcY*2;
FSR=FSRY;
FinesseY=FSR/FWHM

dFinesseY=Abs[D[FSR/(FC*2),FC]*dfcY/.FC->fcY]

{FinesseY,dFinesseY}

loss

solY=FindRoot[{Rcav[TF,loss]==Y[[1]],F[TF,loss]==FinesseY},{{loss,0,200},{TF,0.001,0.01}}]

lossY=loss/.solY;
TFY=TF/.solY;

Error

solYdY1=FindRoot[{Rcav[TF,loss]==Y[[1]]+Y[[2]],F[TF,loss]==FinesseY},{{loss,0,200},{TF,0.001,0.01}}];

solYdY2=FindRoot[{Rcav[TF,loss]==Y[[1]]-Y[[2]],F[TF,loss]==FinesseY},{{loss,0,200},{TF,0.001,0.01}}];

solYdF1=FindRoot[{Rcav[TF,loss]==Y[[1]],F[TF,loss]==FinesseY+dFinesseY},{{loss,0,200},{TF,0.001,0.01}}];

solYdF2=FindRoot[{Rcav[TF,loss]==Y[[1]],F[TF,loss]==FinesseY-dFinesseY},{{loss,0,200},{TF,0.001,0.01}}];

dlossY=(Sqrt[((((((loss /.solYdY2)-(loss /.solYdY1))/2)))^2)+((((((loss /.solYdF1)-(loss /.solYdF2))/2)))^2)])

dTFY=(Sqrt[((((((TF /.solYdY2)-(TF /.solYdY1))/2)))^2)+((((((TF /.solYdF1)-(TF /.solYdF2))/2)))^2)])

Report

Print["X Arm:"];
Print["Arm visibility (given): ",X[[1]]," +/- ",X[[2]],"  (",X[[3]]," pts)"];
Print["Cut off freq (given): ",fcX," +/- ",dfcX];
Print["Finesse (derived): ",FinesseX," +/- ",dFinesseX];
Print[""];
Print["Round Trip loss (estimated): ",lossX," +/- ",dlossX];
Print["Front Mirror T (estimated): ",TFX," +/- ",dTFX];
Print[""];
Print["Y Arm:"];
Print["Arm visibility (given): ",Y[[1]]," +/- ",Y[[2]],"  (",Y[[3]]," pts)"];
Print["Cut off freq (given): ",fcY," +/- ",dfcY];
Print["Finesse (derived): ",FinesseY," +/- ",dFinesseY];
Print[""];
Print["Round Trip loss (estimated): ",lossY," +/- ",dlossY];
Print["Front Mirror T (estimated): ",TFY," +/- ",dTFY];

After the wiping (Visibility: Dec 14, 2009 / fcav: Dec 14, 2009)

Data Preparation

fcX=1616;
dfcX=14;
(* from TF measurement. error +/-14 *)

fcY=1590;
dfcY=4;
(* from TF measurement. error +/-4 *)

Loading the data files

datX=ReadList["/Users/karai/LIGO/09/09_40m/Upgrade09/IFO/loss-X-944865946.log",{Number,Number}];

VdatX=Map[#[[1]]/#[[2]]&,datX];

ListPlot[VdatX,PlotRange->{0.8,1},Frame->True,GridLines->Automatic]

X={Mean[VdatX],StandardDeviation[VdatX],Length[VdatX]}

datY=ReadList["/Users/karai/LIGO/09/09_40m/Upgrade09/IFO/loss-Y-944865071.log",{Number,Number}];

VdatY=Map[#[[1]]/#[[2]]&,datY];

ListPlot[VdatY,PlotRange->{0.8,1},Frame->True,GridLines->Automatic]

Y={Mean[VdatY],StandardDeviation[VdatY],Length[VdatY]}

X arm

FWHM

FWHM=fcX*2;
FSR=FSRX;
FinesseX=FSR/FWHM

dFinesseX=Abs[D[FSR/(FC*2),FC]*dfcX/.FC->fcX]

{FinesseX,dFinesseX}

loss

solX=FindRoot[{Rcav[TF,loss]==X[[1]],F[TF,loss]==FinesseX},{{loss,0,200},{TF,0.001,0.01}}]

lossX=loss/.solX;
TFX=TF/.solX;

Error

solXdX1=FindRoot[{Rcav[TF,loss]==X[[1]]+X[[2]],F[TF,loss]==FinesseX},{{loss,0,200},{TF,0.001,0.01}}];

solXdX2=FindRoot[{Rcav[TF,loss]==X[[1]]-X[[2]],F[TF,loss]==FinesseX},{{loss,0,200},{TF,0.001,0.01}}];

solXdF1=FindRoot[{Rcav[TF,loss]==X[[1]],F[TF,loss]==FinesseX+dFinesseX},{{loss,0,200},{TF,0.001,0.01}}];

solXdF2=FindRoot[{Rcav[TF,loss]==X[[1]],F[TF,loss]==FinesseX-dFinesseX},{{loss,0,200},{TF,0.001,0.01}}];

dlossX=(Sqrt[((((((loss /.solXdX2)-(loss /.solXdX1))/2)))^2)+((((((loss /.solXdF1)-(loss /.solXdF2))/2)))^2)])

dTFX=(Sqrt[((((((TF /.solXdX2)-(TF /.solXdX1))/2)))^2)+((((((TF /.solXdF1)-(TF /.solXdF2))/2)))^2)])

Y arm

FWHM

FWHM=fcY*2;
FSR=FSRY;
FinesseY=FSR/FWHM

dFinesseY=Abs[D[FSR/(FC*2),FC]*dfcY/.FC->fcY]

{FinesseY,dFinesseY}

loss

solY=FindRoot[{Rcav[TF,loss]==Y[[1]],F[TF,loss]==FinesseY},{{loss,0,200},{TF,0.001,0.01}}]

lossY=loss/.solY;
TFY=TF/.solY;

Error

solYdY1=FindRoot[{Rcav[TF,loss]==Y[[1]]+Y[[2]],F[TF,loss]==FinesseY},{{loss,0,200},{TF,0.001,0.01}}];

solYdY2=FindRoot[{Rcav[TF,loss]==Y[[1]]-Y[[2]],F[TF,loss]==FinesseY},{{loss,0,200},{TF,0.001,0.01}}];

solYdF1=FindRoot[{Rcav[TF,loss]==Y[[1]],F[TF,loss]==FinesseY+dFinesseY},{{loss,0,200},{TF,0.001,0.01}}];

solYdF2=FindRoot[{Rcav[TF,loss]==Y[[1]],F[TF,loss]==FinesseY-dFinesseY},{{loss,0,200},{TF,0.001,0.01}}];

dlossY=(Sqrt[((((((loss /.solYdY2)-(loss /.solYdY1))/2)))^2)+((((((loss /.solYdF1)-(loss /.solYdF2))/2)))^2)])

dTFY=(Sqrt[((((((TF /.solYdY2)-(TF /.solYdY1))/2)))^2)+((((((TF /.solYdF1)-(TF /.solYdF2))/2)))^2)])

Report

Print["X Arm:"];
Print["Arm visibility (given): ",X[[1]]," +/- ",X[[2]],"  (",X[[3]]," pts)"];
Print["Cut off freq (given): ",fcX," +/- ",dfcX];
Print["Finesse (derived): ",FinesseX," +/- ",dFinesseX];
Print[""];
Print["Round Trip loss (estimated): ",lossX," +/- ",dlossX];
Print["Front Mirror T (estimated): ",TFX," +/- ",dTFX];
Print[""];
Print["Y Arm:"];
Print["Arm visibility (given): ",Y[[1]]," +/- ",Y[[2]],"  (",Y[[3]]," pts)"];
Print["Cut off freq (given): ",fcY," +/- ",dfcY];
Print["Finesse (derived): ",FinesseY," +/- ",dFinesseY];
Print[""];
Print["Round Trip loss (estimated): ",lossY," +/- ",dlossY];
Print["Front Mirror T (estimated): ",TFY," +/- ",dTFY];