Logo ROOT   6.18/05
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
45namespace 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 );
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; }
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; }
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
SVector< double, 2 > v
Definition: Dict.h:5
#define c(i)
Definition: RSha256.hxx:101
int Int_t
Definition: RtypesCore.h:41
char Char_t
Definition: RtypesCore.h:29
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
const Bool_t kTRUE
Definition: RtypesCore.h:87
#define ClassDef(name, id)
Definition: Rtypes.h:326
Class for type info of MVA input variable.
Definition: VariableInfo.h:47
void SetMean(Double_t v)
Definition: VariableInfo.h:71
void ReadFromXML(void *varnode)
read VariableInfo from stream
VariableInfo & operator=(const TMVA::VariableInfo &rhs)
comparison operator
Double_t fXvarianceNorm
Definition: VariableInfo.h:105
void SetUnit(const TString &s)
Definition: VariableInfo.h:91
const TString & GetLabel() const
Definition: VariableInfo.h:59
void SetMax(Double_t v)
Definition: VariableInfo.h:70
void SetVariance(Double_t v)
Definition: VariableInfo.h:74
const TString & GetExpression() const
Definition: VariableInfo.h:57
void SetExpression(const TString &s)
Definition: VariableInfo.h:89
void SetMin(Double_t v)
Definition: VariableInfo.h:69
char GetVarType() const
Definition: VariableInfo.h:61
VariableInfo()
default constructor
void ReadFromStream(std::istream &istr)
read VariableInfo from stream
void SetLabel(const TString &s)
Definition: VariableInfo.h:90
void AddToXML(void *varnode)
write class to XML
void SetExternalLink(void *p)
Definition: VariableInfo.h:73
Double_t GetRMS() const
Definition: VariableInfo.h:66
void SetVarType(char c)
Definition: VariableInfo.h:93
Double_t GetMin() const
Definition: VariableInfo.h:63
const TString & GetInternalName() const
Definition: VariableInfo.h:58
void SetInternalVarName(const TString &s)
Definition: VariableInfo.h:92
TString fExternalDataType
if the variable content is linked to an external pointer
Definition: VariableInfo.h:108
Double_t GetVariance() const
Definition: VariableInfo.h:67
Double_t GetMax() const
Definition: VariableInfo.h:64
void SetRMS(Double_t v)
Definition: VariableInfo.h:72
Double_t GetMean() const
Definition: VariableInfo.h:65
void * GetExternalLink() const
Definition: VariableInfo.h:81
const TString & GetUnit() const
Definition: VariableInfo.h:60
void WriteToStream(std::ostream &o) const
write VariableInfo to stream
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Basic string class.
Definition: TString.h:131
static constexpr double s
create variable transformations