Logo ROOT   6.12/07
Reference Guide
VariableInfo.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 : Option *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: *
11  * Variable type info *
12  * *
13  * Authors (alphabetical): *
14  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
15  * Joerg Stelzer <Joerg.Stelzer@cern.ch> - CERN, Switzerland *
16  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
17  * *
18  * Copyright (c) 2006: *
19  * CERN, Switzerland *
20  * U. of Victoria, Canada *
21  * MPI-K Heidelberg, Germany *
22  * LAPP, Annecy, France *
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://mva.sourceforge.net/license.txt) *
27  **********************************************************************************/
28 
29 #ifndef ROOT_TMVA_VariableInfo
30 #define ROOT_TMVA_VariableInfo
31 
32 //////////////////////////////////////////////////////////////////////////
33 // //
34 // VariableInfo //
35 // //
36 // Class for type info of MVA input variable //
37 // //
38 //////////////////////////////////////////////////////////////////////////
39 
40 #include "Rtypes.h"
41 #include "TString.h"
42 #include "TMVA/Types.h"
43 #include "TNamed.h"
44 
45 namespace TMVA {
46 
47  class VariableInfo:public TNamed {
48 
49  public:
50 
51  VariableInfo( const TString& expression, const TString& title, const TString& unit,
52  Int_t varCounter, char varType = 'F', void* external = 0,
53  Double_t min = 0, Double_t max = 0, Bool_t normalized=kTRUE );
54  VariableInfo();
55  VariableInfo( const VariableInfo& other );
57  const TString& GetExpression() const { return fExpression; }
58  const TString& GetInternalName() const { return fInternalName; }
59  const TString& GetLabel() const { return fLabel; }
60  const TString& GetUnit() const { return fUnit; }
61  char GetVarType() const { return fVarType; }
62 
63  Double_t GetMin () const { return fXminNorm; }
64  Double_t GetMax () const { return fXmaxNorm; }
65  Double_t GetMean() const { return fXmeanNorm; }
66  Double_t GetRMS () const { return fXrmsNorm; }
67  Double_t GetVariance() const { return fXvarianceNorm; }
68 
69  void SetMin ( Double_t v ) { fXminNorm = v; }
70  void SetMax ( Double_t v ) { fXmaxNorm = v; }
71  void SetMean ( Double_t v ) { fXmeanNorm = v; }
72  void SetRMS ( Double_t v ) { fXrmsNorm = v; }
73  void SetExternalLink( void* p ) { fExternalData = (char*)p; }
75  void ResetMinMax() { fXminNorm = 1e30; fXmaxNorm = -1e30; }
76 
77  void WriteToStream ( std::ostream& o ) const;
78  void ReadFromStream( std::istream& istr );
79  void ReadFromXML ( void* varnode );
80  void AddToXML ( void* varnode );
81  void* GetExternalLink() const { return (void*)fExternalData; }
82 
83  // assignment operator (does not copy external link)
85 
86  private:
87 
88  // should not be set from outside this class
89  void SetExpression ( const TString& s ) { fExpression = s; }
90  void SetLabel ( const TString& s ) { fLabel = s; }
91  void SetUnit ( const TString& s ) { fUnit = s; }
92  void SetInternalVarName( const TString& s ) { fInternalName = s; }
93  void SetVarType ( char c ) { fVarType = c; }
94 
95  TString fExpression; // original variable expression (can be a formula)
96  TString fInternalName; // internal variable name (needs to be regular expression)
97  TString fLabel; // variable label, set by "mylabel := var1 + var2", this is a shortcut
98  //TString fTitle; //! title for axis labels in plots; set by second string in AddVariable
99  TString fUnit; // unit for axis labels in plots; set by third string in AddVariable
100  Char_t fVarType; // the variable type to be used internally ('F'-default or 'I')
101  Double_t fXminNorm; // minimum value for correlated/decorrelated/PCA variable
102  Double_t fXmaxNorm; // maximum value for correlated/decorrelated/PCA variable
103  Double_t fXmeanNorm; // mean value for correlated/decorrelated/PCA variable
104  Double_t fXrmsNorm; // rms value for correlated/decorrelated/PCA variable
105  Double_t fXvarianceNorm; // variance value for correlated/decorrelated/PCA variable
106  Bool_t fNormalized; // variable gets normalized
107  void* fExternalData; //! if the variable content is linked to an external pointer
108  TString fExternalDataType;// type of external variable (int, long, double, float) - to be done JS
109  Int_t fVarCounter; // dummy variable
110  public:
111 
113  };
114 
115 }
116 
117 #endif
const TString & GetInternalName() const
Definition: VariableInfo.h:58
Double_t GetMin() const
Definition: VariableInfo.h:63
Double_t fXvarianceNorm
Definition: VariableInfo.h:105
void SetUnit(const TString &s)
Definition: VariableInfo.h:91
VariableInfo & operator=(const TMVA::VariableInfo &rhs)
comparison operator
Basic string class.
Definition: TString.h:125
const TString & GetUnit() const
Definition: VariableInfo.h:60
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const TString & GetLabel() const
Definition: VariableInfo.h:59
void SetLabel(const TString &s)
Definition: VariableInfo.h:90
const TString & GetExpression() const
Definition: VariableInfo.h:57
void SetRMS(Double_t v)
Definition: VariableInfo.h:72
char GetVarType() const
Definition: VariableInfo.h:61
#define ClassDef(name, id)
Definition: Rtypes.h:320
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
TString fExternalDataType
if the variable content is linked to an external pointer
Definition: VariableInfo.h:108
void SetVariance(Double_t v)
Definition: VariableInfo.h:74
void SetMin(Double_t v)
Definition: VariableInfo.h:69
void SetMean(Double_t v)
Definition: VariableInfo.h:71
Double_t GetMax() const
Definition: VariableInfo.h:64
void * GetExternalLink() const
Definition: VariableInfo.h:81
void SetInternalVarName(const TString &s)
Definition: VariableInfo.h:92
SVector< double, 2 > v
Definition: Dict.h:5
void ReadFromXML(void *varnode)
read VariableInfo from stream
VariableInfo()
default constructor
void SetMax(Double_t v)
Definition: VariableInfo.h:70
double Double_t
Definition: RtypesCore.h:55
static constexpr double s
Double_t GetRMS() const
Definition: VariableInfo.h:66
void SetExpression(const TString &s)
Definition: VariableInfo.h:89
char Char_t
Definition: RtypesCore.h:29
Double_t GetMean() const
Definition: VariableInfo.h:65
Abstract ClassifierFactory template that handles arbitrary types.
Double_t GetVariance() const
Definition: VariableInfo.h:67
void ReadFromStream(std::istream &istr)
read VariableInfo from stream
void AddToXML(void *varnode)
write class to XML
void WriteToStream(std::ostream &o) const
write VariableInfo to stream
void SetVarType(char c)
Definition: VariableInfo.h:93
Class for type info of MVA input variable.
Definition: VariableInfo.h:47
const Bool_t kTRUE
Definition: RtypesCore.h:87
void SetExternalLink(void *p)
Definition: VariableInfo.h:73