ATTPCROOT  0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtStudentDistribution.h
Go to the documentation of this file.
1 #ifndef ATSTUDENTDISTRIBUTION_H
2 #define ATSTUDENTDISTRIBUTION_H
3 
5 
6 #include <random>
7 namespace MCFitter {
8 
10 
11 protected:
12  std::student_t_distribution<> fDistro{1};
13 
14 public:
15  AtStudentDistribution(double mean, double spread, double seed = 0);
16  virtual ~AtStudentDistribution() = default;
17 
18  double GetDoF() const { return fDistro.n(); }
19  void SetDoF(double dof) { fDistro = std::student_t_distribution<>(dof); }
20 
21  void TruncateSpace() override { fSpread *= .5; }
22 
23 protected:
24  double SampleSpread() override;
25 };
26 
27 } // namespace MCFitter
28 
29 #endif // ATSTUDENTDISTRIBUTION_H
MCFitter::AtStudentDistribution::SampleSpread
double SampleSpread() override
Definition: AtStudentDistribution.cxx:11
AtParameterDistribution.h
MCFitter::AtParameterDistribution
Definition: AtParameterDistribution.h:8
MCFitter::AtParameterDistribution::fSpread
double fSpread
Definition: AtParameterDistribution.h:12
MCFitter::AtStudentDistribution::GetDoF
double GetDoF() const
Definition: AtStudentDistribution.h:18
MCFitter::AtStudentDistribution::TruncateSpace
void TruncateSpace() override
Definition: AtStudentDistribution.h:21
MCFitter::AtStudentDistribution::~AtStudentDistribution
virtual ~AtStudentDistribution()=default
MCFitter::AtStudentDistribution::AtStudentDistribution
AtStudentDistribution(double mean, double spread, double seed=0)
Definition: AtStudentDistribution.cxx:6
MCFitter::AtStudentDistribution::SetDoF
void SetDoF(double dof)
Definition: AtStudentDistribution.h:19
MCFitter::AtStudentDistribution::fDistro
std::student_t_distribution fDistro
Definition: AtStudentDistribution.h:12
MCFitter::AtStudentDistribution
Definition: AtStudentDistribution.h:9
mean
double mean(const double *a, size_t m)
Definition: cluster.cxx:26
MCFitter
Definition: AtMCResult.cxx:5