Beispiel #1
0
int main(int argc, char* argv[])
{
    if(argc != 2)
    {
        return -1;
    }

    QDir().mkdir("output");
    QDir output_dir("output");

    sqlite::connection con(QString::fromLocal8Bit(argv[1]).toStdString());
    iterateThreads(con, output_dir);

    return 0;
}
int main(int argc, char **argv)
{
	if (argc != 5)
	{
		print_usage();
		return EXIT_FAILURE;
	}

	std::ifstream cityTileFile(argv[1], std::ios_base::in);
	if (!cityTileFile)
	{
		std::cerr << "Failed to open \"" << argv[1] << "\"\n";
		return EXIT_FAILURE;
	}

	std::string output_dir(argv[4]);

	auto voxelLayers = ApocRes::VoxelLayer::loadLayersFromFile(argv[2], argv[3]);

	int tileCount = 0;
	auto tile = ApocRes::CityMapTile::loadFromFile(cityTileFile, tileCount, voxelLayers);
	while (tile)
	{
		tinyxml2::XMLDocument doc{};
		auto rootElement = doc.NewElement("openapoc");
		doc.InsertFirstChild(rootElement);
		tile->WriteXML(rootElement);
		std::stringstream ss;
		ss << output_dir << "/citymap:" << tileCount << ".xml";

		doc.SaveFile(ss.str().c_str());


		delete tile;
		tileCount++;
		tile = ApocRes::CityMapTile::loadFromFile(cityTileFile, tileCount, voxelLayers);
	}
}
Beispiel #3
0
Fit3D::Fit3D(
    TString input_ntuple_file,
    TString analysis_name,
    TString x_axis_label,
    TString x_axis_unit,
    double min_x_bin_edge,
    double max_x_bin_edge,
    TString y_axis_label,
    TString y_axis_unit,
    double min_y_bin_edge,
    double max_y_bin_edge,
    TString z_axis_label,
    TString z_axis_unit,
    double min_z_bin_edge,
    double max_z_bin_edge)
  : DileptonEvents(input_ntuple_file, analysis_name)
{
  std::cout << "Initiliazing Fit3D class." << std::endl;
  
  output_path_
      = "/home/matt/research/belle/adcab/analysis/DileptonEvents/Fit3D/output/"
      + analysis_name + "/";
  
  boost::filesystem::path output_dir(output_path_);
  
  if (boost::filesystem::exists(output_dir)) {
    cout << "Output path exists. Overwriting directory contents!\n";
  } else {
    cout << "Output path does not exist. Creating new directory.\n";
    boost::filesystem::create_directories(output_dir);
  }
  
  // Remove information about moving files. Really, all RooMsgService streams
  //   should be sent to a debug log.
  RooMsgService::instance().getStream(1).removeTopic(RooFit::ObjectHandling);
  RooMsgService::instance().getStream(1).removeTopic(RooFit::Plotting);
  RooMsgService::instance().getStream(0).removeTopic(RooFit::Minimization);
  RooMsgService::instance().getStream(1).removeTopic(RooFit::Minimization);

  // Define the data set elements and add them to the dataset.
  x_variable_ = new RooRealVar(
      "x_variable", x_axis_label, min_x_bin_edge, max_x_bin_edge, x_axis_unit);
  y_variable_ = new RooRealVar(
      "y_variable", y_axis_label, min_y_bin_edge, max_y_bin_edge, y_axis_unit);
  z_variable_ = new RooRealVar(
      "z_variable", z_axis_label, min_z_bin_edge, max_z_bin_edge, z_axis_unit);
  x_variable_->setBins(20);
  y_variable_->setBins(20);
  z_variable_->setBins(20);
  std::cout << "Adding new columns to dataset." << std::endl;
  RooArgSet analysis_variables(*x_variable_, *y_variable_, *z_variable_);
  data_set_->printArgs(cout);
  std::cout << std::endl;
  recreateDataSet(analysis_variables);
  data_set_->printArgs(cout);
  std::cout << std::endl;
  
  // Construct the histograms.
  TString name;
  name.Clear();
  histograms_.clear();

  for (int i = 0; i < tags_.species_.size(); ++i) {
    HistogramListOverEventSigns event_sign_histograms;
    event_sign_histograms.clear();
    for (int j = 0; j < tags_.signs_.size(); ++j) {
      HistogramListOverComponents component_histograms;
      component_histograms.clear();
      for (int k = 0; k < tags_.components_.size(); ++k) {
        name.Append(tags_.species_[i]);
        name.Append("_");
        name.Append(tags_.signs_[j]);
        name.Append("_");
        name.Append(tags_.components_[k]);
        TH3D component_histogram(name, name, 
            x_variable_->getBins(), min_x_bin_edge, max_x_bin_edge,
            y_variable_->getBins(), min_y_bin_edge, max_y_bin_edge, 
            z_variable_->getBins(), min_z_bin_edge, max_z_bin_edge);
        component_histograms.push_back(component_histogram);
        name.Clear();
      }
      event_sign_histograms.push_back(component_histograms);
    }
    histograms_.push_back(event_sign_histograms);
  }
}