CMS 3D CMS Logo

convertXMLToGBRForestROOT.cc
Go to the documentation of this file.
2 
3 #include "TFile.h"
4 
5 #include <filesystem>
6 #include <iostream>
7 
8 int main(int argc, char **argv) {
9  if (argc != 3) {
10  std::cout << "Please pass a (gzipped) BDT weight file and a name for the output ROOT file." << std::endl;
11  return 1;
12  }
13 
14  char *inputFileName = argv[1];
15  char *outputFileName = argv[2];
16 
17  if (!std::filesystem::exists(inputFileName)) {
18  std::cout << "Input file " << inputFileName << " does not exists." << std::endl;
19  return 1;
20  }
21 
22  if (std::filesystem::exists(outputFileName)) {
23  std::cout << "Output file " << outputFileName << " already exists." << std::endl;
24  return 1;
25  }
26 
27  auto gbrForest = createGBRForest(inputFileName);
28  std::cout << "Read GBRForest " << inputFileName << " successfully." << std::endl;
29 
30  TFile{outputFileName, "RECREATE"}.WriteObject(gbrForest.get(), "gbrForest");
31  std::cout << "GBRForest written to " << outputFileName << " successfully." << std::endl;
32 
33  return 0;
34 }
int main(int argc, char **argv)
std::unique_ptr< const GBRForest > createGBRForest(const std::string &weightsFile)