Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RooUnblindPrecision.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Project: RooFit *
3  * Package: RooFitModels *
4  * File: $Id: RooUnblindPrecision.h,v 1.7 2007/05/11 10:15:52 verkerke Exp $
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 #ifndef ROO_UNBLIND_PRECISION
17 #define ROO_UNBLIND_PRECISION
18 
19 #include "RooAbsHiddenReal.h"
20 #include "RooRealProxy.h"
21 #include "RooCategoryProxy.h"
22 #include "RooBlindTools.h"
23 
24 class RooCategory ;
25 
26 class RooUnblindPrecision : public RooAbsHiddenReal {
27 public:
28  // Constructors, assignment etc
29  RooUnblindPrecision() ;
30  RooUnblindPrecision(const char *name, const char *title,
31  const char *blindString, Double_t centralValue, Double_t scale, RooAbsReal& blindValue, Bool_t sin2betaMode=kFALSE);
32  RooUnblindPrecision(const char *name, const char *title,
33  const char *blindString, Double_t centralValue, Double_t scale,
34  RooAbsReal& blindValue, RooAbsCategory& blindState, Bool_t sin2betaMode=kFALSE);
35  RooUnblindPrecision(const RooUnblindPrecision& other, const char* name=0);
36  virtual TObject* clone(const char* newname) const { return new RooUnblindPrecision(*this,newname); }
37  virtual ~RooUnblindPrecision();
38 
39 protected:
40 
41  // Function evaluation
42  virtual Double_t evaluate() const ;
43 
44  RooRealProxy _value ; // Holder of the blind value
45  RooBlindTools _blindEngine ; // Blinding engine
46 
47  ClassDef(RooUnblindPrecision,1) // Precision unblinding transformation
48 };
49 
50 #endif