Tutorial

The following pages show an example analysis with emgfit broken down into the essential steps. Many of the more advanced features of emgfit are left out or only briefly mentioned in passing, so feel free to explore the documentation further!

This tutorial was created in the Jupyter Notebook emgfit_tutorial.ipynb which can be found in the emgfit/emgfit/examples/tutorial/ directory of the emgfit distribution. Feel free to copy the tutorial folder to a different directory (outside of the emgfit/ directory!) and follow along with the tutorial by actually running the code. You can also use this notebook as a template for your own analyses (consider removing some of the explanations). It is recommended to use a separate notebook for each spectrum to be fitted. This enables you to go back to the notebook at any time and check on all the details of how the fits were performed.

emgfit is optimized to be run within Jupyter Notebooks. There is dozens of decent introductions to using Jupyter Notebooks, a nice overview can e.g. be found at https://realpython.com/jupyter-notebook-introduction/. Naturally, the first step of an analysis with emgfit is starting up your notebook server by running jupyter notebook in your command-line interface. This should automatically make the Jupyter interface pop up in a browser window. From there you can navigate to different directories and create a new notebook (new panel on the top right) or open an existing notebook (.ipynb files).

Import the package

Assuming you have setup emgfit following the installation instructions, the first step after launching your Jupyter Notebook will be importing the emgfit package:

[1]:
### Import fit package
import emgfit as emg

How to access the documentation

Before we actually start processing a spectrum it is important to know how to get access to emgfit’s documentation. There is multiple options for this:

  1. The html documentation can be viewed in any browser. It contains usage examples, detailed explanations of the crucial components and API docs with the different modules and all their methods. The search option and cross references enable quick and easy browsing for help.

  2. Once you have imported emgfit you can access the docs directly from the Jupyter Notebook:

    • print all available methods of e.g. the spectrum class by running dir(emg.spectrum)

    • print documentation of a method using help(), e.g. the docs of the add_peak method are printed by running help(emg.spectrum.add_peak) in a code cell

    • keyboard shortcuts can be even more convenient:

      • Use TAB to get suggestions for auto-completion of method and variable names

      • Place the cursor inside the brackets of a function/method and press SHIFT + TAB to have a window with the function/method documention pop up

      • Pressing the H key inside a Jupyter Notebook shows you all available keyboard shortcuts)

Import data

The following code imports the mass data and creates an emgfit spectrum object called spec. The input file must be a TXT or CSV-file following the format of MAc’s hist export mode. From here on the analysis of the spectrum proceeds by calling the various methods on our spectrum object spec.

[2]:
### Import mass data, plot full spectrum and indicate chosen fit range
filename = "2019-09-13_004-_006 SUMMED High stats 62Ga"
skiprows = 38 # number of header rows to skip upon data import
m_start = 61.9243 # low-mass cut off
m_stop = 61.962 # high-mass cut off

spec = emg.spectrum(filename+'.txt',m_start,m_stop,skiprows=skiprows)
_images/emgfit_tutorial_5_0.png

Add peaks to the spectrum

This can be done with the automatic peak detection spectrum method) and/or by manually adding peaks (add_peak spectrum method). The plots shown below are (optional) outputs of the detect_peaks method and depicts the different stages of the automatic peak detection.

All information about the peaks associated with the spectrum are compiled in the peak properties table. The table’s left-most column shows the respective peak indeces. In all fits, the peaks’ x_pos will be used as the initial values for the peak centroid parameters mu (to be exact: mu marks the centroid of the underlying Gaussians).

[3]:
### Detect peaks and add them to spectrum object 'spec'
spec.detect_peaks() # automatic peak detection
#spec.add_peak(61.925,species='?') # manually add a peak at x_pos = 61.925u
#spec.remove_peak(peak_index=0) # manually remove the peak with index 0
_images/emgfit_tutorial_7_0.png
_images/emgfit_tutorial_7_1.png
_images/emgfit_tutorial_7_2.png
_images/emgfit_tutorial_7_3.png
Peak properties table after peak detection:
x_pos species comment m_AME m_AME_error extrapolated fit_model cost_func red_chi area area_error m_fit rel_stat_error rel_recal_error rel_peakshape_error rel_mass_error A atomic_ME_keV mass_error_keV m_dev_keV
0 61.927800 ? - None None False None None None None None None None None None None None None None None
1 61.932021 ? - None None False None None None None None None None None None None None None None None
2 61.934369 ? - None None False None None None None None None None None None None None None None None
3 61.943618 ? - None None False None None None None None None None None None None None None None None
4 61.946994 ? - None None False None None None None None None None None None None None None None None
5 61.949527 ? - None None False None None None None None None None None None None None None None None
6 61.956611 ? - None None False None None None None None None None None None None None None None None
7 61.958997 ? - None None False None None None None None None None None None None None None None None

Assign identified species to the peaks (optional)

Although this step is optional, it is highly recommended that it is not skipped. By assigning species labels to your peaks you do not only gain more overview over your spectrum, but also allow for literature values to be automatically fetched from the AME database and entered into the peak properties table. Once a species label has been assigned, you can refer to this peak not only via its index but also via the label.

The assign_species method allows to assign species identifications either to a single selected peak or to all peaks at once. Here the second option was used by passing a list of species labels to assign_species. The list must have the same length as the number of peaks associated with the spectrum object. If there are peaks whose labels should not be changed (e.g. unidentified peaks), simply insert None as a placeholder at the corresponding spots (as done for peaks 2 and 7 below). The syntax for species labels follows MAc’s :-Notation. It is important not to forget to subtract the number of electrons corresponding to the ion’s charge state! Otherwise the analysis would mistakenly proceed with the atomic instead of the ionic mass. Note that currently only singly-charged species are supported by emgfit. Tentative peak identifications can be indicated by adding a '?' to the end of the species string. In this case the literature values are not fetched. The user can also define custom literature values (e.g. to handle isomers or if there are recent measurements that have not entered the AME yet). For more details see the documentation of assign_species.

This is also a good point in time to add any comments to the peaks using the add_peak_comment method. These comments can be particularly helpful for the post-processing in Excel since they are written into the output file with the fit results (as is the entire peak properties table). More general comments that concern the entire spectrum can instead be added with the add_spectrum_comment method.

[4]:
### Assign species and add peak comments
spec.assign_species(['Ni62:-1e','Cu62:-1e?',None,'Ga62:-1e','Ti46:O16:-1e','Sc46:O16:-1e','Ca43:F19:-1e',None])
spec.add_peak_comment('Non-isobaric',peak_index=2)
spec.show_peak_properties() # check the changes by printing the peak properties table
Species of peak 0 assigned as Ni62:-1e
Species of peak 1 assigned as Cu62:-1e?
Species of peak 3 assigned as Ga62:-1e
Species of peak 4 assigned as Ti46:O16:-1e
Species of peak 5 assigned as Sc46:O16:-1e
Species of peak 6 assigned as Ca43:F19:-1e
Comment of peak 2 was changed to:  Non-isobaric
x_pos species comment m_AME m_AME_error extrapolated fit_model cost_func red_chi area area_error m_fit rel_stat_error rel_recal_error rel_peakshape_error rel_mass_error A atomic_ME_keV mass_error_keV m_dev_keV
0 61.927800 Ni62:-1e - 61.927796 4.700000e-07 False None None None None None None None None None None 62.0 None None None
1 61.932021 Cu62:-1e? - NaN NaN False None None None None None None None None None None NaN None None None
2 61.934369 ? Non-isobaric NaN NaN False None None None None None None None None None None NaN None None None
3 61.943618 Ga62:-1e - 61.943641 6.940000e-07 False None None None None None None None None None None 62.0 None None None
4 61.946994 Ti46:O16:-1e - 61.946993 1.760001e-07 False None None None None None None None None None None 62.0 None None None
5 61.949527 Sc46:O16:-1e - 61.949534 7.320000e-07 False None None None None None None None None None None 62.0 None None None
6 61.956611 Ca43:F19:-1e - 61.956621 2.440018e-07 False None None None None None None None None None None 62.0 None None None
7 61.958997 ? - NaN NaN False None None None None None None None None None None NaN None None None

