{ "cells": [ { "cell_type": "markdown", "id": "ab6fb94d", "metadata": {}, "source": [ "# TMVAClassificationCategory\n", "This macro provides examples for the training and testing of the\n", "TMVA classifiers in categorisation mode.\n", "- Project : TMVA - a Root-integrated toolkit for multivariate data analysis\n", "- Package : TMVA\n", "- Root Macro: TMVAClassificationCategory\n", "\n", "As input data is used a toy-MC sample consisting of four Gaussian-distributed\n", "and linearly correlated input variables with category (eta) dependent\n", "properties.\n", "\n", "For this example, only Fisher and Likelihood are used. Run via:\n", "\n", " root -l TMVAClassificationCategory.C\n", "\n", "The output file \"TMVACC.root\" can be analysed with the use of dedicated\n", "macros (simply say: root -l ), which can be conveniently\n", "invoked through a GUI that will appear at the end of the run of this macro.\n", "\n", "\n", "\n", "**Author:** Andreas Hoecker \n", "This notebook tutorial was automatically generated with ROOTBOOK-izer from the macro found in the ROOT repository on Tuesday, May 19, 2026 at 08:08 PM." ] }, { "cell_type": "code", "execution_count": 1, "id": "f0ba3498", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:16.703868Z", "iopub.status.busy": "2026-05-19T20:08:16.703757Z", "iopub.status.idle": "2026-05-19T20:08:16.708406Z", "shell.execute_reply": "2026-05-19T20:08:16.707848Z" } }, "outputs": [], "source": [ "%%cpp -d\n", "#include \n", "#include \n", "#include \n", "#include \n", "\n", "#include \"TChain.h\"\n", "#include \"TFile.h\"\n", "#include \"TTree.h\"\n", "#include \"TString.h\"\n", "#include \"TObjString.h\"\n", "#include \"TSystem.h\"\n", "#include \"TROOT.h\"\n", "\n", "#include \"TMVA/MethodCategory.h\"\n", "#include \"TMVA/Factory.h\"\n", "#include \"TMVA/DataLoader.h\"\n", "#include \"TMVA/Tools.h\"\n", "#include \"TMVA/TMVAGui.h\"\n", "\n", "\n", "Bool_t UseOffsetMethod = kTRUE;" ] }, { "cell_type": "markdown", "id": "7e149a4f", "metadata": {}, "source": [ "---------------------------------------------------------------\n", "Example for usage of different event categories with classifiers" ] }, { "cell_type": "code", "execution_count": 2, "id": "1e866101", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:16.709622Z", "iopub.status.busy": "2026-05-19T20:08:16.709496Z", "iopub.status.idle": "2026-05-19T20:08:17.025850Z", "shell.execute_reply": "2026-05-19T20:08:17.025153Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "==> Start TMVAClassificationCategory\n" ] } ], "source": [ " std::cout << std::endl << \"==> Start TMVAClassificationCategory\" << std::endl;" ] }, { "cell_type": "markdown", "id": "c432a959", "metadata": {}, "source": [ "This loads the library" ] }, { "cell_type": "code", "execution_count": 3, "id": "5d36c400", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:17.027285Z", "iopub.status.busy": "2026-05-19T20:08:17.027168Z", "iopub.status.idle": "2026-05-19T20:08:17.230266Z", "shell.execute_reply": "2026-05-19T20:08:17.229389Z" } }, "outputs": [], "source": [ " TMVA::Tools::Instance();\n", "\n", " bool batchMode = false;" ] }, { "cell_type": "markdown", "id": "b778866d", "metadata": {}, "source": [ "Create a new root output file." ] }, { "cell_type": "code", "execution_count": 4, "id": "5768db99", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:17.231952Z", "iopub.status.busy": "2026-05-19T20:08:17.231832Z", "iopub.status.idle": "2026-05-19T20:08:17.434111Z", "shell.execute_reply": "2026-05-19T20:08:17.433503Z" } }, "outputs": [], "source": [ " TString outfileName( \"TMVACC.root\" );\n", " TFile* outputFile = TFile::Open( outfileName, \"RECREATE\" );" ] }, { "cell_type": "markdown", "id": "c723f9ad", "metadata": {}, "source": [ "Create the factory object (see TMVAClassification.C for more information)" ] }, { "cell_type": "code", "execution_count": 5, "id": "63ee3de2", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:17.436113Z", "iopub.status.busy": "2026-05-19T20:08:17.435996Z", "iopub.status.idle": "2026-05-19T20:08:17.638645Z", "shell.execute_reply": "2026-05-19T20:08:17.637950Z" } }, "outputs": [], "source": [ "std::string factoryOptions( \"!V:!Silent:Transformations=I;D;P;G,D\" );\n", "if (batchMode) factoryOptions += \":!Color:!DrawProgressBar\";\n", "\n", " TMVA::Factory *factory = new TMVA::Factory( \"TMVAClassificationCategory\", outputFile, factoryOptions );" ] }, { "cell_type": "markdown", "id": "fb66075f", "metadata": {}, "source": [ "Create DataLoader" ] }, { "cell_type": "code", "execution_count": 6, "id": "522eb329", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:17.640397Z", "iopub.status.busy": "2026-05-19T20:08:17.640279Z", "iopub.status.idle": "2026-05-19T20:08:17.842923Z", "shell.execute_reply": "2026-05-19T20:08:17.842239Z" } }, "outputs": [], "source": [ " TMVA::DataLoader *dataloader=new TMVA::DataLoader(\"dataset\");" ] }, { "cell_type": "markdown", "id": "3e663b09", "metadata": {}, "source": [ "Define the input variables used for the MVA training" ] }, { "cell_type": "code", "execution_count": 7, "id": "7857a172", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:17.844851Z", "iopub.status.busy": "2026-05-19T20:08:17.844718Z", "iopub.status.idle": "2026-05-19T20:08:18.047075Z", "shell.execute_reply": "2026-05-19T20:08:18.046380Z" } }, "outputs": [], "source": [ " dataloader->AddVariable( \"var1\", 'F' );\n", " dataloader->AddVariable( \"var2\", 'F' );\n", " dataloader->AddVariable( \"var3\", 'F' );\n", " dataloader->AddVariable( \"var4\", 'F' );" ] }, { "cell_type": "markdown", "id": "945f23fc", "metadata": {}, "source": [ "You can add so-called \"Spectator variables\", which are not used in the MVA training,\n", "but will appear in the final \"TestTree\" produced by TMVA. This TestTree will contain the\n", "input variables, the response values of all trained MVAs, and the spectator variables" ] }, { "cell_type": "code", "execution_count": 8, "id": "2298c792", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:18.048991Z", "iopub.status.busy": "2026-05-19T20:08:18.048879Z", "iopub.status.idle": "2026-05-19T20:08:18.251321Z", "shell.execute_reply": "2026-05-19T20:08:18.250524Z" } }, "outputs": [], "source": [ " dataloader->AddSpectator( \"eta\" );" ] }, { "cell_type": "markdown", "id": "0cb7937a", "metadata": {}, "source": [ "Load the signal and background event samples from ROOT trees" ] }, { "cell_type": "code", "execution_count": 9, "id": "f2c6bc55", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:18.253017Z", "iopub.status.busy": "2026-05-19T20:08:18.252901Z", "iopub.status.idle": "2026-05-19T20:08:18.455726Z", "shell.execute_reply": "2026-05-19T20:08:18.455117Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--- TMVAClassificationCategory: Accessing /github/home/ROOT-CI/build/tutorials/machine_learning/data/toy_sigbkg_categ_offset.root\n" ] } ], "source": [ " TFile *input(0);\n", " TString fname = gSystem->GetDirName(__FILE__) + \"/data/\";\n", " if (gSystem->AccessPathName( fname + \"toy_sigbkg_categ_offset.root\")) {\n", " // if directory data not found try using tutorials dir\n", " fname = gROOT->GetTutorialDir() + \"/machine_learning/data/\";\n", " }\n", " if (UseOffsetMethod) fname += \"toy_sigbkg_categ_offset.root\";\n", " else fname += \"toy_sigbkg_categ_varoff.root\";\n", " if (!gSystem->AccessPathName( fname )) {\n", " // first we try to find tmva_example.root in the local directory\n", " std::cout << \"--- TMVAClassificationCategory: Accessing \" << fname << std::endl;\n", " input = TFile::Open( fname );\n", " }\n", "\n", " if (!input) {\n", " std::cout << \"ERROR: could not open data file: \" << fname << std::endl;\n", " exit(1);\n", " }\n", "\n", " TTree *signalTree = (TTree*)input->Get(\"TreeS\");\n", " TTree *background = (TTree*)input->Get(\"TreeB\");" ] }, { "cell_type": "markdown", "id": "f13c892c", "metadata": {}, "source": [ "Global event weights per tree (see below for setting event-wise weights)" ] }, { "cell_type": "code", "execution_count": 10, "id": "57b62dc4", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:18.457204Z", "iopub.status.busy": "2026-05-19T20:08:18.457091Z", "iopub.status.idle": "2026-05-19T20:08:18.659842Z", "shell.execute_reply": "2026-05-19T20:08:18.659125Z" } }, "outputs": [], "source": [ " Double_t signalWeight = 1.0;\n", " Double_t backgroundWeight = 1.0;" ] }, { "cell_type": "markdown", "id": "9cdb47a8", "metadata": {}, "source": [ "You can add an arbitrary number of signal or background trees" ] }, { "cell_type": "code", "execution_count": 11, "id": "57c3e71b", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:18.661735Z", "iopub.status.busy": "2026-05-19T20:08:18.661597Z", "iopub.status.idle": "2026-05-19T20:08:18.864546Z", "shell.execute_reply": "2026-05-19T20:08:18.863971Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
DataSetInfo : [dataset] : Added class \"Signal\"\n", " : Add Tree TreeS of type Signal with 10000 events\n", "
DataSetInfo : [dataset] : Added class \"Background\"\n", " : Add Tree TreeB of type Background with 10000 events\n" ] } ], "source": [ " dataloader->AddSignalTree ( signalTree, signalWeight );\n", " dataloader->AddBackgroundTree( background, backgroundWeight );" ] }, { "cell_type": "markdown", "id": "0dfd2ee4", "metadata": {}, "source": [ "Apply additional cuts on the signal and background samples (can be different)" ] }, { "cell_type": "code", "execution_count": 12, "id": "d8499f8f", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:18.866210Z", "iopub.status.busy": "2026-05-19T20:08:18.866090Z", "iopub.status.idle": "2026-05-19T20:08:19.068756Z", "shell.execute_reply": "2026-05-19T20:08:19.068013Z" } }, "outputs": [], "source": [ " TCut mycuts = \"\"; // for example: TCut mycuts = \"abs(var1)<0.5 && abs(var2-0.5)<1\";\n", " TCut mycutb = \"\"; // for example: TCut mycutb = \"abs(var1)<0.5\";" ] }, { "cell_type": "markdown", "id": "1f20ca46", "metadata": {}, "source": [ "Tell the factory how to use the training and testing events" ] }, { "cell_type": "code", "execution_count": 13, "id": "43fff30f", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:19.070360Z", "iopub.status.busy": "2026-05-19T20:08:19.070249Z", "iopub.status.idle": "2026-05-19T20:08:19.272595Z", "shell.execute_reply": "2026-05-19T20:08:19.271876Z" } }, "outputs": [], "source": [ " dataloader->PrepareTrainingAndTestTree( mycuts, mycutb,\n", " \"nTrain_Signal=0:nTrain_Background=0:SplitMode=Random:NormMode=NumEvents:!V\" );" ] }, { "cell_type": "markdown", "id": "34140601", "metadata": {}, "source": [ "Book MVA methods" ] }, { "cell_type": "markdown", "id": "df542481", "metadata": {}, "source": [ "Fisher discriminant" ] }, { "cell_type": "code", "execution_count": 14, "id": "4ff1f2e5", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:19.274240Z", "iopub.status.busy": "2026-05-19T20:08:19.274124Z", "iopub.status.idle": "2026-05-19T20:08:19.476679Z", "shell.execute_reply": "2026-05-19T20:08:19.475990Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
Factory : Booking method: Fisher\n", " : \n" ] } ], "source": [ " factory->BookMethod( dataloader, TMVA::Types::kFisher, \"Fisher\", \"!H:!V:Fisher\" );" ] }, { "cell_type": "markdown", "id": "d1661074", "metadata": {}, "source": [ "Likelihood" ] }, { "cell_type": "code", "execution_count": 15, "id": "f358d17e", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:19.478064Z", "iopub.status.busy": "2026-05-19T20:08:19.477952Z", "iopub.status.idle": "2026-05-19T20:08:19.680478Z", "shell.execute_reply": "2026-05-19T20:08:19.679904Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
Factory : Booking method: Likelihood\n", " : \n" ] } ], "source": [ " factory->BookMethod( dataloader, TMVA::Types::kLikelihood, \"Likelihood\",\n", " \"!H:!V:TransformOutput:PDFInterpol=Spline2:NSmoothSig[0]=20:NSmoothBkg[0]=20:NSmoothBkg[1]=10:NSmooth=1:NAvEvtPerBin=50\" );" ] }, { "cell_type": "markdown", "id": "a6346199", "metadata": {}, "source": [ "Categorised classifier" ] }, { "cell_type": "code", "execution_count": 16, "id": "26c7ec6a", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:19.681958Z", "iopub.status.busy": "2026-05-19T20:08:19.681840Z", "iopub.status.idle": "2026-05-19T20:08:19.884672Z", "shell.execute_reply": "2026-05-19T20:08:19.883866Z" } }, "outputs": [], "source": [ " TMVA::MethodCategory* mcat = 0;" ] }, { "cell_type": "markdown", "id": "b570b15a", "metadata": {}, "source": [ "The variable sets" ] }, { "cell_type": "code", "execution_count": 17, "id": "74c68ba1", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:19.886215Z", "iopub.status.busy": "2026-05-19T20:08:19.886101Z", "iopub.status.idle": "2026-05-19T20:08:20.088671Z", "shell.execute_reply": "2026-05-19T20:08:20.087994Z" } }, "outputs": [], "source": [ " TString theCat1Vars = \"var1:var2:var3:var4\";\n", " TString theCat2Vars = (UseOffsetMethod ? \"var1:var2:var3:var4\" : \"var1:var2:var3\");" ] }, { "cell_type": "markdown", "id": "6148335f", "metadata": {}, "source": [ "Fisher with categories" ] }, { "cell_type": "code", "execution_count": 18, "id": "00edad03", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:20.090409Z", "iopub.status.busy": "2026-05-19T20:08:20.090294Z", "iopub.status.idle": "2026-05-19T20:08:20.293222Z", "shell.execute_reply": "2026-05-19T20:08:20.292574Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
Factory : Booking method: FisherCat\n", " : \n", " : Adding sub-classifier: Fisher::Category_Fisher_1\n", "
DataSetInfo : [Category_Fisher_1_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Fisher_1_dsi] : Added class \"Background\"\n", " : Adding sub-classifier: Fisher::Category_Fisher_2\n", "
DataSetInfo : [Category_Fisher_2_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Fisher_2_dsi] : Added class \"Background\"\n" ] } ], "source": [ " TMVA::MethodBase* fiCat = factory->BookMethod( dataloader, TMVA::Types::kCategory, \"FisherCat\",\"\" );\n", " mcat = dynamic_cast(fiCat);\n", " mcat->AddMethod( \"abs(eta)<=1.3\", theCat1Vars, TMVA::Types::kFisher, \"Category_Fisher_1\",\"!H:!V:Fisher\" );\n", " mcat->AddMethod( \"abs(eta)>1.3\", theCat2Vars, TMVA::Types::kFisher, \"Category_Fisher_2\",\"!H:!V:Fisher\" );" ] }, { "cell_type": "markdown", "id": "364da37c", "metadata": {}, "source": [ "Likelihood with categories" ] }, { "cell_type": "code", "execution_count": 19, "id": "130d0c1f", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:20.294637Z", "iopub.status.busy": "2026-05-19T20:08:20.294508Z", "iopub.status.idle": "2026-05-19T20:08:20.497415Z", "shell.execute_reply": "2026-05-19T20:08:20.496863Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
Factory : Booking method: LikelihoodCat\n", " : \n", " : Adding sub-classifier: Likelihood::Category_Likelihood_1\n", "
DataSetInfo : [Category_Likelihood_1_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Likelihood_1_dsi] : Added class \"Background\"\n", " : Adding sub-classifier: Likelihood::Category_Likelihood_2\n", "
DataSetInfo : [Category_Likelihood_2_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Likelihood_2_dsi] : Added class \"Background\"\n" ] } ], "source": [ " TMVA::MethodBase* liCat = factory->BookMethod( dataloader, TMVA::Types::kCategory, \"LikelihoodCat\",\"\" );\n", " mcat = dynamic_cast(liCat);\n", " mcat->AddMethod( \"abs(eta)<=1.3\",theCat1Vars, TMVA::Types::kLikelihood,\n", " \"Category_Likelihood_1\",\"!H:!V:TransformOutput:PDFInterpol=Spline2:NSmoothSig[0]=20:NSmoothBkg[0]=20:NSmoothBkg[1]=10:NSmooth=1:NAvEvtPerBin=50\" );\n", " mcat->AddMethod( \"abs(eta)>1.3\", theCat2Vars, TMVA::Types::kLikelihood,\n", " \"Category_Likelihood_2\",\"!H:!V:TransformOutput:PDFInterpol=Spline2:NSmoothSig[0]=20:NSmoothBkg[0]=20:NSmoothBkg[1]=10:NSmooth=1:NAvEvtPerBin=50\" );" ] }, { "cell_type": "markdown", "id": "fa8650f6", "metadata": {}, "source": [ "Now you can tell the factory to train, test, and evaluate the MVAs" ] }, { "cell_type": "markdown", "id": "710455d9", "metadata": {}, "source": [ "Train MVAs using the set of training events" ] }, { "cell_type": "code", "execution_count": 20, "id": "580131f7", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:20.498877Z", "iopub.status.busy": "2026-05-19T20:08:20.498766Z", "iopub.status.idle": "2026-05-19T20:08:20.904349Z", "shell.execute_reply": "2026-05-19T20:08:20.903796Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
Factory : Train all methods\n", " : Rebuilding Dataset dataset\n", " : Building event vectors for type 2 Signal\n", " : Dataset[dataset] : create input formulas for tree TreeS\n", " : Building event vectors for type 2 Background\n", " : Dataset[dataset] : create input formulas for tree TreeB\n", "
DataSetFactory : [dataset] : Number of events in input trees\n", " : \n", " : \n", " : Number of training and testing events\n", " : ---------------------------------------------------------------------------\n", " : Signal -- training events : 5000\n", " : Signal -- testing events : 5000\n", " : Signal -- training and testing events: 10000\n", " : Background -- training events : 5000\n", " : Background -- testing events : 5000\n", " : Background -- training and testing events: 10000\n", " : \n", "
DataSetInfo : Correlation matrix (Signal):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 +0.383 +0.379 +0.387\n", " : var2: +0.383 +1.000 +0.395 +0.402\n", " : var3: +0.379 +0.395 +1.000 +0.388\n", " : var4: +0.387 +0.402 +0.388 +1.000\n", " : ----------------------------------------\n", "
DataSetInfo : Correlation matrix (Background):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 +0.362 +0.373 +0.393\n", " : var2: +0.362 +1.000 +0.376 +0.377\n", " : var3: +0.373 +0.376 +1.000 +0.374\n", " : var4: +0.393 +0.377 +0.374 +1.000\n", " : ----------------------------------------\n", "
DataSetFactory : [dataset] : \n", " : \n", "
Factory : Train method: Fisher for Classification\n", " : \n", "
Fisher : Results for Fisher coefficients:\n", " : -----------------------\n", " : Variable: Coefficient:\n", " : -----------------------\n", " : var1: -0.056\n", " : var2: -0.015\n", " : var3: +0.098\n", " : var4: +0.215\n", " : (offset): -0.022\n", " : -----------------------\n", " : Elapsed time for training with 10000 events: 0.00206 sec \n", "
Fisher : [dataset] : Evaluation of Fisher on training sample (10000 events)\n", "
Fisher : [dataset] : Evaluation of Fisher on training sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00054 sec \n", " : Elapsed time for evaluation of 10000 events: 0.000649 sec \n", " : Creating xml weight file: dataset/weights/TMVAClassificationCategory_Fisher.weights.xml\n", " : Creating standalone class: dataset/weights/TMVAClassificationCategory_Fisher.class.C\n", "
Factory : Training finished\n", " : \n", "
Factory : Train method: Likelihood for Classification\n", " : \n", " : Filling reference histograms\n", " : Building PDF out of reference histograms\n", " : Elapsed time for training with 10000 events: 0.032 sec \n", "
Likelihood : [dataset] : Evaluation of Likelihood on training sample (10000 events)\n", "
Likelihood : [dataset] : Evaluation of Likelihood on training sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00449 sec \n", " : Elapsed time for evaluation of 10000 events: 0.00462 sec \n", " : Creating xml weight file: dataset/weights/TMVAClassificationCategory_Likelihood.weights.xml\n", " : Creating standalone class: dataset/weights/TMVAClassificationCategory_Likelihood.class.C\n", " : TMVACC.root:/dataset/Method_Likelihood/Likelihood\n", "
Factory : Training finished\n", " : \n", "
Factory : Train method: FisherCat for Classification\n", " : \n", " : Train all sub-classifiers for Classification ...\n", " : Rebuilding Dataset Category_Fisher_1_dsi\n", " : Building event vectors for type 2 Signal\n", " : Dataset[Category_Fisher_1_dsi] : create input formulas for tree TreeS\n", " : Building event vectors for type 2 Background\n", " : Dataset[Category_Fisher_1_dsi] : create input formulas for tree TreeB\n", "
DataSetFactory : [Category_Fisher_1_dsi] : Number of events in input trees\n", " : Dataset[Category_Fisher_1_dsi] : Signal requirement: \"abs(eta)<=1.3\"\n", " : Dataset[Category_Fisher_1_dsi] : Signal -- number of events passed: 5123 / sum of weights: 5123 \n", " : Dataset[Category_Fisher_1_dsi] : Signal -- efficiency : 0.5123\n", " : Dataset[Category_Fisher_1_dsi] : Background requirement: \"abs(eta)<=1.3\"\n", " : Dataset[Category_Fisher_1_dsi] : Background -- number of events passed: 5134 / sum of weights: 5134 \n", " : Dataset[Category_Fisher_1_dsi] : Background -- efficiency : 0.5134\n", " : Dataset[Category_Fisher_1_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.5123 preselection efficiency)\n", " : Dataset[Category_Fisher_1_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.5134 preselection efficiency)\n", " : Number of training and testing events\n", " : ---------------------------------------------------------------------------\n", " : Signal -- training events : 2561\n", " : Signal -- testing events : 2561\n", " : Signal -- training and testing events: 5122\n", " : Dataset[Category_Fisher_1_dsi] : Signal -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.5123\n", " : Background -- training events : 2567\n", " : Background -- testing events : 2567\n", " : Background -- training and testing events: 5134\n", " : Dataset[Category_Fisher_1_dsi] : Background -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.5134\n", " : \n", "
DataSetInfo : Correlation matrix (Signal):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 -0.006 +0.008 -0.021\n", " : var2: -0.006 +1.000 +0.002 +0.011\n", " : var3: +0.008 +0.002 +1.000 -0.003\n", " : var4: -0.021 +0.011 -0.003 +1.000\n", " : ----------------------------------------\n", "
DataSetInfo : Correlation matrix (Background):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 -0.022 -0.027 +0.012\n", " : var2: -0.022 +1.000 -0.013 -0.009\n", " : var3: -0.027 -0.013 +1.000 -0.019\n", " : var4: +0.012 -0.009 -0.019 +1.000\n", " : ----------------------------------------\n", "
DataSetFactory : [Category_Fisher_1_dsi] : \n", " : \n", " : Train method: Category_Fisher_1 for Classification\n", "
Category_Fisher_1 : Results for Fisher coefficients:\n", " : -----------------------\n", " : Variable: Coefficient:\n", " : -----------------------\n", " : var1: +0.106\n", " : var2: +0.152\n", " : var3: +0.254\n", " : var4: +0.379\n", " : (offset): +0.663\n", " : -----------------------\n", " : Elapsed time for training with 5128 events: 0.000897 sec \n", "
Category_Fisher_1 : [Category_Fisher_1_dsi] : Evaluation of Category_Fisher_1 on training sample (5128 events)\n", "
Category_Fisher_1 : [Category_Fisher_1_dsi] : Evaluation of Category_Fisher_1 on training sample (5128 events)\n", " : Elapsed time for evaluation of 5128 events: 0.000327 sec \n", " : Elapsed time for evaluation of 5128 events: 0.000422 sec \n", " : Training finished\n", " : Rebuilding Dataset Category_Fisher_2_dsi\n", " : Building event vectors for type 2 Signal\n", " : Dataset[Category_Fisher_2_dsi] : create input formulas for tree TreeS\n", " : Building event vectors for type 2 Background\n", " : Dataset[Category_Fisher_2_dsi] : create input formulas for tree TreeB\n", "
DataSetFactory : [Category_Fisher_2_dsi] : Number of events in input trees\n", " : Dataset[Category_Fisher_2_dsi] : Signal requirement: \"abs(eta)>1.3\"\n", " : Dataset[Category_Fisher_2_dsi] : Signal -- number of events passed: 4877 / sum of weights: 4877 \n", " : Dataset[Category_Fisher_2_dsi] : Signal -- efficiency : 0.4877\n", " : Dataset[Category_Fisher_2_dsi] : Background requirement: \"abs(eta)>1.3\"\n", " : Dataset[Category_Fisher_2_dsi] : Background -- number of events passed: 4866 / sum of weights: 4866 \n", " : Dataset[Category_Fisher_2_dsi] : Background -- efficiency : 0.4866\n", " : Dataset[Category_Fisher_2_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.4877 preselection efficiency)\n", " : Dataset[Category_Fisher_2_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.4866 preselection efficiency)\n", " : Number of training and testing events\n", " : ---------------------------------------------------------------------------\n", " : Signal -- training events : 2438\n", " : Signal -- testing events : 2438\n", " : Signal -- training and testing events: 4876\n", " : Dataset[Category_Fisher_2_dsi] : Signal -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.4877\n", " : Background -- training events : 2433\n", " : Background -- testing events : 2433\n", " : Background -- training and testing events: 4866\n", " : Dataset[Category_Fisher_2_dsi] : Background -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.4866\n", " : \n", "
DataSetInfo : Correlation matrix (Signal):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 +0.006 -0.029 -0.001\n", " : var2: +0.006 +1.000 +0.015 -0.002\n", " : var3: -0.029 +0.015 +1.000 -0.006\n", " : var4: -0.001 -0.002 -0.006 +1.000\n", " : ----------------------------------------\n", "
DataSetInfo : Correlation matrix (Background):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 -0.005 +0.005 +0.012\n", " : var2: -0.005 +1.000 +0.018 +0.029\n", " : var3: +0.005 +0.018 +1.000 -0.001\n", " : var4: +0.012 +0.029 -0.001 +1.000\n", " : ----------------------------------------\n", "
DataSetFactory : [Category_Fisher_2_dsi] : \n", " : \n", " : Train method: Category_Fisher_2 for Classification\n", "
Category_Fisher_2 : Results for Fisher coefficients:\n", " : -----------------------\n", " : Variable: Coefficient:\n", " : -----------------------\n", " : var1: +0.096\n", " : var2: +0.138\n", " : var3: +0.244\n", " : var4: +0.368\n", " : (offset): -0.722\n", " : -----------------------\n", " : Elapsed time for training with 4871 events: 0.000853 sec \n", "
Category_Fisher_2 : [Category_Fisher_2_dsi] : Evaluation of Category_Fisher_2 on training sample (4871 events)\n", "
Category_Fisher_2 : [Category_Fisher_2_dsi] : Evaluation of Category_Fisher_2 on training sample (4871 events)\n", " : Elapsed time for evaluation of 4871 events: 0.000314 sec \n", " : Elapsed time for evaluation of 4871 events: 0.000415 sec \n", " : Training finished\n", " : Begin ranking of input variables...\n", "
Category_Fisher_1 : Ranking result (top variable is best ranked)\n", " : -------------------------------\n", " : Rank : Variable : Discr. power\n", " : -------------------------------\n", " : 1 : var4 : 2.215e-01\n", " : 2 : var3 : 1.132e-01\n", " : 3 : var2 : 4.361e-02\n", " : 4 : var1 : 1.980e-02\n", " : -------------------------------\n", "
Category_Fisher_2 : Ranking result (top variable is best ranked)\n", " : -------------------------------\n", " : Rank : Variable : Discr. power\n", " : -------------------------------\n", " : 1 : var4 : 2.181e-01\n", " : 2 : var3 : 1.067e-01\n", " : 3 : var2 : 4.196e-02\n", " : 4 : var1 : 1.785e-02\n", " : -------------------------------\n", " : Elapsed time for training with 10000 events: 0.0186 sec \n", "
FisherCat : [dataset] : Evaluation of FisherCat on training sample (10000 events)\n", "
Category_Fisher_1 : [Category_Fisher_1_dsi] : Evaluation of Category_Fisher_1 on training sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.000912 sec \n", "
Category_Fisher_2 : [Category_Fisher_2_dsi] : Evaluation of Category_Fisher_2 on training sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.000463 sec \n", " : Elapsed time for evaluation of 10000 events: 0.0036 sec \n", " : Creating xml weight file: dataset/weights/TMVAClassificationCategory_FisherCat.weights.xml\n", "
Factory : Training finished\n", " : \n", "
Factory : Train method: LikelihoodCat for Classification\n", " : \n", " : Train all sub-classifiers for Classification ...\n", " : Rebuilding Dataset Category_Likelihood_1_dsi\n", " : Building event vectors for type 2 Signal\n", " : Dataset[Category_Likelihood_1_dsi] : create input formulas for tree TreeS\n", " : Building event vectors for type 2 Background\n", " : Dataset[Category_Likelihood_1_dsi] : create input formulas for tree TreeB\n", "
DataSetFactory : [Category_Likelihood_1_dsi] : Number of events in input trees\n", " : Dataset[Category_Likelihood_1_dsi] : Signal requirement: \"abs(eta)<=1.3\"\n", " : Dataset[Category_Likelihood_1_dsi] : Signal -- number of events passed: 5123 / sum of weights: 5123 \n", " : Dataset[Category_Likelihood_1_dsi] : Signal -- efficiency : 0.5123\n", " : Dataset[Category_Likelihood_1_dsi] : Background requirement: \"abs(eta)<=1.3\"\n", " : Dataset[Category_Likelihood_1_dsi] : Background -- number of events passed: 5134 / sum of weights: 5134 \n", " : Dataset[Category_Likelihood_1_dsi] : Background -- efficiency : 0.5134\n", " : Dataset[Category_Likelihood_1_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.5123 preselection efficiency)\n", " : Dataset[Category_Likelihood_1_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.5134 preselection efficiency)\n", " : Number of training and testing events\n", " : ---------------------------------------------------------------------------\n", " : Signal -- training events : 2561\n", " : Signal -- testing events : 2561\n", " : Signal -- training and testing events: 5122\n", " : Dataset[Category_Likelihood_1_dsi] : Signal -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.5123\n", " : Background -- training events : 2567\n", " : Background -- testing events : 2567\n", " : Background -- training and testing events: 5134\n", " : Dataset[Category_Likelihood_1_dsi] : Background -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.5134\n", " : \n", "
DataSetInfo : Correlation matrix (Signal):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 -0.006 +0.008 -0.021\n", " : var2: -0.006 +1.000 +0.002 +0.011\n", " : var3: +0.008 +0.002 +1.000 -0.003\n", " : var4: -0.021 +0.011 -0.003 +1.000\n", " : ----------------------------------------\n", "
DataSetInfo : Correlation matrix (Background):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 -0.022 -0.027 +0.012\n", " : var2: -0.022 +1.000 -0.013 -0.009\n", " : var3: -0.027 -0.013 +1.000 -0.019\n", " : var4: +0.012 -0.009 -0.019 +1.000\n", " : ----------------------------------------\n", "
DataSetFactory : [Category_Likelihood_1_dsi] : \n", " : \n", " : Train method: Category_Likelihood_1 for Classification\n", " : Filling reference histograms\n", " : Building PDF out of reference histograms\n", " : Elapsed time for training with 5128 events: 0.0172 sec \n", "
Category_Likelihood_1 : [Category_Likelihood_1_dsi] : Evaluation of Category_Likelihood_1 on training sample (5128 events)\n", "
Category_Likelihood_1 : [Category_Likelihood_1_dsi] : Evaluation of Category_Likelihood_1 on training sample (5128 events)\n", " : Elapsed time for evaluation of 5128 events: 0.00223 sec \n", " : Elapsed time for evaluation of 5128 events: 0.00235 sec \n", " : TMVACC.root:/dataset/Method_Category/LikelihoodCat/Method_Likelihood/Category_Likelihood_1\n", " : Training finished\n", " : Rebuilding Dataset Category_Likelihood_2_dsi\n", " : Building event vectors for type 2 Signal\n", " : Dataset[Category_Likelihood_2_dsi] : create input formulas for tree TreeS\n", " : Building event vectors for type 2 Background\n", " : Dataset[Category_Likelihood_2_dsi] : create input formulas for tree TreeB\n", "
DataSetFactory : [Category_Likelihood_2_dsi] : Number of events in input trees\n", " : Dataset[Category_Likelihood_2_dsi] : Signal requirement: \"abs(eta)>1.3\"\n", " : Dataset[Category_Likelihood_2_dsi] : Signal -- number of events passed: 4877 / sum of weights: 4877 \n", " : Dataset[Category_Likelihood_2_dsi] : Signal -- efficiency : 0.4877\n", " : Dataset[Category_Likelihood_2_dsi] : Background requirement: \"abs(eta)>1.3\"\n", " : Dataset[Category_Likelihood_2_dsi] : Background -- number of events passed: 4866 / sum of weights: 4866 \n", " : Dataset[Category_Likelihood_2_dsi] : Background -- efficiency : 0.4866\n", " : Dataset[Category_Likelihood_2_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.4877 preselection efficiency)\n", " : Dataset[Category_Likelihood_2_dsi] : you have opted for scaling the number of requested training/testing events\n", " : to be scaled by the preselection efficiency\n", " : ( 0 * 0.4866 preselection efficiency)\n", " : Number of training and testing events\n", " : ---------------------------------------------------------------------------\n", " : Signal -- training events : 2438\n", " : Signal -- testing events : 2438\n", " : Signal -- training and testing events: 4876\n", " : Dataset[Category_Likelihood_2_dsi] : Signal -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.4877\n", " : Background -- training events : 2433\n", " : Background -- testing events : 2433\n", " : Background -- training and testing events: 4866\n", " : Dataset[Category_Likelihood_2_dsi] : Background -- due to the preselection a scaling factor has been applied to the numbers of requested events: 0.4866\n", " : \n", "
DataSetInfo : Correlation matrix (Signal):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 +0.006 -0.029 -0.001\n", " : var2: +0.006 +1.000 +0.015 -0.002\n", " : var3: -0.029 +0.015 +1.000 -0.006\n", " : var4: -0.001 -0.002 -0.006 +1.000\n", " : ----------------------------------------\n", "
DataSetInfo : Correlation matrix (Background):\n", " : ----------------------------------------\n", " : var1 var2 var3 var4\n", " : var1: +1.000 -0.005 +0.005 +0.012\n", " : var2: -0.005 +1.000 +0.018 +0.029\n", " : var3: +0.005 +0.018 +1.000 -0.001\n", " : var4: +0.012 +0.029 -0.001 +1.000\n", " : ----------------------------------------\n", "
DataSetFactory : [Category_Likelihood_2_dsi] : \n", " : \n", " : Train method: Category_Likelihood_2 for Classification\n", " : Filling reference histograms\n", " : Building PDF out of reference histograms\n", " : Elapsed time for training with 4871 events: 0.0164 sec \n", "
Category_Likelihood_2 : [Category_Likelihood_2_dsi] : Evaluation of Category_Likelihood_2 on training sample (4871 events)\n", "
Category_Likelihood_2 : [Category_Likelihood_2_dsi] : Evaluation of Category_Likelihood_2 on training sample (4871 events)\n", " : Elapsed time for evaluation of 4871 events: 0.00211 sec \n", " : Elapsed time for evaluation of 4871 events: 0.00223 sec \n", " : TMVACC.root:/dataset/Method_Category/LikelihoodCat/Method_Likelihood/Category_Likelihood_2\n", " : Training finished\n", " : Begin ranking of input variables...\n", "
Category_Likelihood_1 : Ranking result (top variable is best ranked)\n", " : -----------------------------------\n", " : Rank : Variable : Delta Separation\n", " : -----------------------------------\n", " : 1 : var4 : 1.323e-01\n", " : 2 : var3 : 4.844e-02\n", " : 3 : var1 : 1.142e-02\n", " : 4 : var2 : -4.784e-03\n", " : -----------------------------------\n", "
Category_Likelihood_2 : Ranking result (top variable is best ranked)\n", " : -----------------------------------\n", " : Rank : Variable : Delta Separation\n", " : -----------------------------------\n", " : 1 : var4 : 1.499e-01\n", " : 2 : var3 : 7.807e-02\n", " : 3 : var1 : 3.076e-02\n", " : 4 : var2 : 2.257e-02\n", " : -----------------------------------\n", " : Elapsed time for training with 10000 events: 0.111 sec \n", "
LikelihoodCat : [dataset] : Evaluation of LikelihoodCat on training sample (10000 events)\n", "
Category_Likelihood_1 : [Category_Likelihood_1_dsi] : Evaluation of Category_Likelihood_1 on training sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00479 sec \n", "
Category_Likelihood_2 : [Category_Likelihood_2_dsi] : Evaluation of Category_Likelihood_2 on training sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00389 sec \n", " : Elapsed time for evaluation of 10000 events: 0.0103 sec \n", " : Creating xml weight file: dataset/weights/TMVAClassificationCategory_LikelihoodCat.weights.xml\n", "
Factory : Training finished\n", " : \n", " : Ranking input variables (method specific)...\n", "
Fisher : Ranking result (top variable is best ranked)\n", " : -------------------------------\n", " : Rank : Variable : Discr. power\n", " : -------------------------------\n", " : 1 : var4 : 1.447e-01\n", " : 2 : var3 : 7.194e-02\n", " : 3 : var2 : 2.379e-02\n", " : 4 : var1 : 1.174e-02\n", " : -------------------------------\n", "
Likelihood : Ranking result (top variable is best ranked)\n", " : -----------------------------------\n", " : Rank : Variable : Delta Separation\n", " : -----------------------------------\n", " : 1 : var4 : 9.871e-02\n", " : 2 : var3 : 5.677e-02\n", " : 3 : var2 : 3.563e-02\n", " : 4 : var1 : 1.914e-02\n", " : -----------------------------------\n", " : No variable ranking supplied by classifier: FisherCat\n", " : No variable ranking supplied by classifier: LikelihoodCat\n", "
Factory : === Destroy and recreate all methods via weight files for testing ===\n", " : \n", " : Reading weight file: dataset/weights/TMVAClassificationCategory_Fisher.weights.xml\n", " : Reading weight file: dataset/weights/TMVAClassificationCategory_Likelihood.weights.xml\n", " : Reading weight file: dataset/weights/TMVAClassificationCategory_FisherCat.weights.xml\n", " : Recreating sub-classifiers from XML-file \n", "
DataSetInfo : [Category_Fisher_1_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Fisher_1_dsi] : Added class \"Background\"\n", "
DataSetInfo : [Category_Fisher_2_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Fisher_2_dsi] : Added class \"Background\"\n", " : Reading weight file: dataset/weights/TMVAClassificationCategory_LikelihoodCat.weights.xml\n", " : Recreating sub-classifiers from XML-file \n", "
DataSetInfo : [Category_Likelihood_1_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Likelihood_1_dsi] : Added class \"Background\"\n", "
DataSetInfo : [Category_Likelihood_2_dsi] : Added class \"Signal\"\n", "
DataSetInfo : [Category_Likelihood_2_dsi] : Added class \"Background\"\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "6%, time left: 0 sec\n", "12%, time left: 0 sec\n", "18%, time left: 0 sec\n", "25%, time left: 0 sec\n", "31%, time left: 0 sec\n", "37%, time left: 0 sec\n", "43%, time left: 0 sec\n", "50%, time left: 0 sec\n", "56%, time left: 0 sec\n", "62%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "81%, time left: 0 sec\n", "87%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "6%, time left: 0 sec\n", "12%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "31%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "81%, time left: 0 sec\n", "87%, time left: 0 sec\n", "94%, time left: 0 sec\n", "Info in : Evaluate MethodCategory for 10000 events type 0 on the dataset dataset\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "6%, time left: 0 sec\n", "12%, time left: 0 sec\n", "18%, time left: 0 sec\n", "25%, time left: 0 sec\n", "31%, time left: 0 sec\n", "37%, time left: 0 sec\n", "43%, time left: 0 sec\n", "50%, time left: 0 sec\n", "56%, time left: 0 sec\n", "62%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "81%, time left: 0 sec\n", "87%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "6%, time left: 0 sec\n", "12%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "31%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "81%, time left: 0 sec\n", "87%, time left: 0 sec\n", "94%, time left: 0 sec\n", "Info in : Evaluate MethodCategory for 10000 events type 0 on the dataset dataset\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n" ] } ], "source": [ " factory->TrainAllMethods();" ] }, { "cell_type": "markdown", "id": "5f499608", "metadata": {}, "source": [ "Evaluate all MVAs using the set of test events" ] }, { "cell_type": "code", "execution_count": 21, "id": "837fd5d9", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:20.905829Z", "iopub.status.busy": "2026-05-19T20:08:20.905714Z", "iopub.status.idle": "2026-05-19T20:08:21.111931Z", "shell.execute_reply": "2026-05-19T20:08:21.111290Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
Factory : Test all methods\n", "
Factory : Test method: Fisher for Classification performance\n", " : \n", "
Fisher : [dataset] : Evaluation of Fisher on testing sample (10000 events)\n", "
Fisher : [dataset] : Evaluation of Fisher on testing sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00157 sec \n", " : Elapsed time for evaluation of 10000 events: 0.00168 sec \n", "
Factory : Test method: Likelihood for Classification performance\n", " : \n", "
Likelihood : [dataset] : Evaluation of Likelihood on testing sample (10000 events)\n", "
Likelihood : [dataset] : Evaluation of Likelihood on testing sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.0041 sec \n", " : Elapsed time for evaluation of 10000 events: 0.00422 sec \n", "
Factory : Test method: FisherCat for Classification performance\n", " : \n", "
FisherCat : [dataset] : Evaluation of FisherCat on testing sample (10000 events)\n", "
Category_Fisher_1 : [Category_Fisher_1_dsi] : Evaluation of Category_Fisher_1 on testing sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00048 sec \n", "
Category_Fisher_2 : [Category_Fisher_2_dsi] : Evaluation of Category_Fisher_2 on testing sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00047 sec \n", " : Elapsed time for evaluation of 10000 events: 0.00197 sec \n", "
Factory : Test method: LikelihoodCat for Classification performance\n", " : \n", "
LikelihoodCat : [dataset] : Evaluation of LikelihoodCat on testing sample (10000 events)\n", "
Category_Likelihood_1 : [Category_Likelihood_1_dsi] : Evaluation of Category_Likelihood_1 on testing sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00415 sec \n", "
Category_Likelihood_2 : [Category_Likelihood_2_dsi] : Evaluation of Category_Likelihood_2 on testing sample (10000 events)\n", " : Elapsed time for evaluation of 10000 events: 0.00408 sec \n", " : Elapsed time for evaluation of 10000 events: 0.00917 sec \n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "Info in : Evaluate MethodCategory for 10000 events type 1 on the dataset dataset\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "Info in : Evaluate MethodCategory for 10000 events type 1 on the dataset dataset\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n", "0%, time left: unknown\n", "7%, time left: 0 sec\n", "13%, time left: 0 sec\n", "19%, time left: 0 sec\n", "25%, time left: 0 sec\n", "32%, time left: 0 sec\n", "38%, time left: 0 sec\n", "44%, time left: 0 sec\n", "50%, time left: 0 sec\n", "57%, time left: 0 sec\n", "63%, time left: 0 sec\n", "69%, time left: 0 sec\n", "75%, time left: 0 sec\n", "82%, time left: 0 sec\n", "88%, time left: 0 sec\n", "94%, time left: 0 sec\n" ] } ], "source": [ " factory->TestAllMethods();" ] }, { "cell_type": "markdown", "id": "d1c6e53d", "metadata": {}, "source": [ "Evaluate and compare performance of all configured MVAs" ] }, { "cell_type": "code", "execution_count": 22, "id": "4381d260", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:21.113256Z", "iopub.status.busy": "2026-05-19T20:08:21.113142Z", "iopub.status.idle": "2026-05-19T20:08:22.173848Z", "shell.execute_reply": "2026-05-19T20:08:22.173249Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "
Factory : Evaluate all methods\n", "
Factory : Evaluate classifier: Fisher\n", " : \n", "
Fisher : [dataset] : Loop over test events and fill histograms with classifier response...\n", " : \n", "
TFHandler_Fisher : Variable Mean RMS [ Min Max ]\n", " : -----------------------------------------------------------\n", " : var1: 0.010009 1.2852 [ -5.3119 4.5609 ]\n", " : var2: 0.0034020 1.3067 [ -4.1946 4.6723 ]\n", " : var3: -0.0054637 1.3764 [ -4.5297 4.8202 ]\n", " : var4: 0.13424 1.4680 [ -5.1002 4.9850 ]\n", " : -----------------------------------------------------------\n", "
Factory : Evaluate classifier: Likelihood\n", " : \n", "
Likelihood : [dataset] : Loop over test events and fill histograms with classifier response...\n", " : \n", "
TFHandler_Likelihood : Variable Mean RMS [ Min Max ]\n", " : -----------------------------------------------------------\n", " : var1: 0.010009 1.2852 [ -5.3119 4.5609 ]\n", " : var2: 0.0034020 1.3067 [ -4.1946 4.6723 ]\n", " : var3: -0.0054637 1.3764 [ -4.5297 4.8202 ]\n", " : var4: 0.13424 1.4680 [ -5.1002 4.9850 ]\n", " : -----------------------------------------------------------\n", "
Factory : Evaluate classifier: FisherCat\n", " : \n", "
FisherCat : [dataset] : Loop over test events and fill histograms with classifier response...\n", " : \n", "
TFHandler_FisherCat : Variable Mean RMS [ Min Max ]\n", " : -----------------------------------------------------------\n", " : var1: 0.010009 1.2852 [ -5.3119 4.5609 ]\n", " : var2: 0.0034020 1.3067 [ -4.1946 4.6723 ]\n", " : var3: -0.0054637 1.3764 [ -4.5297 4.8202 ]\n", " : var4: 0.13424 1.4680 [ -5.1002 4.9850 ]\n", " : -----------------------------------------------------------\n", "
Factory : Evaluate classifier: LikelihoodCat\n", " : \n", "
LikelihoodCat : [dataset] : Loop over test events and fill histograms with classifier response...\n", " : \n", "
TFHandler_LikelihoodCat : Variable Mean RMS [ Min Max ]\n", " : -----------------------------------------------------------\n", " : var1: 0.010009 1.2852 [ -5.3119 4.5609 ]\n", " : var2: 0.0034020 1.3067 [ -4.1946 4.6723 ]\n", " : var3: -0.0054637 1.3764 [ -4.5297 4.8202 ]\n", " : var4: 0.13424 1.4680 [ -5.1002 4.9850 ]\n", " : -----------------------------------------------------------\n", " : \n", " : Evaluation results ranked by best signal efficiency and purity (area)\n", " : -------------------------------------------------------------------------------------------------------------------\n", " : DataSet MVA \n", " : Name: Method: ROC-integ\n", " : dataset FisherCat : 0.913\n", " : dataset LikelihoodCat : 0.912\n", " : dataset Fisher : 0.807\n", " : dataset Likelihood : 0.769\n", " : -------------------------------------------------------------------------------------------------------------------\n", " : \n", " : Testing efficiency compared to training efficiency (overtraining check)\n", " : -------------------------------------------------------------------------------------------------------------------\n", " : DataSet MVA Signal efficiency: from test sample (from training sample) \n", " : Name: Method: @B=0.01 @B=0.10 @B=0.30 \n", " : -------------------------------------------------------------------------------------------------------------------\n", " : dataset FisherCat : 0.342 (0.362) 0.752 (0.744) 0.916 (0.921)\n", " : dataset LikelihoodCat : 0.345 (0.350) 0.750 (0.744) 0.915 (0.920)\n", " : dataset Fisher : 0.185 (0.178) 0.475 (0.487) 0.746 (0.748)\n", " : dataset Likelihood : 0.212 (0.226) 0.454 (0.455) 0.602 (0.620)\n", " : -------------------------------------------------------------------------------------------------------------------\n", " : \n", "
Dataset:dataset : Created tree 'TestTree' with 10000 events\n", " : \n", "
Dataset:dataset : Created tree 'TrainTree' with 10000 events\n", " : \n", "
Factory : Thank you for using TMVA!\n", " : For citation information, please visit: http://tmva.sf.net/citeTMVA.html\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Info in : Evaluate MethodCategory for 10000 events type 0 on the dataset dataset\n", "Info in : Evaluate MethodCategory for 10000 events type 0 on the dataset dataset\n" ] } ], "source": [ " factory->EvaluateAllMethods();" ] }, { "cell_type": "markdown", "id": "97e6e25a", "metadata": {}, "source": [ "--------------------------------------------------------------" ] }, { "cell_type": "markdown", "id": "e8d66f14", "metadata": {}, "source": [ "Save the output" ] }, { "cell_type": "code", "execution_count": 23, "id": "ea56ff94", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:22.175193Z", "iopub.status.busy": "2026-05-19T20:08:22.175081Z", "iopub.status.idle": "2026-05-19T20:08:22.378050Z", "shell.execute_reply": "2026-05-19T20:08:22.377421Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "==> Wrote root file: TMVACC.root\n", "==> TMVAClassificationCategory is done!\n" ] } ], "source": [ " outputFile->Close();\n", "\n", " std::cout << \"==> Wrote root file: \" << outputFile->GetName() << std::endl;\n", " std::cout << \"==> TMVAClassificationCategory is done!\" << std::endl;" ] }, { "cell_type": "markdown", "id": "bb66844b", "metadata": {}, "source": [ "Clean up" ] }, { "cell_type": "code", "execution_count": 24, "id": "4903fbb1", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:22.379409Z", "iopub.status.busy": "2026-05-19T20:08:22.379296Z", "iopub.status.idle": "2026-05-19T20:08:22.582136Z", "shell.execute_reply": "2026-05-19T20:08:22.581394Z" } }, "outputs": [], "source": [ " delete factory;\n", " delete dataloader;" ] }, { "cell_type": "markdown", "id": "02861e5c", "metadata": {}, "source": [ "Launch the GUI for the root macros" ] }, { "cell_type": "code", "execution_count": 25, "id": "a4306ebf", "metadata": { "collapsed": false, "execution": { "iopub.execute_input": "2026-05-19T20:08:22.584237Z", "iopub.status.busy": "2026-05-19T20:08:22.584081Z", "iopub.status.idle": "2026-05-19T20:08:22.786814Z", "shell.execute_reply": "2026-05-19T20:08:22.786139Z" } }, "outputs": [], "source": [ " if (!gROOT->IsBatch()) TMVA::TMVAGui( outfileName );" ] } ], "metadata": { "kernelspec": { "display_name": "ROOT C++", "language": "c++", "name": "root" }, "language_info": { "codemirror_mode": "text/x-c++src", "file_extension": ".C", "mimetype": " text/x-c++src", "name": "c++" } }, "nbformat": 4, "nbformat_minor": 5 }