function [LoadingRate, StandardError, ConfidenceInterval] = jackknifeErrorEstimation(this, ovenObj,  NumberOfLoadedAtoms)
    n                  = this.NumberOfAtoms;
    Autocorrelation    = zeros(1, n);
    
    for i = 1:n-1
        FirstTerm   = 0;
        SecondTerm  = 0;
        for j = 1:n-i
            FirstTerm          = FirstTerm    +  NumberOfLoadedAtoms(j)    / j;
            SecondTerm         = SecondTerm   + (NumberOfLoadedAtoms(i+j)) / (i+j);
            Autocorrelation(i) = Autocorrelation(i) + ((NumberOfLoadedAtoms(j) / j) .*(NumberOfLoadedAtoms(i+j) / (i+j)));
        end
        Autocorrelation(i)     = (1/(n-i)) * (Autocorrelation(i) - ((1/(n-i)) * FirstTerm * SecondTerm));
    end

    if Autocorrelation(1)~=0 
        
        Autocorrelation   = Autocorrelation./Autocorrelation(1);

        x                 = linspace(1,n,n);

        [FitParams,~]     = fit(x',Autocorrelation',"exp(-x/tau)", 'Startpoint', 100);
        CorrelationFactor = FitParams.tau;

        SampleLength                 = 2*CorrelationFactor+1;
        NumberOfJackknifeSamples     = floor(n/SampleLength);
        CaptureRatioInEachSample     = zeros(1,NumberOfJackknifeSamples);
        SampleNumberLimit            = min(NumberOfJackknifeSamples-1,5);
        for i=1:NumberOfJackknifeSamples-SampleNumberLimit
            CaptureRatioInEachSample(i) = NumberOfLoadedAtoms(n-ceil((i-1)*SampleLength))/(n-ceil((i-1)*SampleLength));
        end
        
        MeanCaptureRatio = sum(CaptureRatioInEachSample) / (NumberOfJackknifeSamples-SampleNumberLimit);
        
        LoadingRate = MeanCaptureRatio * ovenObj.ReducedFlux;
        
        Variance=0;
        for i=1:NumberOfJackknifeSamples-SampleNumberLimit
            Variance=Variance+(CaptureRatioInEachSample(i) - MeanCaptureRatio)^2;
        end
        StandardError = sqrt(Variance/(NumberOfJackknifeSamples-SampleNumberLimit));
        
        ConfidenceInterval = LoadingRate + 1.96*StandardError; % 95% Confidence Intervals
        
    else
        LoadingRate   = nan;
        StandardError = nan;
        ConfidenceInterval = [nan nan];
    end
end