#pragma once #include "RooAbsPdf.h" #include "RooRealProxy.h" #include "RooCategoryProxy.h" #include "RooAbsReal.h" #include "RooAbsCategory.h" class myRooJohnsonSU : public RooAbsPdf { public: myRooJohnsonSU() {} ; myRooJohnsonSU(const char *name, const char *title, RooAbsReal& _x, RooAbsReal& _mu, RooAbsReal& _sigma, RooAbsReal& _delta, RooAbsReal& _gamma); myRooJohnsonSU(const myRooJohnsonSU& other, const char* name=0) ; virtual TObject* clone(const char* newname) const { return new myRooJohnsonSU(*this,newname); } inline virtual ~myRooJohnsonSU() {;} Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* /*rangeName*/) const { if (matchArgs(allVars,analVars,x)) return 1; return 0; } Double_t analyticalIntegral(Int_t code, const char* rangeName) const; protected: RooRealProxy x; RooRealProxy mu; RooRealProxy sigma; RooRealProxy delta; RooRealProxy gamma; Double_t evaluate() const ; private: //ClassDef(myRooJohnsonSU,1) };