pro thm_efi_sin_fit, e, t, es=es, ec=ec, per=per
npts = n_elements(t)
IF keyword_set(per) then BEGIN
es = 2.0*total(e*sin(2.d*!dpi*t/per))/npts
ec = 2.0*total(e*cos(2.d*!dpi*t/per))/npts
return
ENDIF
per0 = 2.90d
dper = 0.02d
et = dblarr(11)
p = dblarr(11)
per = per0
FOR i = 0, 10 DO BEGIN
es = 2.0*total(e*sin(2.d*!dpi*t/per))/npts
ec = 2.0*total(e*cos(2.d*!dpi*t/per))/npts
et(i) = sqrt(es*es + ec*ec)
p(i) = per
per = per + dper
ENDFOR
dum = max(et,ind)
per = p((ind-1)>0)
dper = 0.004d
FOR i = 0, 10 DO BEGIN
es = 2.0*total(e*sin(2.d*!dpi*t/per))/npts
ec = 2.0*total(e*cos(2.d*!dpi*t/per))/npts
et(i) = sqrt(es*es + ec*ec)
p(i) = per
per = per + dper
ENDFOR
dum = max(et,ind)
per = p((ind-1)>0)
dper = 0.001d
FOR i = 0, 10 DO BEGIN
es = 2.0*total(e*sin(2.d*!dpi*t/per))/npts
ec = 2.0*total(e*cos(2.d*!dpi*t/per))/npts
et(i) = sqrt(es*es + ec*ec)
p(i) = per
per = per + dper
ENDFOR
dum = max(et,ind)
per = p((ind-1)>0)
dper = 0.0002d
FOR i = 0, 10 DO BEGIN
es = 2.0*total(e*sin(2.d*!dpi*t/per))/npts
ec = 2.0*total(e*cos(2.d*!dpi*t/per))/npts
et(i) = sqrt(es*es + ec*ec)
p(i) = per
per = per + dper
ENDFOR
dum = max(et,ind)
per = p((ind-1)>0)
dper = 0.00005d
FOR i = 0, 10 DO BEGIN
es = 2.0*total(e*sin(2.d*!dpi*t/per))/npts
ec = 2.0*total(e*cos(2.d*!dpi*t/per))/npts
et(i) = sqrt(es*es + ec*ec)
p(i) = per
per = per + dper
ENDFOR
dum = max(et,ind)
per = p(ind)
es = 2.0*total(e*sin(2.d*!dpi*t/per))/npts
ec = 2.0*total(e*cos(2.d*!dpi*t/per))/npts
return
end