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