void trainBDTG_theta_can3(void) { TMVA::Tools::Instance(); auto outputFile = TFile::Open("TMVAOutputBDT_theta_can3.root", "RECREATE"); TMVA::Factory factory("TMVARegression", outputFile, "!V:!Silent:Color:DrawProgressBar:AnalysisType=Regression"); TMVA::DataLoader loader("dataset"); loader.AddVariable("p_can"); loader.AddVariable("theta_can"); loader.AddVariable("phi_can"); loader.AddTarget("target := theta"); auto chain = new TChain("t"); chain->Add("../DATA/hd_root_*.root"); TCut mycuts("p>0.200 && p<5.0"); // Use with TMVA loader.AddRegressionTree( chain, 1.0 ); loader.PrepareTrainingAndTestTree( mycuts, "nTrain_Regression=1000000:nTest_Regression=500000:SplitMode=Random:NormMode=NumEvents:!V"); factory.BookMethod( &loader, TMVA::Types::kBDT, "BDTG", TString("!H:!V:Ntrees=4096::BoostType=Grad:Shrinkage=0.1:ncuts=20:MaxDepth=32:")+ TString("RegressionLossFunctionBDTG=AbsoluteDeviation")); factory.TrainAllMethods(); factory.TestAllMethods(); factory.EvaluateAllMethods(); outputFile->Close(); }