Select the optimal fit model and perform the peak-shape calibration

Next we need to find both a fit model and a set of model parameters that capture the shape of our peaks as well as possible. In emgfit both of this is achieved with the determine_peak_shape method. Once the peak-shape calibration has been performed all subsequent fits will be performed with this fixed peak-shape, by only varying the peak centroids, amplitudes and optionally the uniform-baseline parameter bkd_c.

By default determine_peak_shape performs an automatic model selection in which the shape-calibrant peak is first fitted with a pure Gaussian and then with Hyper-EMG functions with an increasing number of expontential tails on the left and right. The algorithm selects the fit model which yields the smallest \(\chi^2_\text{red}\) without having any of the tail weight parameters \(\eta\) compatible with zero within their uncertainty. Alternatively, the auto-model selection can be turned off with the argument vary_tail_order=False and the fit model can be selected manually with the fit_model argument.

Once the best fit model has been selected the method proceeds with the determination of the peak-shape parameters and shows a detailed report with the fit results.

Some recommendations:

  • It is recommended to do the peak-shape calibration with a chi-squared fit (default) since this yields more robust results and more trusworthy parameter uncertainty estimates. Check the method docs for info on performing the shape calibration with binned maximum likelihood estimation.

  • Ideally the peak-shape calibration is performed on a well-separated peak with high statistics. In this example, the Ca43:F19:-1e peak was selected as peak-shape calibrant. Since the default fit range includes a smaller peak on the right, the range was manually reduced to 0.45u with the x_fit_range argument. If unavoidable, the peak-shape determination can also be performed on partially overlapping peaks since emgfit ensures identical shape parameters for all peaks being fitted.

[5]:
## Peak-shape calibration with default settings, including automatic model selection:
#spec.determine_peak_shape(species_shape_calib='Ca43:F19:-1e')

## Peak-shape calibration with user-defined fit range:
spec.determine_peak_shape(species_shape_calib='Ca43:F19:-1e',x_fit_range=0.0045)

## Peak-shape calibration with user-defined fit model:
#spec.determine_peak_shape(species_shape_calib='Ca43:F19:-1e',fit_model='emg12',vary_tail_order=False)

##### Determine optimal tail order #####


### Fitting data with Gaussian ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_1.png
_images/emgfit_tutorial_11_2.png

Gaussian-fit yields reduced chi-square of: 45.57 +- 0.13


### Fitting data with emg01 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_4.png
_images/emgfit_tutorial_11_5.png

emg01-fit yields reduced chi-square of: 13.79 +- 0.13


### Fitting data with emg10 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_7.png
_images/emgfit_tutorial_11_8.png

emg10-fit yields reduced chi-square of: 45.96 +- 0.13


### Fitting data with emg11 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_10.png
_images/emgfit_tutorial_11_11.png

emg11-fit yields reduced chi-square of: 2.6 +- 0.13


### Fitting data with emg12 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_13.png
_images/emgfit_tutorial_11_14.png

emg12-fit yields reduced chi-square of: 1.22 +- 0.13


### Fitting data with emg21 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_16.png
_images/emgfit_tutorial_11_17.png

emg21-fit yields reduced chi-square of: 1.47 +- 0.13


### Fitting data with emg22 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_19.png
_images/emgfit_tutorial_11_20.png

emg22-fit yields reduced chi-square of: 0.96 +- 0.13


### Fitting data with emg23 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_22.png
_images/emgfit_tutorial_11_23.png
WARNING: p6_eta_m1 = 0.891 +- 2.086  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_m2 = 0.109 +- 2.086  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_p1 = 0.443 +- 6.292  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_p2 = 0.458 +- 4.68  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_p3 = 0.099 +- 6.292  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.

emg23-fit yields reduced chi-square of: 0.98 +- 0.13


### Fitting data with emg32 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_25.png
_images/emgfit_tutorial_11_26.png
WARNING: p6_eta_m3 = 0.007 +- 0.1  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.

emg32-fit yields reduced chi-square of: 0.98 +- 0.13


### Fitting data with emg33 ###---------------------------------------------------------------------------------------------

_images/emgfit_tutorial_11_28.png
_images/emgfit_tutorial_11_29.png
WARNING: p6_eta_m1 = 0.872 +- 4.49  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_m2 = 0.119 +- 4.168  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_m3 = 0.009 +- 4.49  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_p1 = 0.442 +- 12.792  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_p2 = 0.461 +- 9.645  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.
WARNING: p6_eta_p3 = 0.097 +- 12.792  is compatible with zero within uncertainty.
             This tail order is likely overfitting the data and will be excluded from selection.

emg33-fit yields reduced chi-square of: 0.99 +- 0.14


##### RESULT OF AUTOMATIC MODEL SELECTION: #####

    Best fit model determined to be: emg22
    Corresponding chi²-reduced: 0.96


##### Peak-shape determination #####-------------------------------------------------------------------------------------------
_images/emgfit_tutorial_11_31.png
_images/emgfit_tutorial_11_32.png

Model

(Model(constant, prefix='bkg_') + Model(emg22, prefix='p6_'))

Fit Statistics

fitting methodleast_squares
# function evals18
# data points123
# variables11
chi-square 107.821079
reduced chi-square 0.96268820
Akaike info crit. 5.79952458
Bayesian info crit. 36.7335525

Variables

name value standard error relative error initial value min max vary expression
bkg_c 0.93751705 0.21448563 (22.88%) 0.1 0.00000000 4.00000000 True
p6_amp 0.95184911 0.00599045 (0.63%) 0.8422080000000001 1.0000e-20 inf True
p6_mu 61.9566396 4.0323e-06 (0.00%) 61.95661076349748 61.9466108 61.9666108 True
p6_sigma 8.3414e-05 2.9557e-06 (3.54%) 8.68e-05 0.00000000 0.00508680 True
p6_theta 0.72471396 0.02349105 (3.24%) 0.5 0.00000000 1.00000000 True
p6_eta_m1 0.92019054 0.02313117 (2.51%) 0.85 0.00000000 1.00000000 True
p6_eta_m2 0.07980946 0.02313117 (28.98%) 0.15000000000000002 0.00000000 1.00000000 False 1-p6_eta_m1
p6_tau_m1 4.4900e-05 5.8778e-06 (13.09%) 3.1e-05 1.0000e-12 0.05000000 True
p6_tau_m2 1.7683e-04 2.4817e-05 (14.03%) 0.00031 1.0000e-12 0.05000000 True
p6_eta_p1 0.79009179 0.04493382 (5.69%) 0.85 0.00000000 1.00000000 True
p6_eta_p2 0.20990821 0.04493382 (21.41%) 0.15000000000000002 0.00000000 1.00000000 False 1-p6_eta_p1
p6_tau_p1 1.2412e-04 1.3320e-05 (10.73%) 3.1e-05 1.0000e-12 0.05000000 True
p6_tau_p2 4.0762e-04 5.4796e-05 (13.44%) 0.000372 1.0000e-12 0.05000000 True

