00001
00002
00003
00004
00005
00006
00007
00008 #ifndef ROO_GOUNARISSAKURAI
00009 #define ROO_GOUNARISSAKURAI
00010
00011 #include "RooFitCore/RooAbsPdf.hh"
00012 #include "RooFitCore/RooRealProxy.hh"
00013
00014 class RooRealVar;
00015
00016 class RooGounarisSakurai : public RooAbsPdf {
00017
00018 public:
00019 RooGounarisSakurai(const char *name,
00020 const char *title,
00021 RooAbsReal& _x,
00022 RooAbsReal& _mean,
00023 RooAbsReal& _width,
00024 RooAbsReal& _spin,
00025 RooAbsReal& _radius,
00026 RooAbsReal& _mass_a,
00027 RooAbsReal& _mass_b);
00028 RooGounarisSakurai(const RooGounarisSakurai& other,
00029 const char* name=0) ;
00030 virtual TObject* clone(const char* newname) const {
00031 return new RooGounarisSakurai(*this,newname);
00032 }
00033 inline virtual ~RooGounarisSakurai() { }
00034
00035 protected:
00036
00037 RooRealProxy x;
00038 RooRealProxy mean;
00039 RooRealProxy width;
00040 RooRealProxy spin;
00041 RooRealProxy radius;
00042 RooRealProxy mass_a;
00043 RooRealProxy mass_b;
00044
00045 Double_t evaluate() const ;
00046
00047 private:
00048
00049 Double_t Gamma() const;
00050 Double_t KFunction(Double_t X) const;
00051 Double_t FFunction(Double_t X) const;
00052 Double_t dFunction() const;
00053 Double_t hFunction(Double_t X) const;
00054 Double_t dhds() const;
00055 Double_t fFunction(Double_t X) const;
00056
00057 ClassDef(RooGounarisSakurai,0)
00058 };
00059
00060 #endif