00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef ROO_KMATRIXLASS
00014 #define ROO_KMATRIXLASS
00015
00016 #include "RooFitCore/RooAbsPdf.hh"
00017 #include "RooFitCore/RooRealProxy.hh"
00018
00019 class RooRealVar;
00020
00021 class RooLass : public RooAbsPdf {
00022
00023 public:
00024
00025 RooLass(const char * name, const char * title,
00026 RooAbsReal & fitVariable, RooAbsReal & theMean,
00027 RooAbsReal & theWidth, RooAbsReal & effectiveRange,
00028 RooAbsReal & scatteringLength, RooAbsReal & turnOffValue);
00029
00030 RooLass(const RooLass & other, const char * name = 0);
00031 virtual TObject * clone(const char * newname) const {return new RooLass(*this,newname);}
00032 inline virtual ~RooLass() {}
00033
00034
00035
00036
00037 protected:
00038
00039 RooRealProxy x;
00040 RooRealProxy mean;
00041 RooRealProxy width;
00042 TString spec;
00043 RooRealProxy effRange;
00044 RooRealProxy scatLen;
00045 RooRealProxy turnOffVal;
00046
00047 Double_t evaluate() const;
00048
00049 private:
00050 Double_t getQ(Double_t mass) const;
00051 Double_t kmatrix() const;
00052 Double_t smatrix() const;
00053
00054 ClassDef(RooLass,0)
00055
00056 };
00057
00058 #endif