def plot_csq_trace(dat: DatHDF, cutoff: Optional[float] = None) -> Data1D: plotter = OneD(dat=dat) plotter.TEMPLATE = 'simple_white' fig = plotter.figure(xlabel='CSQ Gate (mV)', ylabel='Current (nA)', title='CS current vs CSQ gate') x = dat.Data.x data = dat.Data.i_sense if cutoff: upper_lim = U.get_data_index(x, cutoff) x, data = x[:upper_lim], data[:upper_lim] fig.add_trace(plotter.trace(data=data, x=x)) fig.show() return Data1D(x=x, data=data)
from dat_analysis.analysis_tools.general_fitting import FitInfo from dat_analysis.dat_analysis.characters import DELTA from dat_analysis.plotting.plotly.dat_plotting import OneD, TwoD from dat_analysis.core_util import Data1D from dat_analysis.analysis_tools.nrg import NRGParams, NrgUtil import dat_analysis.useful_functions as U from temp import get_avg_entropy_data, get_avg_i_sense_data, get_linear_theta, get_initial_params, get_2d_data if TYPE_CHECKING: from dat_analysis.dat_object.make_dat import DatHDF p1d = OneD(dat=None) p2d = TwoD(dat=None) p1d.TEMPLATE = 'simple_white' p2d.TEMPLATE = 'simple_white' NRG_OCC_FIT_NAME = 'csq_forced_theta' CSQ_DATNUM = 2197 class StrongGammaNoise: def __init__(self, dat: DatHDF): self.dat = dat # The averaged data which does show some signal, but quite small given the number of repeats and duration self.avg_data = get_avg_entropy_data(self.dat, lambda _: False, CSQ_DATNUM) self.avg_data.x = self.avg_data.x / 100 # Convert to real mV