/***************************************************************************** * Project: RooFit * * * * This code was autogenerated by RooClassFactory * *****************************************************************************/ #ifndef ROOCLUSTERPDF #define ROOCLUSTERPDF #include "RooAbsPdf.h" #include "RooRealProxy.h" #include "RooCategoryProxy.h" #include "RooAbsReal.h" #include "RooAbsCategory.h" #include "RooListProxy.h" #include "TMatrixDSym.h" #include "TMatrixD.h" #include "TVectorD.h" class RooClusterPdf : public RooAbsPdf { public: RooClusterPdf() {} ; RooClusterPdf(const char *name, const char *title, const RooArgList& xvec, RooAbsReal& _frac, const RooArgList& mu, const TMatrixDSym& covMatrix, const TMatrixDSym& covMatrixPad ); RooClusterPdf(const RooClusterPdf& other, const char* name=0) ; virtual TObject* clone(const char* newname) const { return new RooClusterPdf(*this,newname); } inline virtual ~RooClusterPdf() { } protected: RooListProxy x ; RooListProxy mu ; RooRealProxy frac; TMatrixDSym cov ; TMatrixDSym covI ; TMatrixDSym covPad ; TMatrixDSym covIPad ; Double_t det ; Double_t detPad ; Double_t evaluate() const ; void syncMuVec() const ; mutable TVectorD muVec ; //! Do not persist double cutCov(TMatrixDSym acov, TVectorD avec) const; // Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* /*rangeName*/) const; // Double_t analyticalIntegral(Int_t code, const char* rangeName) const ; private: ClassDef(RooClusterPdf,1) // Your description goes here... }; #endif