Rotation: a diagnostic that opens the prediction window on its own width
Prediction and partiality read one number, the per-image sigma_M, so a sigma_M that moves takes the integrated reflection population with it and there is no way to ask which of the two uses carries a downstream difference. --prediction-mosaicity fixes the width the prediction window opens to while the partiality keeps using the measured sigma_M, which separates them. Measured with it on a rotation crystal whose lattice search returns two different cells a few tens of microns of detector distance apart: widening the prediction window from the narrower branch's 0.203 deg to the wider branch's 0.272 deg adds 28% more partials and moves the merged statistics by less than half a percent (I/sigma 6.1 -> 6.2, R_meas 12.7 -> 12.6%, ISa 10.7 -> 10.9); narrowing the wide branch the other way removes 26% of its partials and recovers nothing. On a tetragonal reference crystal a 4.7x over-wide window costs 11%. The prediction window is not where a mosaicity difference turns into a merged-data difference - the captured-fraction gate and the partiality weighting downstream absorb a generous window. Diagnostic only; off by default, so nothing changes unless it is asked for.
This commit is contained in:
@@ -479,7 +479,12 @@ void IndexAndRefine::QuickPredictAndIntegrate(DataMessage &msg,
|
||||
mosaicity[msg.number] = *mos_measured;
|
||||
}
|
||||
}
|
||||
const float mos_deg = mos_measured.value_or(0.1f);
|
||||
// The width the prediction window opens to. It is the measured sigma_M unless a fixed prediction
|
||||
// mosaicity was asked for: the reported (and therefore integrated-against) sigma_M below is left
|
||||
// alone either way, so the two uses of the number can be separated.
|
||||
float mos_deg = mos_measured.value_or(0.1f);
|
||||
if (const auto forced_pred = experiment.GetBraggIntegrationSettings().GetForcedPredictionMosaicity_deg())
|
||||
mos_deg = *forced_pred;
|
||||
|
||||
IntegrationOutcome i_outcome{
|
||||
.geom = outcome.experiment.GetDiffractionGeometry(),
|
||||
|
||||
Reference in New Issue
Block a user