12 void TMVA::BDTControlPlots(TString dataset, TString fin , Bool_t useTMVAStyle  )
 
   15    TMVAGlob::Initialize( useTMVAStyle );
 
   18    TFile* file = TMVAGlob::OpenFile( fin );  
 
   21       cout << 
"Problems with input file, tried to open " << fin << 
" but somehow did not succeed .." << endl;
 
   27    TString methodName = 
"Method_BDT";
 
   28    UInt_t ninst = TMVAGlob::GetListOfTitles(methodName,titles,file->GetDirectory(dataset.Data()));
 
   30       cout << 
"Could not locate directory 'Method_BDT' in file " << fin << endl;
 
   34    TIter keyIter(&titles);
 
   37    while ((key = TMVAGlob::NextKey(keyIter,
"TDirectory"))) {
 
   38       bdtdir = (TDirectory *)key->ReadObj();
 
   39       bdtcontrolplots(dataset, bdtdir );
 
   43 void TMVA::bdtcontrolplots(TString dataset, TDirectory *bdtdir ) {
 
   45    const Int_t nPlots = 6;
 
   49    char cn[100], cn2[100];
 
   50    const TString titName = bdtdir->GetName();
 
   51    sprintf( cn, 
"cv_%s", titName.Data() );
 
   52    TCanvas *c = 
new TCanvas( cn,  Form( 
"%s Control Plots", titName.Data() ),
 
   59    TString hname[nPlots]={
"BoostMonitor",
"BoostWeight",
"BoostWeightVsTree",
"ErrFractHist",
"NodesBeforePruning",titName+
"_FOMvsIterFrame"};
 
   61    Bool_t BoostMonitorIsDone=kFALSE;
 
   63    for (Int_t i=0; i<nPlots; i++){
 
   66       TH1 *h = (TH1*) bdtdir->Get(hname[i]);
 
   69          h->SetMaximum(h->GetMaximum()*1.3);
 
   71          h->SetMarkerColor(color);
 
   72          h->SetMarkerSize( 0.7 );
 
   73          h->SetMarkerStyle( 24 );
 
   75          h->SetLineColor(color);
 
   76          if(hname[i]==
"NodesBeforePruning")h->SetTitle(
"Nodes before/after pruning");
 
   78          if(hname[i]==
"NodesBeforePruning"){
 
   79             TH1 *h2 = (TH1*) bdtdir->Get(
"NodesAfterPruning");
 
   84          if(hname[i]==
"BoostMonitor"){ 
 
   85             TGraph *g = (TGraph*) bdtdir->Get(
"BoostMonitorGraph");
 
   87             BoostMonitorIsDone = kTRUE;
 
   89          if(hname[i]==titName+
"_FOMvsIterFrame"){ 
 
   90             TGraph *g = (TGraph*) bdtdir->Get(titName+
"_FOMvsIter");
 
   99    if (BoostMonitorIsDone){
 
  100       sprintf( cn2, 
"cv2_%s", titName.Data() );
 
  101       c2 = 
new TCanvas( cn2,  Form( 
"%s BoostWeights", titName.Data() ),
 
  106       TIter keys( bdtdir->GetListOfKeys() );
 
  109       while ( (key = (TKey*)keys.Next()) && ipad < 26) {
 
  110          TObject *obj=key->ReadObj();
 
  111          if (obj->IsA()->InheritsFrom(TH1::Class())){   
 
  112             TH1F *hx = (TH1F*)obj;
 
  113             TString hhname_(Form(
"%s",obj->GetTitle()));
 
  114             if (hhname_.Contains(
"BoostWeightsInTreeB")){ 
 
  118                hhname_.ReplaceAll(
"TreeB",
"TreeS");
 
  119                bdtdir->GetObject(hhname_.Data(),hx);
 
  132    TString fname = dataset+Form( 
"/plots/%s_ControlPlots", titName.Data() );
 
  133    TMVAGlob::imgconv( c, fname );
 
  136       fname = dataset+Form( 
"/plots/%s_ControlPlots2", titName.Data() );
 
  137       TMVAGlob::imgconv( c2, fname );
 
  141    if (BoostMonitorIsDone){
 
  142       sprintf( cn2, 
"cv3_%s", titName.Data() );
 
  143       c3 = 
new TCanvas( cn2,  Form( 
"%s Variables", titName.Data() ),
 
  148       TIter keys( bdtdir->GetListOfKeys() );
 
  151       while ( (key = (TKey*)keys.Next()) && ipad < 26) {
 
  152          TObject *obj=key->ReadObj();
 
  153          if (obj->IsA()->InheritsFrom(TH1::Class())){   
 
  154             TH1F *hx = (TH1F*)obj;
 
  155             TString hname_(Form(
"%s",obj->GetTitle()));
 
  156             if (hname_.Contains(
"SigVar0AtTree")){ 
 
  160                hname_.ReplaceAll(
"Sig",
"Bkg");
 
  161                bdtdir->GetObject(hname_.Data(),hx);