#include #include #include #include #include "TChain.h" #include "TFile.h" #include "TTree.h" #include "TString.h" #include "TObjString.h" #include "TSystem.h" #include "TROOT.h" #include "TPluginManager.h" #include "TMVAGui.C" #if not defined(__CINT__) || defined(__MAKECINT__) // needs to be included when makecint runs (ACLIC) #include "TMVA/Factory.h" #include "TMVA/Tools.h" #endif void TMVATest(){ // this loads the library TMVA::Tools::Instance(); TString outfileName("TestSample.root"); TFile* outputFile = TFile::Open(outfileName, "RECREATE"); TMVA::Factory *factory = new TMVA::Factory("TMVATest", outputFile, ""); //Add variables used to train MVA methods factory->AddVariable("CPUTime",'I'); //factory->AddVariable("DIRACSetup",'I'); factory->AddVariable("JobGroup",'I'); factory->AddVariable("JobType",'I'); //factory->AddVariable("MaxCPUTime",'I'); factory->AddVariable("SoftwarePackages",'I'); //factory->AddVariable("SystemConfig",'I'); //factory->AddVariable("Status",'I'); //factory->AddVariable("MinorStatus",'I'); factory->AddVariable("Site",'I'); factory->AddVariable("MemoryUsed",'D'); factory->AddVariable("MachineMemory",'D'); factory->AddVariable("WallClockTime",'D'); factory->AddVariable("MatcherServiceTime",'D'); factory->AddVariable("LoadAverage",'D'); factory->AddVariable("MachineCacheSize",'D'); factory->AddVariable("MachineDiskSpace",'D'); //factory->AddVariable("IS_PROD",'I'); //factory->AddTarget( "CPUTime" ); // Specify Dataset // Signal = Completed jobs // Background = Failed TFile* signalSource = TFile::Open("signal.root"); TFile* backgroundSource = TFile::Open("background.root"); TTree* sigTree = (TTree*)signalSource->Get("Jobs"); TTree* bkgTree = (TTree*)backgroundSource->Get("Jobs"); factory->AddSignalTree(sigTree); factory->AddBackgroundTree(bkgTree); factory->BookMethod( TMVA::Types::kBDT, "BDT", "" ); //Train all MVA methods factory->TrainAllMethods(); //Test all MVA methods factory->TestAllMethods(); //Evaluate all the MVA methods factory->EvaluateAllMethods(); // Save the output outputFile->Close(); delete factory; // Launch the GUI for the root macros if (!gROOT->IsBatch()) TMVAGui(outfileName); }