Logo ROOT  
Reference Guide
RooUnblindUniform.cxx
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitModels *
4 * @(#)root/roofit:$Id$
5 * Authors: *
6 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.edu *
7 * DK, David Kirkby, UC Irvine, dkirkby@uci.edu *
8 * *
9 * Copyright (c) 2000-2005, Regents of the University of California *
10 * and Stanford University. All rights reserved. *
11 * *
12 * Redistribution and use in source and binary forms, *
13 * with or without modification, are permitted according to the terms *
14 * listed in LICENSE (http://roofit.sourceforge.net/license.txt) *
15 *****************************************************************************/
16
17/** \class RooUnblindUniform
18 \ingroup Roofit
19
20Implementation of BlindTools' offset blinding method.
21A RooUnblindUniform object is a real-valued function
22object, constructed from a parameter to be blinded and a
23set of config parameters to change the blinding method.
24When supplied to a PDF in lieu of the regular parameter,
25a transformation will be applied such that the likelihood is computed with the actual
26value of the parameter, but RooFit (, the user, MINUIT) see only
27the transformed (blinded) value. The transformation is chosen such that
28the error of the blind parameter is identical to that
29of the original parameter.
30**/
31
32#include "RooArgSet.h"
33#include "RooUnblindUniform.h"
34
35
36using namespace std;
37
39
40////////////////////////////////////////////////////////////////////////////////
41/// Default constructor
42
44{
45}
46
47////////////////////////////////////////////////////////////////////////////////
48/// Constructor from a given RooAbsReal (to hold the blinded value) and a set
49/// of blinding parameters.
50/// \param name Name of this transformation
51/// \param title Title (for plotting)
52/// \param blindString String to initialise the random generator
53/// \param scale Scale the offset. High values make the blinding more violent.
54/// \param blindValue The parameter to be blinded. After the fit, this parameter will
55/// only hold the blinded values.
56
57RooUnblindUniform::RooUnblindUniform(const char *name, const char *title,
58 const char *blindString, double scale, RooAbsReal& blindValue)
59 : RooAbsHiddenReal(name,title),
60 _value("value","Uniform blinded value",this,blindValue),
61 _blindEngine(blindString,RooBlindTools::full,0.,scale)
62{
63}
64
65////////////////////////////////////////////////////////////////////////////////
66/// Copy constructor
67
69 RooAbsHiddenReal(other, name),
70 _value("asym",this,other._value),
71 _blindEngine(other._blindEngine)
72{
73}
74
75////////////////////////////////////////////////////////////////////////////////
76/// Destructor
77
79{
80}
81
82////////////////////////////////////////////////////////////////////////////////
83/// Evaluate RooBlindTools unhide-offset method on blind value
84
86{
88}
#define ClassImp(name)
Definition: Rtypes.h:375
char name[80]
Definition: TGX11.cxx:110
RooAbsHiddenReal is a base class for objects that want to hide their return value from interactive us...
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:64
double UnHideUniform(double PrecisionBlind) const
Implementation of BlindTools' offset blinding method.
RooBlindTools _blindEngine
RooUnblindUniform()
Default constructor.
~RooUnblindUniform() override
Destructor.
double evaluate() const override
Evaluate RooBlindTools unhide-offset method on blind value.