Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
BDT_Reg.h
Go to the documentation of this file.
1 #ifndef BDT_Reg__HH
2 #define BDT_Reg__HH
3 #include <iostream>
4 #include <iomanip>
5 #include <fstream>
6 
7 #include "TMVA/tmvaglob.h"
8 
9 #include "RQ_OBJECT.h"
10 
11 #include "TROOT.h"
12 #include "TStyle.h"
13 #include "TPad.h"
14 #include "TCanvas.h"
15 #include "TLine.h"
16 #include "TFile.h"
17 #include "TColor.h"
18 #include "TPaveText.h"
19 #include "TObjString.h"
20 #include "TControlBar.h"
21 
22 #include "TGWindow.h"
23 #include "TGButton.h"
24 #include "TGLabel.h"
25 #include "TGNumberEntry.h"
26 
27 #include "TMVA/DecisionTree.h"
28 #include "TMVA/Tools.h"
29 #include "TXMLEngine.h"
30 #include "TMVA/BDT.h"
31 // Uncomment this only if the link problem is solved. The include statement tends
32 // to use the ROOT classes rather than the local TMVA release
33 // #include "TMVA/DecisionTree.h"
34 // #include "TMVA/DecisionTreeNode.h"
35 
36 namespace TMVA{
37 
38 
39 
40  class StatDialogBDTReg {
41 
42  RQ_OBJECT("StatDialogBDTReg")
43 
44  public:
45 
46  StatDialogBDTReg(TString dataset, const TGWindow* p, TString wfile,
47  TString methName = "BDT", Int_t itree = 0 );
48  virtual ~StatDialogBDTReg() {
49  TMVA::DecisionTreeNode::fgIsTraining=false;
50  fThis = 0;
51  fMain->CloseWindow();
52  fMain->Cleanup();
53  if(gROOT->GetListOfCanvases()->FindObject(fCanvas))
54  delete fCanvas;
55  }
56 
57  // draw method
58  void DrawTree( Int_t itree );
59 
60  void RaiseDialog() { if (fMain) { fMain->RaiseWindow(); fMain->Layout(); fMain->MapWindow(); } }
61 
62  private:
63 
64  TGMainFrame *fMain;
65  Int_t fItree;
66  Int_t fNtrees;
67  TCanvas* fCanvas;
68  TString fDataset;
69 
70  TGNumberEntry* fInput;
71 
72  TGHorizontalFrame* fButtons;
73  TGTextButton* fDrawButton;
74  TGTextButton* fCloseButton;
75 
76  void UpdateCanvases();
77 
78  // draw methods
79  TMVA::DecisionTree* ReadTree( TString * &vars, Int_t itree );
80  void DrawNode( TMVA::DecisionTreeNode *n,
81  Double_t x, Double_t y, Double_t xscale, Double_t yscale, TString* vars );
82  void GetNtrees();
83 
84  TString fWfile;
85  TString fMethName;
86 
87  public:
88 
89  // static function for external deletion
90  static void Delete() { if (fThis != 0) { delete fThis; fThis = 0; } }
91 
92  // slots
93  void SetItree(); //*SIGNAL*
94  void Redraw(); //*SIGNAL*
95  void Close(); //*SIGNAL*
96 
97  private:
98 
99  static StatDialogBDTReg* fThis;
100 
101  };
102 
103  // ========================================================================================
104 
105  extern std::vector<TControlBar*> BDTReg_Global__cbar;
106 
107  // intermediate GUI
108  void BDT_Reg(TString dataset, const TString& fin = "TMVAReg.root" );
109  void BDTReg_DeleteTBar(int i);
110 
111  void BDT_Reg(TString dataset, Int_t itree, TString wfile = "", TString methName = "BDT", Bool_t useTMVAStyle = kTRUE );
112 
113 
114 }
115 #endif