Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
artiq_experiments
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nicolas Nunez Barreto
artiq_experiments
Commits
6ccdeec4
Commit
6ccdeec4
authored
Aug 15, 2023
by
Marcelo Luda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
varsion luda
parent
6c0d5bad
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
842 additions
and
0 deletions
+842
-0
RDS_CPT2_lolo.py
...plots/20230804_RotationalDopplerShift_v2/RDS_CPT2_lolo.py
+842
-0
No files found.
analisis/plots/20230804_RotationalDopplerShift_v2/RDS_CPT2_lolo.py
0 → 100644
View file @
6ccdeec4
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
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
# os.chdir('/home/nico/Documents/artiq_experiments/analisis/plots/20230804_RotationalDopplerShift_v2/Data')
os
.
chdir
(
'Data'
)
"""
en este codigo ploteo espectros CPT de resonancias D-D para configuracion colineal (insensible a velocidad perpendicular)
y configuracion desplazada (sensible).
Primero una gaussiana variando la potencia (power_files).
Luego, variando compensacion con electrodo DCA y con electrodo OVEN.
"""
def
find_nearest
(
array
,
value
):
array
=
np
.
asarray
(
array
)
idx
=
(
np
.
abs
(
array
-
value
))
.
argmin
()
return
idx
# Levanto carpetas / archivos de datos por experimento
POWER_FILES
=
sorted
(
glob
(
'VaryingPower/*'
))
EXTRA_FILES
=
sorted
(
glob
(
'Extra/*'
))
COMP_COL_FILES
=
sorted
(
glob
(
'VaryingComp/Col/*'
))
COMP_DESP_FILES
=
sorted
(
glob
(
'VaryingComp/Desp/*'
))
# Función para verificar lectura de archivos
def
SeeKeys
(
files
):
for
i
,
fname
in
enumerate
(
files
):
data
=
h5py
.
File
(
fname
,
'r'
)
# Leo el h5: Recordar que nuestros datos estan en 'datasets'
print
(
fname
)
print
(
list
(
data
[
'datasets'
]
.
keys
()))
# Veamos si está bien...
print
(
SeeKeys
(
POWER_FILES
))
#carpeta pc nico labo escritorio:
#C:\Users\Usuario\Documents\artiq\artiq_experiments\analisis\plots\20211101_CPT_DosLaseres_v03\Data
PowerCounts
=
[]
PowerIR1_Freqs
=
[]
for
i
,
fname
in
enumerate
(
POWER_FILES
):
print
(
f
"{i:02d} - {fname}"
)
data
=
h5py
.
File
(
fname
,
'r'
)
#Amplitudes.append(np.array(data['datasets']['amplitudes']))
PowerCounts
.
append
(
np
.
array
(
data
[
'datasets'
][
'counts_spectrum'
]))
PowerIR1_Freqs
.
append
(
np
.
array
(
data
[
'datasets'
][
'IR1_Frequencies'
]))
ExtraCounts
=
[]
ExtraIR1_Freqs
=
[]
for
i
,
fname
in
enumerate
(
EXTRA_FILES
):
print
(
f
"{i:02d} - {fname}"
)
data
=
h5py
.
File
(
fname
,
'r'
)
#Amplitudes.append(np.array(data['datasets']['amplitudes']))
ExtraCounts
.
append
(
np
.
array
(
data
[
'datasets'
][
'counts_spectrum'
]))
ExtraIR1_Freqs
.
append
(
np
.
array
(
data
[
'datasets'
][
'IR1_Frequencies'
]))
CompColCounts
=
[]
CompColIR1_Freqs
=
[]
for
i
,
fname
in
enumerate
(
COMP_COL_FILES
):
print
(
f
"{i:02d} - {fname}"
)
data
=
h5py
.
File
(
fname
,
'r'
)
#Amplitudes.append(np.array(data['datasets']['amplitudes']))
CompColCounts
.
append
(
np
.
array
(
data
[
'datasets'
][
'counts_spectrum'
]))
CompColIR1_Freqs
.
append
(
np
.
array
(
data
[
'datasets'
][
'IR1_Frequencies'
]))
CompDespCounts
=
[]
CompDespIR1_Freqs
=
[]
for
i
,
fname
in
enumerate
(
COMP_DESP_FILES
):
print
(
f
"{i:02d} - {fname}"
)
data
=
h5py
.
File
(
fname
,
'r'
)
#Amplitudes.append(np.array(data['datasets']['amplitudes']))
CompDespCounts
.
append
(
np
.
array
(
data
[
'datasets'
][
'counts_spectrum'
]))
CompDespIR1_Freqs
.
append
(
np
.
array
(
data
[
'datasets'
][
'IR1_Frequencies'
]))
#%%
"""
Resonancias DD variando la potencia del IR2
"""
powermedvec
=
[
3
,
4
,
0
,
1
,
2
]
AmpsVecs
=
[
0.05
,
0.08
,
0.12
,
0.17
,
0.22
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
jj
=
0
for
med
in
powermedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
PowerIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
PowerCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
,
label
=
f
'amp:{AmpsVecs[jj]}'
)
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando potencia de IR2 para potencia de IR1 fija'
)
#%%
"""
Resonancias DD en config colineal, haces OAM, lindas con algunos parametros (ver cuaderno)
"""
extramedvec
=
[
1
]
#AmpsVecs = [0.05, 0.08, 0.12, 0.17, 0.22]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
jj
=
0
for
med
in
extramedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
ExtraIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
ExtraCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
plt
.
xlim
(
433.5
,
438
)
plt
.
ylim
(
1100
,
3200
)
plt
.
axvline
(
freqDR
)
plt
.
axvline
(
freqDR
+
0.8
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
0.8
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
+
0.9
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
0.9
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
+
1.65
,
color
=
'green'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
1.65
,
color
=
'green'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando potencia de IR2 para potencia de IR1 fija'
)
#%%
"""
Comparo resonancias DD con haces OAM en config colineal con desplazada
"""
extramedvec
=
[
1
,
2
]
#AmpsVecs = [0.05, 0.08, 0.12, 0.17, 0.22]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
secular
=
False
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
ExtraIR1_Freqs
[
1
][
1
:]],
[
c
for
c
in
ExtraCounts
[
1
][
1
:]],
'-o'
,
markersize
=
2
,
label
=
'Colineales'
)
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
ExtraIR1_Freqs
[
2
][
1
:]],
[
c
for
c
in
ExtraCounts
[
2
][
1
:]],
'-o'
,
markersize
=
2
,
label
=
'Desplazadas'
)
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
plt
.
xlim
(
425
,
455
)
plt
.
ylim
(
1100
,
3200
)
if
secular
:
plt
.
axvline
(
freqDR
)
plt
.
axvline
(
freqDR
+
0.8
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
0.8
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
+
0.9
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
0.9
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
+
1.65
,
color
=
'green'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
1.65
,
color
=
'green'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Comparacion de config colineal (insensible) con desplazada (sensible)'
)
#%%
"""
Resonancias DD config colineal OAM variando compensacion dcA
"""
import
seaborn
as
sns
paleta
=
sns
.
color_palette
(
"tab10"
)
compcolmedvec
=
[
5
,
0
,
1
,
2
,
3
,
4
]
CompsDCA
=
[
-
100
,
-
150
,
-
200
,
-
250
,
-
300
,
-
350
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
idx1
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
compcolmedvec
[
0
]][
1
:]],
DR1
)
idx2
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
compcolmedvec
[
0
]][
1
:]],
DR2
)
MinimosFluos_Col
=
[]
ErrorMinimosFluos_Col
=
[]
MinimosFluos_Col_Relativos
=
[]
jj
=
0
for
med
in
compcolmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
CompColCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
plt
.
plot
([
DR1
,
DR2
],
[
c
for
c
in
[
CompColCounts
[
med
][
idx1
+
1
],
CompColCounts
[
med
][
idx2
+
1
]]]
,
'o'
,
color
=
paleta
[
jj
],
markersize
=
15
)
MinimosFluos_Col
.
append
([
-
c
+
np
.
mean
(
CompColCounts
[
med
][
1
:
20
])
for
c
in
[
CompColCounts
[
med
][
idx1
+
1
],
CompColCounts
[
med
][
idx2
+
1
]]])
ErrorMinimosFluos_Col
.
append
([
np
.
sqrt
(
CompColCounts
[
med
][
idx1
+
1
]),
np
.
sqrt
(
CompColCounts
[
med
][
idx2
+
1
])])
MinimosFluos_Col_Relativos
.
append
([
1
-
(
c
-
30
)
/
(
np
.
mean
(
CompColCounts
[
med
][
0
:
20
])
-
30
)
for
c
in
[
CompColCounts
[
med
][
idx1
+
1
],
CompColCounts
[
med
][
idx2
+
1
]]])
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
#plt.xlim(433.5, 438)
#plt.ylim(1100,3200)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compesnacion dcA config colineal OAM'
)
#%%
"""
Resonancias DD config desplazada OAM variando compensacion dcA
"""
import
seaborn
as
sns
paleta
=
sns
.
color_palette
(
"tab10"
)
compdespmedvec
=
[
0
,
2
,
3
,
4
,
5
,
6
]
CompsDCA
=
[
-
100
,
-
100
,
-
150
,
-
200
,
-
250
,
-
300
,
-
350
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
idx1
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
compdespmedvec
[
0
]][
1
:]],
DR1
)
idx2
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
compdespmedvec
[
0
]][
1
:]],
DR2
)
freqDR
=
435.8
MinimosFluos_Desp
=
[]
ErrorMinimosFluos_Desp
=
[]
MinimosFluos_Desp_Relativos
=
[]
jj
=
0
for
med
in
compdespmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
CompDespCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
plt
.
plot
([
DR1
,
DR2
],
[
c
for
c
in
[
CompDespCounts
[
med
][
idx1
+
1
],
CompDespCounts
[
med
][
idx2
+
1
]]]
,
'o'
,
color
=
paleta
[
jj
],
markersize
=
15
)
MinimosFluos_Desp
.
append
([
-
c
+
np
.
mean
(
CompDespCounts
[
med
][
1
:
20
])
for
c
in
[
CompDespCounts
[
med
][
idx1
+
1
],
CompDespCounts
[
med
][
idx2
+
1
]]])
ErrorMinimosFluos_Desp
.
append
([
np
.
sqrt
(
CompDespCounts
[
med
][
idx1
+
1
]),
np
.
sqrt
(
CompDespCounts
[
med
][
idx2
+
1
])])
MinimosFluos_Desp_Relativos
.
append
([
1
-
(
c
-
30
)
/
(
np
.
mean
(
CompDespCounts
[
med
][
0
:
20
])
-
30
)
for
c
in
[
CompDespCounts
[
med
][
idx1
+
1
],
CompDespCounts
[
med
][
idx2
+
1
]]])
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
plt
.
ylim
(
400
,
1280
)
#plt.ylim(0,100)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compesnacion dcA config desplazada OAM'
)
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#%% Version Luda de los expectros al desplazar ###############################
from
scipy.signal
import
savgol_filter
as
savgol
# Grafico con subplots
fig
,
axx
=
plt
.
subplots
(
2
,
2
,
figsize
=
(
12
,
8
),
constrained_layout
=
True
,
sharey
=
'row'
,
sharex
=
'row'
)
fig
.
set_constrained_layout_pads
(
w_pad
=
1
/
72
,
h_pad
=
0
,
hspace
=
0
,
wspace
=
0
)
# En la fila de arriba los espectros ..........................................
####################################
ax
=
axx
[
0
][
0
]
compcolmedvec
=
[
5
,
0
,
1
,
2
,
3
,
4
]
CompsDCA_col
=
[
-
100
,
-
150
,
-
200
,
-
250
,
-
300
,
-
350
]
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
rango_dr1
=
np
.
array
([
435
,
437
])
rango_dr2
=
np
.
array
([
443
,
445
])
I_base_fit
=
np
.
arange
(
0
,
50
)
.
tolist
()
+
np
.
arange
(
230
,
280
)
.
tolist
()
+
np
.
arange
(
450
,
490
)
.
tolist
()
I_base_fit
=
np
.
array
(
I_base_fit
)
picos
=
{
0
:[],
1
:[]}
for
med
in
compcolmedvec
:
frecuencia
=
CompColIR1_Freqs
[
med
][
1
:]
*
2e-6
cuentas
=
CompColCounts
[
med
][
1
:]
if
med
==
4
:
# FIX OUTLIER
cuentas
=
cuentas
.
tolist
()
cuentas
.
pop
(
291
);
cuentas
.
pop
(
291
);
cuentas
.
pop
(
291
);
cuentas
=
np
.
array
(
cuentas
)
frecuencia
=
frecuencia
.
tolist
()
frecuencia
.
pop
(
291
);
frecuencia
.
pop
(
291
);
frecuencia
.
pop
(
291
);
frecuencia
=
np
.
array
(
frecuencia
)
cuentas_suave
=
savgol
(
cuentas
,
13
,
2
)
ax
.
plot
(
frecuencia
,
cuentas
,
'.'
,
alpha
=
0.5
)
ax
.
plot
(
frecuencia
,
cuentas_suave
,
'-'
,
alpha
=
0.9
,
color
=
ax
.
get_lines
()[
-
1
]
.
get_color
())
mm
=
np
.
polyfit
(
frecuencia
[
I_base_fit
],
cuentas
[
I_base_fit
],
1
)
ax
.
plot
(
[
420
,
460
],
np
.
polyval
(
mm
,[
420
,
460
])
,
'-'
,
color
=
ax
.
get_lines
()[
-
1
]
.
get_color
(),
alpha
=
0.5
)
for
jj
,
rango
in
enumerate
([
rango_dr1
,
rango_dr2
]):
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
],
'o'
,
ms
=
12
,
color
=
ax
.
get_lines
()[
-
1
]
.
get_color
(),
zorder
=
10
)
base
=
np
.
polyval
(
mm
,
rango
.
mean
())
val_pico
=
cuentas_suave
[
I
]
.
min
()
picos
[
jj
]
.
append
(
(
base
-
val_pico
)
/
base
)
# ax.plot(cuentas)
ax
.
grid
(
b
=
True
,
linestyle
=
':'
,
color
=
'lightgray'
)
ax
.
set_xlabel
(
r'frecuencia [kHz]'
)
ax
.
set_ylabel
(
r'Cuentas'
)
ax
.
set_title
(
"Colineal"
)
picos_col_dr1
=
np
.
array
(
picos
[
0
])
picos_col_dr2
=
np
.
array
(
picos
[
1
])
####################################
ax
=
axx
[
0
][
1
]
compdespmedvec
=
[
0
,
2
,
3
,
4
,
5
,
6
]
CompsDCA_desp
=
[
-
100
,
-
150
,
-
200
,
-
250
,
-
300
,
-
350
]
ftrap
=
22.1
# DR1 = 435.8
# DR2 = 444.2
rango_dr1
=
np
.
array
([
435
,
437
])
rango_dr2
=
np
.
array
([
443
,
445
])
picos
=
{
0
:[],
1
:[]}
for
med
in
compdespmedvec
:
frecuencia
=
CompDespIR1_Freqs
[
med
][
1
:]
*
2e-6
cuentas
=
CompDespCounts
[
med
][
1
:]
if
med
==
0
:
# FIX OUTLIER
cuentas
[
207
]
=
cuentas
[
206
:
208
:
2
]
.
mean
()
cuentas_suave
=
savgol
(
cuentas
,
13
,
2
)
ax
.
plot
(
frecuencia
,
cuentas
,
'.'
,
alpha
=
0.5
)
ax
.
plot
(
frecuencia
,
cuentas_suave
,
'-'
,
alpha
=
0.9
,
color
=
ax
.
get_lines
()[
-
1
]
.
get_color
())
mm
=
np
.
polyfit
(
frecuencia
[
I_base_fit
],
cuentas
[
I_base_fit
],
1
)
ax
.
plot
(
[
420
,
460
],
np
.
polyval
(
mm
,[
420
,
460
])
,
'-'
,
color
=
ax
.
get_lines
()[
-
1
]
.
get_color
(),
alpha
=
0.5
)
for
jj
,
rango
in
enumerate
([
rango_dr1
,
rango_dr2
]):
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
],
'o'
,
ms
=
12
,
color
=
ax
.
get_lines
()[
-
1
]
.
get_color
(),
zorder
=
10
)
base
=
np
.
polyval
(
mm
,
rango
.
mean
())
val_pico
=
cuentas_suave
[
I
]
.
min
()
picos
[
jj
]
.
append
(
(
base
-
val_pico
)
/
base
)
# ax.plot(cuentas)
ax
.
grid
(
b
=
True
,
linestyle
=
':'
,
color
=
'lightgray'
)
ax
.
set_xlabel
(
r'frecuencia [kHz]'
)
# ax.set_ylabel(r'Cuentas')
ax
.
set_title
(
"Desplazado"
)
picos_desp_dr1
=
np
.
array
(
picos
[
0
])
picos_desp_dr2
=
np
.
array
(
picos
[
1
])
ax
.
set_xlim
(
427
,
453
)
# En la fila de abajo las profundidades .......................................
####################################
ax
=
axx
[
1
][
0
]
ax
.
plot
(
CompsDCA_col
,
picos_col_dr1
,
'o--'
,
color
=
'gray'
)
for
comp
,
pic
in
zip
(
CompsDCA_col
,
picos_col_dr1
):
ax
.
plot
(
comp
,
pic
,
'o'
)
ax
.
set_prop_cycle
(
None
)
ax
.
plot
(
CompsDCA_col
,
picos_col_dr2
,
'o-'
,
color
=
'gray'
)
for
comp
,
pic
in
zip
(
CompsDCA_col
,
picos_col_dr2
):
ax
.
plot
(
comp
,
pic
,
'o'
)
ax
.
grid
(
b
=
True
,
linestyle
=
':'
,
color
=
'lightgray'
)
ax
.
set_xlabel
(
'Descompensación [mV]'
)
ax
.
set_ylabel
(
'Profundidad relativa'
)
####################################
ax
=
axx
[
1
][
1
]
ax
.
plot
(
CompsDCA_desp
,
picos_desp_dr1
,
'o--'
,
color
=
'gray'
)
for
comp
,
pic
in
zip
(
CompsDCA_desp
,
picos_desp_dr1
):
ax
.
plot
(
comp
,
pic
,
'o'
)
ax
.
set_prop_cycle
(
None
)
ax
.
plot
(
CompsDCA_desp
,
picos_desp_dr2
,
'o-'
,
color
=
'gray'
)
for
comp
,
pic
in
zip
(
CompsDCA_desp
,
picos_desp_dr2
):
ax
.
plot
(
comp
,
pic
,
'o'
)
ax
.
grid
(
b
=
True
,
linestyle
=
':'
,
color
=
'lightgray'
)
ax
.
set_xlabel
(
'Descompensación [mV]'
)
ax
.
semilogy
()
ax
.
set_ylim
(
0.09
,
1.05
)
for
ax
in
axx
[
1
]:
ax
.
grid
(
b
=
True
,
linestyle
=
':'
,
color
=
'lightgray'
,
which
=
'minor'
,
axis
=
'y'
)
from
matplotlib.ticker
import
FormatStrFormatter
ax
.
yaxis
.
set_minor_formatter
(
FormatStrFormatter
(
"
%.1
f"
))
for
ax
in
axx
[
0
]:
ax
.
axvline
(
DR1
,
ls
=
'--'
,
color
=
'gray'
)
ax
.
axvline
(
DR2
,
ls
=
'-'
,
color
=
'gray'
)
#%%
"""
Ahora grafico el valor de los minimos en funcion de la descompensacion dcA
"""
CompsDCAcol
=
[
-
100
,
-
150
,
-
200
,
-
250
,
-
300
,
-
350
]
CompsDCAdesp
=
[
-
100
,
-
150
,
-
200
,
-
250
,
-
300
,
-
350
]
MinimosFluos_Col_DR1
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Col
))[
0
]
MinimosFluos_Col_DR2
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Col
))[
1
]
MinimosFluos_Desp_DR1
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Desp
))[
0
]
MinimosFluos_Desp_DR2
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Desp
))[
1
]
ErrorMinimosFluos_Col_DR1
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Col
))[
0
]
ErrorMinimosFluos_Col_DR2
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Col
))[
1
]
ErrorMinimosFluos_Desp_DR1
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Desp
))[
0
]
ErrorMinimosFluos_Desp_DR2
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Desp
))[
1
]
#DR1
plt
.
figure
()
plt
.
errorbar
(
CompsDCAcol
[:],
MinimosFluos_Col_DR1
[:],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Col_DR1
)[:]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Colineal'
)
plt
.
errorbar
(
CompsDCAdesp
[:],
MinimosFluos_Desp_DR1
[:],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Desp_DR2
)[:]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Desplazada'
)
plt
.
legend
()
plt
.
title
(
'DR1'
)
plt
.
grid
()
plt
.
xlabel
(
'Endcap voltage (mV)'
)
plt
.
ylabel
(
'DR1 counts - mean'
)
#DR2
plt
.
figure
()
plt
.
errorbar
(
CompsDCAcol
[:],
MinimosFluos_Col_DR2
[:],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Col_DR1
)[:]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Colineal'
)
plt
.
errorbar
(
CompsDCAdesp
[:],
MinimosFluos_Desp_DR2
[:],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Desp_DR1
)[:]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Desplazada'
)
plt
.
legend
()
plt
.
title
(
'DR2'
)
plt
.
grid
()
plt
.
xlabel
(
'Endcap voltage (mV)'
)
plt
.
ylabel
(
'DR2 counts - mean'
)
#%%
"""
Ahora veo los valores relativos a la fluorescencia al principio del espectro
"""
MinimosFluos_Col_Relativos_DR1
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Col_Relativos
))[
0
]
MinimosFluos_Col_Relativos_DR2
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Col_Relativos
))[
1
]
MinimosFluos_Desp_Relativos_DR1
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Desp_Relativos
))[
0
]
MinimosFluos_Desp_Relativos_DR2
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Desp_Relativos
))[
1
]
plt
.
figure
()
plt
.
semilogy
(
CompsDCAcol
,
MinimosFluos_Col_Relativos_DR1
,
'o'
,
markersize
=
12
,
label
=
'Colineal'
)
plt
.
semilogy
(
CompsDCAdesp
,
MinimosFluos_Desp_Relativos_DR1
,
'o'
,
markersize
=
12
,
label
=
'Desplazada'
)
plt
.
title
(
'DR1'
)
plt
.
grid
()
plt
.
xlabel
(
'Endcap voltage (mV)'
)
plt
.
ylabel
(
'DR1 counts relatives'
)
plt
.
legend
()
plt
.
figure
()
plt
.
semilogy
(
CompsDCAcol
,
MinimosFluos_Col_Relativos_DR2
,
'o'
,
markersize
=
12
,
label
=
'Colineal'
)
plt
.
semilogy
(
CompsDCAdesp
,
MinimosFluos_Desp_Relativos_DR2
,
'o'
,
markersize
=
12
,
label
=
'Desplazada'
)
plt
.
title
(
'DR2'
)
plt
.
grid
()
plt
.
xlabel
(
'Endcap voltage (mV)'
)
plt
.
ylabel
(
'DR2 counts relatives'
)
plt
.
legend
()
#hasta aca
#%%
"""
Resonancias DD config colineal OAM variando compensacion OVEN
"""
import
seaborn
as
sns
compcolmedvec
=
[
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
]
CompsOVENcol
=
[
6.1
,
5.9
,
5.7
,
5.5
,
5.3
,
5.1
,
4.9
,
4.7
,
4.5
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
jj
=
0
for
med
in
compcolmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
CompColCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
#plt.xlim(433.5, 438)
#plt.ylim(1100,3200)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compesnacion dcA config colineal OAM'
)
""" Le resto el fondo a ver como se ven"""
paleta
=
sns
.
color_palette
(
"tab10"
)
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.25
idx1
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
compcolmedvec
[
0
]][
1
:]],
DR1
)
idx2
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
compcolmedvec
[
0
]][
1
:]],
DR2
)
MinimosFluos_Col
=
[]
ErrorMinimosFluos_Col
=
[]
freqDR
=
435.8
jj
=
0
for
med
in
compcolmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
med
][
1
:]],
[
c
-
np
.
mean
(
CompColCounts
[
med
][
1
:
20
])
for
c
in
CompColCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
plt
.
plot
([
DR1
,
DR2
],
[
c
-
np
.
mean
(
CompColCounts
[
med
][
1
:
20
])
for
c
in
[
CompColCounts
[
med
][
idx1
+
1
],
CompColCounts
[
med
][
idx2
+
1
]]]
,
'o'
,
color
=
paleta
[
jj
],
markersize
=
15
)
MinimosFluos_Col
.
append
([
-
c
+
np
.
mean
(
CompColCounts
[
med
][
1
:
20
])
for
c
in
[
CompColCounts
[
med
][
idx1
+
1
],
CompColCounts
[
med
][
idx2
+
1
]]])
ErrorMinimosFluos_Col
.
append
([
np
.
sqrt
(
CompColCounts
[
med
][
idx1
+
1
]),
np
.
sqrt
(
CompColCounts
[
med
][
idx2
+
1
])])
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
#plt.xlim(443, 445)
#plt.ylim(1100,3200)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compesnacion dcA config colineal OAM'
)
""" Estas son dos curvas con mas estadistica """
compcolmedvec
=
[
15
,
16
]
CompsOVEN
=
[
5.9
,
4.3
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
jj
=
0
for
med
in
compcolmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompColIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
CompColCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
#plt.ylim(300, 1000)
#plt.ylim(1100,3200)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compensacion OVEN config colineal OAM mas estadistica'
)
#%%
import
seaborn
as
sns
"""
Resonancias DD config desplazada OAM variando compensacion OVEN
"""
compdespmedvec
=
[
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
]
CompsOVENdesp
=
[
5.9
,
5.7
,
5.5
,
5.3
,
5.1
,
4.9
,
4.7
,
4.5
,
4.3
,
4.1
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
jj
=
0
for
med
in
compdespmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
CompDespCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
plt
.
ylim
(
300
,
1000
)
#plt.ylim(1100,3200)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compensacion OVEN config desplazada OAM'
)
""" Le resto el fondo a ver como se ven y ploteo sus valores de DR"""
paleta
=
sns
.
color_palette
(
"tab10"
)
compdespmedvec
=
[
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
,
16
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
idx1
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
compcolmedvec
[
0
]][
1
:]],
DR1
)
idx2
=
find_nearest
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
compcolmedvec
[
0
]][
1
:]],
DR2
)
freqDR
=
435.8
MinimosFluos_Desp
=
[]
ErrorMinimosFluos_Desp
=
[]
jj
=
0
for
med
in
compdespmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
med
][
1
:]],
[
c
-
np
.
mean
(
CompDespCounts
[
med
][
1
:
20
])
for
c
in
CompDespCounts
[
med
][
1
:]],
'-o'
,
color
=
paleta
[
jj
],
markersize
=
2
,
zorder
=
0
)
plt
.
plot
([
DR1
,
DR2
],
[
c
-
np
.
mean
(
CompDespCounts
[
med
][
1
:
20
])
for
c
in
[
CompDespCounts
[
med
][
idx1
+
1
],
CompDespCounts
[
med
][
idx2
+
1
]]]
,
'o'
,
color
=
paleta
[
jj
],
markersize
=
15
)
MinimosFluos_Desp
.
append
([
-
c
+
np
.
mean
(
CompDespCounts
[
med
][
1
:
20
])
for
c
in
[
CompDespCounts
[
med
][
idx1
+
1
],
CompDespCounts
[
med
][
idx2
+
1
]]])
ErrorMinimosFluos_Desp
.
append
(([
np
.
sqrt
(
CompDespCounts
[
med
][
idx1
+
1
]),
np
.
sqrt
(
CompDespCounts
[
med
][
idx2
+
1
])]))
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
#plt.ylim(300, 1000)
#plt.ylim(1100,3200)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compensacion OVEN config desplazada OAM'
)
""" Estas son dos curvas con mas estadistica """
compdespmedvec
=
[
17
,
18
]
CompsOVEN
=
[
5.9
,
4.3
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
freqDR
=
435.8
jj
=
0
for
med
in
compdespmedvec
:
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
med
][
1
:]],
[
c
for
c
in
CompDespCounts
[
med
][
1
:]],
'-o'
,
markersize
=
2
)
jj
=
jj
+
1
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
#plt.ylim(300, 1000)
#plt.ylim(1100,3200)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compensacion OVEN config desplazada OAM mas estadistica'
)
#%%
""" Agarro la desplazada compensada para ver si se ven bandas laterales de movimiento (no)"""
CompsOVEN
=
[
5.9
,
4.3
]
plt
.
figure
()
ftrap
=
22.1
DR1
=
435.8
DR2
=
444.2
#freqDR=435.8
freqDR
=
DR2
jj
=
0
plt
.
plot
([
2
*
f
*
1e-6
for
f
in
CompDespIR1_Freqs
[
18
][
1
:]],
[
c
for
c
in
CompDespCounts
[
18
][
1
:]],
'-o'
,
markersize
=
2
)
plt
.
xlabel
(
'Frecuencia'
)
plt
.
ylabel
(
'Counts'
)
plt
.
xlim
(
442
,
446
)
plt
.
axvline
(
freqDR
)
plt
.
axvline
(
freqDR
+
0.8
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
0.8
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
+
0.9
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
0.9
,
color
=
'red'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
+
1.65
,
color
=
'green'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
axvline
(
freqDR
-
1.65
,
color
=
'green'
,
linestyle
=
'dashed'
,
zorder
=
0
,
alpha
=
0.5
)
plt
.
grid
()
plt
.
legend
()
plt
.
title
(
'Variando compensacion OVEN config desplazada OAM mas estadistica'
)
#%%
"""
Ahora grafico el valor de los minimos en funcion de la descompensacion OVEN
"""
CompsOVENcol
=
[
6.1
,
5.9
,
5.7
,
5.5
,
5.3
,
5.1
,
4.9
,
4.7
,
4.5
]
CompsOVENdesp
=
[
5.9
,
5.7
,
5.5
,
5.3
,
5.1
,
4.9
,
4.7
,
4.5
,
4.3
,
4.1
]
MinimosFluos_Col_DR1
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Col
))[
0
]
MinimosFluos_Col_DR2
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Col
))[
1
]
MinimosFluos_Desp_DR1
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Desp
))[
0
]
MinimosFluos_Desp_DR2
=
np
.
transpose
(
np
.
array
(
MinimosFluos_Desp
))[
1
]
ErrorMinimosFluos_Col_DR1
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Col
))[
0
]
ErrorMinimosFluos_Col_DR2
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Col
))[
1
]
ErrorMinimosFluos_Desp_DR1
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Desp
))[
0
]
ErrorMinimosFluos_Desp_DR2
=
np
.
transpose
(
np
.
array
(
ErrorMinimosFluos_Desp
))[
1
]
#DR1
plt
.
figure
()
plt
.
errorbar
(
CompsOVENcol
[
1
:],
MinimosFluos_Col_DR1
[
1
:],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Col_DR1
)[
1
:]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Colineal'
)
plt
.
errorbar
(
CompsOVENdesp
[:
-
2
],
MinimosFluos_Desp_DR1
[:
-
2
],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Desp_DR2
)[:
-
2
]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Desplazada'
)
plt
.
legend
()
plt
.
title
(
'DR1'
)
plt
.
grid
()
plt
.
xlabel
(
'CompOVEN voltage'
)
plt
.
ylabel
(
'DR1 counts - mean'
)
#DR2
plt
.
figure
()
plt
.
errorbar
(
CompsOVENcol
[
1
:],
MinimosFluos_Col_DR2
[
1
:],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Col_DR1
)[
1
:]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Colineal'
)
plt
.
errorbar
(
CompsOVENdesp
[:
-
2
],
MinimosFluos_Desp_DR2
[:
-
2
],
yerr
=
[
2
*
i
for
i
in
list
(
ErrorMinimosFluos_Desp_DR1
)[:
-
2
]],
fmt
=
'o'
,
capsize
=
2
,
markersize
=
12
,
label
=
'Desplazada'
)
plt
.
legend
()
plt
.
title
(
'DR2'
)
plt
.
grid
()
plt
.
xlabel
(
'CompOVEN voltage'
)
plt
.
ylabel
(
'DR2 counts - mean'
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment