24 while ((key = (
TKey*)next())) {
35 cbar->
AddButton( title, macro, comment, buttonType );
38 if (requiredKey !=
"") {
42 while ((key = (
TKey*)next())) {
58 gROOT->SetMacroPath(curMacroPath+
":./:$ROOTSYS/tmva/test/:");
71 std::cout <<
"--- Launch TMVA GUI to view input file: " << fName << std::endl;
79 std::cout <<
"==> Abort TMVAMultiClassGui, please verify filename" << std::endl;
83 if(
file->GetListOfKeys()->GetEntries()<=0)
85 cout <<
"==> Abort TMVAGui, please verify if dataset exist" << endl;
88 if( (dataset==
""||dataset.
IsWhitespace()) && (
file->GetListOfKeys()->GetEntries()==1))
92 }
else if((dataset==
""||dataset.
IsWhitespace()) && (
file->GetListOfKeys()->GetEntries()>=1))
98 bar->SetButtonWidth(300);
99 for(
int i=0;i<
file->GetListOfKeys()->GetEntries();i++)
103 bar->AddButton(dataset.
Data(),
Form(
"TMVA::TMVAMultiClassGui(\"%s\",\"%s\")",fName,dataset.
Data()),dataset.
Data());
107 bar->AddButton(
"Quit",
".q",
"Quit",
"button");
110 bar->SetTextColor(
"black");
112 gROOT->SaveContext();
122 TString defaultRequiredClassifier =
"";
128 TControlBar* cbar =
new TControlBar(
"vertical",
"TMVA Plotting Macros for Multiclass Classification", 0, 0 );
130 const TString buttonType(
"button" );
142 TString title =
Form(
"Input variables '%s'-transformed (training sample)",
144 if (tmp.
Contains(
"Id" )) title =
"Input variables (training sample)";
146 Form(
"(%i%c) %s", ic, ch++, title.
Data() ),
147 Form(
"TMVA::variablesMultiClass(\"%s\",\"%s\",\"%s\",\"%s\")",dataset.
Data(), fName, str->
GetString().
Data(), title.
Data() ),
148 Form(
"Plots all '%s'-transformed input variables (macro variablesMultiClass(...))", str->
GetString().
Data() ),
154 it.Reset(); ch =
'a';
157 TString title =
Form(
"Input variable correlations '%s'-transformed (scatter profiles)",
159 if (tmp.
Contains(
"Id" )) title =
"Input variable correlations (scatter profiles)";
161 Form(
"(%i%c) %s", ic, ch++, title.
Data() ),
162 Form(
"TMVA::CorrGuiMultiClass(\"%s\",\"%s\",\"%s\",\"%s\")",dataset.
Data() , fName, str->
GetString().
Data(), title.
Data() ),
163 Form(
"Plots all correlation profiles between '%s'-transformed input variables (macro CorrGuiMultiClass(...))",
170 title =
Form(
"(%i) Input Variable Linear Correlation Coefficients", ++ic );
173 Form(
"TMVA::correlationsMultiClass(\"%s\",\"%s\")",dataset.
Data(), fName ),
174 "Plots signal and background correlation summaries for all input variables (macro correlationsMultiClass.cxx)",
177 title =
Form(
"(%ia) Classifier Output Distributions (test sample)", ++ic );
180 Form(
"TMVA::mvasMulticlass(\"%s\",\"%s\",TMVA::kMVAType)",dataset.
Data() , fName ),
181 "Plots the output of each classifier for the test data (macro mvas(...,0))",
182 buttonType, defaultRequiredClassifier );
184 title =
Form(
"(%ib) Classifier Output Distributions (test and training samples superimposed)", ic );
187 Form(
"TMVA::mvasMulticlass(\"%s\",\"%s\",TMVA::kCompareType)",dataset.
Data(), fName ),
188 "Plots the output of each classifier for the test (histograms) and training (dots) data (macro mvas(...,3))",
189 buttonType, defaultRequiredClassifier );
214 title =
Form(
"(%i) Classifier Backgr. Rej. vs Sig. Eff. (1-vs-rest ROC curves)", ++ic);
216 cbar, title,
Form(
"TMVA::efficienciesMulticlass1vsRest(\"%s\", \"%s\")", dataset.
Data(), fName),
217 "Plots background rejection vs signal efficiencies (macro efficienciesMulticlass.cxx) [\"ROC\" stands "
218 "for \"Receiver Operation Characteristics\"]",
219 buttonType, defaultRequiredClassifier);
228 title =
Form(
"(%i) Classifier Backgr. Rej. vs Sig. Eff. (1-vs-1 ROC curves)", ++ic);
230 cbar, title,
Form(
"TMVA::efficienciesMulticlass1vs1(\"%s\", \"%s\")", dataset.
Data(), fName),
231 "Plots background rejection vs signal efficiencies (macro efficienciesMulticlass.cxx) [\"ROC\" stands "
232 "for \"Receiver Operation Characteristics\"]",
233 buttonType, defaultRequiredClassifier);
271 title =
Form(
"(%ia) Network Architecture (MLP)", ++ic );
272 TString call =
Form(
"TMVA::network(\"%s\",\"%s\")",dataset.
Data() , fName );
276 "Plots the MLP weights (macro network.cxx)",
279 title =
Form(
"(%ib) Network Convergence Test (MLP)", ic );
282 Form(
"TMVA::annconvergencetest(\"%s\",\"%s\")",dataset.
Data() , fName ),
283 "Plots error estimator versus training epoch for training and test samples (macro annconvergencetest.cxx)",
286 title =
Form(
"(%i) Decision Trees (BDT)", ++ic );
289 Form(
"TMVA::BDT(\"%s\",\"%s\")",dataset.
Data() , fName ),
290 "Plots the Decision Trees trained by BDT algorithms (macro BDT(itree,...))",
302 title =
Form(
"(%i) Plot Foams (PDEFoam)", ++ic );
305 Form(
"TMVA::PlotFoams(\"%s/weights/TMVAMulticlass_PDEFoam.weights_foams.root\")",dataset.
Data()),
306 "Plot Foams (macro PlotFoams.cxx)",
307 buttonType,
"PDEFoam" );
318 cbar->
AddButton(
Form(
"(%i) Quit", ++ic ),
".q",
"Quit", buttonType );
332 std::cout <<
"=== Note: inactive buttons indicate that the corresponding classifiers were not trained ===" << std::endl;
335 gROOT->SaveContext();
static TList * TMVAMultiClassGui_keyContent
static std::vector< TString > TMVAMultiClassGui_inactiveButtons
char * Form(const char *fmt,...)
R__EXTERN TStyle * gStyle
R__EXTERN TSystem * gSystem
A Control Bar is a fully user configurable tool which provides fast access to frequently used operati...
void Show()
Show control bar.
void AddSeparator()
Add separator.
void SetButtonState(const char *label, Int_t state=0)
Sets a state for control bar button 'label'; possible states are 0-kButtonUp, 1-kButtonDown,...
void AddButton(TControlBarButton *button)
Add button.
void SetTextColor(const char *colorName)
Sets text color for control bar buttons, e.g.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseGeneralPurpose, Int_t netopt=0)
Create / open a file.
Book space in a file, create I/O buffers, to fill them, (un)compress them.
virtual void Add(TObject *obj)
virtual const char * GetName() const
Returns name of object.
Collectable string class.
const TString & GetString() const
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
Bool_t IsWhitespace() const
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
void SetScreenFactor(Float_t factor=1)
virtual const char * GetIncludePath()
Get the list of include path.
virtual void SetIncludePath(const char *includePath)
IncludePath should contain the list of compiler flags to indicate where to find user defined header f...
static constexpr double bar
UInt_t GetListOfKeys(TList &keys, TString inherits, TDirectory *dir=0)
void TMVAMultiClassGui(const char *fName="TMVAMulticlass.root", TString dataset="")
void MultiClassActionButton(TControlBar *cbar, const TString &title, const TString ¯o, const TString &comment, const TString &buttonType, TString requiredKey="")
TList * MultiClassGetKeyList(const TString &pattern)