ROOT  6.06/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 //
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 
43 ;
44 
45 
46 
47 ////////////////////////////////////////////////////////////////////////////////
48 /// Default constructor
49 
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 
86  RooAbsHiddenReal(other, name),
87  _asym("asym",this,other._asym),
88  _blindEngine(other._blindEngine)
89 {
90 }
91 
92 
93 
94 ////////////////////////////////////////////////////////////////////////////////
95 /// Copy constructor
96 
98 {
99 }
100 
101 
102 
103 ////////////////////////////////////////////////////////////////////////////////
104 
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 }
virtual ~RooUnblindCPAsymVar()
Copy constructor.
Bool_t isHidden() const
STL namespace.
RooUnblindCPAsymVar()
Default constructor.
virtual Double_t evaluate() const
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
#define name(a, b)
Definition: linkTestLib0.cpp:5
ClassImp(RooUnblindCPAsymVar)
Double_t UnHideAsym(Double_t AsymPrime) const