00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_UNBLIND_PRECISION
00017 #define ROO_UNBLIND_PRECISION
00018
00019 #include "RooAbsHiddenReal.h"
00020 #include "RooRealProxy.h"
00021 #include "RooCategoryProxy.h"
00022 #include "RooBlindTools.h"
00023
00024 class RooCategory ;
00025
00026 class RooUnblindPrecision : public RooAbsHiddenReal {
00027 public:
00028
00029 RooUnblindPrecision() ;
00030 RooUnblindPrecision(const char *name, const char *title,
00031 const char *blindString, Double_t centralValue, Double_t scale, RooAbsReal& blindValue, Bool_t sin2betaMode=kFALSE);
00032 RooUnblindPrecision(const char *name, const char *title,
00033 const char *blindString, Double_t centralValue, Double_t scale,
00034 RooAbsReal& blindValue, RooAbsCategory& blindState, Bool_t sin2betaMode=kFALSE);
00035 RooUnblindPrecision(const RooUnblindPrecision& other, const char* name=0);
00036 virtual TObject* clone(const char* newname) const { return new RooUnblindPrecision(*this,newname); }
00037 virtual ~RooUnblindPrecision();
00038
00039 protected:
00040
00041
00042 virtual Double_t evaluate() const ;
00043
00044 RooRealProxy _value ;
00045 RooBlindTools _blindEngine ;
00046
00047 ClassDef(RooUnblindPrecision,1)
00048 };
00049
00050 #endif