diff --git a/beamtime/nappBackground.m b/beamtime/nappBackground.m index c45e836..927e2d9 100644 --- a/beamtime/nappBackground.m +++ b/beamtime/nappBackground.m @@ -164,7 +164,7 @@ if ~any(existColumn) end -% repeat this for all columns in input. +% repeat this for all input. for ii = 1:size(p.Results.DataTable(p.Results.tableSelection,:),1) if startsWith(p.Results.mode,'linfit') @@ -240,20 +240,26 @@ for ii = 1:size(p.Results.DataTable(p.Results.tableSelection,:),1) % Set up fittype and options. - excludedPoints = excludedata( xData, yData, 'domain',[p.Results.energyStart(1) p.Results.energyEnd(1)] ); + excludedPoints = ~excludedata( xData, yData, 'domain',[p.Results.energyStart(1) p.Results.energyEnd(1)] ); if size(p.Results.energyStart,2) ==2 && size(p.Results.energyEnd,2) ==1 excludedPointsEins = excludedPoints; clearvars excludedPoints - excludedPointsZwei = excludedata( xData, yData, 'domain',[xData(1) p.Results.energyStart(2)] ); - excludedPoints = excludedPointsEins & excludedPointsZwei; + excludedPointsZwei = ~excludedata( xData, yData, 'domain',[xData(end) p.Results.energyStart(2)] ); + excludedPoints = excludedPointsEins | excludedPointsZwei; elseif size(p.Results.energyStart,2) ==2 && size(p.Results.energyEnd,2) ==2 excludedPointsEins = excludedPoints; clearvars excludedPoints - excludedPointsZwei = excludedata( xData, yData, 'domain',[p.Results.energyStart(2) p.Results.energyEnd(2)] ); - excludedPoints = excludedPointsEins & excludedPointsZwei; + excludedPointsZwei = ~excludedata( xData, yData, 'domain',[xData(end) p.Results.energyStart(2)] ); + excludedPointsDrei = ~excludedata( xData, yData, 'domain',[p.Results.energyEnd(2) xData(1)] ); + excludedPoints = excludedPointsEins | excludedPointsZwei |excludedPointsDrei ; + elseif size(p.Results.energyStart,2) ==1 && size(p.Results.energyEnd,2) ==2 + excludedPointsEins = excludedPoints; + clearvars excludedPoints + excludedPointsZwei = ~excludedata( xData, yData, 'domain',[p.Results.energyEnd(2) xData(1)] ); + excludedPoints = excludedPointsEins | excludedPointsZwei; end - opts = fitoptions( 'Method', 'NonlinearLeastSquares','Exclude', ~excludedPoints ); + opts = fitoptions( 'Method', 'NonlinearLeastSquares','Exclude', excludedPoints ); opts.Display = 'Off'; @@ -270,6 +276,8 @@ for ii = 1:size(p.Results.DataTable(p.Results.tableSelection,:),1) ylabel( 'PE intensity', 'Interpreter', 'none' ); grid on title(p.Results.DataTable(p.Results.tableSelection,:).name{ii},'Interpreter','none') + ax = gca; + ax.XDir = 'reverse'; end if endsWith(p.Results.mode,'divide') tmp{ii,1} = p.Results.DataTable(p.Results.tableSelection,:).(p.Results.tableVariable){ii}./fitresult(p.Results.DataTable(p.Results.tableSelection,:).bindingEnergy_eV{ii});