ISa: Difference between revisions

Jump to navigation Jump to search
Line 6: Line 6:
This will give you the upper limit of I/sigma(I) for any reflection in your dataset - even if your crystal is great, all reflections are bound to be worse than that.
This will give you the upper limit of I/sigma(I) for any reflection in your dataset - even if your crystal is great, all reflections are bound to be worse than that.


Why does the command give you such a useful value? It just finds the line " a          b " in [[CORRECT.LP]], grabs the values of "a" and "b" from the next line, and prints out 1/sqrt(a*b). The values a and b appear in the formula v(I)=a*(v0(I)+b*I^2) which is used by CORRECT to adjust the variances of the intensities, to match their experimental spread. For strong and well-measured reflections, the variance is dominated by the systematic error that is introduced by any beam or detector instability. For weak reflections, v0(I), the variance from counting statistics, dominates. The value for v(I) that the formula gives, will be higher than v(I)=a*b*I^2 . Therefore, I/sigma(I) = I/sqrt(v(I)) will be lower than 1/sqrt(a*b) which is what the Unix command prints out.
Why does the command give you such a useful value? It just finds the line " a          b " in [[CORRECT.LP]], grabs the values of "a" and "b" from the next line, and prints out 1/sqrt(a*b). The values a and b appear in the formula v(I)=a*(v0(I)+b*I^2) which is used by CORRECT to adjust the variances of the intensities, to match their experimental spread. For strong and well-measured reflections, the variance is dominated by the systematic error that is introduced by any beam /spindle / detector /cryo or other instability or malfunction. For weak reflections, v0(I), the variance from counting statistics, dominates. The value for v(I) that the formula gives, will be higher than v'(I)=a*b*I^2 by an amount a*v0(I). Therefore, I/sigma(I) = I/sqrt(v(I)) will be lower than I/sqrt(v'(I)) = 1/sqrt(a*b) which is what the Unix command prints out.


What might go wrong with this simple measure? Sometimes, e.g. if too few strong reflections exist in the dataset, b might come out negative. In that case the Unix command prints out "nan" which means "not a number" and indicates that it could not calculate the square root of a negative number.  
What might go wrong with this simple measure? Sometimes, e.g. if too few strong reflections exist in the dataset, b might come out negative. In that case the Unix command prints out "nan" which means "not a number" and indicates that it could not calculate the square root of a negative number.