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