Correlations (unreported correlations are < 0.100)

p6_eta_m1p6_tau_m20.9505
p6_eta_p1p6_tau_p20.9227
p6_thetap6_tau_p10.8417
p6_sigmap6_tau_m1-0.8158
p6_eta_m1p6_tau_m10.7745
p6_tau_p1p6_tau_p20.7729
p6_eta_p1p6_tau_p10.7297
p6_tau_m1p6_tau_m20.7147
p6_mup6_tau_m10.7090
p6_mup6_eta_m10.6226
p6_sigmap6_theta0.6097
p6_mup6_tau_m20.5369
p6_sigmap6_tau_p10.5313
p6_mup6_theta0.5166
p6_thetap6_tau_p20.4898
bkg_cp6_tau_m2-0.4616
p6_sigmap6_eta_m1-0.4114
bkg_cp6_tau_p2-0.4083
p6_sigmap6_tau_m2-0.4033
bkg_cp6_eta_m1-0.3728
p6_mup6_tau_p10.3425
p6_thetap6_eta_p10.3425
p6_mup6_sigma-0.2865
bkg_cp6_eta_p1-0.2755
p6_mup6_tau_p20.2750
p6_tau_m1p6_tau_p1-0.2464
p6_sigmap6_tau_p20.2342
bkg_cp6_mu-0.2259
bkg_cp6_tau_m1-0.2253
p6_thetap6_tau_m1-0.1926
p6_mup6_eta_p10.1784
bkg_cp6_tau_p1-0.1740
bkg_cp6_amp-0.1418
p6_tau_m2p6_tau_p20.1390
p6_sigmap6_eta_p10.1320
p6_eta_m1p6_tau_p20.1272

Determine A_stat_emg for subsequent stat. error estimations (optional)

The statistical uncertainties of Hyper-EMG fits are estimated using the equation:

\(\sigma_{stat} = A_{stat,emg} \cdot \frac{\mathrm{FWHM}}{\sqrt{N_{counts}}}\)

where \(\mathrm{FWHM}\) and \(N_{counts}\) refer to the full width at half maximum and the number of counts in the respective peak.

By default a of value \(A_{stat,emg} = 0.52\) will be used for Hyper-EMG models (for Gaussians \(A_{stat,G}=0.425\)).

However, \(A_{stat,emg}\) depends on the peak-shape and can deviate from the default value. Therefore, the determine_A_stat_emg method can be used to estimate \(A_{stat,emg}\) for the specific peak shape in the spectrum. This is done by fitting many simulated spectra created via bootstrap re-sampling from a reference peak in the spectrum. The reference peak should be well-separated and have decent statistics (e.g. the peak-shape calibrant). For details on how \(A_{stat,emg}\) is estimated see the docs of determine_A_stat_emg.

This method will typically run for ~10 minutes if N_spectra=1000 (default) is used. Since this is only for demonstration purposes the number of bootstrapped spectra generated for each data point (N_spectra argument) was reduced to 10 to get a quicker run time. This is also the reason for the large scatter of the data points below.

In practice it is convenient to skip this method for the first processing of the spectrum since this will only affect the statistical uncertainties but no other fit properties. Once reasonable fits have been achieved for all peaks of interest in the cells below, the exact uncertainties can be obtained by returning to this cell to execute determine_A_stat_emg with a decent value for N_spectra and then re-runnning the cells below (then with the update value for A_stat_emg). The latter is conveniently done by using the Run All Below option in the Cell panel of the Jupyter Notebook.

[6]:
# Determine A_stat_emg and save the resulting plot
spec.determine_A_stat_emg(species='Ca43:F19:-1e',x_range=0.004,plot_filename='outputs/'+filename+'_MLE',N_spectra=10)
Creating synthetic spectra via bootstrap re-sampling and fitting them for A_stat determination.
Depending on the choice of `N_spectra` this can take a few minutes. Interrupt kernel if this takes too long.

Done!

[[Model]]
    Model(powerlaw)
[[Fit Statistics]]
    # fitting method   = leastsq
    # function evals   = 5
    # data points      = 8
    # variables        = 1
    chi-square         = 1.5599e-08
    reduced chi-square = 2.2284e-09
    Akaike info crit   = -158.444192
    Bayesian info crit = -158.364751
[[Variables]]
    amplitude:  1.5233e-04 +/- 1.6364e-05 (10.74%) (init = 1)
    exponent:  -0.5 (fixed)
_images/emgfit_tutorial_13_1.png
A_stat of a Gaussian model: 0.425
Default A_stat_emg for Hyper-EMG models: 0.52
A_stat_emg for this spectrum's emg22 fit model: 0.635 +- 0.068

Fit all peaks, perform mass re-calibration & obtain final mass values

The following code fits all peaks in the spectrum, performs the mass (re-)calibration, determines the peak-shape uncertainties and updates the peak properties list with the results including the final mass values and their uncertainties.

The simultaneous mass recalibration is optional and only invoked when the species_mass_calib (or the index_mass_calib) argument are specified. If this feature is not used, the fit_peaks method requires a pre-existing mass calibration (see Alternative 1 section below). In contrast to determine_peak_shape, by default the fit_peaks method performs a binned maximum likelihood fit (‘MLE’). For chi-square fitting with fit_peaks, see Alternative 2 section below. Fits with fit_peaks can be restricted to a user-defined mass range (see the commented-out line of code below).

[7]:
# Maximum likelihood fit of all peaks in the spectrum
spec.fit_peaks(species_mass_calib='Ti46:O16:-1e')

# Maximum likelihood fit of peaks in a user-defined mass range
#spec.fit_peaks(species_mass_calib='Ti46:O16:-1e',x_fit_cen=61.9455,x_fit_range=0.01)
_images/emgfit_tutorial_15_0.png
_images/emgfit_tutorial_15_1.png

##### Mass recalibration #####


Relative literature error of mass calibrant:    3e-09
Relative statistical error of mass calibrant:   1.3e-08

Recalibration factor:      0.999999711 = 1 -2.89e-07
Relative recalibration error:  1.4e-08


##### Peak-shape uncertainty evaluation #####

