ROOT
6.06/08
Reference Guide
roofit
roofit
src
RooUnblindCPAsymVar.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
//
19
// BEGIN_HTML
20
// Implementation of BlindTools' CP asymmetry blinding method
21
// A RooUnblindCPAsymVar object is a real valued function
22
// object, constructed from a blind value holder and a
23
// set of unblinding parameters. When supplied to a PDF
24
// in lieu of a regular parameter, the blind value holder
25
// supplied to the unblinder objects will in a fit be minimized
26
// to blind value corresponding to the actual minimum of the
27
// parameter. The transformation is chosen such that the
28
// the error on the blind parameters is indentical to that
29
// of the unblind parameter
30
// END_HTML
31
//
32
33
#include "
RooFit.h
"
34
35
#include "
RooArgSet.h
"
36
#include "
RooArgSet.h
"
37
#include "
RooUnblindCPAsymVar.h
"
38
39
40
using namespace
std
;
41
42
ClassImp
(
RooUnblindCPAsymVar
)
43
;
44
45
46
47
////////////////////////////////////////////////////////////////////////////////
48
/// Default constructor
49
50
RooUnblindCPAsymVar::RooUnblindCPAsymVar
()
51
{
52
}
53
54
55
56
////////////////////////////////////////////////////////////////////////////////
57
/// Constructor from a given RooAbsReal (to hold the blind value) and a set of blinding parameters
58
59
RooUnblindCPAsymVar::RooUnblindCPAsymVar
(
const
char
*
name
,
const
char
*title,
60
const
char
*blindString,
RooAbsReal
& cpasym)
61
:
RooAbsHiddenReal
(name,title),
62
_asym(
"asym"
,
"CP Asymmetry"
,this,cpasym),
63
_blindEngine(blindString)
64
{
65
}
66
67
68
69
////////////////////////////////////////////////////////////////////////////////
70
/// Constructor from a given RooAbsReal (to hold the blind value) and a set of blinding parameters
71
72
RooUnblindCPAsymVar::RooUnblindCPAsymVar
(
const
char
*
name
,
const
char
*title,
73
const
char
*blindString,
RooAbsReal
& cpasym,
RooAbsCategory
& blindState)
74
:
RooAbsHiddenReal
(name,title,blindState),
75
_asym
(
"asym"
,
"CP Asymmetry"
,this,cpasym),
76
_blindEngine
(blindString)
77
{
78
}
79
80
81
82
////////////////////////////////////////////////////////////////////////////////
83
/// Copy constructor
84
85
RooUnblindCPAsymVar::RooUnblindCPAsymVar
(
const
RooUnblindCPAsymVar
& other,
const
char
*
name
) :
86
RooAbsHiddenReal
(other, name),
87
_asym
(
"asym"
,this,other.
_asym
),
88
_blindEngine
(other.
_blindEngine
)
89
{
90
}
91
92
93
94
////////////////////////////////////////////////////////////////////////////////
95
/// Copy constructor
96
97
RooUnblindCPAsymVar::~RooUnblindCPAsymVar
()
98
{
99
}
100
101
102
103
////////////////////////////////////////////////////////////////////////////////
104
105
Double_t
RooUnblindCPAsymVar::evaluate
()
const
106
{
107
if
(
isHidden
()) {
108
// Blinding active for this event
109
return
_blindEngine
.
UnHideAsym
(
_asym
);
110
}
else
{
111
// Blinding not active for this event
112
return
_asym
;
113
}
114
}
RooUnblindCPAsymVar::_asym
RooRealProxy _asym
Definition:
RooUnblindCPAsymVar.h:44
RooUnblindCPAsymVar::~RooUnblindCPAsymVar
virtual ~RooUnblindCPAsymVar()
Copy constructor.
Definition:
RooUnblindCPAsymVar.cxx:97
RooArgSet.h
std
STL namespace.
RooAbsHiddenReal::isHidden
Bool_t isHidden() const
Definition:
RooAbsHiddenReal.h:43
RooUnblindCPAsymVar::RooUnblindCPAsymVar
RooUnblindCPAsymVar()
Default constructor.
Definition:
RooUnblindCPAsymVar.cxx:50
RooUnblindCPAsymVar.h
RooUnblindCPAsymVar::evaluate
virtual Double_t evaluate() const
Definition:
RooUnblindCPAsymVar.cxx:105
RooUnblindCPAsymVar
Definition:
RooUnblindCPAsymVar.h:27
ClassImp
#define ClassImp(name)
Definition:
Rtypes.h:279
Double_t
double Double_t
Definition:
RtypesCore.h:55
RooAbsReal
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition:
RooAbsReal.h:53
RooUnblindCPAsymVar::_blindEngine
RooBlindTools _blindEngine
Definition:
RooUnblindCPAsymVar.h:45
RooBlindTools::UnHideAsym
Double_t UnHideAsym(Double_t AsymPrime) const
Definition:
RooBlindTools.cxx:161
name
#define name(a, b)
Definition:
linkTestLib0.cpp:5
RooAbsHiddenReal
Definition:
RooAbsHiddenReal.h:25
RooAbsCategory
Definition:
RooAbsCategory.h:30
RooFit.h