#ifndef ROOT_TMVA_VariablePCATransform
#define ROOT_TMVA_VariablePCATransform
#include "TPrincipal.h"
#ifndef ROOT_TMVA_VariableTransformBase
#include "TMVA/VariableTransformBase.h"
#endif
namespace TMVA {
   class VariablePCATransform : public VariableTransformBase {
   public:
  
      VariablePCATransform( std::vector<TMVA::VariableInfo>& );
      virtual ~VariablePCATransform( void );
      void   ApplyTransformation( Types::ESBType type = Types::kMaxSBType ) const;
      Bool_t PrepareTransformation( TTree* inputTree );
      void WriteTransformationToStream ( std::ostream& ) const;
      void ReadTransformationFromStream( std::istream& );
      
      std::vector<TString>* GetTransformationStrings( Types::ESBType type = Types::kMaxSBType ) const;
      
      virtual void MakeFunction( std::ostream& fout, const TString& fncName, Int_t part );
   private:
      void CalculatePrincipalComponents( TTree* originalTree );
      void X2P( const Double_t*, Double_t*, Int_t index ) const;
      TPrincipal* fPCA[2];        
      
      
      TVectorD* fMeanValues[2];   
      TMatrixD* fEigenVectors[2]; 
      ClassDef(VariablePCATransform,0) 
   };
} 
#endif 
Last change: Tue May 13 17:21:12 2008
Last generated: 2008-05-13 17:21
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.