Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 "RooUnblindUniform.h"
36
37
38using namespace std;
39
41
42////////////////////////////////////////////////////////////////////////////////
43/// Default constructor
44
46{
47}
48
49////////////////////////////////////////////////////////////////////////////////
50/// Constructor from a given RooAbsReal (to hold the blinded value) and a set
51/// of blinding parameters.
52/// \param name Name of this transformation
53/// \param title Title (for plotting)
54/// \param blindString String to initialise the random generator
55/// \param scale Scale the offset. High values make the blinding more violent.
56/// \param blindValue The parameter to be blinded. After the fit, this parameter will
57/// only hold the blinded values.
58
59RooUnblindUniform::RooUnblindUniform(const char *name, const char *title,
60 const char *blindString, Double_t scale, RooAbsReal& blindValue)
61 : RooAbsHiddenReal(name,title),
62 _value("value","Uniform blinded value",this,blindValue),
63 _blindEngine(blindString,RooBlindTools::full,0.,scale)
64{
65}
66
67////////////////////////////////////////////////////////////////////////////////
68/// Copy constructor
69
71 RooAbsHiddenReal(other, name),
72 _value("asym",this,other._value),
73 _blindEngine(other._blindEngine)
74{
75}
76
77////////////////////////////////////////////////////////////////////////////////
78/// Destructor
79
81{
82}
83
84////////////////////////////////////////////////////////////////////////////////
85/// Evaluate RooBlindTools unhide-offset method on blind value
86
88{
90}
#define ClassImp(name)
Definition Rtypes.h:364
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:61
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.