Determining absolute centroid shifts of mass calibrant.

Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 0 and mass calibrant by 0.497351 / -0.268 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 1 and mass calibrant by 1.419093 / -0.367 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 2 and mass calibrant by -0.124145 / 0.337 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 3 and mass calibrant by 0.009668 / 0.025 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 5 and mass calibrant by -0.014 / 0.002 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 6 and mass calibrant by 0.011673 / -0.032 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 7 and mass calibrant by -1.469091 / 0.908 μu.

Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 0 and mass calibrant by -1.447894 / 1.312 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 1 and mass calibrant by -1.406527 / 1.334 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 2 and mass calibrant by -0.434006 / 0.331 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 3 and mass calibrant by -0.254027 / 0.14 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 5 and mass calibrant by -0.269747 / 0.237 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 6 and mass calibrant by -0.090195 / 0.031 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 7 and mass calibrant by -1.874815 / 1.815 μu.

Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 0 and mass calibrant by 0.789394 / -0.741 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 1 and mass calibrant by 0.461701 / -0.356 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 2 and mass calibrant by 0.451256 / -0.44 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 3 and mass calibrant by 0.404974 / -0.411 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 5 and mass calibrant by 0.307791 / -0.254 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 6 and mass calibrant by 0.014113 / -0.104 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 7 and mass calibrant by 0.687914 / -0.701 μu.

Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 0 and mass calibrant by -0.57012 / 0.613 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 1 and mass calibrant by 0.842104 / 0.017 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 2 and mass calibrant by -0.310449 / 0.48 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 3 and mass calibrant by -0.122483 / 0.103 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 5 and mass calibrant by -0.211685 / 0.112 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 6 and mass calibrant by -0.031523 / -0.011 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 7 and mass calibrant by -2.051389 / 1.601 μu.

Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 0 and mass calibrant by -0.292169 / 0.398 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 1 and mass calibrant by -0.191013 / 0.302 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 2 and mass calibrant by -0.207079 / 0.247 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 3 and mass calibrant by -0.198827 / 0.265 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 5 and mass calibrant by -0.079733 / 0.189 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 6 and mass calibrant by -0.040283 / 0.025 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 7 and mass calibrant by 0.104562 / 0.023 μu.

Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 0 and mass calibrant by -0.25787 / 0.127 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 1 and mass calibrant by -0.30804 / 0.236 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 2 and mass calibrant by -0.266946 / 0.17 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 3 and mass calibrant by -0.253966 / 0.15 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 5 and mass calibrant by -0.234102 / 0.188 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 6 and mass calibrant by 0.005052 / -0.022 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 7 and mass calibrant by -3.950558 / 3.447 μu.

Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 0 and mass calibrant by 0.599944 / -0.879 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 1 and mass calibrant by 0.623284 / -0.843 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 2 and mass calibrant by 0.381975 / -0.49 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 3 and mass calibrant by 0.214752 / -0.268 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 5 and mass calibrant by 0.04681 / -0.092 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 6 and mass calibrant by -0.039735 / -0.043 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 7 and mass calibrant by 0.724091 / -0.84 μu.

Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 0 and mass calibrant by -0.047889 / -0.028 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 1 and mass calibrant by 0.075925 / -0.105 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 2 and mass calibrant by 0.019801 / -0.089 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 3 and mass calibrant by 0.053686 / -0.141 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 5 and mass calibrant by 0.39755 / -0.396 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 6 and mass calibrant by -0.049006 / 0.027 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 7 and mass calibrant by 5.770581 / -7.819 μu.

Relative peak-shape error of peak 0: 3.4e-08
Relative peak-shape error of peak 1: 3.9e-08
Relative peak-shape error of peak 2: 1.7e-08
Relative peak-shape error of peak 3: 1.1e-08
Relative peak-shape error of peak 5: 1.1e-08
Relative peak-shape error of peak 6: 3e-09
Relative peak-shape error of peak 7: 1.51e-07
x_pos species comment m_AME m_AME_error extrapolated fit_model cost_func red_chi area area_error m_fit rel_stat_error rel_recal_error rel_peakshape_error rel_mass_error A atomic_ME_keV mass_error_keV m_dev_keV
0 61.927800 Ni62:-1e - 61.927796 4.700000e-07 False emg22 MLE 0.57 34.28 5.57 61.927803 4.201252e-07 1.364463e-08 3.363411e-08 4.216902e-07 62.0 -66740.227 24.325360 6.103
1 61.932021 Cu62:-1e? - NaN NaN False emg22 MLE 0.57 25.16 5.57 61.932083 4.903586e-07 1.364463e-08 3.896350e-08 4.920934e-07 NaN NaN 28.388557 NaN
2 61.934369 ? Non-isobaric NaN NaN False emg22 MLE 0.57 3879.62 47.60 61.934370 3.948740e-08 1.364463e-08 1.705508e-08 4.512545e-08 NaN NaN 2.603355 NaN
3 61.943618 Ga62:-1e - 61.943641 6.940000e-07 False emg22 MLE 0.57 939.07 23.68 61.943636 8.024891e-08 1.364463e-08 1.113420e-08 8.215859e-08 62.0 -51992.089 4.740561 -5.177
4 61.946994 Ti46:O16:-1e mass calibrant 61.946993 1.760001e-07 False emg22 MLE 0.57 33951.28 140.21 61.946993 1.334555e-08 1.364463e-08 NaN NaN 62.0 -48864.806 NaN 0.000
5 61.949527 Sc46:O16:-1e - 61.949534 7.320000e-07 False emg22 MLE 0.57 1542.61 30.25 61.949540 6.260639e-08 1.364463e-08 1.106221e-08 6.502390e-08 62.0 -46492.523 3.752245 5.702
6 61.956611 Ca43:F19:-1e shape calibrant 61.956621 2.440018e-07 False emg22 MLE 0.57 25913.21 121.87 61.956622 1.527343e-08 1.364463e-08 2.667552e-09 2.065355e-08 62.0 -39895.649 1.191962 0.623
7 61.958997 ? - NaN NaN False emg22 MLE 0.57 22.08 5.39 61.958978 5.232160e-07 1.364463e-08 1.512691e-07 5.448151e-07 NaN NaN 31.443690 NaN

Model

((((((((Model(constant, prefix='bkg_') + Model(emg22, prefix='p0_')) + Model(emg22, prefix='p1_')) + Model(emg22, prefix='p2_')) + Model(emg22, prefix='p3_')) + Model(emg22, prefix='p4_')) + Model(emg22, prefix='p5_')) + Model(emg22, prefix='p6_')) + Model(emg22, prefix='p7_'))

Fit Statistics

fitting methodleast_squares
# function evals9
# data points1027
# variables17
chi-square 576.182030
reduced chi-square 0.57047726
Akaike info crit.-559.578861
Bayesian info crit.-475.694109

Variables

name value standard error relative error initial value min max vary expression
bkg_c 0.93849905 0.04823274 (5.14%) 0.1 0.00000000 4.00000000 True
p0_amp 0.00125783 2.0445e-04 (16.25%) 0.001488 1.0000e-20 inf True
p0_mu 61.9278207 2.2787e-05 (0.00%) 61.927800309876424 61.9178003 61.9378003 True
p0_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p0_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p0_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p0_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p0_eta_m1
p0_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p0_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p0_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p0_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p0_eta_p1
p0_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p0_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p1_amp 9.2335e-04 2.0443e-04 (22.14%) 0.000496 1.0000e-20 inf True
p1_mu 61.9321006 2.9321e-05 (0.00%) 61.93202053070152 61.9220205 61.9420205 True
p1_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p1_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p1_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p1_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p1_eta_m1
p1_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p1_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p1_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p1_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p1_eta_p1
p1_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p1_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p2_amp 0.14236628 0.00174660 (1.23%) 0.15648800000000002 1.0000e-20 inf True
p2_mu 61.9343876 1.5546e-06 (0.00%) 61.93436923761443 61.9243692 61.9443692 True
p2_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p2_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p2_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p2_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p2_eta_m1
p2_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p2_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p2_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p2_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p2_eta_p1
p2_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p2_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p3_amp 0.03445992 8.6903e-04 (2.52%) 0.031992 1.0000e-20 inf True
p3_mu 61.9436535 3.1399e-06 (0.00%) 61.943617703998214 61.9336177 61.9536177 True
p3_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p3_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p3_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p3_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p3_eta_m1
p3_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p3_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p3_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p3_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p3_eta_p1
p3_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p3_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p4_amp 1.24587330 0.00514515 (0.41%) 1.0294480000000001 1.0000e-20 inf True
p4_mu 61.9470108 5.3152e-07 (0.00%) 61.946994300285866 61.9369943 61.9569943 True
p4_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p4_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p4_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p4_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p4_eta_m1
p4_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p4_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p4_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p4_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p4_eta_p1
p4_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p4_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p5_amp 0.05660752 0.00111021 (1.96%) 0.050095999999999995 1.0000e-20 inf True
p5_mu 61.9495575 2.4749e-06 (0.00%) 61.94952680789496 61.9395268 61.9595268 True
p5_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p5_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p5_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p5_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p5_eta_m1
p5_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p5_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p5_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p5_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p5_eta_p1
p5_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p5_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p6_amp 0.95090900 0.00447198 (0.47%) 0.8422080000000001 1.0000e-20 inf True
p6_mu 61.9566396 5.8891e-07 (0.00%) 61.95661076349748 61.9466108 61.9666108 True
p6_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p6_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p6_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p6_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p6_eta_m1
p6_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p6_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p6_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p6_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p6_eta_p1
p6_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p6_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p7_amp 8.1013e-04 1.9778e-04 (24.41%) 0.001488 1.0000e-20 inf True
p7_mu 61.9589959 3.5423e-05 (0.00%) 61.95899664282278 61.9489966 61.9689966 True
p7_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p7_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p7_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p7_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p7_eta_m1
p7_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p7_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p7_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p7_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p7_eta_p1
p7_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p7_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False

