14 void TMVA::correlationsMultiClass(TString dataset, TString fin , Bool_t ,
15 Bool_t , Bool_t useTMVAStyle )
19 TMVAGlob::Initialize( useTMVAStyle );
22 TFile* file = TMVAGlob::OpenFile( fin );
23 TDirectory* vardir = (TDirectory*)file->GetDirectory(dataset.Data())->Get(
"InputVariables_Id" );
24 std::vector<TString> classnames(TMVAGlob::GetClassNames(vardir));
26 Int_t ncls = classnames.end() - classnames.begin();
27 std::vector<TString> hnames(classnames);
29 const Int_t width = 600;
30 for (Int_t ic=0; ic<ncls; ic++) {
31 hnames[ic] = TString(
"CorrelationMatrix")+ hnames[ic];
32 TH2* h2 = (TH2*)file->GetDirectory(dataset.Data())->Get( hnames[ic] );
33 cout <<
"Looking for histo " << hnames[ic] <<
" in " << fin << endl;
35 cout <<
"Did not find histogram " << hnames[ic] <<
" in " << fin << endl;
39 TCanvas* c =
new TCanvas( hnames[ic],
40 Form(
"Correlations between MVA input variables (%s)",
41 classnames[ic].Data()),
42 ic*(width+5)+200, 0, width, width );
43 Float_t newMargin1 = 0.13;
44 Float_t newMargin2 = 0.15;
45 if (gConfig().fVariablePlotting.fUsePaperStyle) newMargin2 = 0.13;
49 c->SetLeftMargin ( newMargin2 );
50 c->SetBottomMargin( newMargin2 );
51 c->SetRightMargin ( newMargin1 );
52 c->SetTopMargin ( newMargin1 );
53 gStyle->SetPalette( 1, 0 );
56 gStyle->SetPaintTextFormat(
"3g" );
58 h2->SetMarkerSize( 1.5 );
59 h2->SetMarkerColor( 0 );
60 Float_t labelSize = 0.040;
61 h2->GetXaxis()->SetLabelSize( labelSize );
62 h2->GetYaxis()->SetLabelSize( labelSize );
63 h2->LabelsOption(
"d" );
64 h2->SetLabelOffset( 0.011 );
70 TPaletteAxis* paletteAxis = (TPaletteAxis*)h2->GetListOfFunctions()->FindObject(
"palette" );
71 paletteAxis->SetLabelSize( 0.03 );
72 paletteAxis->SetX1NDC( paletteAxis->GetX1NDC() + 0.02 );
77 TText* t =
new TText( 0.53, 0.88,
"Linear correlation coefficients in %" );
79 t->SetTextSize( 0.026 );
85 TString fname = dataset+
"/plots/";
87 TMVAGlob::imgconv( c, fname );