29int main(
int argc,
char* argv[])
32 std::vector<std::string> fnames;
33 std::string config, configKeyValues;
34 bpo::variables_map vm;
35 bpo::options_description descOpt(
"Options");
36 auto desc_add_option = descOpt.add_options();
37 desc_add_option(
"help,h",
"print this help message.");
38 desc_add_option(
"input-conf,c", bpo::value(&config)->default_value(
""),
"read input from configuration file");
39 desc_add_option(
"max-tf,m", bpo::value<uint32_t>()->default_value(0xffffffff),
" ID to read (counts from 0)");
40 desc_add_option(
"verbosity,v", bpo::value<int>()->default_value(reader.
getVerbosity()),
"1: long report, 2 or 3: print or dump all RDH");
41 desc_add_option(
"spsize,s", bpo::value<int>()->default_value(reader.
getNominalSPageSize()),
"nominal super-page size in bytes");
42 desc_add_option(
"buffer-size,b", bpo::value<size_t>()->default_value(reader.
getNominalSPageSize()),
"buffer size for files preprocessing");
43 desc_add_option(
"detect-tf0",
"autodetect HBFUtils start Orbit/BC from 1st TF seen");
44 desc_add_option(
"calculate-tf-start",
"calculate TF start instead of using TType");
45 desc_add_option(
"rorc",
"impose RORC as default detector mode");
46 desc_add_option(
"configKeyValues", bpo::value(&configKeyValues)->default_value(
""),
"semicolon separated key=value strings");
52 bpo::options_description hiddenOpt(
"hidden");
53 hiddenOpt.add_options()(
"files", bpo::value(&fnames)->composing(),
"");
55 bpo::options_description fullOpt(
"cmd");
56 fullOpt.add(descOpt).add(hiddenOpt);
58 bpo::positional_options_description posOpt;
59 posOpt.add(
"files", -1);
62 stream <<
"Usage: " << argv[0] <<
" [options] file0 [... fileN]" << std::endl;
63 stream << descOpt << std::endl;
64 stream <<
" (input files are optional if config file was provided)" << std::endl;
68 bpo::store(bpo::command_line_parser(argc, argv)
75 if (argc == 1 || vm.count(
"help") || (fnames.empty() && config.empty())) {
80 }
catch (
const bpo::error& e) {
81 std::cerr << e.what() <<
"\n\n";
82 std::cerr <<
"Error parsing command line arguments\n";
88 LOG(info) <<
"RawDataHeader v" <<
int(rdh.
version) <<
" is assumed";
98 reader.
setTFAutodetect(vm.count(
"detect-tf0") ? RawFileReader::FirstTFDetection::Pending : RawFileReader::FirstTFDetection::Disabled);
111 if (!config.empty()) {
116 for (
int i = 0;
i < fnames.size();
i++) {
void printHelp(bpo::variables_map const &varmap, bpo::options_description const &executorOptions, std::vector< DataProcessorSpec > const &physicalWorkflow, std::vector< ConfigParamSpec > const ¤tWorkflowOptions)