Correlations (unreported correlations are < 0.100)

p1_ampp1_mu0.2215
p7_ampp7_mu-0.1828
bkg_cp7_amp-0.1291
bkg_cp1_amp-0.1260
bkg_cp0_amp-0.1135
p4_ampp4_mu-0.1059

Plot the fit curve zoomed to a region of interest (optional)

For more detailed inspection of the fit, a zoom to peaks or regions of interest can be shown with the plot_fit_zoom method.

[8]:
spec.plot_fit_zoom(peak_indeces=[3,4]) # zoom to region around peaks 3 and 4
_images/emgfit_tutorial_17_0.png
_images/emgfit_tutorial_17_1.png

Export fit results

Once all peaks have been fitted. The results can be exported to an XLSX Excel file and a separate file with the peak_shape calibration parameters by using the save_results method. The XLSX file contains three sheets: 1. General properties the spectrum object, e.g. input filename, used version of emgfit and all relevant dependencies, …
2. The peak properties table and linear and logarithmic plots of the full spectrum fit. 3. The peak centroid shifts relative to the mass calibrant obtained in the peak-shape uncertainty evaluation.
[9]:
spec.save_results('outputs/'+filename+' fitting MLE')
Fit results saved to file: outputs/2019-09-13_004-_006 SUMMED High stats 62Ga fitting MLE.xlsx

Peak-shape calibration saved to file: outputs/2019-09-13_004-_006 SUMMED High stats 62Ga fitting MLE_peakshape_calib.txt

That’s it! In principle we’re be done with the fitting at this point. Next we would probably take a look at the output file and proceed with some post-processing in Excel (e.g. combining mass values from different spectra etc.).

However, since emgfit gives the user a large amount of freedom, there’s are a number of things that could have been done differently depending on your preferences. So here is some possible…

Alternative procedures:

The above steps represent a full spectrum analysis. However, emgfit gives the user the freedom to take many different routes in processing the spectrum. Some of the possible alternatives are presented in the following:

Alternative 1: Performing the mass recalibration separately before the ion-of-interest fits

All steps up to the final peak fit are identical. For breviety here we simply create an exact clone of the above spectrum object:

[10]:
import copy
spec2 = copy.deepcopy(spec) # create a clone of the spectrum object

First obtain the recalibration factor from a fit of the mass calibrant

[11]:
spec2.fit_calibrant(species_mass_calib='Ti46:O16:-1e')
##### Calibrant fit #####
_images/emgfit_tutorial_25_1.png
_images/emgfit_tutorial_25_2.png

Model

((Model(constant, prefix='bkg_') + Model(emg22, prefix='p4_')) + Model(emg22, prefix='p5_'))

Fit Statistics

fitting methodleast_squares
# function evals10
# data points169
# variables5
chi-square 213.595060
reduced chi-square 1.30240890
Akaike info crit. 49.5769720
Bayesian info crit. 65.2264656

Variables

name value standard error relative error initial value min max vary expression
bkg_c 1.56514795 0.20391463 (13.03%) 0.1 0.00000000 4.00000000 True
p4_amp 1.24435142 0.00781945 (0.63%) 1.0294480000000001 1.0000e-20 inf True
p4_mu 61.9470108 7.9452e-07 (0.00%) 61.946994300285866 61.9369943 61.9569943 True
p4_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p4_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p4_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p4_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p4_eta_m1
p4_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p4_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p4_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p4_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p4_eta_p1
p4_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p4_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p5_amp 0.05600676 0.00169302 (3.02%) 0.050095999999999995 1.0000e-20 inf True
p5_mu 61.9495577 3.7434e-06 (0.00%) 61.94952680789496 61.9395268 61.9595268 True
p5_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p5_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p5_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p5_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p5_eta_m1
p5_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p5_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p5_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p5_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p5_eta_p1
p5_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p5_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False

Correlations (unreported correlations are < 0.100)

p4_ampp4_mu-0.1382
bkg_cp5_amp-0.1163

##### Mass recalibration #####


Relative literature error of mass calibrant:    3e-09
Relative statistical error of mass calibrant:   1.3e-08

Recalibration factor:      0.999999711 = 1 -2.89e-07
Relative recalibration error:  1.4e-08

Determining absolute centroid shifts of mass calibrant.

Fit all peaks and use the mass recalibration factor from above to calculate the final mass values

[12]:
spec2.fit_peaks()
_images/emgfit_tutorial_27_0.png
_images/emgfit_tutorial_27_1.png

##### Peak-shape uncertainty evaluation #####

Determining absolute centroid shifts of mass calibrant.

Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 0 and mass calibrant by 0.497351 / -0.268 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 1 and mass calibrant by 1.419093 / -0.367 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 2 and mass calibrant by -0.124145 / 0.337 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 3 and mass calibrant by 0.009668 / 0.025 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 5 and mass calibrant by -0.014 / 0.002 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 6 and mass calibrant by 0.011673 / -0.032 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 7 and mass calibrant by -1.469091 / 0.908 μu.

Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 0 and mass calibrant by -1.447894 / 1.312 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 1 and mass calibrant by -1.406527 / 1.334 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 2 and mass calibrant by -0.434006 / 0.331 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 3 and mass calibrant by -0.254027 / 0.14 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 5 and mass calibrant by -0.269747 / 0.237 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 6 and mass calibrant by -0.090195 / 0.031 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 7 and mass calibrant by -1.874815 / 1.815 μu.

Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 0 and mass calibrant by 0.789394 / -0.741 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 1 and mass calibrant by 0.461701 / -0.356 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 2 and mass calibrant by 0.451256 / -0.44 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 3 and mass calibrant by 0.404974 / -0.411 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 5 and mass calibrant by 0.307791 / -0.254 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 6 and mass calibrant by 0.014113 / -0.104 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 7 and mass calibrant by 0.687914 / -0.701 μu.

Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 0 and mass calibrant by -0.57012 / 0.613 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 1 and mass calibrant by 0.842104 / 0.017 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 2 and mass calibrant by -0.310449 / 0.48 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 3 and mass calibrant by -0.122483 / 0.103 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 5 and mass calibrant by -0.211685 / 0.112 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 6 and mass calibrant by -0.031523 / -0.011 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 7 and mass calibrant by -2.051389 / 1.601 μu.

Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 0 and mass calibrant by -0.292169 / 0.398 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 1 and mass calibrant by -0.191013 / 0.302 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 2 and mass calibrant by -0.207079 / 0.247 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 3 and mass calibrant by -0.198827 / 0.265 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 5 and mass calibrant by -0.079733 / 0.189 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 6 and mass calibrant by -0.040283 / 0.025 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 7 and mass calibrant by 0.104562 / 0.023 μu.

Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 0 and mass calibrant by -0.25787 / 0.127 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 1 and mass calibrant by -0.30804 / 0.236 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 2 and mass calibrant by -0.266946 / 0.17 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 3 and mass calibrant by -0.253966 / 0.15 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 5 and mass calibrant by -0.234102 / 0.188 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 6 and mass calibrant by 0.005052 / -0.022 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 7 and mass calibrant by -3.950558 / 3.447 μu.

Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 0 and mass calibrant by 0.599944 / -0.879 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 1 and mass calibrant by 0.623284 / -0.843 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 2 and mass calibrant by 0.381975 / -0.49 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 3 and mass calibrant by 0.214752 / -0.268 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 5 and mass calibrant by 0.04681 / -0.092 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 6 and mass calibrant by -0.039735 / -0.043 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 7 and mass calibrant by 0.724091 / -0.84 μu.

Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 0 and mass calibrant by -0.047889 / -0.028 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 1 and mass calibrant by 0.075925 / -0.105 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 2 and mass calibrant by 0.019801 / -0.089 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 3 and mass calibrant by 0.053686 / -0.141 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 5 and mass calibrant by 0.39755 / -0.396 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 6 and mass calibrant by -0.049006 / 0.027 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 7 and mass calibrant by 5.770581 / -7.819 μu.

