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 "RooFit.h"
33
34#include "RooArgSet.h"
35#include "RooArgSet.h"
36#include "RooUnblindUniform.h"
37
38
39using namespace std;
40
42
43////////////////////////////////////////////////////////////////////////////////
44/// Default constructor
45
47{
48}
49
50////////////////////////////////////////////////////////////////////////////////
51/// Constructor from a given RooAbsReal (to hold the blinded value) and a set
52/// of blinding parameters.
53/// \param name Name of this transformation
54/// \param title Title (for plotting)
55/// \param blindString String to initialise the random generator
56/// \param scale Scale the offset. High values make the blinding more violent.
57/// \param blindValue The parameter to be blinded. After the fit, this parameter will
58/// only hold the blinded values.
59
60RooUnblindUniform::RooUnblindUniform(const char *name, const char *title,
61 const char *blindString, Double_t scale, RooAbsReal& blindValue)
62 : RooAbsHiddenReal(name,title),
63 _value("value","Uniform blinded value",this,blindValue),
64 _blindEngine(blindString,RooBlindTools::full,0.,scale)
65{
66}
67
68////////////////////////////////////////////////////////////////////////////////
69/// Copy constructor
70
72 RooAbsHiddenReal(other, name),
73 _value("asym",this,other._value),
74 _blindEngine(other._blindEngine)
75{
76}
77
78////////////////////////////////////////////////////////////////////////////////
79/// Destructor
80
82{
83}
84
85////////////////////////////////////////////////////////////////////////////////
86/// Evaluate RooBlindTools unhide-offset method on blind value
87
89{
91}
double Double_t
Definition: RtypesCore.h:55
#define ClassImp(name)
Definition: Rtypes.h:365
char name[80]
Definition: TGX11.cxx:109
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:59
Double_t UnHideUniform(Double_t PrecisionBlind) const
Implementation of BlindTools' offset blinding method.
RooBlindTools _blindEngine
RooUnblindUniform()
Default constructor.
virtual Double_t evaluate() const
Evaluate RooBlindTools unhide-offset method on blind value.
virtual ~RooUnblindUniform()
Destructor.