Logo ROOT   6.07/09
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 /**
18 \file RooUnblindCPAsymVar.cxx
19 \class RooUnblindCPAsymVar
20 \ingroup Roofit
21 
22 Implementation of BlindTools' CP asymmetry blinding method
23 A RooUnblindCPAsymVar 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 "RooUnblindCPAsymVar.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 
60 RooUnblindCPAsymVar::RooUnblindCPAsymVar(const char *name, const char *title,
61  const char *blindString, RooAbsReal& cpasym)
62  : RooAbsHiddenReal(name,title),
63  _asym("asym","CP Asymmetry",this,cpasym),
64  _blindEngine(blindString)
65 {
66 }
67 
68 
69 
70 ////////////////////////////////////////////////////////////////////////////////
71 /// Constructor from a given RooAbsReal (to hold the blind value) and a set of blinding parameters
72 
73 RooUnblindCPAsymVar::RooUnblindCPAsymVar(const char *name, const char *title,
74  const char *blindString, RooAbsReal& cpasym, RooAbsCategory& blindState)
75  : RooAbsHiddenReal(name,title,blindState),
76  _asym("asym","CP Asymmetry",this,cpasym),
77  _blindEngine(blindString)
78 {
79 }
80 
81 
82 
83 ////////////////////////////////////////////////////////////////////////////////
84 /// Copy constructor
85 
87  RooAbsHiddenReal(other, name),
88  _asym("asym",this,other._asym),
90 {
91 }
92 
93 
94 
95 ////////////////////////////////////////////////////////////////////////////////
96 /// Copy constructor
97 
99 {
100 }
101 
102 
103 
104 ////////////////////////////////////////////////////////////////////////////////
105 
107 {
108  if (isHidden()) {
109  // Blinding active for this event
110  return _blindEngine.UnHideAsym(_asym);
111  } else {
112  // Blinding not active for this event
113  return _asym ;
114  }
115 }
virtual ~RooUnblindCPAsymVar()
Copy constructor.
Bool_t isHidden() const
STL namespace.
RooUnblindCPAsymVar()
Default constructor.
virtual Double_t evaluate() const
Implementation of BlindTools' CP asymmetry blinding method A RooUnblindCPAsymVar object is a real val...
#define ClassImp(name)
Definition: Rtypes.h:279
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
RooBlindTools _blindEngine
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...
Double_t UnHideAsym(Double_t AsymPrime) const
char name[80]
Definition: TGX11.cxx:109