Relative peak-shape error of peak 0: 3.4e-08
Relative peak-shape error of peak 1: 3.9e-08
Relative peak-shape error of peak 2: 1.7e-08
Relative peak-shape error of peak 3: 1.1e-08
Relative peak-shape error of peak 5: 1.1e-08
Relative peak-shape error of peak 6: 3e-09
Relative peak-shape error of peak 7: 1.51e-07
x_pos species comment m_AME m_AME_error extrapolated fit_model cost_func red_chi area area_error m_fit rel_stat_error rel_recal_error rel_peakshape_error rel_mass_error A atomic_ME_keV mass_error_keV m_dev_keV
0 61.927800 Ni62:-1e - 61.927796 4.700000e-07 False emg22 MLE 0.57 34.28 5.57 61.927803 4.201252e-07 1.365261e-08 3.363411e-08 4.216904e-07 62.0 -66740.242 24.325375 6.088
1 61.932021 Cu62:-1e? - NaN NaN False emg22 MLE 0.57 25.16 5.57 61.932083 4.903586e-07 1.365261e-08 3.896350e-08 4.920936e-07 NaN NaN 28.388570 NaN
2 61.934369 ? Non-isobaric NaN NaN False emg22 MLE 0.57 3879.62 47.60 61.934370 3.948740e-08 1.365261e-08 1.705508e-08 4.512786e-08 NaN NaN 2.603494 NaN
3 61.943618 Ga62:-1e - 61.943641 6.940000e-07 False emg22 MLE 0.57 939.07 23.68 61.943636 8.024891e-08 1.365261e-08 1.113420e-08 8.215991e-08 62.0 -51992.104 4.740638 -5.192
4 61.946994 Ti46:O16:-1e mass calibrant 61.946993 1.760001e-07 False emg22 MLE 1.30 33909.80 213.09 61.946993 1.335371e-08 1.365261e-08 NaN NaN 62.0 -48864.806 NaN 0.000
5 61.949527 Sc46:O16:-1e - 61.949534 7.320000e-07 False emg22 MLE 0.57 1542.61 30.25 61.949540 6.260639e-08 1.365261e-08 1.106221e-08 6.502558e-08 62.0 -46492.538 3.752342 5.687
6 61.956611 Ca43:F19:-1e shape calibrant 61.956621 2.440018e-07 False emg22 MLE 0.57 25913.21 121.87 61.956622 1.527343e-08 1.365261e-08 2.667552e-09 2.065883e-08 62.0 -39895.663 1.192267 0.608
7 61.958997 ? - NaN NaN False emg22 MLE 0.57 22.08 5.39 61.958978 5.232160e-07 1.365261e-08 1.512691e-07 5.448153e-07 NaN NaN 31.443701 NaN

Model

((((((((Model(constant, prefix='bkg_') + Model(emg22, prefix='p0_')) + Model(emg22, prefix='p1_')) + Model(emg22, prefix='p2_')) + Model(emg22, prefix='p3_')) + Model(emg22, prefix='p4_')) + Model(emg22, prefix='p5_')) + Model(emg22, prefix='p6_')) + Model(emg22, prefix='p7_'))

Fit Statistics

fitting methodleast_squares
# function evals9
# data points1027
# variables17
chi-square 576.182030
reduced chi-square 0.57047726
Akaike info crit.-559.578861
Bayesian info crit.-475.694109

Variables

name value standard error relative error initial value min max vary expression
bkg_c 0.93849905 0.04823274 (5.14%) 0.1 0.00000000 4.00000000 True
p0_amp 0.00125783 2.0445e-04 (16.25%) 0.001488 1.0000e-20 inf True
p0_mu 61.9278207 2.2787e-05 (0.00%) 61.927800309876424 61.9178003 61.9378003 True
p0_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p0_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p0_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p0_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p0_eta_m1
p0_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p0_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p0_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p0_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p0_eta_p1
p0_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p0_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p1_amp 9.2335e-04 2.0443e-04 (22.14%) 0.000496 1.0000e-20 inf True
p1_mu 61.9321006 2.9321e-05 (0.00%) 61.93202053070152 61.9220205 61.9420205 True
p1_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p1_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p1_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p1_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p1_eta_m1
p1_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p1_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p1_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p1_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p1_eta_p1
p1_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p1_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p2_amp 0.14236628 0.00174660 (1.23%) 0.15648800000000002 1.0000e-20 inf True
p2_mu 61.9343876 1.5546e-06 (0.00%) 61.93436923761443 61.9243692 61.9443692 True
p2_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p2_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p2_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p2_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p2_eta_m1
p2_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p2_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p2_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p2_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p2_eta_p1
p2_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p2_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p3_amp 0.03445992 8.6903e-04 (2.52%) 0.031992 1.0000e-20 inf True
p3_mu 61.9436535 3.1399e-06 (0.00%) 61.943617703998214 61.9336177 61.9536177 True
p3_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p3_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p3_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p3_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p3_eta_m1
p3_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p3_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p3_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p3_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p3_eta_p1
p3_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p3_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p4_amp 1.24587330 0.00514515 (0.41%) 1.0294480000000001 1.0000e-20 inf True
p4_mu 61.9470108 5.3152e-07 (0.00%) 61.946994300285866 61.9369943 61.9569943 True
p4_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p4_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p4_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p4_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p4_eta_m1
p4_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p4_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p4_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p4_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p4_eta_p1
p4_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p4_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p5_amp 0.05660752 0.00111021 (1.96%) 0.050095999999999995 1.0000e-20 inf True
p5_mu 61.9495575 2.4749e-06 (0.00%) 61.94952680789496 61.9395268 61.9595268 True
p5_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p5_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p5_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p5_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p5_eta_m1
p5_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p5_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p5_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p5_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p5_eta_p1
p5_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p5_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p6_amp 0.95090900 0.00447198 (0.47%) 0.8422080000000001 1.0000e-20 inf True
p6_mu 61.9566396 5.8891e-07 (0.00%) 61.95661076349748 61.9466108 61.9666108 True
p6_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p6_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p6_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p6_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p6_eta_m1
p6_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p6_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p6_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p6_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p6_eta_p1
p6_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p6_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p7_amp 8.1013e-04 1.9778e-04 (24.41%) 0.001488 1.0000e-20 inf True
p7_mu 61.9589959 3.5423e-05 (0.00%) 61.95899664282278 61.9489966 61.9689966 True
p7_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p7_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p7_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p7_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p7_eta_m1
p7_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p7_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p7_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p7_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p7_eta_p1
p7_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p7_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False

