Questions regarding unblinding


When trying to implement unblinding with a RooUnblindUniform I observe some behaviour that confuses me, and I am not able to find any detailed documentation in the manual or Doxygen. Basically:

  1. If I set the “scale” parameter to some (large?) values the fit breaks down: surely the blinding should not affect the fit, as the real value of the parameters should still be used there? (I don’t know what the scale parameter exactly does)
  2. the output uncertainties on the blinded parameters vary depending on the blinding string I use. Again: surely the blinding offset should not affect the actual fit?

Both behaviours can be seen by trivial modifications to the example script here, although there the uncertainties only vary with a few permille.


  1. I think the blinding tries to push my orginal variables outside their allowed RooFit limits, which makes the fit misbehave
  2. My issue here was that if a PDF with blinded parameters is used in toy data generation, the underlying value real parameter values are not used, but the blinded one is (in some form), hence the generated dataset depended on the blinding string.


Hi Mikkel,

it’s nice that you found the solution.

That’s what the scale is for. The larger the scale, the more aggressive offsets get added to “blind” the variable. It may therefore hit the range limits.

Yes, if you look closely at the script you linked, that makes sense. They use a fit PDF with an unblinding transformation for the parameter. This means that in the likelihood computation, the unblinded parameter is used, but from the outside you see only the blinded value. However, they generate toy data using a PDF without any transformation.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.