File indexing completed on 2026-08-16 09:22:01
0001 #ifndef RooFit_RooFit_RooStudentT_h
0002 #define RooFit_RooFit_RooStudentT_h
0003
0004 #include "RooAbsPdf.h"
0005 #include "RooRealProxy.h"
0006
0007 class RooStudentT : public RooAbsPdf {
0008 public:
0009 RooStudentT() {};
0010 RooStudentT(const char *name, const char *title, RooAbsReal::Ref x, RooAbsReal::Ref mean, RooAbsReal::Ref sigma,
0011 RooAbsReal::Ref ndf);
0012 RooStudentT(const RooStudentT &other, const char *name = nullptr);
0013 TObject *clone(const char *newname = nullptr) const override { return new RooStudentT(*this, newname); }
0014
0015 Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName = nullptr) const override;
0016 double analyticalIntegral(Int_t code, const char *rangeName = nullptr) const override;
0017
0018
0019 RooAbsReal const &x() const { return _x.arg(); }
0020
0021
0022 RooAbsReal const &mean() const { return _mean.arg(); }
0023
0024
0025 RooAbsReal const &sigma() const { return _sigma.arg(); }
0026
0027
0028 RooAbsReal const &ndf() const { return _ndf.arg(); }
0029
0030 Int_t getMaxVal(const RooArgSet &vars) const override;
0031 double maxVal(Int_t code) const override;
0032
0033 protected:
0034 double evaluate() const override;
0035
0036 private:
0037 RooRealProxy _x;
0038 RooRealProxy _mean;
0039 RooRealProxy _sigma;
0040 RooRealProxy _ndf;
0041
0042 ClassDefOverride(RooStudentT, 1)
0043 };
0044
0045 #endif