Logo ROOT  
Reference Guide
RooBlindTools.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Project: RooFit *
3 * Package: RooFitModels *
4 * File: $Id: RooBlindTools.h,v 1.10 2007/05/11 10:15:52 verkerke Exp $
5 * Authors: *
6 * AR, Aaron Roodman, Stanford University, roodman@slac.stanford.edu *
7 * WV, Wouter Verkerke, UC Santa Barbara, verkerke@slac.stanford.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#ifndef ROO_BLIND_TOOLS
17#define ROO_BLIND_TOOLS
18
19// ---------------------
20// -- Class Interface --
21// ---------------------
22
23#include "Rtypes.h"
24#include "TString.h"
25
27
28//--------------------
29// Instance Members --
30//--------------------
31
32public:
33
34 enum blindMode {
35 full=0, // blind both parameters and data
36 dataonly // blind data only
37
38 };
39
40public:
41
42 // Constructors
44
46 (const char *stSeed, // blinding seed string
47 blindMode Mode=full, // blinding mode
48 double centralValue=0.0, // Central value for Precision measurements
49 double sigmaOffset=1.0, // range for Offset
50 bool s2bMode=false // Use sin2beta modifications?
51 );
52
53 // Copy
55
56 // Destructor
57 virtual ~RooBlindTools( );
58
59 // Operators
60
61 double Randomizer(const char *StringAlphabet) const;
62
63 double PseudoRandom(Int_t Seed) const;
64
65 double MakeOffset(const char *StringAlphabet) const;
66
67 double MakeGaussianOffset(const char *StringAlphabet) const;
68
69 double MakeSignFlip(const char *StringAlphabet) const;
70
71 Int_t SignOfTag(double STag) const;
72
73 double HideDeltaZ(double DeltaZ, double STag) const;
74
75 double HiDelZPdG(double DeltaZ, double STag, double PdG) const;
76
77 double UnHideDeltaZ(double DeltaZPrime, double STag) const;
78
79 double UnHiDelZPdG(double DeltaZPrime, double STag, double PdG) const;
80
81 double HideAsym(double Asym) const;
82
83 double HiAsPdG(double Asym, double PdG) const;
84
85 double UnHideAsym(double AsymPrime) const;
86
87 double UnHiAsPdG(double AsymPrime, double PdG) const;
88
89 double HideDeltaM(double DeltaM) const;
90
91 double UnHideDeltaM(double DeltaMPrime) const;
92
93 double MysteryPhase() const;
94
95 double RandomizeTag(double STag, Int_t EventNumber) const;
96
97 double HidePrecision(double Precision) const;
98
99 double UnHidePrecision(double PrecisionPrime) const;
100
101 double HideOffset( double Precision ) const;
102
103 double UnHideOffset( double PrecisionBlind ) const;
104
105 double HideUniform( double Precision ) const;
106
107 double UnHideUniform( double PrecisionBlind ) const;
108
109
110 const char *stSeed()const {return _stSeed;}
111
112 const blindMode& mode()const {return _mode;}
113
114 void setMode(blindMode bmode) {_mode=bmode;}
115
117
119
120private:
121
122 // Friends
123 // Data members
124
141 bool _s2bMode ;
142
143 // setup data members from string seed
144 void setup(const char *stSeed);
145
146protected:
147
148 // Helper functions
149 ClassDef(RooBlindTools,1) // Root implementation of BlindTools
150};
151
152#endif
int Int_t
Definition: RtypesCore.h:45
#define ClassDef(name, id)
Definition: Rtypes.h:335
double UnHiAsPdG(double AsymPrime, double PdG) const
double PseudoRandom(Int_t Seed) const
double HideAsym(double Asym) const
virtual ~RooBlindTools()
Destructor.
double _AsymSignFlip
double HiAsPdG(double Asym, double PdG) const
double _PrecisionOffsetScale
double MysteryPhase() const
double UnHideUniform(double PrecisionBlind) const
double UnHideDeltaZ(double DeltaZPrime, double STag) const
double HidePrecision(double Precision) const
double MakeOffset(const char *StringAlphabet) const
double _PrecisionSignFlip
double UnHidePrecision(double PrecisionPrime) const
double _STagConstant
double _DeltaZSignFlip
void setup(const char *stSeed)
double UnHiDelZPdG(double DeltaZPrime, double STag, double PdG) const
double Randomizer(const char *StringAlphabet) const
double UnHideAsym(double AsymPrime) const
blindMode _mode
double _AsymOffset
double MakeGaussianOffset(const char *StringAlphabet) const
void setMode(blindMode bmode)
double HideOffset(double Precision) const
double UnHideOffset(double PrecisionBlind) const
double getPrecisionOffsetScale() const
double _PrecisionCentralValue
const char * stSeed() const
double MakeSignFlip(const char *StringAlphabet) const
double HideUniform(double Precision) const
double _PrecisionOffset
const blindMode & mode() const
double RandomizeTag(double STag, Int_t EventNumber) const
double HideDeltaM(double DeltaM) const
double _PrecisionUniform
double UnHideDeltaM(double DeltaMPrime) const
double HideDeltaZ(double DeltaZ, double STag) const
double _DeltaZScale
double getPrecisionCentralValue() const
Int_t SignOfTag(double STag) const
double _DeltaZOffset
double _DeltaMOffset
double HiDelZPdG(double DeltaZ, double STag, double PdG) const
double _MysteryPhase
double _DeltaMScale
Basic string class.
Definition: TString.h:136
RooCmdArg Precision(double prec)