ROOT
master
Reference Guide
Types.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 : Types *
8
* Web : http://tmva.sourceforge.net *
9
* *
10
* Description: *
11
* GLobal types (singleton class) *
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://mva.sourceforge.net/license.txt) *
27
**********************************************************************************/
28
29
#ifndef ROOT_TMVA_Types
30
#define ROOT_TMVA_Types
31
32
//////////////////////////////////////////////////////////////////////////
33
// //
34
// Types //
35
// //
36
// Singleton class for Global types used by TMVA //
37
// //
38
//////////////////////////////////////////////////////////////////////////
39
40
#include <map>
41
#if __cplusplus > 199711L
42
#include <atomic>
43
#endif
44
45
#include "
RtypesCore.h
"
46
47
#include "
TString.h
"
48
49
namespace
TMVA
{
50
51
typedef
UInt_t
TMVAVersion_t;
52
53
class
MsgLogger;
54
55
// message types for MsgLogger
56
// define outside of Types class to facilite access
57
enum
EMsgType {
58
kDEBUG = 1,
59
kVERBOSE = 2,
60
kINFO = 3,
61
kWARNING = 4,
62
kERROR = 5,
63
kFATAL = 6,
64
kSILENT = 7,
65
kHEADER = 8
66
};
67
68
enum
HistType { kMVAType = 0, kProbaType = 1, kRarityType = 2, kCompareType = 3 };
69
70
//Variable Importance type
71
enum
VIType {kShort=0,kAll=1,kRandom=2};
72
73
class
Types
{
74
75
public
:
76
77
// available MVA methods
78
enum
EMVA
{
79
kVariable
= 0,
80
kCuts
,
81
kLikelihood
,
82
kPDERS
,
83
kHMatrix
,
84
kFisher
,
85
kKNN
,
86
kCFMlpANN
,
87
kTMlpANN
,
88
kBDT
,
89
kDT
,
90
kRuleFit
,
91
kSVM
,
92
kMLP
,
93
kBayesClassifier
,
94
kFDA
,
95
kBoost
,
96
kPDEFoam
,
97
kLD
,
98
kPlugins
,
99
kCategory
,
100
kDNN
,
101
kDL
,
102
kPyRandomForest
,
103
kPyAdaBoost
,
104
kPyGTB
,
105
kPyKeras
,
106
kPyTorch
,
107
kC50
,
108
kRSNNS
,
109
kRSVM
,
110
kRXGB
,
111
kCrossValidation
,
112
kMaxMethod
113
};
114
115
// available variable transformations
116
enum
EVariableTransform
{
117
kIdentity
= 0,
118
kDecorrelated
,
119
kNormalized
,
120
kPCA
,
121
kRearranged
,
122
kGauss
,
123
kUniform
,
124
kMaxVariableTransform
125
};
126
127
// type of analysis
128
enum
EAnalysisType
{
129
kClassification
= 0,
130
kRegression
,
131
kMulticlass
,
132
kNoAnalysisType
,
133
kMaxAnalysisType
134
};
135
136
enum
ESBType
{
137
kSignal
= 0,
// Never change this number - it is elsewhere assumed to be zero !
138
kBackground
,
139
kSBBoth
,
140
kMaxSBType
,
141
kTrueType
142
};
143
144
enum
ETreeType
{
145
kTraining
= 0,
146
kTesting
,
147
kMaxTreeType
,
// also used as temporary storage for trees not yet assigned for testing;training...
148
kValidation
,
// these are placeholders... currently not used, but could be moved "forward" if
149
kTrainingOriginal
// ever needed
150
};
151
152
enum
EBoostStage
{
153
kBoostProcBegin
=0,
154
kBeforeTraining
,
155
kBeforeBoosting
,
156
kAfterBoosting
,
157
kBoostProcEnd
158
};
159
160
public
:
161
162
static
Types
&
Instance
();
163
static
void
DestroyInstance
();
164
~Types
();
165
166
Types::EMVA
GetMethodType
(
const
TString
& method )
const
;
167
TString
GetMethodName
(
Types::EMVA
method )
const
;
168
169
Bool_t
AddTypeMapping
(
Types::EMVA
method,
const
TString
& methodname);
170
171
private
:
172
173
Types
();
174
#if __cplusplus > 199711L && !defined _MSC_VER
175
static
std::atomic<Types*>
fgTypesPtr
;
176
#else
177
static
Types
*
fgTypesPtr
;
178
#endif
179
180
private
:
181
182
std::map<TString, TMVA::Types::EMVA>
fStr2type
;
// types-to-text map
183
mutable
MsgLogger
*
fLogger
;
// message logger
184
MsgLogger
&
Log
()
const
{
return
*
fLogger
; }
185
186
};
187
}
188
189
#endif
TMVA::Types::kTrueType
@ kTrueType
Definition:
Types.h:141
TMVA::Types::Types
Types()
constructor
Definition:
Types.cxx:55
TMVA::Types::~Types
~Types()
Definition:
Types.cxx:60
TMVA::Types::kMulticlass
@ kMulticlass
Definition:
Types.h:131
TMVA::Types::kTMlpANN
@ kTMlpANN
Definition:
Types.h:87
TMVA::Types::kCrossValidation
@ kCrossValidation
Definition:
Types.h:111
TMVA::Types::kDNN
@ kDNN
Definition:
Types.h:100
TMVA::Types::kRegression
@ kRegression
Definition:
Types.h:130
TMVA::Types::EBoostStage
EBoostStage
Definition:
Types.h:152
TMVA::Types::kDecorrelated
@ kDecorrelated
Definition:
Types.h:118
TMVA::Types::kIdentity
@ kIdentity
Definition:
Types.h:117
TMVA::Types::kNormalized
@ kNormalized
Definition:
Types.h:119
TMVA::Types::kBDT
@ kBDT
Definition:
Types.h:88
TMVA::Types::kTesting
@ kTesting
Definition:
Types.h:146
TMVA::Types::kBayesClassifier
@ kBayesClassifier
Definition:
Types.h:93
TMVA::Types::kC50
@ kC50
Definition:
Types.h:107
TMVA::Types::kPCA
@ kPCA
Definition:
Types.h:120
TMVA::Types::GetMethodType
Types::EMVA GetMethodType(const TString &method) const
returns the method type (enum) for a given method (string)
Definition:
Types.cxx:120
TMVA::Types::DestroyInstance
static void DestroyInstance()
"destructor" of the single instance
Definition:
Types.cxx:89
TMVA::Types::kSVM
@ kSVM
Definition:
Types.h:91
TMVA::Types::kRSNNS
@ kRSNNS
Definition:
Types.h:108
TMVA::Types::kSBBoth
@ kSBBoth
Definition:
Types.h:139
TMVA::Types::AddTypeMapping
Bool_t AddTypeMapping(Types::EMVA method, const TString &methodname)
Definition:
Types.cxx:100
TMVA::Types::kUniform
@ kUniform
Definition:
Types.h:123
TMVA::Types::kMaxSBType
@ kMaxSBType
Definition:
Types.h:140
TString
Basic string class.
Definition:
TString.h:136
TMVA::Types::GetMethodName
TString GetMethodName(Types::EMVA method) const
Definition:
Types.cxx:135
TMVA::Types::kSignal
@ kSignal
Definition:
Types.h:137
Bool_t
bool Bool_t
Definition:
RtypesCore.h:63
TMVA::Types::kBoostProcBegin
@ kBoostProcBegin
Definition:
Types.h:153
TMVA::Types::kLD
@ kLD
Definition:
Types.h:97
TString.h
TMVA::Types::kBoost
@ kBoost
Definition:
Types.h:95
TMVA::Types::kLikelihood
@ kLikelihood
Definition:
Types.h:81
TMVA::Types::fgTypesPtr
static Types * fgTypesPtr
Definition:
Types.h:177
TMVA::Types::kPDEFoam
@ kPDEFoam
Definition:
Types.h:96
TMVA::Types::kCuts
@ kCuts
Definition:
Types.h:80
TMVA::Types::kAfterBoosting
@ kAfterBoosting
Definition:
Types.h:156
TMVA::Types::ESBType
ESBType
Definition:
Types.h:136
TMVA::Types::kHMatrix
@ kHMatrix
Definition:
Types.h:83
TMVA::Types::kKNN
@ kKNN
Definition:
Types.h:85
TMVA::Types::kPyRandomForest
@ kPyRandomForest
Definition:
Types.h:102
TMVA::Types::kVariable
@ kVariable
Definition:
Types.h:79
TMVA::Types::kCFMlpANN
@ kCFMlpANN
Definition:
Types.h:86
TMVA::Types::kFisher
@ kFisher
Definition:
Types.h:84
TMVA::Types::kBeforeBoosting
@ kBeforeBoosting
Definition:
Types.h:155
TMVA::Types::EAnalysisType
EAnalysisType
Definition:
Types.h:128
TMVA::Types::ETreeType
ETreeType
Definition:
Types.h:144
TMVA::Types::Log
MsgLogger & Log() const
Definition:
Types.h:184
TMVA::Types::kRSVM
@ kRSVM
Definition:
Types.h:109
TMVA::Types::kGauss
@ kGauss
Definition:
Types.h:122
TMVA::Types::kPyGTB
@ kPyGTB
Definition:
Types.h:104
TMVA::Types::kPlugins
@ kPlugins
Definition:
Types.h:98
TMVA::Types::kClassification
@ kClassification
Definition:
Types.h:129
TMVA::Types::kRuleFit
@ kRuleFit
Definition:
Types.h:90
TMVA::Types::kCategory
@ kCategory
Definition:
Types.h:99
UInt_t
unsigned int UInt_t
Definition:
RtypesCore.h:46
TMVA::Types
Singleton class for Global types used by TMVA.
Definition:
Types.h:73
TMVA::Types::kBackground
@ kBackground
Definition:
Types.h:138
TMVA::Types::kMaxTreeType
@ kMaxTreeType
Definition:
Types.h:147
TMVA::Types::kPDERS
@ kPDERS
Definition:
Types.h:82
TMVA::Types::kTraining
@ kTraining
Definition:
Types.h:145
TMVA::Types::fStr2type
std::map< TString, TMVA::Types::EMVA > fStr2type
Definition:
Types.h:182
TMVA::Types::kMaxMethod
@ kMaxMethod
Definition:
Types.h:112
TMVA::Types::kPyTorch
@ kPyTorch
Definition:
Types.h:106
TMVA::Types::kMaxAnalysisType
@ kMaxAnalysisType
Definition:
Types.h:133
TMVA::Types::kDL
@ kDL
Definition:
Types.h:101
TMVA::Types::kValidation
@ kValidation
Definition:
Types.h:148
RtypesCore.h
TMVA::MsgLogger
ostringstream derivative to redirect and format output
Definition:
MsgLogger.h:59
TMVA::Types::kRXGB
@ kRXGB
Definition:
Types.h:110
TMVA::Types::Instance
static Types & Instance()
the the single instance of "Types" if existing already, or create it (Singleton)
Definition:
Types.cxx:69
TMVA::Types::EMVA
EMVA
Definition:
Types.h:78
TMVA::Types::kMLP
@ kMLP
Definition:
Types.h:92
TMVA::Types::kPyAdaBoost
@ kPyAdaBoost
Definition:
Types.h:103
TMVA::Types::kFDA
@ kFDA
Definition:
Types.h:94
TMVA::Types::kTrainingOriginal
@ kTrainingOriginal
Definition:
Types.h:149
TMVA::Types::kRearranged
@ kRearranged
Definition:
Types.h:121
TMVA::Types::kBoostProcEnd
@ kBoostProcEnd
Definition:
Types.h:157
TMVA::Types::kPyKeras
@ kPyKeras
Definition:
Types.h:105
TMVA::Types::fLogger
MsgLogger * fLogger
Definition:
Types.h:183
TMVA::Types::kDT
@ kDT
Definition:
Types.h:89
TMVA::Types::kMaxVariableTransform
@ kMaxVariableTransform
Definition:
Types.h:124
TMVA::Types::EVariableTransform
EVariableTransform
Definition:
Types.h:116
TMVA::Types::kBeforeTraining
@ kBeforeTraining
Definition:
Types.h:154
TMVA::Types::kNoAnalysisType
@ kNoAnalysisType
Definition:
Types.h:132
TMVA
create variable transformations
Definition:
GeneticMinimizer.h:22
tmva
tmva
inc
TMVA
Types.h
ROOT master - Reference Guide Generated on Fri Jan 22 2021 11:58:19 (GVA Time) using Doxygen 1.9.0