![]() |
MaCh3
2.4.2
Reference Guide
|
#include "Parameters/ParameterStructs.h"#include "TMatrixT.h"#include "TMatrixDSym.h"#include "TVectorT.h"#include "TVectorD.h"#include "TH1D.h"#include "TH2D.h"#include "TTree.h"#include "TFile.h"#include "TRandom3.h"#include "TMath.h"#include "TDecompChol.h"#include "TStopwatch.h"#include "TMatrix.h"#include "TMatrixDSymEigen.h"#include "TMatrixDEigen.h"#include "TDecompSVD.h"#include "TKey.h"Go to the source code of this file.
Namespaces | |
| M3 | |
| Main namespace for MaCh3 software. | |
Functions | |
| double * | M3::MatrixMult (double *A, double *B, int n) |
| CW: Multi-threaded matrix multiplication. More... | |
| double ** | M3::MatrixMult (double **A, double **B, int n) |
| CW: Multi-threaded matrix multiplication. More... | |
| TMatrixD | M3::MatrixMult (TMatrixD A, TMatrixD B) |
| CW: Multi-threaded matrix multiplication. More... | |
| void | M3::MatrixVectorMulti (double *_restrict_ VecMulti, double **_restrict_ matrix, const double *_restrict_ vector, const int n) |
| KS: Custom function to perform multiplication of matrix and vector with multithreading. More... | |
| double | M3::MatrixVectorMultiSingle (double **_restrict_ matrix, const double *_restrict_ vector, const int Length, const int i) |
| KS: Custom function to perform multiplication of matrix and single element which is thread safe. More... | |
| void | M3::FixSampleNamesQuotes (std::string &yamlStr) |
| KS: Yaml emitter has problem and drops "", if you have special signs in you like * then there is problem. This bit hacky code adds these "". More... | |
| void | M3::AddTuneValues (YAML::Node &root, const std::vector< double > &Values, const std::string &Tune, const std::vector< std::string > &FancyNames={}) |
| KS: Add Tune values to YAML covariance matrix. More... | |
| void | M3::MakeCorrelationMatrix (YAML::Node &root, const std::vector< double > &Values, const std::vector< double > &Errors, const std::vector< std::vector< double >> &Correlation, const std::string &OutYAMLName, const std::vector< std::string > &FancyNames={}) |
| KS: Replace correlation matrix and tune values in YAML covariance matrix. More... | |
| TMacro * | M3::GetConfigMacroFromChain (TDirectory *CovarianceFolder) |
| KS: We store configuration macros inside the chain. In the past, multiple configs were stored, which required error-prone hardcoding like "Config_xsec_cov". Therefore, this code maintains backward compatibility by checking the number of macros present and using a hardcoded name only if necessary. More... | |
| TMatrixDSym * | M3::GetCovMatrixFromChain (TDirectory *TempFile) |
| KS: Retrieve the cross-section covariance matrix from the given TDirectory. Historically, multiple covariance matrices could be stored, requiring fragile hardcoded paths like "CovarianceFolder/xsec_cov". This function maintains backward compatibility by: More... | |
| std::vector< std::vector< double > > | M3::GetCholeskyDecomposedMatrix (const TMatrixDSym &matrix, const std::string &matrixName) |
| Computes Cholesky decomposition of a symmetric positive definite matrix using custom function which can be even 20 times faster. More... | |
| bool | M3::CanDecomposeMatrix (const TMatrixDSym &matrix) |
| Checks if a matrix can be Cholesky decomposed. More... | |
| void | M3::MakeMatrixPosDef (TMatrixDSym *cov) |
| Makes sure that matrix is positive-definite by adding a small number to on-diagonal elements. More... | |