In [1]:
import os
import sys
root_folder = os.path.dirname(os.getcwd())
sys.path.append(root_folder)
from ResoFit._pulse_shape import NeutronPulse
from ResoFit._pulse_shape import ProtonPulse
from lmfit import Parameters
import numpy as np
import matplotlib.pyplot as plt
from lmfit import Model
import pprint
from lmfit.models import LinearModel
In [2]:
%matplotlib notebook
In [3]:
# path1 = '/Users/Shawn/Dropbox (ORNL)/Postdoc_Research/neutron_beam_shape/SNS/neutron_pulse/source_section_1.dat'
# path2 = '/Users/Shawn/Dropbox (ORNL)/Postdoc_Research/neutron_beam_shape/SNS/neutron_pulse/source_section_2.dat'
path1 = '/Users/y9z/Dropbox (ORNL)/Postdoc_Research/neutron_beam_shape/SNS/neutron_pulse/source_section_1.dat'
path2 = '/Users/y9z/Dropbox (ORNL)/Postdoc_Research/neutron_beam_shape/SNS/neutron_pulse/source_section_2.dat'
In [4]:
neutron_pulse = NeutronPulse(path1, model_index=1)
neutron_pulse.load_shape_each(path2)
In [6]:
neutron_pulse.plot_shape_total(x1_type='energy', x2_type='none')
In [9]:
neutron_pulse.shape_total_df.to_clipboard()
In [7]:
neutron_pulse.fit_shape(e_min=1, e_max=500,
drop=False, norm=True, check_each=True,
save_fig=False, overwrite_csv=True)
In [9]:
neutron_pulse.param_df
Out[9]:
In [8]:
neutron_pulse.plot_params_vs_e(loglog=True)
In [9]:
neutron_pulse.fit_params(check_each=True, loglog_fit=True, overwrite_csv=True)
In [10]:
neutron_pulse.linear_df
Out[10]:
In [12]:
neutron_pulse.fit_params(check_each=True, loglog_fit=False, overwrite_csv=True)
In [13]:
neutron_pulse.linear_df
Out[13]:
In [5]:
proton_path = '/Users/Shawn/Dropbox (ORNL)/Postdoc_research/neutron_beam_shape/SNS/proton_pulse/waveform_20170901.txt'
proton_pulse = ProtonPulse(proton_path)
In [8]:
proton_pulse.shape_df.set_index('t_ns').plot(style='.')
plt.xlabel('Time (ns)')
plt.ylabel('Proton pulse intensity (arb. unit)')
plt.xlim(xmin=1300, xmax=2500)
# plt.savefig('proton.png',dpi=300, transparent=True)
plt.show()
In [ ]: