Skip to content
RDS_CPT2.py 20.4 KiB
Newer Older
Nicolas Nunez Barreto's avatar
gd
Nicolas Nunez Barreto committed
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/20230804_RotationalDopplerShift_v2/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

POWER_FILES = """VaryingPower/000014020-IR_Scan_withcal_optimized
VaryingPower/000014021-IR_Scan_withcal_optimized
VaryingPower/000014024-IR_Scan_withcal_optimized
VaryingPower/000014025-IR_Scan_withcal_optimized
VaryingPower/000014026-IR_Scan_withcal_optimized
"""


EXTRA_FILES = """Extra/000014032-IR_Scan_withcal_optimized
Extra/000014060-IR_Scan_withcal_optimized
Extra/000014061-IR_Scan_withcal_optimized"""

COMP_COL_FILES = """VaryingComp/Col/000014071-IR_Scan_withcal_optimized
VaryingComp/Col/000014072-IR_Scan_withcal_optimized
VaryingComp/Col/000014073-IR_Scan_withcal_optimized
VaryingComp/Col/000014074-IR_Scan_withcal_optimized
VaryingComp/Col/000014075-IR_Scan_withcal_optimized
VaryingComp/Col/000014076-IR_Scan_withcal_optimized
VaryingComp/Col/000014107-IR_Scan_withcal_optimized
VaryingComp/Col/000014108-IR_Scan_withcal_optimized
VaryingComp/Col/000014109-IR_Scan_withcal_optimized
VaryingComp/Col/000014110-IR_Scan_withcal_optimized
VaryingComp/Col/000014111-IR_Scan_withcal_optimized
VaryingComp/Col/000014112-IR_Scan_withcal_optimized
VaryingComp/Col/000014113-IR_Scan_withcal_optimized
VaryingComp/Col/000014114-IR_Scan_withcal_optimized
VaryingComp/Col/000014115-IR_Scan_withcal_optimized
VaryingComp/Col/000014118-IR_Scan_withcal_optimized
VaryingComp/Col/000014119-IR_Scan_withcal_optimized"""

COMP_DESP_FILES = """VaryingComp/Desp/000014077-IR_Scan_withcal_optimized
VaryingComp/Desp/000014083-IR_Scan_withcal_optimized
VaryingComp/Desp/000014078-IR_Scan_withcal_optimized
VaryingComp/Desp/000014079-IR_Scan_withcal_optimized
VaryingComp/Desp/000014080-IR_Scan_withcal_optimized
VaryingComp/Desp/000014081-IR_Scan_withcal_optimized
VaryingComp/Desp/000014082-IR_Scan_withcal_optimized
VaryingComp/Desp/000014083-IR_Scan_withcal_optimized
VaryingComp/Desp/000014084-IR_Scan_withcal_optimized
VaryingComp/Desp/000014085-IR_Scan_withcal_optimized
VaryingComp/Desp/000014086-IR_Scan_withcal_optimized
VaryingComp/Desp/000014087-IR_Scan_withcal_optimized
VaryingComp/Desp/000014088-IR_Scan_withcal_optimized
VaryingComp/Desp/000014089-IR_Scan_withcal_optimized
VaryingComp/Desp/000014090-IR_Scan_withcal_optimized
VaryingComp/Desp/000014093-IR_Scan_withcal_optimized
VaryingComp/Desp/000014094-IR_Scan_withcal_optimized
VaryingComp/Desp/000014095-IR_Scan_withcal_optimized
VaryingComp/Desp/000014096-IR_Scan_withcal_optimized
VaryingComp/Desp/000014097-IR_Scan_withcal_optimized"""

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(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.split()):
    print(str(i) + ' - ' + fname)
    data = h5py.File(fname+'.h5', '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.split()):
    print(str(i) + ' - ' + fname)
    data = h5py.File(fname+'.h5', '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.split()):
    print(str(i) + ' - ' + fname)
    data = h5py.File(fname+'.h5', '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.split()):
    print(str(i) + ' - ' + fname)
    data = h5py.File(fname+'.h5', '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]

Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
CompsDCA = [-100, -150, -200, -250, -300, -350]
Nicolas Nunez Barreto's avatar
gd
Nicolas Nunez Barreto committed

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')

#%%

"""
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')
Nicolas Nunez Barreto's avatar
Nicolas Nunez Barreto committed
plt.legend()    
Nicolas Nunez Barreto's avatar
gd
Nicolas Nunez Barreto committed
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')