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/:");
69 cout <<
"--- Launch TMVA GUI to view input file: " << fName << endl;
77 cout <<
"==> Abort TMVAGui, please verify filename" << endl;
81 if(
file->GetListOfKeys()->GetEntries()<=0)
83 cout <<
"==> Abort TMVAGui, please verify if dataset exist" << endl;
86 if( (dataset==
""||dataset.
IsWhitespace()) && (
file->GetListOfKeys()->GetEntries()==1))
90 }
else if((dataset==
""||dataset.
IsWhitespace()) && (
file->GetListOfKeys()->GetEntries()>=1))
97 for(
int i=0;i<
file->GetListOfKeys()->GetEntries();i++)
105 bar->
AddButton(
"Quit",
".q",
"Quit",
"button");
110 gROOT->SaveContext();
120 TString defaultRequiredClassifier =
"";
128 const TString buttonType(
"button" );
140 TString title =
Form(
"Input variables '%s'-transformed (training sample)",
142 if (tmp.
Contains(
"Id" )) title =
"Input variables (training sample)";
144 Form(
"(%i%c) %s", ic, ch++, title.
Data() ),
146 Form(
"Plots all '%s'-transformed input variables (macro variables(...))", str->
GetString().
Data() ),
152 it.Reset(); ch =
'a';
155 TString title =
Form(
"Input variable correlations '%s'-transformed (scatter profiles)",
157 if (tmp.
Contains(
"Id" )) title =
"Input variable correlations (scatter profiles)";
159 Form(
"(%i%c) %s", ic, ch++, title.
Data() ),
161 Form(
"Plots all correlation profiles between '%s'-transformed input variables (macro CorrGui(...))",
168 title =
Form(
"(%i) Input Variable Linear Correlation Coefficients", ++ic );
171 Form(
"TMVA::correlations(\"%s\",\"%s\")",dataset.
Data(), fName ),
172 "Plots signal and background correlation summaries for all input variables (macro correlations.C)",
175 title =
Form(
"(%ia) Classifier Output Distributions (test sample)", ++ic );
178 Form(
"TMVA::mvas(\"%s\",\"%s\", TMVA::kMVAType)",dataset.
Data(), fName ),
179 "Plots the output of each classifier for the test data (macro mvas(...,0))",
180 buttonType, defaultRequiredClassifier );
182 title =
Form(
"(%ib) Classifier Output Distributions (test and training samples superimposed)", ic );
185 Form(
"TMVA::mvas(\"%s\",\"%s\", TMVA::kCompareType )",dataset.
Data(), fName),
186 "Plots the output of each classifier for the test (histograms) and training (dots) data (macro mvas(...,3))",
187 buttonType, defaultRequiredClassifier );
189 title =
Form(
"(%ic) Classifier Probability Distributions (test sample)", ic );
192 Form(
"TMVA::mvas(\"%s\",\"%s\", TMVA::kProbaType)",dataset.
Data(), fName ),
193 "Plots the probability of each classifier for the test data (macro mvas(...,1))",
194 buttonType, defaultRequiredClassifier );
196 title =
Form(
"(%id) Classifier Rarity Distributions (test sample)", ic );
199 Form(
"TMVA::mvas(\"%s\",\"%s\", TMVA::kRarityType)",dataset.
Data(), fName ),
200 "Plots the Rarity of each classifier for the test data (macro mvas(...,2)) - background distribution should be uniform",
201 buttonType, defaultRequiredClassifier );
203 title =
Form(
"(%ia) Classifier Cut Efficiencies", ++ic );
206 Form(
"TMVA::mvaeffs(\"%s\",\"%s\")",dataset.
Data(), fName ),
207 "Plots signal and background efficiencies versus cut on classifier output (macro mvaeffs.cxx)",
208 buttonType, defaultRequiredClassifier );
210 title =
Form(
"(%ib) Classifier Background Rejection vs Signal Efficiency (ROC curve)", ic );
213 Form(
"TMVA::efficiencies(\"%s\",\"%s\")",dataset.
Data(), fName ),
214 "Plots background rejection vs signal efficiencies (macro efficiencies.cxx) [\"ROC\" stands for \"Receiver Operation Characteristics\"]",
215 buttonType, defaultRequiredClassifier );
217 title =
Form(
"(%ib) Classifier 1/(Backgr. Efficiency) vs Signal Efficiency (ROC curve)", ic );
220 Form(
"TMVA::efficiencies(\"%s\",\"%s\",%d)",dataset.
Data(), fName, 3 ),
221 "Plots 1/(background eff.) vs signal efficiencies (macro efficiencies.cxx) [\"ROC\" stands for \"Receiver Operation Characteristics\"]",
222 buttonType, defaultRequiredClassifier );
224 title =
Form(
"(%i) Parallel Coordinates (requires ROOT-version >= 5.17)", ++ic );
227 Form(
"TMVA::paracoor(\"%s\",\"%s\")",dataset.
Data(), fName ),
228 "Plots parallel coordinates for classifiers and input variables (macro paracoor.cxx, requires ROOT >= 5.17)",
229 buttonType, defaultRequiredClassifier );
231 title =
Form(
"(%i) PDFs of Classifiers (requires \"CreateMVAPdfs\" option set)", ++ic );
234 Form(
"TMVA::probas(\"%s\",\"%s\")",dataset.
Data(), fName ),
235 "Plots the PDFs of the classifier output distributions for signal and background - if requested (macro probas.cxx)",
236 buttonType, defaultRequiredClassifier );
238 title =
Form(
"(%i) Training History", ++ic );
241 Form(
"TMVA::training_history(\"%s\",\"%s\")",dataset.
Data(), fName ),
242 "Plot training history of classifiers with multiple passed (eg Neural Networks) ",
243 buttonType, defaultRequiredClassifier );
245 title =
Form(
"(%i) Likelihood Reference Distributiuons", ++ic);
248 Form(
"TMVA::likelihoodrefs(\"%s\",\"%s\")",dataset.
Data(), fName ),
249 "Plots to verify the likelihood reference distributions (macro likelihoodrefs.cxx)",
250 buttonType,
"Likelihood" );
252 title =
Form(
"(%ia) Network Architecture (MLP)", ++ic );
253 TString call =
Form(
"TMVA::network(\"%s\",\"%s\")", dataset.
Data(),fName );
257 "Plots the MLP weights (macro network.cxx)",
260 title =
Form(
"(%ib) Network Convergence Test (MLP)", ic );
263 Form(
"TMVA::annconvergencetest(\"%s\",\"%s\")",dataset.
Data(), fName ),
264 "Plots error estimator versus training epoch for training and test samples (macro annconvergencetest.C)",
267 title =
Form(
"(%i) Decision Trees (BDT)", ++ic );
270 Form(
"TMVA::BDT(\"%s\",\"%s\")",dataset.
Data() , fName ),
271 "Plots the Decision Trees trained by BDT algorithms (macro BDT(itree,...))",
274 title =
Form(
"(%i) Decision Tree Control Plots (BDT)", ++ic );
277 Form(
"TMVA::BDTControlPlots(\"%s\",\"%s\")",dataset.
Data() , fName ),
278 "Plots to monitor boosting and pruning of decision trees (macro BDTControlPlots.cxx)",
286 title =
Form(
"(%i) Plot Foams (PDEFoam)", ++ic );
289 Form(
"TMVA::PlotFoams(\"%s/weights/TMVAClassification_PDEFoam.weights_foams.root\")",dataset.
Data()),
290 "Plot Foams (macro PlotFoams.cxx)",
291 buttonType,
"PDEFoam" );
293 title =
Form(
"(%i) General Boost Control Plots", ++ic );
296 Form(
"TMVA::BoostControlPlots(\"%s\",\"%s\")",dataset.
Data() , fName ),
297 "Plots to monitor boosting of general classifiers (macro BoostControlPlots)",
298 buttonType,
"Boost" );
302 cbar->
AddButton(
Form(
"(%i) Quit", ++ic ),
".q",
"Quit", buttonType );
316 cout <<
"=== Note: inactive buttons indicate classifiers that were not trained, ===" << endl;
317 cout <<
"=== or functionalities that were not invoked during the training ===" << endl;
320 gROOT->SaveContext();
static TList * TMVAGui_keyContent
static std::vector< TString > TMVAGui_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 SetButtonWidth(UInt_t width)
Sets the width in pixels for control bar button.
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::kUseCompiledDefault, 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...
UInt_t GetListOfKeys(TList &keys, TString inherits, TDirectory *dir=0)
void ActionButton(TControlBar *cbar, const TString &title, const TString ¯o, const TString &comment, const TString &buttonType, TString requiredKey="")
TList * GetKeyList(const TString &pattern)
void TMVAGui(const char *fName="TMVA.root", TString dataset="")