// Implementation of BlindTools' precision blinding method
// A RooUnblindPrecision object is a real valued function
// object, constructed from a blind value holder and a
// set of unblinding parameters. When supplied to a PDF
// in lieu of a regular parameter, the blind value holder
// supplied to the unblinder objects will in a fit be minimized
// to blind value corresponding to the actual minimum of the
// parameter. The transformation is chosen such that the
// the error on the blind parameters is indentical to that
// of the unblind parameter
// END_HTML
#include "RooFit.h"
#include "RooArgSet.h"
#include "RooArgSet.h"
#include "RooUnblindPrecision.h"
ClassImp(RooUnblindPrecision)
;
RooUnblindPrecision::RooUnblindPrecision() : _blindEngine("")
{
}
RooUnblindPrecision::RooUnblindPrecision(const char *name, const char *title,
const char *blindString, Double_t centralValue,
Double_t scale, RooAbsReal& value,
Bool_t sin2betaMode)
: RooAbsHiddenReal(name,title),
_value("value","Precision blinded value",this,value),
_blindEngine(blindString,RooBlindTools::full,centralValue,scale,sin2betaMode)
{
}
RooUnblindPrecision::RooUnblindPrecision(const char *name, const char *title,
const char *blindString, Double_t centralValue,
Double_t scale, RooAbsReal& value, RooAbsCategory& blindState,
Bool_t sin2betaMode)
: RooAbsHiddenReal(name,title,blindState),
_value("value","Precision blinded value",this,value),
_blindEngine(blindString,RooBlindTools::full,centralValue,scale,sin2betaMode)
{
}
RooUnblindPrecision::RooUnblindPrecision(const RooUnblindPrecision& other, const char* name) :
RooAbsHiddenReal(other, name),
_value("asym",this,other._value),
_blindEngine(other._blindEngine)
{
}
RooUnblindPrecision::~RooUnblindPrecision()
{
}
Double_t RooUnblindPrecision::evaluate() const
{
if (isHidden()) {
return _blindEngine.UnHidePrecision(_value);
} else {
return _value ;
}
}
Last change: Wed Jun 25 08:34:29 2008
Last generated: 2008-06-25 08:34
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.