/***************************************************************************** * Authors: * * MC, Mathieu Chrétien, LPNHE Paris , chretien@lpnhe.in2p3.fr * *****************************************************************************/ #ifndef ROOTH1VAR #define ROOTH1VAR #include "RooAbsReal.h" #include "RooTH1Var.h" #include "RooArgList.h" #include "RooRealProxy.h" #include "RooTrace.h" #include "TH1.h" class RooArgSet ; class RooTH1Var : public RooAbsReal { public: // Constructors, assignment etc RooTH1Var(const char *name, const char* title, TH1 *TH1Obj, RooAbsReal& x) ; RooTH1Var(const RooTH1Var& other, const char* name=0); virtual TObject* clone(const char* newname) const { return new RooTH1Var(*this,newname); } virtual ~RooTH1Var(); // Function evaluation virtual Double_t evaluate() const ; protected: TH1 *_hist ; // TH1 object RooRealProxy _x ; // Actual parameter used by TH1 mutable RooArgSet* _nset ; //! Normalization set to be passed along to contents ClassDef(RooTH1Var,1) // Real-valued function of other RooAbsArg calculated by a TH1 object }; #endif