FairRoot/PandaRoot
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
tools
MVA
PndMvaVarPCATransform.h
Go to the documentation of this file.
1
/* **********************************************
2
* MVA variable transformation interface. *
3
* Principal Components Analysis (PCA). *
4
* Author: M.Babai@rug.nl *
5
* LICENSE: *
6
* Version: *
7
* License: *
8
* **********************************************
9
*/
10
/*
11
* This code is directly based on the Cern Root implementation of PCA.
12
*/
13
//#pragma once
14
#ifndef PND_MVA_VAR_PCA_TRANSFORM_H
15
#define PND_MVA_VAR_PCA_TRANSFORM_H
16
17
// C & C++ includes
18
#include <cassert>
19
#include <cstdlib>
20
#include <iostream>
21
#include <vector>
22
#include <utility>
23
24
// ROOT includes.
25
#include "TPrincipal.h"
26
27
class
PndMvaVarPCATransform
28
{
29
public
:
31
explicit
PndMvaVarPCATransform
();
32
34
virtual
~PndMvaVarPCATransform
();
35
40
bool
InitPCATranformation
(std::vector<std::pair<std::string, std::vector<float>*> >
const
& dat);
41
47
std::vector<float>*
Transform
(std::vector<float>
const
& evd)
const
;
48
50
inline
TVectorD
const
&
GetMeanValues
()
const
;
51
53
inline
TMatrixD
const
&
GetEigenVectors
()
const
;
54
56
void
SetMeanVector
(TVectorD
const
& vect);
57
59
void
SetEigenVectors
(
TMatrixD
const
& mat);
60
61
private
:
63
PndMvaVarPCATransform
(
PndMvaVarPCATransform
const
& ot);
64
PndMvaVarPCATransform
&
operator=
(
PndMvaVarPCATransform
const
& ot);
65
66
/*
67
* Given a list of n-dimensional data points, Computes PCA for the
68
* current dataset.
69
*/
70
void
ComputePrincipalComponents
(std::vector< std::pair<std::string, std::vector<float>*> >
const
& dat);
71
72
// Mean values
73
TVectorD*
m_MeanValues
;
74
75
// Eigenvectors
76
TMatrixD
*
m_EigenVectors
;
77
};
78
//____________________ ENd of interface definition
79
83
inline
TVectorD
const
&
PndMvaVarPCATransform::GetMeanValues
()
const
84
{
85
return
(*
m_MeanValues
);
86
}
87
91
inline
TMatrixD
const
&
PndMvaVarPCATransform::GetEigenVectors
()
const
92
{
93
return
(*
m_EigenVectors
);
94
}
95
#endif
PndMvaVarPCATransform::PndMvaVarPCATransform
PndMvaVarPCATransform()
Constructor.
PndMvaVarPCATransform::ComputePrincipalComponents
void ComputePrincipalComponents(std::vector< std::pair< std::string, std::vector< float > * > > const &dat)
PndMvaVarPCATransform::Transform
std::vector< float > * Transform(std::vector< float > const &evd) const
PndMvaVarPCATransform
Definition:
PndMvaVarPCATransform.h:27
PndMvaVarPCATransform::SetEigenVectors
void SetEigenVectors(TMatrixD const &mat)
Set Eigenvectors matrix.
PndMvaVarPCATransform::InitPCATranformation
bool InitPCATranformation(std::vector< std::pair< std::string, std::vector< float > * > > const &dat)
PndMvaVarPCATransform::m_EigenVectors
TMatrixD * m_EigenVectors
Definition:
PndMvaVarPCATransform.h:76
PndMvaVarPCATransform::GetEigenVectors
TMatrixD const & GetEigenVectors() const
Get Eigenvectors matrix.
Definition:
PndMvaVarPCATransform.h:91
PndMvaVarPCATransform::operator=
PndMvaVarPCATransform & operator=(PndMvaVarPCATransform const &ot)
PndMvaVarPCATransform::~PndMvaVarPCATransform
virtual ~PndMvaVarPCATransform()
Destructor.
PndMvaVarPCATransform::m_MeanValues
TVectorD * m_MeanValues
Definition:
PndMvaVarPCATransform.h:73
PndMvaVarPCATransform::GetMeanValues
TVectorD const & GetMeanValues() const
Get mean values vector.
Definition:
PndMvaVarPCATransform.h:83
PndMvaVarPCATransform::SetMeanVector
void SetMeanVector(TVectorD const &vect)
Set mean values vector.
TMatrixD
TMatrixT< double > TMatrixD
Definition:
PndLmdDim.h:52
Generated on Sun Aug 18 2019 03:01:39 for FairRoot/PandaRoot by
1.8.8