Back to home page

EIC code displayed by LXR

 
 

    


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    /// Get the _x variable.
0019    RooAbsReal const &x() const { return _x.arg(); }
0020 
0021    /// Get the _mean parameter.
0022    RooAbsReal const &mean() const { return _mean.arg(); }
0023 
0024    /// Get the standard deviation parameter.
0025    RooAbsReal const &sigma() const { return _sigma.arg(); }
0026 
0027    /// Get the degrees of freedom parameter.
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;     ///< variable
0038    RooRealProxy _mean;  ///< mean
0039    RooRealProxy _sigma; ///< standard deviation
0040    RooRealProxy _ndf;   ///< degrees of freedom
0041 
0042    ClassDefOverride(RooStudentT, 1) // Location-scale Student's t-distribution PDF
0043 };
0044 
0045 #endif