Logo ROOT  
Reference Guide
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/** \class RooUnblindCPAsymVar
18 \ingroup Roofit
19
20Implementation of BlindTools' CP asymmetry blinding method
21A RooUnblindCPAsymVar object is a real valued function
22object, constructed from a blind value holder and a
23set of unblinding parameters. When supplied to a PDF
24in lieu of a regular parameter, the blind value holder
25supplied to the unblinded objects will in a fit be minimized
26to blind value corresponding to the actual minimum of the
27parameter. The transformation is chosen such that the
28the error on the blind parameters is identical to that
29of the unblind parameter
30**/
31
32#include "RooFit.h"
33
34#include "RooArgSet.h"
35#include "RooUnblindCPAsymVar.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 blind value) and a set of blinding parameters
51
52RooUnblindCPAsymVar::RooUnblindCPAsymVar(const char *name, const char *title,
53 const char *blindString, RooAbsReal& cpasym)
54 : RooAbsHiddenReal(name,title),
55 _asym("asym","CP Asymmetry",this,cpasym),
56 _blindEngine(blindString)
57{
58}
59
60////////////////////////////////////////////////////////////////////////////////
61/// Constructor from a given RooAbsReal (to hold the blind value) and a set of blinding parameters
62
63RooUnblindCPAsymVar::RooUnblindCPAsymVar(const char *name, const char *title,
64 const char *blindString, RooAbsReal& cpasym, RooAbsCategory& blindState)
65 : RooAbsHiddenReal(name,title,blindState),
66 _asym("asym","CP Asymmetry",this,cpasym),
67 _blindEngine(blindString)
68{
69}
70
71////////////////////////////////////////////////////////////////////////////////
72/// Copy constructor
73
75 RooAbsHiddenReal(other, name),
76 _asym("asym",this,other._asym),
77 _blindEngine(other._blindEngine)
78{
79}
80
81////////////////////////////////////////////////////////////////////////////////
82/// Copy constructor
83
85{
86}
87
88////////////////////////////////////////////////////////////////////////////////
89
91{
92 if (isHidden()) {
93 // Blinding active for this event
95 } else {
96 // Blinding not active for this event
97 return _asym ;
98 }
99}
#define ClassImp(name)
Definition: Rtypes.h:364
char name[80]
Definition: TGX11.cxx:110
RooAbsCategory is the base class for objects that represent a discrete value with a finite number of ...
RooAbsHiddenReal is a base class for objects that want to hide their return value from interactive us...
Bool_t isHidden() const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Definition: RooAbsReal.h:63
Double_t UnHideAsym(Double_t AsymPrime) const
Implementation of BlindTools' CP asymmetry blinding method A RooUnblindCPAsymVar object is a real val...
RooBlindTools _blindEngine
virtual Double_t evaluate() const
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
RooUnblindCPAsymVar()
Default constructor.
virtual ~RooUnblindCPAsymVar()
Copy constructor.