![]() |
MaCh3
2.6.0
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"#include "TCanvas.h"#include "TROOT.h"#include "TStyle.h"#include "TColor.h"#include "TLine.h"#include "TText.h"#include "TLegend.h"Go to the source code of this file.
Namespaces | |
| M3 | |
| Main namespace for MaCh3 software. | |
Functions | |
| bool | M3::CaseInsentiveMatch (std::string Text, std::string Pattern) |
| Matches a string against a simple wildcard Pattern using regex. Is not case sensitive. More... | |
| bool | M3::CaseInsensitiveMatchAny (std::string Text, const std::vector< std::string > &Patterns) |
| Matches a string against a simple wildcard Pattern using regex. Is not case sensitive. More... | |
| 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... | |
| int | M3::MakeMatrixPosDef (TMatrixDSym *cov) |
| Makes sure that matrix is positive-definite by adding a small number to on-diagonal elements. More... | |
| void | M3::DumpParamHandlerToFile (const int _fNumPar, const std::vector< double > &_fPreFitValue, const std::vector< double > &_fError, const std::vector< double > &_fLowBound, const std::vector< double > &_fUpBound, const std::vector< double > &_fIndivStepScale, const std::vector< std::string > &_fFancyNames, const std::vector< bool > &_fFlatPrior, const std::vector< SplineParameter > &SplineParams, TMatrixDSym *covMatrix, TH2D *CorrMatrix, const std::string &Name) |
| Dump Matrix to ROOT file, useful when we need to pass matrix info to another fitting group. More... | |
| void | M3::DebugPCA (const double sum, const TMatrixD &temp, const TMatrixD &eigen_vectors, const TVectorD &eigen_values, const TMatrixD &TransferMat, const TMatrixD &TransferMatT, const int NumPar, const int FirstPCAdpar, const int LastPCAdpar, const int nKeptPCApars, const double eigen_threshold) |
| KS: Let's dump all useful matrices to properly validate PCA. More... | |
Definition in file ParameterHandlerUtils.h.