Commit c8105d3f authored by Nicolas Nunez Barreto's avatar Nicolas Nunez Barreto

a ver

parent 3028f2d5
......@@ -12,7 +12,10 @@ from scipy import interpolate
#/home/nico/Documents/artiq_experiments/analisis/plots/20220526_CPTvariandoB_v2/Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20220526_CPTvariandoB_v2/Data')
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20220526_CPTvariandoB_v2/Data')
os.chdir("C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20220526_CPTvariandoB_v2//Data")
ALL_FILES = """000007697-IR_Scan_withcal_optimized
000007696-IR_Scan_withcal_optimized
......@@ -273,7 +276,6 @@ plt.plot(freqslongpi_12, FittedEITpi_12)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
#%%
#ESTE CODIGO AJUSTA UNA DE LAS CURVAS, LA 13!!! pero ahora ajustando demas parametros
......@@ -333,7 +335,8 @@ plt.figure()
plt.errorbar(FreqsDRpi_13, CountsDRpi_13, yerr=2*np.sqrt(CountsDRpi_13), fmt='o', capsize=2, markersize=2)
plt.plot(freqslongpi_13, FittedEITpi_13)
#%%
#ESTE CODIGO AJUSTA UNA DE LAS CURVAS, LA 14!!!
phidoppler, titadoppler = 0, 90
......@@ -395,7 +398,7 @@ plt.errorbar(FreqsDRpi_14, CountsDRpi_14, yerr=2*np.sqrt(CountsDRpi_14), fmt='o'
plt.plot(freqslongpi_14, FittedEITpi_14)
#plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {round(popt[2]*1e3, 2)} mK, detDop: {DetDoppler} MHz')
#%%
#ESTE CODIGO AJUSTA UNA DE LAS CURVAS, LA 15!!!
phidoppler, titadoppler = 0, 90
......@@ -605,7 +608,7 @@ plt.tick_params(axis="y", which="both", **visible_ticks)
plt.grid()
plt.tight_layout()
#plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Work/2022 B vs k race/Figuras/Figuras jpg trabajadas/CPT_exp.png',dpi=500)
plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 B vs K eigenbasis/Figuras_finales/Finalesfinales/Fig4_final.pdf')
# plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 B vs K eigenbasis/Figuras_finales/Finalesfinales/Fig4_final.pdf')
#%%
from scipy.optimize import curve_fit
......@@ -671,3 +674,166 @@ plt.ylim(0.1,0.43)
plt.xlabel('Coil current (A)')
plt.ylabel('Larmor frequency (MHz)')
plt.grid()
#%%
#filtro y mejoro el plot
"""
PLOTS TESIS (LOS DEL PAPER SON LOS DE ANTES)
"""
Ufields = [popt_12[0], popt_13[0], popt_14[0], popt_15[0]]
ErrorUfields = [np.sqrt(pcov_12)[0,0], np.sqrt(pcov_13)[0,0],np.sqrt(pcov_14)[0,0], np.sqrt(pcov_15)[0,0]]
Bfields = [u/(2*np.pi)/1398190 for u in Ufields]
ErrorBfields = [eu/(2*np.pi)/1398190 for eu in ErrorUfields]
from scipy.signal import savgol_filter as sf
import seaborn as sns
offs = 7.53e2
scal = 2.0917e5
winl = 11
po = 3
FiltCounts12 = np.array([(c-offs)*100/scal for c in sf(CountsDRpi_12, winl, po)])
#ErrorCounts12 = np.array([0.5*np.sqrt(c/scal) for c in CountsDRpi_12])
ErrorCounts12 = np.array([0.5*np.sqrt(c/scal) for c in sf(CountsDRpi_12, winl, po)])
FiltCounts13 = np.array([(c-offs)*100/scal for c in sf(CountsDRpi_13, winl, po)])
#ErrorCounts13 = np.array([0.5*np.sqrt(c/scal) for c in CountsDRpi_13])
ErrorCounts13 = np.array([0.5*np.sqrt(c/scal) for c in sf(CountsDRpi_13, winl, po)])
FiltCounts14 = np.array([(c-offs)*100/scal for c in sf(CountsDRpi_14, winl, po)])
#ErrorCounts14 = np.array([0.5*np.sqrt(c/scal) for c in CountsDRpi_14])
ErrorCounts14 = np.array([0.5*np.sqrt(c/scal) for c in sf(CountsDRpi_14, winl, po)])
FiltCounts15 = np.array([(c-offs)*100/scal for c in sf(CountsDRpi_15, winl, po)])
#ErrorCounts15 = np.array([0.5*np.sqrt(c/scal) for c in CountsDRpi_15])
ErrorCounts15 = np.array([0.5*np.sqrt(c/scal) for c in sf(CountsDRpi_15, winl, po)])
#plot con escalas atomicas y lindo
colors=sns.color_palette("mako", 10)
color1=colors[1]
color2=colors[2]
color3=colors[4]
color4=colors[7]
ms = 4
plt.figure(figsize=(3.6, 3))
# plt.plot(FreqsDRpi_12, FiltCounts12, 'o', markersize=ms, color=color1, label=fr'$B=${round(1e3*Bfields[0])}({round(1e3*ErrorBfields[0])}) mG', alpha=0.3)
# plt.plot(FreqsDRpi_13, FiltCounts13, 'o', markersize=ms, color=color2, label=fr'$B=${round(1e3*Bfields[1])}({round(1e3*ErrorBfields[1])}) mG', alpha=0.3)
# plt.plot(FreqsDRpi_14, FiltCounts14, 'o', markersize=ms, color=color3, label=fr'$B=${round(1e3*Bfields[2])}({round(1e3*ErrorBfields[2])}) mG', alpha=0.3)
# plt.plot(FreqsDRpi_15, FiltCounts15, 'o', markersize=ms, color=color4, label=fr'$B=${round(1e3*Bfields[3])}({round(1e3*ErrorBfields[3])}) mG', alpha=0.3)
# plt.plot(freqslongpi_12, [(c-offs)*100/scal for c in FittedEITpi_12], color=color1, linewidth=3)
# plt.plot(freqslongpi_13, [(c-offs)*100/scal for c in FittedEITpi_13], color=color2, linewidth=3)
# plt.plot(freqslongpi_14, [(c-offs)*100/scal for c in FittedEITpi_14], color=color3, linewidth=3)
# plt.plot(freqslongpi_15, [(c-offs)*100/scal for c in FittedEITpi_15], color=color4, linewidth=3)
plt.plot(freqslongpi_12, [c for c in FittedEITpi_12], color=color1, linewidth=3)
plt.plot(freqslongpi_13, [c for c in FittedEITpi_13], color=color2, linewidth=3)
plt.plot(freqslongpi_14, [c for c in FittedEITpi_14], color=color3, linewidth=3)
plt.plot(freqslongpi_15, [c for c in FittedEITpi_15], color=color4, linewidth=3)
plt.errorbar(FreqsDRpi_12, [c*scal/100+offs for c in FiltCounts12], yerr=np.sqrt(np.array([c*scal/100+offs for c in FiltCounts12])), capsize=2,fmt='o', markersize=2, color=color1, label=fr'$B=${round(1e3*Bfields[0])}({round(1e3*ErrorBfields[0])}) mG', alpha=0.7)
plt.errorbar(FreqsDRpi_13, [c*scal/100+offs for c in FiltCounts13], yerr=np.sqrt(np.array([c*scal/100+offs for c in FiltCounts13])), capsize=2,fmt='o', markersize=2, color=color2, label=fr'$B=${round(1e3*Bfields[1])}({round(1e3*ErrorBfields[1])}) mG', alpha=0.7)
plt.errorbar(FreqsDRpi_14, [c*scal/100+offs for c in FiltCounts14], yerr=np.sqrt(np.array([c*scal/100+offs for c in FiltCounts14])), capsize=2,fmt='o', markersize=2, color=color3, label=fr'$B=${round(1e3*Bfields[2])}({round(1e3*ErrorBfields[2])}) mG', alpha=0.7)
plt.errorbar(FreqsDRpi_15, [c*scal/100+offs for c in FiltCounts15], yerr=np.sqrt(np.array([c*scal/100+offs for c in FiltCounts15])), capsize=2,fmt='o', markersize=2, color=color4, label=fr'$B=${round(1e3*Bfields[3])}({round(1e3*ErrorBfields[3])}) mG', alpha=0.7)
# plt.plot(FreqsDRpi_13, [c*scal/100+offs for c in FiltCounts13], 'o', markersize=ms, color=color2, label=fr'$B=${round(1e3*Bfields[1])}({round(1e3*ErrorBfields[1])}) mG', alpha=0.3)
# plt.plot(FreqsDRpi_14, [c*scal/100+offs for c in FiltCounts14], 'o', markersize=ms, color=color3, label=fr'$B=${round(1e3*Bfields[2])}({round(1e3*ErrorBfields[2])}) mG', alpha=0.3)
# plt.plot(FreqsDRpi_15, [c*scal/100+offs for c in FiltCounts15], 'o', markersize=ms, color=color4, label=fr'$B=${round(1e3*Bfields[3])}({round(1e3*ErrorBfields[3])}) mG', alpha=0.3)
# plt.fill_between(FreqsDRpi_12, FiltCounts12+ErrorCounts12, FiltCounts12-ErrorCounts12, color=color1, alpha=0.2)
# plt.fill_between(FreqsDRpi_13, FiltCounts13+ErrorCounts13, FiltCounts13-ErrorCounts13, color=color2, alpha=0.2)
# plt.fill_between(FreqsDRpi_14, FiltCounts14+ErrorCounts14, FiltCounts14-ErrorCounts14, color=color3, alpha=0.2)
# plt.fill_between(FreqsDRpi_15, FiltCounts15+ErrorCounts15, FiltCounts15-ErrorCounts15, color=color4, alpha=0.2)
plt.xlim(-40,30)
# plt.ylim(-0.1,1.4)
plt.xlabel('Desintonía IR (MHz)', fontsize=10)
plt.ylabel('Cuentas', fontsize=10)
plt.xticks([-40, -20, 0, 20], fontsize=10)
# plt.yticks([0, 0.3, 0.6, 0.9, 1.2], fontsize=10)
# visible_ticks = {
# "top": False,
# "right": False
# }
# plt.tick_params(axis="x", which="both", **visible_ticks)
# plt.tick_params(axis="y", which="both", **visible_ticks)
# plt.legend(loc='upper left', frameon=True, fontsize=7.6, handletextpad=0.1)
plt.grid(alpha=0.5)
plt.tight_layout()
#plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Work/2022 B vs k race/Figuras/Figuras jpg trabajadas/CPT_exp.png',dpi=500)
# plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 B vs K eigenbasis/Figuras_finales/Finalesfinales/Fig4_final.pdf')
plt.savefig('C://Users//nicon//Nextcloud//Nico//Doctorado//Tesis//Tesis_doctorado//Chapters//figures//Cap6//fig2test.pdf')
#%%
from scipy.optimize import curve_fit
def LinearLarmortoCurrent(I, a, b):
Larmor = a*I+b
return Larmor
def ConvertLarmortoBfield(u):
c = 1398190.0452488689
return u/(2*np.pi)/c
"""
mediciones = [10, 9, 11, 12, 13, 14, 15, 16]
corrientes = [2, 0, -1, -1.2, -1.5, -1.75, -2, -2.2]
"""
"""
#Esto anda:
IFit = [-1, -1.5, -1.75]
LarmorFit = [popt_13[0], popt_14[0], popt_15[0]]
"""
IFit = [-1.2, -1.5, -1.75, -2]
LarmorFit = [popt_12[0], popt_13[0], popt_14[0], popt_15[0]]
#LarmorFit = [287282.374931893, 203998.09641511342, 158507.0255951109] por si fallan los ajustes
ErrorLarmorFit = [np.sqrt(pcov_12[0,0]),np.sqrt(pcov_13[0,0]),np.sqrt(pcov_14[0,0]),np.sqrt(pcov_15[0,0])]
MeanError = 11139.353180216529 #por si fallan los ajustes
Ilong = np.arange(2, -3, -0.01)
popt_larmor, pcov_larmor = curve_fit(LinearLarmortoCurrent, IFit, LarmorFit)
LarmorLong = LinearLarmortoCurrent(Ilong, *popt_larmor)
print(popt_larmor)
plt.figure()
plt.plot(IFit, LarmorFit, 'o', markersize=5)
plt.plot(Ilong, LarmorLong)
Bfitted = [ConvertLarmortoBfield(u) for u in LarmorFit]
ErrorBfitted = [ConvertLarmortoBfield(u) for u in ErrorLarmorFit]
BLong = [ConvertLarmortoBfield(u) for u in LarmorLong]
#ESTE GRAFICO TIENE QUE IR EN LA TESIS CUANDO PONGA
#COMO CALIBRE EL CAMPO MAGNETICO CON LA CORRIENTE
plt.figure(figsize=(3.6,3))
plt.plot(Ilong, [b*1e3 for b in BLong])
plt.plot(IFit, [b*1e3 for b in Bfitted], 'o', markersize=8)
plt.xlim(-2.2,-1)
plt.ylim(0.012*1e3,0.045*1e3)
plt.xlabel('Corriente bobina superior (A)')
plt.ylabel('Campo magnetico (mG)')
plt.grid()
......@@ -34,6 +34,8 @@ ALL_FILES_SP = """000008358-SingleLine
000008382-SingleLine
"""
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20221004_transitorios//Data')
#000001504-SingleLine.h5
def expo(T, tau, N0, C):
......@@ -160,5 +162,5 @@ plt.grid(alpha=0.3)
plt.xlabel("Potencia [uW]")
plt.ylabel("Alturas/Tau")
plt.show()
# plt.show()
#input()
......@@ -8,6 +8,9 @@ from scipy.optimize import curve_fit
import os
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20221006_transitoriosv2')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20221006_transitoriosv2')
# Solo levanto algunos experimentos
SP_files = [8445, 8457, 8458, 8459, 8460, 8461, 8462, 8463, 8464, 8465, 8466, 8467, 8468, 8469, 84840, 88040]
SP_files_v2 = [8763, 8764, 8765, 8766, 8767, 8768, 8769, 8770, 8771, 8772, 8773, 8774, 8775, 8776]
......@@ -267,12 +270,6 @@ FIGURA PAPER SP CON AJUSTES
import matplotlib
import seaborn as sns
matplotlib.rcParams['mathtext.fontset'] = 'stix'
matplotlib.rcParams['font.family'] = 'STIXGeneral'
plt.style.use('seaborn-bright')
plt.rcParams.update({
"text.usetex": False,
})
plt.figure()
plt.plot(Stat_Bins[0][:-1], Stat_Heigths[0])
......@@ -377,12 +374,6 @@ FIGURA PAPER
import matplotlib
import seaborn as sns
matplotlib.rcParams['mathtext.fontset'] = 'stix'
matplotlib.rcParams['font.family'] = 'STIXGeneral'
plt.style.use('seaborn-bright')
plt.rcParams.update({
"text.usetex": False,
})
jselected = [1, 5, 12]
......@@ -415,9 +406,14 @@ plt.ylabel('Counts', fontname='STIXGeneral', fontsize=14)
plt.xticks([0, 0.5, 1, 1.5, 2], fontsize=12)
plt.yticks([0, 1000, 2000, 3000, 4000], fontsize=12)
plt.grid()
plt.savefig('fig3_01.pdf')
plt.savefig('fig3_01.svg')
# plt.savefig('fig3_01.pdf')
# plt.savefig('fig3_01.svg')
"""
Hasta aca. lo de abajo fueron intentos fallidos....
"""
#%%
......
......@@ -11,13 +11,6 @@ import seaborn as sns
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20221017_IonStatistics')
plt.rcParams.update({
"font.family": "STIXGeneral"
})
plt.rcParams.update({
"font.size": 14
})
# Solo levanto algunos experimentos
Stat_files = [8731, 8738, 8745, 8819, 8820, 8822]
......@@ -88,12 +81,6 @@ import seaborn as sns
matplotlib.rcParams['mathtext.fontset'] = 'stix'
matplotlib.rcParams['font.family'] = 'STIXGeneral'
plt.style.use('seaborn-bright')
plt.rcParams.update({
"text.usetex": False,
})
#plt.figure()
#plt.plot(Stat_Bins[0][:-1], Stat_Heigths[0])
......@@ -135,11 +122,11 @@ ax[1].plot(bins1+0.5,poisson1,color = color1,label = 'Ion',linewidth=1.5)
ax[1].legend(loc='upper right', prop={'size': 10})
ax[1].grid()
ax[1].set_xticks([0, 100, 200, 300])
ax[1].set_xticklabels([0, 100, 200, 300], fontsize=10,fontname='STIXGeneral')
ax[1].set_xticklabels([0, 100, 200, 300], fontsize=10)
ax[1].set_yticks([0,0.02, 0.04, 0.06, 0.08])
ax[1].set_yticklabels([0,0.02, 0.04, 0.06, 0.08], fontsize=10,fontname='STIXGeneral')
ax[1].set_xlabel('Cuentas', fontsize=10, fontname='STIXGeneral')
ax[1].set_ylabel('Frecuencia de eventos', fontsize=10, fontname='STIXGeneral')
ax[1].set_yticklabels([0,0.02, 0.04, 0.06, 0.08], fontsize=10)
ax[1].set_xlabel('Cuentas', fontsize=10)
ax[1].set_ylabel('Frecuencia de eventos', fontsize=10)
#plt.savefig('C:/Users/nicon/Nextcloud/Nico/Doctorado/Tesis/Tesis_doctorado/Chapters/figures/Cap5_poisson.pdf')
......@@ -160,18 +147,22 @@ ax[0].plot([s*1e6 for s in OnOff_Bins[0][:-1]],[(OnOff_Heights[0][j]-OnOff_Heigh
ax[0].plot([s*1e6 for s in OnOff_Bins[2][:-1]],OnOff_Heights[2], color=color1,linewidth=3)
ax[0].set_xlim(0,1)
ax[0].grid()
ax[0].set_xlabel(r'Tiempo ($\mu$s)', fontname='STIXGeneral', fontsize=10)
ax[0].set_ylabel(r'Cuentas /10$~\mu$s', fontname='STIXGeneral', fontsize=10)
ax[0].set_xlabel(r'Tiempo ($\mu$s)', fontsize=10)
ax[0].set_ylabel(r'Cuentas /10$~\mu$s',fontsize=10)
ax[0].set_xticks([0,0.2, 0.4, 0.6, 0.8, 1])
ax[0].set_yticks([0,5000, 10000])
ax[0].set_xticklabels([0,0.2, 0.4, 0.6, 0.8, 1], fontname='STIXGeneral', fontsize=10)
ax[0].set_yticklabels([0,5000, 10000], fontname='STIXGeneral', fontsize=10)
ax[0].set_xticklabels([0,0.2, 0.4, 0.6, 0.8, 1], fontsize=10)
ax[0].set_yticklabels([0,5000, 10000], fontsize=10)
plt.tight_layout()
name='fig01b'
plt.savefig('C:/Users/nicon/Nextcloud/Nico/Doctorado/Tesis/Tesis_doctorado/Chapters/figures/Cap5_statistics.pdf')
# plt.savefig('C:/Users/nicon/Nextcloud/Nico/Doctorado/Tesis/Tesis_doctorado/Chapters/figures/Cap5_statistics.pdf')
# plt.savefig('C:/Users/nicon/Nextcloud/Nico/Doctorado/Tesis/Tesis_doctorado/Chapters/figures/Cap5_statistics.pdf')
plt.savefig('C://Users//nicon//Nextcloud//Nico//Doctorado//Tesis//Tesis_doctorado//Chapters//figures//Cap4//Cap4_statistics.pdf')
#plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'.pdf')
#plt.savefig('/home/nico/Nextcloud/G_liaf/Publicaciones/Papers/2022 Transient Phenomena JOSA B/Figures/'+name+'_dump.svg')
......
......@@ -8,11 +8,11 @@ from scipy.optimize import curve_fit
import os
from scipy import interpolate
#Mediciones barriendo angulo del TISA y viendo kicking de resonancias oscuras
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/Data/')
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//Data')
MOTIONAL_FILES = """000011490-AD9910RAM
......@@ -83,6 +83,39 @@ for i, fname in enumerate(MOTIONAL_FILES.split()):
#%%
"""
Ploteo las curvas de referencia
"""
"""
Valen la pena:
16,19-20-21-22-23: supongo axial. se ven dos piquitos
25, 28: radial 1
26, 29: radial 2
31: se ven bien los dos picos enigmaticos
41: radial 1 fuerte
"""
jvec = [41]
plt.figure()
i = 0
for j in jvec:
plt.errorbar([1*f*1e-3 for f in RealFreqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='-o', capsize=2, markersize=2)
i = i + 1
plt.xlabel('Frecuencia (kHz)')
plt.ylabel('counts')
# plt.xlim(851,856)
# plt.ylim(600,1700)
plt.grid()
# plt.legend()
#%%
"""
......@@ -108,4 +141,3 @@ plt.grid()
plt.legend()
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 23 09:38:53 2024
@author: nicon
"""
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm
from matplotlib.colors import Normalize
from scipy.ndimage import map_coordinates
import os
imagenes = []
names = []
for file in os.listdir()[:-1]:
names.append(file)
pic = np.load(str(file))
imagenes.append(pic)
#%%
j=1
print(names[j])
plt.figure()
plt.imshow(imagenes[j][580:630,940:990],vmin=105,vmax=130)
#%%
j=0
print(names[j])
plt.figure()
plt.imshow(imagenes[j][580:630,940:990],vmin=110,vmax=125)
#%%
j=2
print(names[j])
plt.figure()
plt.imshow(imagenes[j][580:630,940:990],vmin=105,vmax=110)
#%%
j=3
print(names[j])
plt.figure()
plt.imshow(imagenes[j][580:630,940:990],vmin=105,vmax=110)
#%%
j=2
print(names[j])
plt.figure()
plt.imshow(imagenes[j][580:630,940:990],vmin=100,vmax=115)
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate
#Mediciones barriendo angulo del TISA y viendo kicking de resonancias oscuras
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataOpticTransitory/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//Data')
MOTIONAL_FILES = """
000011490-AD9910RAM
000011491-AD9910RAM
000011492-AD9910RAM
000011493-AD9910RAM
000011496-AD9910RAM
000011499-AD9910RAM
000011500-AD9910RAM
000011501-AD9910RAM
000011502-AD9910RAM
000011503-AD9910RAM
000011504-AD9910RAM
000011505-AD9910RAM
000011506-AD9910RAM
000011507-AD9910RAM
000011511-AD9910RAM
000011512-AD9910RAM
000011513-AD9910RAM
000011514-AD9910RAM
000011515-AD9910RAM
000011516-AD9910RAM
000011517-AD9910RAM
000011518-AD9910RAM
000011519-AD9910RAM
000011521-AD9910RAM
000011522-AD9910RAM
000011560-AD9910RAM
000011561-AD9910RAM
000011562-AD9910RAM
000011563-AD9910RAM
000011564-AD9910RAM
000011566-AD9910RAM
000011567-AD9910RAM
000011569-AD9910RAM
000011571-AD9910RAM
000011572-AD9910RAM
000011574-AD9910RAM
000011575-AD9910RAM
000011576-AD9910RAM
000011577-AD9910RAM
000011580-AD9910RAM
000011581-AD9910RAM
000011582-AD9910RAM
"""
def SeeKeys(files):
for i, fname in enumerate(files.split()):
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
print(fname)
print(list(data['datasets'].keys()))
print(SeeKeys(MOTIONAL_FILES))
#%%
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20211101_CPT_DosLaseres_v03\Data
Counts = []
RealFreqs = []
ErrorFreqs = []
SetFreqs = []
for i, fname in enumerate(MOTIONAL_FILES.split()):
print(str(i) + ' - ' + fname)
data = h5py.File(fname+'.h5', 'r')
RealFreqs.append(np.array(data['datasets']['real_freq']))
Counts.append(np.array(data['datasets']['counts']))
ErrorFreqs.append(np.array(data['datasets']['error_freq']))
SetFreqs.append(np.array(data['datasets']['set_freq']))
# Potencias = [7.4, 11.4, 16.8, 23.2, 31.1, 40.7, 51.5, 64, 78.2, 92.7, 108, 124, 134, 154, 167]
# PotenciasUsadas = [7.4, 11.4, 16.8, 23.2, 31.1, 40.7, 51.5, 64, 78.2]
#%%
"""
Ploteo una curva para buscar su minimo
17,18,19,20,21,22,23: axial. doble pico. distintas pots uv. 11514, 11515, 11516, 11517, 11518, 11519, 11521
25, 28: radial1 con mucha estadistica. 11560, 11563.
29: radial2 con mucha estad. 11564
30: radial2. clarisimo el doble pico. 11566
31: radial2. mas claro todavia el doble pico. 11567
37: me animaria a decir que lo anterior fue modulando el uv y este es modulando el IR. 11576
40: tmb. pico chico. 11581
41: radial1. no se modulando qué pero se ve bien. 11582
"""
jvec = [42]
plt.figure()
i = 0
kmin = 106
for j in jvec:
plt.errorbar([1*f*1e-3 for f in RealFreqs[j]], Counts[j], yerr=np.sqrt(Counts[j]), fmt='-o', capsize=2, markersize=2)
i = i + 1
plt.xlabel('Frecuencia (kHz)')
plt.ylabel('counts')
#plt.xlim(782,787)
#plt.ylim(2000,5000)
plt.grid()
# plt.legend(loc='upper left')
......@@ -7,12 +7,14 @@ from scipy.optimize import curve_fit
import os
from scipy import interpolate
#Mediciones barriendo angulo del TISA y viendo kicking de resonancias oscuras
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataElectricNew')
Data = []
for ii in range(1,10):
Data.append(f"ss0{ii}.dat")
......@@ -33,6 +35,16 @@ for dd in Data:
FrequencyVec.append([data[i][1] for i in range(len(data))])
FluoVec.append([data[i][2] for i in range(len(data))])
#%%
#visualizo data
ivec = [8]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o')
# plt.xlim(0.78,0.8)
#%%
#los voltajes son 2, 2.5, 3, 5, 7 y 9
......@@ -98,7 +110,10 @@ Nuevas mediciones: dan mejor
"""
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataRawElectric/')
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataRawElectric/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataRawElectric')
Data = []
for ii in range(1,10):
......@@ -108,7 +123,11 @@ for ii in range(10,14):
#for ii in range(40,49):
# Data.append(f"ss{ii}.dat")
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataRawElectric2/')
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataRawElectric2/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataRawElectric2')
for ii in range(1,10):
Data.append(f"s0{ii}.dat")
......@@ -117,8 +136,8 @@ for ii in range(10,24):
#for ii in range(40,49):
# Data.append(f"ss{ii}.dat")
FrequencyVec = []
FluoVec = []
FrequencyVec2 = []
FluoVec2 = []
for dd in Data:
data = np.genfromtxt(dd,
......@@ -127,8 +146,18 @@ for dd in Data:
dtype=None,
delimiter=' ')
FrequencyVec.append([data[i][1] for i in range(len(data))])
FluoVec.append([data[i][2] for i in range(len(data))])
FrequencyVec2.append([data[i][1] for i in range(len(data))])
FluoVec2.append([data[i][2] for i in range(len(data))])
#%%
#visualizo data
ivec = [3]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec2[i]], FluoVec2[i],'o')
# plt.xlim(0.78,0.8)
#%%
"""
......@@ -138,7 +167,7 @@ ivec = [33]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'-o')
plt.plot([f*1e-6 for f in FrequencyVec2[i]], FluoVec2[i],'-o')
#plt.xlim(0.3,0.6)
......@@ -150,7 +179,7 @@ ivec = [23]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec[i]], FluoVec[i],'o')
plt.plot([f*1e-6 for f in FrequencyVec2[i]], FluoVec2[i],'o')
#plt.xlim(0.3,0.6)
#%%
......@@ -163,15 +192,17 @@ ki=3500
kf=-1500
plt.figure()
plt.plot([f*1e-6 for f in FrequencyVec[23]], FluoVec[23],'ro')
plt.plot([f*1e-6 for f in FrequencyVec[33]][ki:kf], FluoVec[33][ki:kf],'ro')
plt.plot([f*1e-6 for f in FrequencyVec2[27]], FluoVec2[27],'-o')
#plt.plot([f*1e-6 for f in FrequencyVec2[33]][ki:kf], FluoVec2[33][ki:kf],'-o')
plt.xlabel('Frecuencia (MHz)')
plt.ylabel('Cuentas')
plt.xlim(1.5,1.6)
#plt.xlim(1.5,1.6)
#%%
"""
Miro modo radial con roi chiquita, una en el medio del ion y otra en donde el ion se estira en el costadito
"""
......
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataElectric')
Data1 = []
for ii in range(1,10):
Data1.append(f"ss0{ii}.dat")
for ii in range(10,20):
Data1.append(f"ss{ii}.dat")
for ii in range(20,40):
Data1.append(f"ss{ii}.dat")
for ii in range(40,49):
Data1.append(f"ss{ii}.dat")
FrequencyVec1 = []
FluoVec1 = []
for dd in Data1:
data = np.genfromtxt(dd,
skip_header=1,
names=True,
dtype=None,
delimiter=' ')
FrequencyVec1.append([data[i][1] for i in range(len(data))])
FluoVec1.append([data[i][2] for i in range(len(data))])
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataElectricNew')
Data2 = []
for ii in range(1,10):
Data2.append(f"ss0{ii}.dat")
FrequencyVec2 = []
FluoVec2 = []
for dd in Data2:
data = np.genfromtxt(dd,
skip_header=1,
names=True,
dtype=None,
delimiter=' ')
FrequencyVec2.append([data[i][1] for i in range(len(data))])
FluoVec2.append([data[i][2] for i in range(len(data))])
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataElectricNew//Ion centro costado')
Data2b = ['sscostado.dat']
FrequencyVec2b = []
FluoVec2b = []
for dd in Data2b:
data = np.genfromtxt(dd,
skip_header=1,
names=True,
dtype=None,
delimiter=' ')
FrequencyVec2b.append([data[i][1] for i in range(len(data))])
FluoVec2b.append([data[i][2] for i in range(len(data))])
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataRawElectric')
Data3 = []
for ii in range(1,10):
Data3.append(f"s0{ii}.dat")
for ii in range(10,14):
Data3.append(f"s{ii}.dat")
FrequencyVec3 = []
FluoVec3 = []
for dd in Data3:
data = np.genfromtxt(dd,
skip_header=1,
names=True,
dtype=None,
delimiter=' ')
FrequencyVec3.append([data[i][1] for i in range(len(data))])
FluoVec3.append([data[i][2] for i in range(len(data))])
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataRawElectric2')
Data4 = []
for ii in range(1,10):
Data4.append(f"s0{ii}.dat")
for ii in range(10,24):
Data4.append(f"s{ii}.dat")
FrequencyVec4 = []
FluoVec4 = []
for dd in Data4:
data = np.genfromtxt(dd,
skip_header=1,
names=True,
dtype=None,
delimiter=' ')
FrequencyVec4.append([data[i][1] for i in range(len(data))])
FluoVec4.append([data[i][2] for i in range(len(data))])
#%%
#del 1 al 49
ivec = [47]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec1[i]], FluoVec1[i],'o')
# plt.xlim(0.78,0.8)
#%%
#del 0 al 8
ivec = [8]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec2[i]], FluoVec2[i],'o')
# plt.xlim(0.78,0.8)
#%%
#solo el 0
ivec = [0]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec2b[i]], FluoVec2b[i],'o')
# plt.xlim(0.78,0.8)
#%%
#desde el 0 hasta el 12
"""
0, 1: agarrarr el ion en el centro o el costado
7: modo relativo!!!!! 10, 11 y 12 tmb pero no se ve tan bien anyways
"""
ivec = [9]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec3[i]], FluoVec3[i],'o')
# plt.xlim(0.78,0.8)
#%%
#desde 0 hasta 22
ivec = [19]
plt.figure()
for i in ivec:
plt.plot([f*1e-6 for f in FrequencyVec4[i]], FluoVec4[i],'o')
# plt.xlim(0.78,0.8)
#%%
"""
Primero un grafico de los tres modos
"""
import seaborn as sns
i1 = 14
i2 = 20
Freqs1 = [f*1e-6 for f in FrequencyVec4[i1]]
Counts1 = [c for c in FluoVec4[i1]]
Freqs2 = [f*1e-6 for f in FrequencyVec4[i2]]
Counts2 = [c for c in FluoVec4[i2]]
for jj in range(1000,3500):
if Counts2[jj]<101.7:
Counts2[jj]=102.2
for jj in range(4500,6000):
if Counts2[jj]<101.75:
Counts2[jj]=102.2
k1 = 900
k2 = 6000
for kk in range(800,1500):
if Counts1[kk]<101.65:
Counts1[kk]=102.2
Counts1[1722]=100.7
Counts1[1723]=101
lwidth = 3
fs = 10
bkg = 100
pale = sns.color_palette("colorblind")
col=3
plt.figure(figsize=(5.5,4))
plt.plot(Freqs1, [c-bkg for c in Counts1], linewidth=lwidth,color=pale[col])
plt.plot(Freqs2[k1:k2], [c+0.06-bkg for c in Counts2[k1:k2]], linewidth=lwidth,color=pale[col])
plt.ylim(-0.1,4)
plt.xlim(0.7,1.75)
plt.yticks([0,1,2,3])
plt.ylabel('Cuentas por píxel')
plt.xlabel('Frecuencia de excitación (MHz)')
plt.grid(alpha=0.5)
# plt.xlim(0.78,0.8)
#freq radial 1
plt.figure(figsize=(3.5,3))
plt.plot(Freqs1, [c-bkg for c in Counts1], linewidth=lwidth,color=pale[col])
#plt.plot(Freqs2[k1:k2], [c+0.06-bkg for c in Counts2[k1:k2]], linewidth=lwidth,color=pale[col])
plt.ylim(-0.1,3.2)
plt.xlim(0.787,0.795)
plt.yticks([0,1,2,3])
plt.ylabel('Cuentas por píxel')
plt.xlabel('Frecuencia de excitación (MHz)')
plt.grid(alpha=0.5)
plt.xticks([0.788, 0.791, 0.794])
# plt.xlim(0.78,0.8)
#freq radial 1
plt.figure(figsize=(3.5,3))
plt.plot(Freqs1, [c-bkg for c in Counts1], linewidth=lwidth,color=pale[col])
#plt.plot(Freqs2[k1:k2], [c+0.06-bkg for c in Counts2[k1:k2]], linewidth=lwidth,color=pale[col])
plt.ylim(-0.1,3.2)
plt.xlim(0.8745,0.8825)
plt.yticks([0,1,2,3])
plt.ylabel('Cuentas por píxel')
plt.xlabel('Frecuencia de excitación (MHz)')
plt.grid(alpha=0.5)
plt.xticks([0.875, 0.878, 0.881])
# plt.xlim(0.78,0.8)
......@@ -13,6 +13,9 @@ from scipy import interpolate
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230707_MotionalSpectrum_v2//Data')
Data = []
for ii in range(1,10):
Data.append(f"ss0{ii}.dat")
......
......@@ -12,8 +12,9 @@ from scipy import interpolate
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataOpticTransitory/')
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230510_MotionalSpectrum/DataOpticTransitory/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230510_MotionalSpectrum//DataOpticTransitory')
MOTIONAL_FILES = """
000012033-AD9910RAM
......@@ -56,13 +57,15 @@ for i, fname in enumerate(MOTIONAL_FILES.split()):
Potencias = [7.4, 11.4, 16.8, 23.2, 31.1, 40.7, 51.5, 64, 78.2, 92.7, 108, 124, 134, 154, 167]
PotenciasUsadas = [7.4, 11.4, 16.8, 23.2, 31.1, 40.7, 51.5, 64, 78.2]
#%%
"""
Ploteo una curva para buscar su minimo
"""
jvec = [0,1,2]
jvec = [9]
plt.figure()
i = 0
......@@ -90,7 +93,7 @@ plt.legend(loc='upper left')
Ploteo las curvas de referencia
"""
jvec = [0, 1, 2, 3, 8]
jvec = [9]
......@@ -136,9 +139,146 @@ plt.axhline(1)
plt.xlabel('Potencia IR (uW)')
#%%
"""
Ahora hago lo de antes pero bien, con ajustes, como debe ser
"""
def Lorentzian( x, A, B, x0, gam ):
return A * gam**2 / ( gam**2 + ( x - x0 )**2) + B
def ErrorDRdepth(p, f, b):
ep = np.sqrt(p)
ef = np.sqrt(f)
eb = np.sqrt(b)
derivadap = 1/((f-b)**2)
derivadaf = ((p-b)/((f-b)**2))**2
derivadab = ((p-f)/((f-b)**2))**2
return 1*np.sqrt(derivadap*ep*ep + derivadaf*ef*ef + derivadab*eb*eb)
def SaturationCurve_detzero(p, F0, a,b):
return b*(1-0.5*F0*a*p*(1/(1+a*p)))
bkg = np.min(Counts[2])
depths = []
errordepths = []
js = [0,1,2,3,4,5,6,7,8,9]
#js=[9]
poptsvec = []
for k in js:
Freqs = [1*f*1e-3 for f in RealFreqs[k]]
Coun = [c for c in Counts[k]]
if k==4:
Coun[97]=3800
elif k==2:
Coun[129]=3400
elif k==5:
Coun[115]=3750
Coun[116]=3850
elif k==8:
Coun[98]=4200
elif k==9:
Coun[52]=4400
Coun[77]=4400
Coun[100]=4000
Coun[104]=3700
Coun[129]=4300
Coun[130]=4300
#popt, pcov = curve_fit(Gaussian, Freqs, Counts, p0=(-200,2100,444.2,0.05))
popt, pcov = curve_fit(Lorentzian, Freqs, Coun, p0=(-2000,3000,784.2,0.05), bounds=((-10000,0,0,0),(0,1e4, 1e4, 1)))
poptsvec.append(popt)
if k==0:
depths.append(0)
errordepths.append(0.03)
else:
depths.append(1-(np.min(Lorentzian(Freqs,*popt))-bkg)/(popt[1]-bkg))
errordepths.append(ErrorDRdepth(np.min(Lorentzian(Freqs,*popt)),popt[1], bkg))
if len(js)==1:
plt.figure()
plt.plot(Freqs,Coun,'-o')
plt.plot(Freqs,Lorentzian(Freqs,*popt))
# plt.xlim(782.5,788)
if not len(js)==1:
plt.figure()
#plt.errorbar(PotenciasUsadas+[92.7],depths,yerr=errordepths,fmt='o',capsize=3)
plt.errorbar(PotenciasUsadas,depths[:-1],yerr=errordepths[:-1],fmt='o',capsize=3)
#%%
# poptcurv, pcovcurv = curve_fit(SaturationCurve_detzero,PotenciasUsadas,depths[:-1],p0=(10,1e-3, -2))
plong = np.arange(0,90,0.1)
ms = 7
cs = 3
fs = 10
plt.figure(figsize=(3.,3))
plt.errorbar(PotenciasUsadas,depths[:-1],yerr=errordepths[:-1],fmt='o',color='black',capsize=cs,markersize=ms)
plt.xlabel(r'Potencia UV ($\mu$W)',fontsize=fs)
plt.ylabel('Profundidad',fontsize=fs)
plt.grid(alpha=0.5)
plt.ylim(0, 0.28)
plt.xlim(0,82)
plt.tight_layout()
# plt.savefig('C://Users//nicon//Nextcloud//Nico//Doctorado//Tesis//Tesis_doctorado//Chapters//figures//Cap9//fig2b.pdf')
#%%
import seaborn as sns
paleta = sns.color_palette("flare", 5)
k0, k1, k2, k3, k4 = 0, 1, 2, 3, 8
c0, c1, c2, c3, c4 = 0, 1, 2, 3, 4
Coun0 = [c for c in Counts[k0]]
Coun1 = [c for c in Counts[k1]]
Coun2 = [c for c in Counts[k2]]
Coun3 = [c for c in Counts[k3]]
Coun4 = [c for c in Counts[k4]]
Coun4[98]=4200
lwidth = 4
ms = 4
fs = 10
plt.figure(figsize=(3.,3))
plt.plot(Freqs,Coun0,'o', color=paleta[c0], alpha=0.5, markersize = ms)
plt.plot(Freqs,Lorentzian(Freqs,*poptsvec[k0]), color=paleta[c1], linewidth=lwidth)
plt.plot([f+0.6 for f in Freqs],Coun1,'o', color=paleta[c1], alpha=0.5, markersize = ms)
plt.plot([f+0.6 for f in Freqs],Lorentzian(Freqs,*poptsvec[k1]), color=paleta[c1], linewidth=lwidth)
plt.plot([f-0.1 for f in Freqs],Coun2,'o', color=paleta[c2], alpha=0.5, markersize = ms)
plt.plot([f-0.1 for f in Freqs],Lorentzian(Freqs,*poptsvec[k2]), color=paleta[c2], linewidth=lwidth)
plt.plot(Freqs,Coun3,'o', color=paleta[c3], alpha=0.5, markersize = ms)
plt.plot(Freqs,Lorentzian(Freqs,*poptsvec[k3]), color=paleta[c3], linewidth=lwidth)
plt.plot([f-0.3 for f in Freqs],Coun4,'o', color=paleta[c4], alpha=0.5, markersize = ms)
plt.plot([f-0.3 for f in Freqs],Lorentzian(Freqs,*poptsvec[k4]), color=paleta[c4], linewidth=lwidth)
plt.ylim(1800,4700)
plt.xlim(779,789)
plt.xlabel('Frecuencia mod IR1 (kHz)', fontsize=fs)
plt.ylabel('Cuentas', fontsize=fs)
plt.tight_layout()
plt.grid(alpha=0.5)
# plt.savefig('C://Users//nicon//Nextcloud//Nico//Doctorado//Tesis//Tesis_doctorado//Chapters//figures//Cap9//fig2c.pdf')
......@@ -9,12 +9,14 @@ import os
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230523_transitorioshighpower/')
# Solo levanto algunos experimentos
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230523_transitorioshighpower')
SP_files = [12221, 12222, 12223, 12224]
Random_files = [8749]
def expo(T, tau, N0, C):
global T0
def expo(T, tau, N0, C, T0):
return N0*np.exp(-(T-T0)/tau) + C
def pow_from_amp(amp):
......@@ -91,7 +93,7 @@ for Height in [SP_Heigths[3]]:
print(Height)
plt.plot(RefBins, Height,'o')
plt.xlim(0.15, 0.5)
# plt.xlim(0.15, 0.5)
#%%
......@@ -116,7 +118,7 @@ popt_vec = []
pcov_vec = []
plt.figure()
for j in range(len(SP_Heigths)):
for j in [3]:
#for j in [12]:
print(j)
#BackgroundVector = SP_Bkgr_builder(np.mean(SP_Heigths[j][0:50]),np.mean(SP_Heigths[j][-50:]),59,67,965)
......@@ -125,17 +127,16 @@ for j in range(len(SP_Heigths)):
CorrectedSP_Height = SP_Heigths[j]
if j==3:
popt, pcov = curve_fit(expo, RefBins[90:], CorrectedSP_Height[90:], p0=(5, 1000, 100))
popt_vec.append(popt)
pcov_vec.append(pcov)
plt.plot(RefBins, CorrectedSP_Height)
plt.plot(RefBins[90:], [expo(r, *popt) for r in RefBins][90:])
Taus.append(popt[0])
Amps.append(popt[1])
Offsets.append(popt[2])
ErrorTaus.append(np.sqrt(pcov)[0][0])
print(Taus)
popt, pcov = curve_fit(expo, RefBins[700:], CorrectedSP_Height[700:], p0=(1e-2, 10000, 1, 1))
popt_vec.append(popt)
pcov_vec.append(pcov)
plt.plot(RefBins, CorrectedSP_Height)
plt.plot(RefBins[700:], [expo(r, *popt) for r in RefBins][700:])
Taus.append(popt[0])
Amps.append(popt[1])
Offsets.append(popt[2])
ErrorTaus.append(np.sqrt(pcov[0,0]))
print(Taus)
#%%
plt.figure()
plt.plot(UVpotVec[:-5], Taus[:-6],'o', markersize=10, color='purple')
......@@ -164,13 +165,6 @@ FIGURA PAPER SP CON AJUSTES
import matplotlib
import seaborn as sns
matplotlib.rcParams['mathtext.fontset'] = 'stix'
matplotlib.rcParams['font.family'] = 'STIXGeneral'
plt.style.use('seaborn-bright')
plt.rcParams.update({
"text.usetex": False,
})
plt.figure()
plt.plot(Stat_Bins[0][:-1], Stat_Heigths[0])
......@@ -270,12 +264,7 @@ FIGURA PAPER
import matplotlib
import seaborn as sns
matplotlib.rcParams['mathtext.fontset'] = 'stix'
matplotlib.rcParams['font.family'] = 'STIXGeneral'
plt.style.use('seaborn-bright')
plt.rcParams.update({
"text.usetex": False,
})
jselected = [1, 5, 12]
......
......@@ -12,8 +12,9 @@ from scipy import interpolate
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230609_LocalizedSaturationInCrystal/Data/')
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230609_LocalizedSaturationInCrystal/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230609_LocalizedSaturationInCrystal//Data')
MOTIONAL_FILES = """000012579-MeltingExperiment
000012580-MeltingExperiment
......
......@@ -19,7 +19,7 @@ Calib_Files = """000012744-UV_Scan_withcalib_Haeffner
000012754-UV_Scan_withcalib_Haeffner
000012755-UV_Scan_withcalib_Haeffner"""
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230616_newUVspectra//Data')
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220503_EspectrosUVnuevos\Data
......
......@@ -12,8 +12,8 @@ from scipy import interpolate
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230707_MotionalSpectrum_v2/Data/')
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230707_MotionalSpectrum_v2/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230707_MotionalSpectrum_v2//Data')
MOTIONAL_FILES = """
000013002-AD9910RAM_andor
......@@ -49,7 +49,7 @@ for i, fname in enumerate(MOTIONAL_FILES.split()):
Potencias_IR = [0,20,50]
#%%
#%%
"""
Ploteo una curva para buscar su minimo
......
......@@ -12,8 +12,9 @@ from scipy import interpolate
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230714_EspectrosCristal4iones/Data/')
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230714_EspectrosCristal4iones/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230714_EspectrosCristal4iones//Data')
MOTIONAL_FILES = """000013292-UV_Scan_withcal_optimized_andor
000013293-UV_Scan_withcal_optimized_andor
......
......@@ -12,8 +12,9 @@ from scipy import interpolate
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230720_EspectrosCristal2iones/Data/')
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230720_EspectrosCristal2iones/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230720_EspectrosCristal2iones//Data')
MOTIONAL_FILES = """000013489-IR_Scan_withcal_optimized_andor
000013490-IR_Scan_withcal_optimized_andor
......@@ -132,7 +133,7 @@ plt.legend()
#%%
#from EITfit.MM_eightLevel_2repumps_AnalysisFunctions import PerformExperiment_8levels_MM, GenerateNoisyCPT_MM_fit
# from EITfit.MM_eightLevel_2repumps_AnalysisFunctions import PerformExperiment_8levels_MM, GenerateNoisyCPT_MM_fit
from scipy.optimize import curve_fit
from time import time as titi
......
......@@ -16,7 +16,6 @@ from glob import glob
#%% Carga de datos experimentales
#Mediciones barriendo angulo del TISA y viendo kicking de resonancias oscuras
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
......@@ -24,7 +23,7 @@ from glob import glob
os.chdir('Data')
#%%
"""
......
......@@ -14,6 +14,7 @@ from scipy import interpolate
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230804_RotationalDopplerShift_v2/Data')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230804_RotationalDopplerShift_v2//Data')
"""
......
......@@ -12,8 +12,9 @@ from scipy import interpolate
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230804_RotationalDopplerShift_v2/Data')
#os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230804_RotationalDopplerShift_v2/Data')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20230804_RotationalDopplerShift_v2//Data')
"""
......
......@@ -325,12 +325,14 @@ fig.suptitle("Configuracion +2/-2 colineales, ion al costado del haz dcA")
# for kk,vv in data['datasets'].items():
# print(f'{kk}:\t',vv)
"""
FIGURA TESIS PARTE 1
"""
from scipy.signal import savgol_filter as savgol
# Grafico con subplots
fig,axx = plt.subplots(1,2,figsize=(12,8), constrained_layout=True , sharey=True )
fig,axx = plt.subplots(1,2,figsize=(6.5,3.2), constrained_layout=True , sharey=True )
fig.set_constrained_layout_pads(w_pad=1/72, h_pad=0, hspace=0, wspace=0)
......@@ -379,8 +381,8 @@ for data in sorted([ h5py.File(DataFile, 'r') for DataFile in DATAFILES_costado_
CURVA = (cuentas/base-1)/5 + compOven
CURVA_SUAVE = (cuentas_suave/base-1)/5+ compOven
ax.plot(frecuencia,CURVA , '.', alpha=0.1)
ax.plot(frecuencia,CURVA_SUAVE, '-', alpha=0.9, color=ax.get_lines()[-1].get_color())
ax.plot([f-440 for f in frecuencia],CURVA , '.', alpha=0.1)
ax.plot([f-440 for f in frecuencia],CURVA_SUAVE, '-', alpha=0.9, color=ax.get_lines()[-1].get_color())
......@@ -389,7 +391,7 @@ for data in sorted([ h5py.File(DataFile, 'r') for DataFile in DATAFILES_costado_
I = np.arange(len(frecuencia))[(frecuencia>rango.min())&(frecuencia<rango.max())]
idx = cuentas_suave[I].argmin() + I[0]
ax.plot(frecuencia[idx],(cuentas_suave[idx]/base[idx]-1)/5+compOven, 'o', ms=6, color=ax.get_lines()[-1].get_color(),zorder=10)
ax.plot([frecuencia[idx]-440],(cuentas_suave[idx]/base[idx]-1)/5+compOven, 'o', ms=6, color=ax.get_lines()[-1].get_color(),zorder=10)
Base = np.polyval(mm,rango.mean())
val_pico = cuentas_suave[I].min()
......@@ -398,14 +400,14 @@ for data in sorted([ h5py.File(DataFile, 'r') for DataFile in DATAFILES_costado_
print('')
ax.legend()
# ax.legend()
ax.set_xlim(-9,9)
ax = axx[1]
ax.plot( picos[0] , compOven_vec , '.')
ax.plot( picos[1] , compOven_vec , 'o' )
# ax.plot( picos[0] , compOven_vec , '.')
# ax.plot( picos[1] , compOven_vec , 'o' )
......@@ -414,27 +416,29 @@ profundidad_dev = [ np.array(np.array(picos[0])[compOven_vec==val].tolist()+np.
compOven_uniq = np.unique(compOven_vec)
ax.plot( profundidad_mean , compOven_uniq , 'o-', color='gray' , alpha=0.5 )
ax.errorbar( profundidad_mean , compOven_uniq , xerr=profundidad_dev , color='gray' ,capsize=5)
ax.plot( profundidad_mean , compOven_uniq , 'o-', color='black' , alpha=1 )
ax.errorbar( profundidad_mean , compOven_uniq , xerr=profundidad_dev , color='black' ,capsize=3)
ax.set_xlabel('Profundidad')
ax.set_xlabel('Profundidad media de resonancias')
axx[0].set_ylabel('compOven [V]')
axx[0].set_xlabel('frecuencia [kHz]')
axx[0].set_ylabel('Voltaje electrodo (V)', fontsize=10)
axx[0].set_xlabel('Desintonía IR1 (MHz)',fontsize=10)
axx[0].grid(alpha=0.5)
axx[1].grid(alpha=0.5)
for ax in axx:
ax.grid(b=True,linestyle=':',color='lightgray')
# for ax in axx:
# ax.grid(b=True,linestyle=':',color='lightgray')
ax.set_xlim( 0, ax.get_xlim()[1] )
fig.suptitle("Configuracion +2/-2 colineales, ion al costado del haz compOven")
# fig.suptitle("Configuración +2/-2 colineales")
# fig.savefig("config+2-2_colineal_ion_al_costado_compOven.png")
plt.savefig('C://Users//nicon//Nextcloud//Nico//Doctorado//Tesis//Tesis_doctorado//Chapters//figures//Cap8//fig3a.pdf')
......@@ -572,7 +576,7 @@ ax.set_xlim( 0, ax.get_xlim()[1] )
fig.suptitle("Configuracion +2/-2 colineales, ion arriba del haz dcA")
fig.savefig("config+2-2_colineal_ion_ariba_dcA.png")
# fig.savefig("config+2-2_colineal_ion_ariba_dcA.png")
......
......@@ -58,7 +58,7 @@ def HImatrix(rabG, rabP, phidoppler, titadoppler, phiprobe, titaprobe, circulari
i, j = 2, 4
HI[i-1, j-1] = -(rabG/np.sqrt(3)) * np.cos(titadoppler)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 3, 5
HI[i-1, j-1] = -(rabP/2) * np.sin(titaprobe)*(np.cos(phiprobe)-1j*np.sin(phiprobe)*circularityprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
......@@ -72,6 +72,7 @@ def HImatrix(rabG, rabP, phidoppler, titadoppler, phiprobe, titaprobe, circulari
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
i, j = 4, 6
HI[i-1, j-1] = -(rabP/np.sqrt(12)) * np.sin(titaprobe)*(np.cos(phiprobe)-1j*np.sin(phiprobe)*circularityprobe)
HI[j-1, i-1] = np.conjugate(HI[i-1, j-1])
......
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Sep 1 17:58:39 2020
@author: oem
"""
import os
import numpy as np
#os.chdir('/home/oem/Nextcloud/G_liaf/liaf-TrampaAnular/Código General/EIT-CPT/Buenos Aires/Experiment Simulations/CPT scripts/Eight Level 2 repumps')
from threeLevel_2repumps_AnalysisFunctions import CalculoTeoricoDarkResonances_8levels, GetMinimaInfo, GetPlotsofFluovsAngle_8levels, PerformExperiment_8levels, FindDRFrequencies, FindRelativeFluorescencesOfDR, GenerateNoisyCPT, SmoothNoisyCPT, GetFinalMaps, GenerateNoisyCPT_fixedRabi, GenerateNoisyCPT_fit
import matplotlib.pyplot as plt
import time
from threeLevel_2repumps_AnalysisFunctions import MeasureRelativeFluorescenceFromCPT, IdentifyPolarizationCoincidences, RetrieveAbsoluteCoincidencesBetweenMaps, GetClosestIndex
#C:\Users\Usuario\Nextcloud\G_liaf\liaf-TrampaAnular\Código General\EIT-CPT\Buenos Aires\Experiment Simulations\CPT scripts\Eight Level 2 repumps
ub = 9.27e-24
h = 6.63e-34
c = (ub/h)*1e-4 #en unidades de MHz/G
#u = 1e6
u = 33.5e6
B = (u/(2*np.pi))/c
#sg, sp = 0.6, 5 #parámetros de control, saturación del doppler y repump
#rabG, rabP = sg*gPS, sp*gPD #frecuencias de rabi
gPS, gPD, = 2*np.pi*21.58e6, 2*np.pi*1.35e6 #anchos de linea de las transiciones
lw = 0.1
DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth = lw, lw, lw #ancho de linea de los laseres
DetDoppler = -36 #42
DetRepumpVec = [DetDoppler+29.6]
Tvec = [0.7] #temperatura en mK
alpha = 0*(np.pi/180) #angulo entre los láseres
phidoppler, titadoppler = 0, 90
phirepump, titarepump = 0, 0
phiprobe = 0
titaprobe = 90
#Calculo las resonancias oscuras teóricas
#ResonanciasTeoricas, DRPositivas = CalculoTeoricoDarkResonances_8levels(u/(2*np.pi*1e6), titadoppler, DetDoppler, DetRepump)
#Parametros de la simulacion cpt
center = -45
span = 80
freqMin = center-span*0.5
freqMax = center+span*0.5
""" parametros para tener espectros coherentes
freqMin = -56
freqMax = 14
"""
freqStep = 1e-1
noiseamplitude = 0
RelMinMedido0Vector = []
RelMinMedido1Vector = []
RelMinMedido2Vector = []
RelMinMedido3Vector = []
RelMinMedido4Vector = []
#Sr = np.arange(0, 10, 0.2)
#Sg = np.arange(0.01, 1, 0.05)
#Sp = np.arange(0.1, 6.1, 1)
#Sg = [0.6**2]
#Sp = [2.3**2]
Sg = [1.4]
Sp = [6]
Sr = [11]
i = 0
save = False
showFigures = True
if not showFigures:
plt.ioff()
else:
plt.ion()
fig1, ax1 = plt.subplots()
offsetx = 464
ax1.plot([f-offsetx for f in FreqsDR], CountsDR, 'o')
run = True
Scale = 730
Offset = 600 #600 para 20k cuentas aprox
MaxCoherenceValue = []
for sg in Sg:
for sp in Sp:
rabG, rabP = sg*gPS, sp*gPD
for Ti in Tvec:
T = Ti*1e-3
for DetRepump in DetRepumpVec:
print(T)
for sr in Sr:
rabR = sr*gPD
#MeasuredFreq, MeasuredFluo = GenerateNoisyCPT(rabG, rabR, rabP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
if run:
MeasuredFreq4, MeasuredFluo4 = GenerateNoisyCPT_fixedRabi(sg, sr, sp, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqMin, freqMax, freqStep, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
#SmoothFluo = SmoothNoisyCPT(MeasuredFluo, window=9, poly=2)
SmoothFluo4 = MeasuredFluo4
#Scale = max(BestC)/max([100*s for s in SmoothFluo4])
ax1.plot(MeasuredFreq4, [Scale*100*f + Offset for f in SmoothFluo4], label=f'Sr = {sr}')
ax1.axvline(DetDoppler, linestyle='--', linewidth=1)
#if sr != 0:
#ax1.axvline(DetRepump, linestyle='--', linewidth=1)
MaxCoherenceValue.append(np.max(SmoothFluo4))
#print(titaprobe)
ax1.set_xlabel('Detuning Rebombeo (MHz)')
ax1.set_ylabel('Fluorescencia (AU)')
ax1.set_title(f'B: {round(B, 2)} G, Sdop: {round(sg, 2)}, Sp: {round(sp, 2)}, Sr: {round(sr, 2)}, lw: {lw} MHz, T: {Ti} mK')
#ax1.set_ylim(0, 8)
#ax1.axvline(DetDoppler, linestyle='dashed', color='red', linewidth=1)
#ax1.axvline(DetRepump, linestyle='dashed', color='black', linewidth=1)
#ax1.set_title('Pol Doppler y Repump: Sigma+ Sigma-, Pol Probe: PI')
#ax1.legend()
ax1.grid()
print (f'{i+1}/{len(Sg)*len(Sp)}')
i = i + 1
if save:
plt.savefig(f'Mapa_plots_100k_1mk/CPT_SMSM_sdop{round(sg, 2)}_sp{round(sp, 2)}_sr{round(sr, 2)}.jpg')
ax1.legend()
"""
plt.figure()
plt.plot(Sr, MaxCoherenceValue, 'o')
plt.xlabel('Sr')
plt.ylabel('Coherence')
"""
"""
plt.figure()
plt.plot(MeasuredFreq, [100*f for f in SmoothFluo], color='darkred')
plt.xlabel('Desintonía 866 (MHz)')
plt.ylabel('Fluorescencia (A.U.)')
plt.axvline(-30, color='darkblue', linewidth=1.2, linestyle='--')
plt.yticks(np.arange(0.4, 1.8, 0.2))
plt.ylim(0.5, 1.6)
plt.grid()
plt.figure()
plt.plot(MeasuredFreq4, [100*f for f in SmoothFluo4], color='darkred')
plt.xlabel('Desintonía 866 (MHz)')
plt.ylabel('Fluorescencia (A.U.)')
plt.axvline(-30, color='darkblue', linewidth=1.2, linestyle='--')
plt.yticks(np.arange(0.8, 2.4, 0.4))
plt.grid()
"""
#%%
from scipy.optimize import curve_fit
T = 0.5e-3
sg = 0.7
sp = 6
sr = 0
DetDoppler = -14
DetRepump = 0
FitsSp = []
FitsOffset = []
Sg = [0.87]
def FitEIT(freqs, SP, offset):
MeasuredFreq, MeasuredFluo = GenerateNoisyCPT_fit(0.87, sr, SP, gPS, gPD, DetDoppler, DetRepump, u, DopplerLaserLinewidth, RepumpLaserLinewidth, ProbeLaserLinewidth, T, alpha, phidoppler, titadoppler, phiprobe, [titaprobe], phirepump, titarepump, freqs, plot=False, solvemode=1, detpvec=None, noiseamplitude=noiseamplitude)
FinalFluo = [f*43000 + 2685 for f in MeasuredFluo]
return FinalFluo
freqs = [f-offsetx+32 for f in FreqsDR]
freqslong = np.arange(min(freqs), max(freqs)+freqs[1]-freqs[0], 0.1*(freqs[1]-freqs[0]))
popt, pcov = curve_fit(FitEIT, freqs, CountsDR, p0=[5, 700], bounds=(0, [10, 1e6]))
FitsSp.append(popt[0])
FitsOffset.append(popt[1])
print(popt)
FittedEIT = FitEIT(freqslong, *popt)
plt.figure()
plt.errorbar(freqs, CountsDR, yerr=2*np.sqrt(CountsDR), fmt='o', capsize=2, markersize=2)
plt.plot(freqslong, FitEIT(freqslong, *popt))
plt.title(f'Sdop: {round(popt[0], 2)}, Spr: {round(popt[1], 2)}, T: {T*1e3} mK, detDop: {DetDoppler} MHz')
np.savetxt('CPT_measured.txt', np.transpose([freqs, CountsDR]))
np.savetxt('CPT_fitted.txt', np.transpose([freqslong, FittedEIT]))
import h5py
import matplotlib.pyplot as plt
import numpy as np
import sys
import re
import ast
from scipy.optimize import curve_fit
import os
from scipy import interpolate
#Mediciones barriendo angulo del TISA y viendo kicking de resonancias oscuras
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20220106_CPT_DosLaseres_v08_TISA_DR\Data
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230707_MotionalSpectrum_v2/Data/')
os.chdir('C://Users//nicon//Doctorado//artiq_experiments//analisis//plots//20240515_MotionalSpectrum_v3_pendientes//Data')
MOTIONAL_FILES = """
000013002-AD9910RAM_andor
000013003-AD9910RAM_andor
000013004-AD9910RAM_andor
"""
def SeeKeys(files):
for i, fname in enumerate(files.split()):
data = h5py.File(fname+'.h5', 'r') # Leo el h5: Recordar que nuestros datos estan en 'datasets'
print(fname)
print(list(data['datasets'].keys()))
print(SeeKeys(MOTIONAL_FILES))
#%%
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20211101_CPT_DosLaseres_v03\Data
Counts_roi1 = []
Counts_roi2 = []
RealFreqs = []
IR1_amp_vec = []
for i, fname in enumerate(MOTIONAL_FILES.split()):
print(str(i) + ' - ' + fname)
data = h5py.File(fname+'.h5', 'r')
RealFreqs.append(np.array(data['datasets']['real_freq']))
Counts_roi1.append(np.array(data['datasets']['counts_roi1']))
Counts_roi2.append(np.array(data['datasets']['counts_roi2']))
IR1_amp_vec.append(np.array(data['datasets']['IR1_amp']))
Potencias_IR = [0,20,50]
#%%
"""
Ploteo una curva para buscar su minimo
"""
jvec = [2,1,0]
plt.figure()
i = 0
kmin = 106
for j in jvec:
plt.errorbar([1*f*1e-3 for f in RealFreqs[j]], Counts_roi1[j], yerr=0.1*np.sqrt(Counts_roi1[j]), fmt='o', capsize=2, markersize=2, label=f'IR1 power: {Potencias_IR[j]} uW')
#plt.plot([1*f*1e-3 for f in RealFreqs[j]][kmin], Counts[j][kmin], 'o', markersize=15)
i = i + 1
plt.xlabel('Frecuencia mod IR2 (kHz)')
plt.ylabel('Cuentas/400 ms')
plt.xlim(780,810)
plt.ylim(18680,19650)
plt.grid()
plt.legend(loc='lower left')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment