00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ROO_GAUSSIAN
00017 #define ROO_GAUSSIAN
00018
00019 #include "RooAbsPdf.h"
00020 #include "RooRealProxy.h"
00021
00022 class RooRealVar;
00023
00024 class RooGaussian : public RooAbsPdf {
00025 public:
00026 RooGaussian() {} ;
00027 RooGaussian(const char *name, const char *title,
00028 RooAbsReal& _x, RooAbsReal& _mean, RooAbsReal& _sigma);
00029 RooGaussian(const RooGaussian& other, const char* name=0) ;
00030 virtual TObject* clone(const char* newname) const { return new RooGaussian(*this,newname); }
00031 inline virtual ~RooGaussian() { }
00032
00033 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=0) const ;
00034 Double_t analyticalIntegral(Int_t code, const char* rangeName=0) const ;
00035
00036 Int_t getGenerator(const RooArgSet& directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const;
00037 void generateEvent(Int_t code);
00038
00039 protected:
00040
00041 RooRealProxy x ;
00042 RooRealProxy mean ;
00043 RooRealProxy sigma ;
00044
00045 Double_t evaluate() const ;
00046
00047 private:
00048
00049 ClassDef(RooGaussian,1)
00050 };
00051
00052 #endif