NAGASH 0.9.8
Next Generation Analysis System
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
NAGASH::PCATool Class Reference

PCATool : Principal Component Analysis (PCA) More...

#include "NAGASH/PCATool.h"

Inheritance diagram for NAGASH::PCATool:
NAGASH::Tool

Public Member Functions

 PCATool (std::shared_ptr< MSGTool > MSG, int size)
 
double GetEigenValue (int ivar)
 
int GetNPCAVariation ()
 
double GetPCADownVariation (int ivar, int index)
 
double GetPCAResult (int index)
 
double GetPCAResult (int ivar, int index, double nsigma)
 
double GetPCAUpVariation (int ivar, int index)
 
void SetCovariance (int index_i, int index_j, double cov)
 
void SetObservable (int index, double val)
 
void SetUncertainty (int index, double unc)
 

Private Member Functions

void Process ()
 

Private Attributes

Eigen::MatrixXd Covariance_Matrix
 
Eigen::VectorXd EigenValue
 
bool isProcessed = false
 
Eigen::MatrixXd New_Covariance_Matrix
 
std::vector< Eigen::VectorXd > New_Observable_DownVariations
 
std::vector< Eigen::VectorXd > New_Observable_UpVariations
 
Eigen::VectorXd New_Observable_Vector
 
int NVariation = -1
 
Eigen::VectorXd Observable_Vector
 
int Size = 0
 
Eigen::MatrixXd Transform_Matrix
 

Additional Inherited Members

- Protected Member Functions inherited from NAGASH::Tool
 Tool ()=delete
 
 Tool (const Tool &tool)=delete
 
 Tool (std::shared_ptr< MSGTool > MSG)
 Constructor.
 
 Tool (Tool &&tool)=delete
 
virtual ~Tool ()=default
 
std::shared_ptr< MSGToolMSGUser ()
 return the MSGTool inside.
 
Tooloperator= (const Tool &tool)=delete
 
Tooloperator= (Tool &&tool)=delete
 

Detailed Description

PCATool : Principal Component Analysis (PCA)

Provide the uncertainty and the correlation of one or several hists and then provide its variations. Specifically, this tool use eigenvalue decomposition to diagonalize the covariance matrix to get a set of new observables and their uncorrelated variations.

Definition at line 23 of file PCATool.h.

Constructor & Destructor Documentation

◆ PCATool()

NAGASH::PCATool::PCATool ( std::shared_ptr< MSGTool MSG,
int  size 
)

Definition at line 14 of file PCATool.cxx.

Member Function Documentation

◆ GetEigenValue()

double NAGASH::PCATool::GetEigenValue ( int  ivar)

Definition at line 225 of file PCATool.cxx.

◆ GetNPCAVariation()

int NAGASH::PCATool::GetNPCAVariation ( )

Definition at line 160 of file PCATool.cxx.

◆ GetPCADownVariation()

double NAGASH::PCATool::GetPCADownVariation ( int  ivar,
int  index 
)

Definition at line 220 of file PCATool.cxx.

◆ GetPCAResult() [1/2]

double NAGASH::PCATool::GetPCAResult ( int  index)

Definition at line 202 of file PCATool.cxx.

◆ GetPCAResult() [2/2]

double NAGASH::PCATool::GetPCAResult ( int  ivar,
int  index,
double  nsigma 
)

Definition at line 167 of file PCATool.cxx.

◆ GetPCAUpVariation()

double NAGASH::PCATool::GetPCAUpVariation ( int  ivar,
int  index 
)

Definition at line 215 of file PCATool.cxx.

◆ Process()

void NAGASH::PCATool::Process ( )
private

Definition at line 59 of file PCATool.cxx.

◆ SetCovariance()

void NAGASH::PCATool::SetCovariance ( int  index_i,
int  index_j,
double  cov 
)

Definition at line 32 of file PCATool.cxx.

◆ SetObservable()

void NAGASH::PCATool::SetObservable ( int  index,
double  val 
)

Definition at line 21 of file PCATool.cxx.

◆ SetUncertainty()

void NAGASH::PCATool::SetUncertainty ( int  index,
double  unc 
)

Definition at line 53 of file PCATool.cxx.

Member Data Documentation

◆ Covariance_Matrix

Eigen::MatrixXd NAGASH::PCATool::Covariance_Matrix
private

Definition at line 49 of file PCATool.h.

◆ EigenValue

Eigen::VectorXd NAGASH::PCATool::EigenValue
private

Definition at line 56 of file PCATool.h.

◆ isProcessed

bool NAGASH::PCATool::isProcessed = false
private

Definition at line 45 of file PCATool.h.

◆ New_Covariance_Matrix

Eigen::MatrixXd NAGASH::PCATool::New_Covariance_Matrix
private

Definition at line 51 of file PCATool.h.

◆ New_Observable_DownVariations

std::vector<Eigen::VectorXd> NAGASH::PCATool::New_Observable_DownVariations
private

Definition at line 59 of file PCATool.h.

◆ New_Observable_UpVariations

std::vector<Eigen::VectorXd> NAGASH::PCATool::New_Observable_UpVariations
private

Definition at line 58 of file PCATool.h.

◆ New_Observable_Vector

Eigen::VectorXd NAGASH::PCATool::New_Observable_Vector
private

Definition at line 54 of file PCATool.h.

◆ NVariation

int NAGASH::PCATool::NVariation = -1
private

Definition at line 61 of file PCATool.h.

◆ Observable_Vector

Eigen::VectorXd NAGASH::PCATool::Observable_Vector
private

Definition at line 53 of file PCATool.h.

◆ Size

int NAGASH::PCATool::Size = 0
private

Definition at line 62 of file PCATool.h.

◆ Transform_Matrix

Eigen::MatrixXd NAGASH::PCATool::Transform_Matrix
private

Definition at line 50 of file PCATool.h.


The documentation for this class was generated from the following files: