MaCh3  2.6.1
Reference Guide
RHatCalculator.h
Go to the documentation of this file.
1 #pragma once
2 
3 // MaCh3 includes
7 
16  public:
21  RHatCalculator(bool HighMemory, std::vector<std::string>& Inputs, int entries);
23  virtual ~RHatCalculator();
24 
25  void RunDiagnostic();
26  private:
28  void PrepareChains_HighMem();
30  void PrepareChains();
31 
33  void InitialiseArrays();
34 
36  void CalcRhat_HighMem();
38  void CalcRhat();
39 
40  void SaveResults();
41 
44  int nDraw;
45  int Nchains;
46 
47  std::vector<TString> BranchNames;
48  std::vector<std::string> MCMCFile;
49  std::vector<bool> ValidPar;
50 
51  std::vector<std::vector<double>> Mean;
52  std::vector<std::vector<double>> StandardDeviation;
53 
54  std::vector<double> MeanGlobal;
55  std::vector<double> StandardDeviationGlobal;
56 
57  std::vector<double> BetweenChainVariance;
58  std::vector<double> MarginalPosteriorVariance;
59  std::vector<double> RHat;
60  std::vector<double> EffectiveSampleSize;
61 
63  int Ntoys;
64  std::vector<std::vector<std::vector<double>>> Draws;
65  std::vector<std::vector<std::vector<double>>> DrawsFolded;
66 
67  std::vector<double> MedianArr;
68 
69  std::vector<std::vector<double>> MeanFolded;
70  std::vector<std::vector<double>> StandardDeviationFolded;
71 
72  std::vector<double> MeanGlobalFolded;
73  std::vector<double> StandardDeviationGlobalFolded;
74 
75  std::vector<double> BetweenChainVarianceFolded;
76  std::vector<double> MarginalPosteriorVarianceFolded;
77  std::vector<double> RHatFolded;
78  std::vector<double> EffectiveSampleSizeFolded;
79 
81  std::vector<int> Ntoys_requested;
82  std::vector<int> Ntoys_filled;
83  int TotToys;
84  unsigned int NThin;
85 
87  std::vector<double> S1_global;
89  std::vector<double> S2_global;
91  std::vector<std::vector<double>> S1_chain;
93  std::vector<std::vector<double>> S2_chain;
94 };
Utility functions for statistical interpretations in MaCh3.
Class responsible for calculating estimator for Markov Chain Monte Carlo (MCMC) convergence.
std::vector< double > EffectiveSampleSizeFolded
std::vector< std::vector< std::vector< double > > > DrawsFolded
std::vector< std::vector< double > > StandardDeviationFolded
std::vector< double > BetweenChainVarianceFolded
std::vector< double > S2_global
Sum_i^N x_i^2 | total.
std::vector< double > MarginalPosteriorVarianceFolded
std::vector< double > MedianArr
std::vector< std::vector< double > > StandardDeviation
std::vector< double > BetweenChainVariance
std::vector< double > MeanGlobal
std::vector< bool > ValidPar
std::vector< std::vector< double > > S1_chain
Sum_i^N x_i | for each chain.
std::vector< TString > BranchNames
virtual ~RHatCalculator()
Destroys the RHatCalculator object.
unsigned int NThin
std::vector< double > StandardDeviationGlobal
std::vector< double > MeanGlobalFolded
std::vector< int > Ntoys_requested
std::vector< double > EffectiveSampleSize
std::vector< double > StandardDeviationGlobalFolded
std::vector< std::vector< double > > Mean
void PrepareChains()
Load chain and prepare toys.
std::vector< std::string > MCMCFile
void PrepareChains_HighMem()
Load chain and prepare toys.
std::vector< std::vector< std::vector< double > > > Draws
std::vector< std::vector< double > > MeanFolded
void CalcRhat_HighMem()
KS: Based on Gelman et. al. arXiv:1903.08008v5.
void CalcRhat()
KS: Based on Gelman et. al. arXiv:1903.08008v5.
std::vector< double > MarginalPosteriorVariance
std::vector< int > Ntoys_filled
RHatCalculator(bool HighMemory, std::vector< std::string > &Inputs, int entries)
Constructor.
std::vector< double > S1_global
Sum_i^N x_i | total.
std::vector< double > RHatFolded
void InitialiseArrays()
Create all arrays we are going to use later.
std::vector< std::vector< double > > S2_chain
Sum_i^N x_i^2 | for each chain.
std::vector< double > RHat