Ignore:
Timestamp:
Apr 4, 2011 12:18:33 PM (11 years ago)
Author:
srkline
Message:

Changes to SANS reduction that apply to other Facilities:

These changes are related to the propagation of errors in 2D, on a
per-pixel basis. These changes only affect the errors that are reported in
the QxQy? ASCII file output. The 1D code is unaffected.

If these changes are not implemented, then errors of zero will be substitued as defaults
for these experimental errors.

Upon data loading, an error matrix, linear_data_error is generated and filled with
error values appropriate for Poisson statistics (not simply sqrt(n)).

4 functions in FACILITY_DataReadWrite.ipf have been added, and they are rather
self-explanatory:

In FACILITY_Utils.ipf, the AttenuatorTransmission?() function now returns
an additional parameter, atten_err, which is one standard deviation of the
attenuator transmission value. It returns a default error=0 (which is
correct if no attenuation is used). Facilities can fill this function in
with their own estimates for the uncertainty in the attenutator transmission.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/SANS/ANSTO_DataReadWrite.ipf

    r776 r795  
    202202        String/G root:Packages:NIST:RAW:fileList = textw[0] 
    203203         
    204         Duplicate/O data $"root:Packages:NIST:RAW:linear_data"                  //data read in is on linear scale, copy it now 
    205  
     204        Duplicate/O data linear_data                    //data read in is on linear scale, copy it now 
     205 
     206        // proper error for counting statistics, good for low count values too 
     207        // rather than just sqrt(n) 
     208        // see N. Gehrels, Astrophys. J., 303 (1986) 336-346, equation (7) 
     209        // for S = 1 in eq (7), this corresponds to one sigma error bars 
     210        Duplicate/O linear_data linear_data_error 
     211        linear_data_error = 1 + sqrt(linear_data + 0.75)                                 
     212        // 
     213         
    206214        Return 0 
    207215 
     
    409417        data=temp0 
    410418        Redimension/N=(pixelsX,pixelsY) data            //,linear_data 
     419 
     420        Duplicate/O data linear_data_error 
     421        linear_data_error = 1 + sqrt(data + 0.75) 
     422         
     423        //just in case there are odd inputs to this, like negative intensities 
     424        WaveStats/Q linear_data_error 
     425        linear_data_error = numtype(linear_data_error[p]) == 0 ? linear_data_error[p] : V_avg 
     426        linear_data_error = linear_data_error[p] != 0 ? linear_data_error[p] : V_avg 
    411427         
    412428        //linear_data = data 
     
    517533// (3) close the file 
    518534 
    519  
     535// new, April 2011 for error propagation. fill these in with the facility- 
     536// specific versions, if desired. 
     537Function WriteTransmissionErrorToHeader(fname,transErr) 
     538        String fname 
     539        Variable transErr 
     540         
     541 
     542        return(0) 
     543End 
     544 
     545Function WriteBoxCountsErrorToHeader(fname,rel_err) 
     546        String fname 
     547        Variable rel_err 
     548         
     549        return(0) 
     550End 
     551 
     552Function getSampleTransError(fname) 
     553        String fname 
     554         
     555        return(0) 
     556end 
     557 
     558Function getBoxCountsError(fname) 
     559        String fname 
     560         
     561        return(0) 
     562end 
     563 
     564 
     565// end April 2011 additions 
    520566 
    521567//whole transmission is NCNR-specific right now 
Note: See TracChangeset for help on using the changeset viewer.