ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RooUnblindPrecision.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 /**
18 \file RooUnblindPrecision.cxx
19 \class RooUnblindPrecision
20 \ingroup Roofit
21 
22 Implementation of BlindTools' precision blinding method
23 A RooUnblindPrecision object is a real valued function
24 object, constructed from a blind value holder and a
25 set of unblinding parameters. When supplied to a PDF
26 in lieu of a regular parameter, the blind value holder
27 supplied to the unblinder objects will in a fit be minimized
28 to blind value corresponding to the actual minimum of the
29 parameter. The transformation is chosen such that the
30 the error on the blind parameters is indentical to that
31 of the unblind parameter
32 **/
33 
34 #include "RooFit.h"
35 
36 #include "RooArgSet.h"
37 #include "RooArgSet.h"
38 #include "RooUnblindPrecision.h"
39 
40 
41 using namespace std;
42 
44 ;
45 
46 
47 
48 ////////////////////////////////////////////////////////////////////////////////
49 /// Default constructor
50 
52 {
53 }
54 
55 
56 
57 ////////////////////////////////////////////////////////////////////////////////
58 /// Constructor from a given RooAbsReal (to hold the blind value) and a set of blinding parameters
59 
61  const char *blindString, Double_t centralValue,
62  Double_t scale, RooAbsReal& value,
63  Bool_t sin2betaMode)
64  : RooAbsHiddenReal(name,title),
65  _value("value","Precision blinded value",this,value),
66  _blindEngine(blindString,RooBlindTools::full,centralValue,scale,sin2betaMode)
67 {
68 }
69 
70 
71 
72 ////////////////////////////////////////////////////////////////////////////////
73 /// Constructor from a given RooAbsReal (to hold the blind value) and a set of blinding parameters
74 
76  const char *blindString, Double_t centralValue,
77  Double_t scale, RooAbsReal& value, RooAbsCategory& blindState,
78  Bool_t sin2betaMode)
79  : RooAbsHiddenReal(name,title,blindState),
80  _value("value","Precision blinded value",this,value),
81  _blindEngine(blindString,RooBlindTools::full,centralValue,scale,sin2betaMode)
82 {
83 }
84 
85 
86 
87 ////////////////////////////////////////////////////////////////////////////////
88 /// Copy constructor
89 
91  RooAbsHiddenReal(other, name),
92  _value("asym",this,other._value),
93  _blindEngine(other._blindEngine)
94 {
95 }
96 
97 
98 
99 ////////////////////////////////////////////////////////////////////////////////
100 /// Destructor
101 
103 {
104 }
105 
106 
107 
108 ////////////////////////////////////////////////////////////////////////////////
109 /// Evaluate RooBlindTools unhide-precision method on blind value
110 
112 {
113  if (isHidden()) {
114  // Blinding active for this event
116  } else {
117  // Blinding not active for this event
118  return _value ;
119  }
120 }
121 
122 
123 
124 
Bool_t isHidden() const
bool Bool_t
Definition: RtypesCore.h:59
RooUnblindPrecision()
Default constructor.
RooBlindTools _blindEngine
ClassImp(RooUnblindPrecision)
virtual ~RooUnblindPrecision()
Destructor.
Implementation of BlindTools' precision blinding method A RooUnblindPrecision object is a real valued...
Double_t UnHidePrecision(Double_t PrecisionPrime) const
TPaveLabel title(3, 27.1, 15, 28.7,"ROOT Environment and Tools")
virtual Double_t evaluate() const
Evaluate RooBlindTools unhide-precision method on blind value.
double Double_t
Definition: RtypesCore.h:55
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:53
#define name(a, b)
Definition: linkTestLib0.cpp:5
RooAbsHiddenReal is a base class for objects that want to hide their return value from interactive us...
RooAbsCategory is the common abstract base class for objects that represent a discrete value with a f...
float value
Definition: math.cpp:443