MaCh3  2.6.1
Reference Guide
GetPenaltyTermModule.hpp
Go to the documentation of this file.
1 
13 #pragma once
14 #include "yaml-cpp/yaml.h"
15 #include "CLI/API/plugin.hpp"
16 
17 namespace M3{
18 
26 
27  public:
30 
33  MaCh3ArgumentParser* get_parser() override;
34 
37  int Run() override;
38 
39  private:
47  void ReadCovFile(const std::string& inputFile,
48  std::vector <double>& Prior,
49  std::vector <bool>& isFlat,
50  std::vector<std::string>& ParamNames,
51  std::vector<std::vector<double>>& invCovMatrix,
52  int& nParams);
53 
61  void LoadSettings(YAML::Node& Settings,
62  std::vector<std::string>& SetsNames,
63  std::vector<std::string>& FancyTitle,
64  std::vector<std::vector<bool>>& isRelevantParam,
65  const std::vector<std::string>& ParamNames,
66  const int nParams);
67 
71  void GetPenaltyTerm(const std::string& inputFile, const std::string& configFile);
72 
73  };
74 }
bool isFlat(TSpline3_red *&spl)
CW: Helper function used in the constructor, tests to see if the spline is flat.
Module for extracting specific penalty terms from MCMC chains.
void LoadSettings(YAML::Node &Settings, std::vector< std::string > &SetsNames, std::vector< std::string > &FancyTitle, std::vector< std::vector< bool >> &isRelevantParam, const std::vector< std::string > &ParamNames, const int nParams)
Load penalty term sets from YAML configuration.
MaCh3ArgumentParser * get_parser() override
Get the argument parser for this module.
void ReadCovFile(const std::string &inputFile, std::vector< double > &Prior, std::vector< bool > &isFlat, std::vector< std::string > &ParamNames, std::vector< std::vector< double >> &invCovMatrix, int &nParams)
Read covariance matrix and parameter information from file.
void GetPenaltyTerm(const std::string &inputFile, const std::string &configFile)
Calculate and plot penalty terms for parameter sets.
int Run() override
Execute the penalty term extraction.
virtual ~GetPenaltyTermModule()
Destructor.
Extended ArgumentParser with MaCh3-specific functionality.
Definition: m3argparse.hpp:17
Main namespace for MaCh3 software.
Plugin interface and registration macros for MaCh3.