Logo ROOT   6.10/09
Reference Guide
VariableNormalizeTransform.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : VariableNormalizeTransform *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Decorrelation of input variables *
12  * *
13  * Authors (alphabetical): *
14  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15  * Peter Speckmayer <Peter.Speckmayer@cern.ch> - CERN, Switzerland *
16  * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
17  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
18  * *
19  * Copyright (c) 2005: *
20  * CERN, Switzerland *
21  * U. of Victoria, Canada *
22  * MPI-K Heidelberg, Germany *
23  * *
24  * Redistribution and use in source and binary forms, with or without *
25  * modification, are permitted according to the terms listed in LICENSE *
26  * (http://tmva.sourceforge.net/LICENSE) *
27  **********************************************************************************/
28 
29 #ifndef ROOT_TMVA_VariableNormalizeTransform
30 #define ROOT_TMVA_VariableNormalizeTransform
31 
32 //////////////////////////////////////////////////////////////////////////
33 // //
34 // VariableNormalizeTransform //
35 // //
36 // Linear interpolation class //
37 // //
38 //////////////////////////////////////////////////////////////////////////
39 
40 #include "TMatrixDfwd.h"
41 
43 
44 namespace TMVA {
45 
47 
48  public:
49 
50  typedef std::vector<Float_t> FloatVector;
51  typedef std::vector< FloatVector > VectorOfFloatVectors;
53  virtual ~VariableNormalizeTransform( void );
54 
55  void Initialize();
56  Bool_t PrepareTransformation (const std::vector<Event*>&);
57 
58  virtual const Event* Transform(const Event* const, Int_t cls ) const;
59  virtual const Event* InverseTransform( const Event* const, Int_t cls ) const;
60 
61  void WriteTransformationToStream ( std::ostream& ) const;
62  void ReadTransformationFromStream( std::istream&, const TString& );
63  void BuildTransformationFromVarInfo( const std::vector<TMVA::VariableInfo>& var );
64 
65  virtual void AttachXMLTo(void* parent);
66  virtual void ReadFromXML( void* trfnode );
67 
68  virtual void PrintTransformation( std::ostream & o );
69 
70  // writer of function code
71  virtual void MakeFunction( std::ostream& fout, const TString& fncName, Int_t part, UInt_t trCounter, Int_t cls );
72 
73  // provides string vector giving explicit transformation
74  std::vector<TString>* GetTransformationStrings( Int_t cls ) const;
75 
76  private:
77 
78  void CalcNormalizationParams( const std::vector< Event*>& events);
79 
80  // mutable Event* fTransformedEvent;
81 
82  VectorOfFloatVectors fMin; //! Min of source range
83  VectorOfFloatVectors fMax; //! Max of source range
84 
85  ClassDef(VariableNormalizeTransform,0); // Variable transformation: normalization
86  };
87 
88 } // namespace TMVA
89 
90 #endif
std::vector< FloatVector > VectorOfFloatVectors
virtual void MakeFunction(std::ostream &fout, const TString &fncName, Int_t part, UInt_t trCounter, Int_t cls)
creates a normalizing function TODO include target-transformation into makefunction ...
virtual const Event * Transform(const Event *const, Int_t cls) const
apply the normalization transformation
std::vector< TString > * GetTransformationStrings(Int_t cls) const
creates string with variable transformations applied
VariableNormalizeTransform(DataSetInfo &dsi)
constructor
Basic string class.
Definition: TString.h:129
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
void CalcNormalizationParams(const std::vector< Event *> &events)
compute offset and scale from min and max
#define ClassDef(name, id)
Definition: Rtypes.h:297
Class that contains all the data information.
Definition: DataSetInfo.h:60
virtual void PrintTransformation(std::ostream &o)
prints the transformation ranges
Bool_t PrepareTransformation(const std::vector< Event *> &)
prepare transformation
Linear interpolation class.
virtual void AttachXMLTo(void *parent)
create XML description of Normalize transformation
unsigned int UInt_t
Definition: RtypesCore.h:42
void Initialize()
initialization of the normalization transformation
void BuildTransformationFromVarInfo(const std::vector< TMVA::VariableInfo > &var)
this method is only used when building a normalization transformation from old text files in this cas...
VectorOfFloatVectors fMax
Min of source range.
virtual void ReadFromXML(void *trfnode)
Read the transformation matrices from the xml node.
Abstract ClassifierFactory template that handles arbitrary types.
void WriteTransformationToStream(std::ostream &) const
write the transformation to the stream
virtual const Event * InverseTransform(const Event *const, Int_t cls) const
apply the inverse transformation
void ReadTransformationFromStream(std::istream &, const TString &)
Read the variable ranges from an input stream.