Correlations (unreported correlations are < 0.100)

p1_ampp1_mu0.2215
p7_ampp7_mu-0.1828
bkg_cp7_amp-0.1291
bkg_cp1_amp-0.1260
bkg_cp0_amp-0.1135
p4_ampp4_mu-0.1059

Alternative 2: Chi-square instead of MLE fitting

All steps up to the final peak fit are identical. For breviety here we simply create an exact clone of the above spectrum object and re-use the above peak-shape calibration (obtained with chi-square fitting):

[13]:
import copy
spec_chi_sq = copy.deepcopy(spec) # create a clone of the spectrum object

# Use Pearson's chi-squared statistic for A_stat_emg determination
spec_chi_sq.determine_A_stat_emg(species='Ca43:F19:-1e',x_range=0.004,cost_func='chi-square',plot_filename='outputs/'+filename+'_chi-square',N_spectra=10)
Creating synthetic spectra via bootstrap re-sampling and fitting them for A_stat determination.
Depending on the choice of `N_spectra` this can take a few minutes. Interrupt kernel if this takes too long.

Done!

[[Model]]
    Model(powerlaw)
[[Fit Statistics]]
    # fitting method   = leastsq
    # function evals   = 5
    # data points      = 8
    # variables        = 1
    chi-square         = 7.5126e-09
    reduced chi-square = 1.0732e-09
    Akaike info crit   = -164.288995
    Bayesian info crit = -164.209554
[[Variables]]
    amplitude:  1.5101e-04 +/- 1.2185e-05 (8.07%) (init = 1)
    exponent:  -0.5 (fixed)
_images/emgfit_tutorial_29_1.png
A_stat of a Gaussian model: 0.425
Default A_stat_emg for Hyper-EMG models: 0.52
A_stat_emg for this spectrum's emg22 fit model: 0.629 +- 0.051
[14]:
spec_chi_sq.fit_peaks(species_mass_calib='Ti46:O16:-1e',cost_func='chi-square') # use Pearson's chi-squared statistic
_images/emgfit_tutorial_30_0.png
_images/emgfit_tutorial_30_1.png

##### Mass recalibration #####


Relative literature error of mass calibrant:    3e-09
Relative statistical error of mass calibrant:   1.3e-08

Recalibration factor:      0.999999710 = 1 -2.90e-07
Relative recalibration error:  1.4e-08


##### Peak-shape uncertainty evaluation #####

Determining absolute centroid shifts of mass calibrant.

Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 0 and mass calibrant by 0.51581 / -0.479 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 1 and mass calibrant by 0.679335 / -0.555 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 2 and mass calibrant by -0.32189 / 0.327 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 3 and mass calibrant by -0.108786 / 0.103 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 5 and mass calibrant by -0.044844 / 0.047 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 6 and mass calibrant by 0.010156 / -0.012 μu.
Re-fitting with  sigma  =  8.3e-05 +/- 3e-06  shifts Δm of peak 7 and mass calibrant by -1.875192 / 1.727 μu.

Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 0 and mass calibrant by -0.654948 / 0.562 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 1 and mass calibrant by -1.290619 / 1.127 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 2 and mass calibrant by -0.630664 / 0.574 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 3 and mass calibrant by -0.258654 / 0.229 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 5 and mass calibrant by -0.164053 / 0.161 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 6 and mass calibrant by -0.018755 / 0.022 μu.
Re-fitting with  theta  =  0.724714 +/- 0.023491  shifts Δm of peak 7 and mass calibrant by -2.327694 / 2.131 μu.

Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 0 and mass calibrant by 0.485349 / -0.423 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 1 and mass calibrant by 0.069115 / -0.078 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 2 and mass calibrant by 0.505205 / -0.425 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 3 and mass calibrant by 0.471321 / -0.339 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 5 and mass calibrant by 0.240982 / -0.146 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 6 and mass calibrant by 0.028091 / -0.024 μu.
Re-fitting with  eta_m1  =  0.920191 +/- 0.023131  shifts Δm of peak 7 and mass calibrant by 0.854894 / -0.673 μu.

Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 0 and mass calibrant by -0.619823 / 0.62 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 1 and mass calibrant by 0.257955 / -0.199 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 2 and mass calibrant by -0.615288 / 0.6 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 3 and mass calibrant by -0.279127 / 0.259 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 5 and mass calibrant by -0.246627 / 0.239 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 6 and mass calibrant by -0.035277 / 0.03 μu.
Re-fitting with  tau_m1  =  4.5e-05 +/- 6e-06  shifts Δm of peak 7 and mass calibrant by -2.281664 / 2.371 μu.

Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 0 and mass calibrant by 0.076854 / -0.083 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 1 and mass calibrant by 0.190276 / -0.39 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 2 and mass calibrant by -0.114047 / 0.207 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 3 and mass calibrant by -0.167053 / 0.274 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 5 and mass calibrant by -0.009732 / 0.08 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 6 and mass calibrant by 0.010157 / -0.015 μu.
Re-fitting with  tau_m2  =  0.000177 +/- 2.5e-05  shifts Δm of peak 7 and mass calibrant by 0.05257 / 0.099 μu.

Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 0 and mass calibrant by -0.3742 / 0.164 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 1 and mass calibrant by -0.693045 / 0.381 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 2 and mass calibrant by -0.308272 / 0.253 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 3 and mass calibrant by -0.208199 / 0.154 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 5 and mass calibrant by -0.222521 / 0.169 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 6 and mass calibrant by 0.015832 / -0.013 μu.
Re-fitting with  eta_p1  =  0.790092 +/- 0.044934  shifts Δm of peak 7 and mass calibrant by -7.46419 / 5.139 μu.

Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 0 and mass calibrant by -0.287841 / 0.259 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 1 and mass calibrant by 0.33188 / -0.638 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 2 and mass calibrant by 0.543039 / -0.679 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 3 and mass calibrant by 0.231734 / -0.288 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 5 and mass calibrant by -0.038043 / 0.035 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 6 and mass calibrant by -0.000482 / -0.003 μu.
Re-fitting with  tau_p1  =  0.000124 +/- 1.3e-05  shifts Δm of peak 7 and mass calibrant by 0.302296 / -0.405 μu.

Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 0 and mass calibrant by 0.41938 / -0.609 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 1 and mass calibrant by 0.660769 / -0.935 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 2 and mass calibrant by 0.018303 / -0.08 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 3 and mass calibrant by 0.048622 / -0.108 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 5 and mass calibrant by 0.466927 / -0.569 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 6 and mass calibrant by -0.016967 / 0.023 μu.
Re-fitting with  tau_p2  =  0.000408 +/- 5.5e-05  shifts Δm of peak 7 and mass calibrant by 8.425716 / -22.021 μu.

Relative peak-shape error of peak 0: 2.2e-08
Relative peak-shape error of peak 1: 3.3e-08
Relative peak-shape error of peak 2: 2.1e-08
Relative peak-shape error of peak 3: 1.2e-08
Relative peak-shape error of peak 5: 1.2e-08
Relative peak-shape error of peak 6: 1e-09
Relative peak-shape error of peak 7: 3.81e-07
x_pos species comment m_AME m_AME_error extrapolated fit_model cost_func red_chi area area_error m_fit rel_stat_error rel_recal_error rel_peakshape_error rel_mass_error A atomic_ME_keV mass_error_keV m_dev_keV
0 61.927800 Ni62:-1e - 61.927796 4.700000e-07 False emg22 chi-square 0.99 40.92 7.49 61.927807 3.811977e-07 1.351950e-08 2.234155e-08 3.820911e-07 62.0 -66736.708 22.041075 9.622
1 61.932021 Cu62:-1e? - NaN NaN False emg22 chi-square 0.99 28.22 6.66 61.932067 4.589969e-07 1.351950e-08 3.274970e-08 4.603623e-07 NaN NaN 26.558006 NaN
2 61.934369 ? Non-isobaric NaN NaN False emg22 chi-square 0.99 3990.65 63.92 61.934370 3.859671e-08 1.351950e-08 2.132427e-08 4.612166e-08 NaN NaN 2.660828 NaN
3 61.943618 Ga62:-1e - 61.943641 6.940000e-07 False emg22 chi-square 0.99 957.83 31.47 61.943635 7.877038e-08 1.351950e-08 1.242163e-08 8.088168e-08 62.0 -51992.207 4.666884 -5.295
4 61.946994 Ti46:O16:-1e mass calibrant 61.946993 1.760001e-07 False emg22 chi-square 0.99 34014.37 184.70 61.946993 1.321759e-08 1.351950e-08 NaN NaN 62.0 -48864.806 NaN 0.000
5 61.949527 Sc46:O16:-1e - 61.949534 7.320000e-07 False emg22 chi-square 0.99 1573.74 40.42 61.949540 6.144680e-08 1.351950e-08 1.174502e-08 6.400337e-08 62.0 -46492.418 3.693355 5.807
6 61.956611 Ca43:F19:-1e shape calibrant 61.956621 2.440018e-07 False emg22 chi-square 0.99 25965.46 161.43 61.956622 1.512579e-08 1.351950e-08 9.786474e-10 2.031069e-08 62.0 -39895.701 1.172175 0.570
7 61.958997 ? - NaN NaN False emg22 chi-square 0.99 27.46 6.98 61.958999 4.651030e-07 1.351950e-08 3.806100e-07 6.011385e-07 NaN NaN 34.694376 NaN

Model

((((((((Model(constant, prefix='bkg_') + Model(emg22, prefix='p0_')) + Model(emg22, prefix='p1_')) + Model(emg22, prefix='p2_')) + Model(emg22, prefix='p3_')) + Model(emg22, prefix='p4_')) + Model(emg22, prefix='p5_')) + Model(emg22, prefix='p6_')) + Model(emg22, prefix='p7_'))

Fit Statistics

fitting methodleast_squares
# function evals10
# data points1027
# variables17
chi-square 996.911557
reduced chi-square 0.98704115
Akaike info crit. 3.46199759
Bayesian info crit. 87.3467502

Variables

name value standard error relative error initial value min max vary expression
bkg_c 0.60918294 0.03486864 (5.72%) 0.1 0.00000000 4.00000000 True
p0_amp 0.00150146 2.7501e-04 (18.32%) 0.001488 1.0000e-20 inf True
p0_mu 61.9278246 2.6058e-05 (0.00%) 61.927800309876424 61.9178003 61.9378003 True
p0_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p0_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p0_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p0_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p0_eta_m1
p0_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p0_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p0_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p0_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p0_eta_p1
p0_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p0_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p1_amp 0.00103564 2.4441e-04 (23.60%) 0.000496 1.0000e-20 inf True
p1_mu 61.9320845 3.0529e-05 (0.00%) 61.93202053070152 61.9220205 61.9420205 True
p1_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p1_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p1_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p1_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p1_eta_m1
p1_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p1_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p1_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p1_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p1_eta_p1
p1_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p1_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p2_amp 0.14644042 0.00234571 (1.60%) 0.15648800000000002 1.0000e-20 inf True
p2_mu 61.9343881 2.1401e-06 (0.00%) 61.93436923761443 61.9243692 61.9443692 True
p2_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p2_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p2_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p2_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p2_eta_m1
p2_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p2_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p2_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p2_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p2_eta_p1
p2_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p2_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p3_amp 0.03514849 0.00115474 (3.29%) 0.031992 1.0000e-20 inf True
p3_mu 61.9436535 4.1398e-06 (0.00%) 61.943617703998214 61.9336177 61.9536177 True
p3_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p3_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p3_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p3_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p3_eta_m1
p3_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p3_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p3_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p3_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p3_eta_p1
p3_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p3_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p4_amp 1.24818856 0.00677766 (0.54%) 1.0294480000000001 1.0000e-20 inf True
p4_mu 61.9470109 6.6772e-07 (0.00%) 61.946994300285866 61.9369943 61.9569943 True
p4_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p4_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p4_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p4_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p4_eta_m1
p4_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p4_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p4_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p4_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p4_eta_p1
p4_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p4_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p5_amp 0.05774996 0.00148342 (2.57%) 0.050095999999999995 1.0000e-20 inf True
p5_mu 61.9495577 3.2400e-06 (0.00%) 61.94952680789496 61.9395268 61.9595268 True
p5_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p5_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p5_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p5_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p5_eta_m1
p5_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p5_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p5_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p5_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p5_eta_p1
p5_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p5_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p6_amp 0.95282658 0.00592393 (0.62%) 0.8422080000000001 1.0000e-20 inf True
p6_mu 61.9566396 7.6984e-07 (0.00%) 61.95661076349748 61.9466108 61.9666108 True
p6_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p6_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p6_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p6_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p6_eta_m1
p6_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p6_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p6_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p6_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p6_eta_p1
p6_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p6_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False
p7_amp 0.00100777 2.5608e-04 (25.41%) 0.001488 1.0000e-20 inf True
p7_mu 61.9590166 3.6227e-05 (0.00%) 61.95899664282278 61.9489966 61.9689966 True
p7_sigma 8.3414e-05 0.00000000 (0.00%) 8.341444351311295e-05 0.00000000 0.00508341 False
p7_theta 0.72471396 0.00000000 (0.00%) 0.724713961354256 0.00000000 1.00000000 False
p7_eta_m1 0.92019054 0.00000000 (0.00%) 0.9201905356472759 0.00000000 1.00000000 False
p7_eta_m2 0.07980946 0.00000000 (0.00%) 0.07980946435272407 0.00000000 1.00000000 False 1-p7_eta_m1
p7_tau_m1 4.4900e-05 0.00000000 (0.00%) 4.490011233364427e-05 1.0000e-12 0.05000000 False
p7_tau_m2 1.7683e-04 0.00000000 (0.00%) 0.0001768253599220442 1.0000e-12 0.05000000 False
p7_eta_p1 0.79009179 0.00000000 (0.00%) 0.7900917915552933 0.00000000 1.00000000 False
p7_eta_p2 0.20990821 0.00000000 (0.00%) 0.2099082084447067 0.00000000 1.00000000 False 1-p7_eta_p1
p7_tau_p1 1.2412e-04 0.00000000 (0.00%) 0.00012412456123840068 1.0000e-12 0.05000000 False
p7_tau_p2 4.0762e-04 0.00000000 (0.00%) 0.00040761699179939085 1.0000e-12 0.05000000 False