Skip to content

Commit 815f8c6

Browse files
shahor02davidrohr
authored andcommitted
digi->raw converters read digitization ini file to get HBFUtils settings
can be bypassed by giving "--digitization-config none" and HBFUtils settings can be overriden by entries from --configKeyValues ... ATTENTION: at the moment the \"--digitization-config none\" is default, will be changed to \"std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)\" once some problems in configurable param are fixed
1 parent 92f7d3b commit 815f8c6

File tree

15 files changed

+107
-5
lines changed

15 files changed

+107
-5
lines changed

Detectors/CPV/simulation/src/RawCreator.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
#include "DataFormatsCPV/TriggerRecord.h"
2727
#include "CPVBase/Geometry.h"
2828
#include "CPVSimulation/RawWriter.h"
29+
#include "DetectorsCommonDataFormats/NameConf.h"
2930

3031
namespace bpo = boost::program_options;
3132

@@ -48,6 +49,8 @@ int main(int argc, const char** argv)
4849
add_option("file-for,f", bpo::value<std::string>()->default_value("all"), "single file per: all,link");
4950
add_option("output-dir,o", bpo::value<std::string>()->default_value("./"), "output directory for raw data");
5051
add_option("debug,d", bpo::value<uint32_t>()->default_value(0), "Select debug output level [0 = no debug output]");
52+
//add_option("digitization-config,d", bpo::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization");
53+
add_option("digitization-config,d", bpo::value<std::string>()->default_value("none"), "configKeyValues file from digitization");
5154
add_option("configKeyValues", bpo::value<std::string>()->default_value(""), "comma-separated configKeyValues");
5255

5356
opt_all.add(opt_general).add(opt_hidden);
@@ -68,6 +71,10 @@ int main(int argc, const char** argv)
6871
exit(2);
6972
}
7073

74+
std::string confDig = vm["digitization-config"].as<std::string>();
75+
if (!confDig.empty() && confDig != "none") {
76+
o2::conf::ConfigurableParam::updateFromFile(confDig);
77+
}
7178
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
7279

7380
auto digitfilename = vm["input-file"].as<std::string>(),

Detectors/EMCAL/simulation/src/RawCreator.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "DataFormatsEMCAL/TriggerRecord.h"
2828
#include "EMCALBase/Geometry.h"
2929
#include "EMCALSimulation/RawWriter.h"
30+
#include "DetectorsCommonDataFormats/NameConf.h"
3031

3132
namespace bpo = boost::program_options;
3233

@@ -49,6 +50,8 @@ int main(int argc, const char** argv)
4950
add_option("file-for,f", bpo::value<std::string>()->default_value("all"), "single file per: all,subdet,link");
5051
add_option("output-dir,o", bpo::value<std::string>()->default_value("./"), "output directory for raw data");
5152
add_option("debug,d", bpo::value<uint32_t>()->default_value(0), "Select debug output level [0 = no debug output]");
53+
//add_option("digitization-config,d", bpo::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization");
54+
add_option("digitization-config,d", bpo::value<std::string>()->default_value("none"), "configKeyValues file from digitization");
5255
add_option("configKeyValues", bpo::value<std::string>()->default_value(""), "comma-separated configKeyValues");
5356

5457
opt_all.add(opt_general).add(opt_hidden);
@@ -74,6 +77,10 @@ int main(int argc, const char** argv)
7477
FairLogger::GetLogger()->SetLogScreenLevel("DEBUG");
7578
}
7679

80+
std::string confDig = vm["digitization-config"].as<std::string>();
81+
if (!confDig.empty() && confDig != "none") {
82+
o2::conf::ConfigurableParam::updateFromFile(confDig);
83+
}
7784
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
7885

7986
auto digitfilename = vm["input-file"].as<std::string>(),

Detectors/FIT/FDD/simulation/src/digit2raw.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ int main(int argc, char** argv)
5252
uint32_t defRDH = o2::raw::RDHUtils::getVersion<o2::header::RAWDataHeader>();
5353
add_option("rdh-version,r", bpo::value<uint32_t>()->default_value(defRDH), "RDH version to use");
5454
add_option("no-empty-hbf,e", bpo::value<bool>()->default_value(false)->implicit_value(true), "do not create empty HBF pages (except for HBF starting TF)");
55+
//add_option("digitization-config,d", bpo::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization");
56+
add_option("digitization-config,d", bpo::value<std::string>()->default_value("none"), "configKeyValues file from digitization");
5557
add_option("configKeyValues", bpo::value<std::string>()->default_value(""), "comma-separated configKeyValues");
5658

5759
opt_all.add(opt_general).add(opt_hidden);
@@ -72,6 +74,11 @@ int main(int argc, char** argv)
7274
std::cerr << e.what() << ", application will now exit" << std::endl;
7375
exit(2);
7476
}
77+
78+
std::string confDig = vm["digitization-config"].as<std::string>();
79+
if (!confDig.empty() && confDig != "none") {
80+
o2::conf::ConfigurableParam::updateFromFile(confDig);
81+
}
7582
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
7683
digi2raw(vm["input-file"].as<std::string>(),
7784
vm["output-dir"].as<std::string>(),

Detectors/FIT/FT0/simulation/src/digi2raw.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ int main(int argc, char** argv)
5252
uint32_t defRDH = o2::raw::RDHUtils::getVersion<o2::header::RAWDataHeader>();
5353
add_option("rdh-version,r", bpo::value<uint32_t>()->default_value(defRDH), "RDH version to use");
5454
add_option("no-empty-hbf,e", bpo::value<bool>()->default_value(false)->implicit_value(true), "do not create empty HBF pages (except for HBF starting TF)");
55+
//add_option("digitization-config,d", bpo::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization");
56+
add_option("digitization-config,d", bpo::value<std::string>()->default_value("none"), "configKeyValues file from digitization");
5557
add_option("configKeyValues", bpo::value<std::string>()->default_value(""), "comma-separated configKeyValues");
5658

5759
opt_all.add(opt_general).add(opt_hidden);
@@ -72,6 +74,11 @@ int main(int argc, char** argv)
7274
std::cerr << e.what() << ", application will now exit" << std::endl;
7375
exit(2);
7476
}
77+
78+
std::string confDig = vm["digitization-config"].as<std::string>();
79+
if (!confDig.empty() && confDig != "none") {
80+
o2::conf::ConfigurableParam::updateFromFile(confDig);
81+
}
7582
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
7683
digi2raw(vm["input-file"].as<std::string>(),
7784
vm["output-dir"].as<std::string>(),

Detectors/FIT/FV0/simulation/src/digit2raw.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ int main(int argc, char** argv)
5252
uint32_t defRDH = o2::raw::RDHUtils::getVersion<o2::header::RAWDataHeader>();
5353
add_option("rdh-version,r", bpo::value<uint32_t>()->default_value(defRDH), "RDH version to use");
5454
add_option("no-empty-hbf,e", bpo::value<bool>()->default_value(false)->implicit_value(true), "do not create empty HBF pages (except for HBF starting TF)");
55+
//add_option("digitization-config,d", bpo::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization");
56+
add_option("digitization-config,d", bpo::value<std::string>()->default_value("none"), "configKeyValues file from digitization");
5557
add_option("configKeyValues", bpo::value<std::string>()->default_value(""), "comma-separated configKeyValues");
5658

5759
opt_all.add(opt_general).add(opt_hidden);
@@ -72,6 +74,11 @@ int main(int argc, char** argv)
7274
std::cerr << e.what() << ", application will now exit" << std::endl;
7375
exit(2);
7476
}
77+
78+
std::string confDig = vm["digitization-config"].as<std::string>();
79+
if (!confDig.empty() && confDig != "none") {
80+
o2::conf::ConfigurableParam::updateFromFile(confDig);
81+
}
7582
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
7683
digi2raw(vm["input-file"].as<std::string>(),
7784
vm["output-dir"].as<std::string>(),

Detectors/GlobalTrackingWorkflow/tofworkflow/src/tof-reco-workflow.cxx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
6060
workflowOptions.push_back(ConfigParamSpec{"disable-row-writing", o2::framework::VariantType::Bool, false, {"disable ROW in Digit writing"}});
6161
workflowOptions.push_back(ConfigParamSpec{"write-decoding-errors", o2::framework::VariantType::Bool, false, {"trace errors in digits output when decoding"}});
6262
workflowOptions.push_back(ConfigParamSpec{"calib-cluster", VariantType::Bool, false, {"to enable calib info production from clusters"}});
63+
//workflowOptions.push_back(ConfigParamSpec{"digitization-config", o2::framework::VariantType::String, {std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE), "configKeyValues file from digitization, used for raw output only!!!"}});
64+
workflowOptions.push_back(ConfigParamSpec{"digitization-config", o2::framework::VariantType::String, "none", {"configKeyValues file from digitization, used for raw output only!!!"}});
6365
workflowOptions.push_back(ConfigParamSpec{"cosmics", VariantType::Bool, false, {"to enable cosmics utils"}});
6466
}
6567

@@ -85,9 +87,6 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
8587
{
8688
WorkflowSpec specs;
8789

88-
if (!cfgc.helpOnCommandLine()) {
89-
o2::conf::ConfigurableParam::updateFromString(cfgc.options().get<std::string>("configKeyValues"));
90-
}
9190
// the lane configuration defines the subspecification ids to be distributed among the lanes.
9291
auto nLanes = cfgc.options().get<int>("tof-lanes");
9392
auto inputType = cfgc.options().get<std::string>("input-type");
@@ -115,6 +114,10 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
115114
}
116115
if (outputType.rfind("raw") < outputType.size()) {
117116
writeraw = 1;
117+
std::string confDig = cfgc.options().get<std::string>("digitization-config");
118+
if (!confDig.empty() && confDig != "none") {
119+
o2::conf::ConfigurableParam::updateFromFile(confDig);
120+
}
118121
}
119122
if (outputType.rfind("ctf") < outputType.size()) {
120123
writectf = 1;
@@ -132,6 +135,10 @@ WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
132135
writeerr = cfgc.options().get<bool>("write-decoding-errors");
133136
}
134137

138+
if (!cfgc.helpOnCommandLine()) {
139+
o2::conf::ConfigurableParam::updateFromString(cfgc.options().get<std::string>("configKeyValues"));
140+
}
141+
135142
auto useMC = !cfgc.options().get<bool>("disable-mc");
136143
auto useCCDB = cfgc.options().get<bool>("use-ccdb");
137144
auto useFIT = cfgc.options().get<bool>("use-fit");

Detectors/HMPID/workflow/src/digits-to-raw-workflow.cxx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include "Framework/CompletionPolicyHelpers.h"
2424
#include "Framework/DispatchPolicy.h"
2525
#include "CommonUtils/ConfigurableParam.h"
26+
#include "DetectorsCommonDataFormats/NameConf.h"
2627

2728
// customize the completion policy
2829
void customize(std::vector<o2::framework::CompletionPolicy>& policies)
@@ -36,6 +37,8 @@ void customize(std::vector<o2::framework::CompletionPolicy>& policies)
3637
void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
3738
{
3839
std::string keyvaluehelp("Semicolon separated key=value strings ...");
40+
//workflowOptions.push_back(ConfigParamSpec{"digitization-config", o2::framework::VariantType::String, std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE), "configKeyValues file from digitization, used for raw output only!!!");
41+
workflowOptions.push_back(o2::framework::ConfigParamSpec{"digitization-config", o2::framework::VariantType::String, "none", {"configKeyValues file from digitization, used for raw output only!!!"}});
3942
workflowOptions.push_back(o2::framework::ConfigParamSpec{"configKeyValues", o2::framework::VariantType::String, "", {keyvaluehelp}});
4043
}
4144

@@ -48,6 +51,10 @@ using namespace o2::framework;
4851
WorkflowSpec defineDataProcessing(const ConfigContext& configcontext)
4952
{
5053
WorkflowSpec specs;
54+
std::string confDig = configcontext.options().get<std::string>("digitization-config");
55+
if (!confDig.empty() && confDig != "none") {
56+
o2::conf::ConfigurableParam::updateFromFile(confDig);
57+
}
5158
o2::conf::ConfigurableParam::updateFromString(configcontext.options().get<std::string>("configKeyValues"));
5259
DataProcessorSpec consumer = o2::hmpid::getDigitsToRawSpec();
5360
specs.push_back(consumer);

Detectors/ITSMFT/ITS/simulation/src/digi2raw.cxx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ int main(int argc, char** argv)
6262
add_option("output-dir,o", bpo::value<std::string>()->default_value("./"), "output directory for raw data");
6363
add_option("rdh-version,r", bpo::value<uint32_t>()->default_value(DefRDHVersion), "RDH version to use");
6464
add_option("no-empty-hbf,e", bpo::value<bool>()->default_value(false)->implicit_value(true), "do not create empty HBF pages (except for HBF starting TF)");
65+
//add_option("digitization-config,d", bpo::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization");
66+
add_option("digitization-config,d", bpo::value<std::string>()->default_value("none"), "configKeyValues file from digitization");
6567
add_option("configKeyValues", bpo::value<std::string>()->default_value(""), "comma-separated configKeyValues");
6668

6769
opt_all.add(opt_general).add(opt_hidden);
@@ -82,14 +84,20 @@ int main(int argc, char** argv)
8284
std::cerr << e.what() << ", application will now exit" << std::endl;
8385
exit(2);
8486
}
87+
88+
std::string confDig = vm["digitization-config"].as<std::string>();
89+
if (!confDig.empty() && confDig != "none") {
90+
o2::conf::ConfigurableParam::updateFromFile(confDig);
91+
}
8592
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
8693
digi2raw(vm["input-file"].as<std::string>(),
8794
vm["output-dir"].as<std::string>(),
8895
vm["file-for"].as<std::string>(),
8996
vm["verbosity"].as<uint32_t>(),
9097
vm["rdh-version"].as<uint32_t>(),
9198
vm["no-empty-hbf"].as<bool>());
92-
99+
LOG(INFO) << "HBFUtils settings used for conversion:";
100+
o2::raw::HBFUtils::Instance().print();
93101
return 0;
94102
}
95103

Detectors/ITSMFT/MFT/simulation/src/digi2raw.cxx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ int main(int argc, char** argv)
6060
uint32_t defRDH = o2::raw::RDHUtils::getVersion<o2::header::RAWDataHeader>();
6161
add_option("rdh-version,r", bpo::value<uint32_t>()->default_value(defRDH), "RDH version to use");
6262
add_option("no-empty-hbf,e", bpo::value<bool>()->default_value(false)->implicit_value(true), "do not create empty HBF pages (except for HBF starting TF)");
63+
//add_option("digitization-config,d", bpo::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization");
64+
add_option("digitization-config,d", bpo::value<std::string>()->default_value("none"), "configKeyValues file from digitization");
6365
add_option("configKeyValues", bpo::value<std::string>()->default_value(""), "comma-separated configKeyValues");
6466

6567
opt_all.add(opt_general).add(opt_hidden);
@@ -80,14 +82,20 @@ int main(int argc, char** argv)
8082
std::cerr << e.what() << ", application will now exit" << std::endl;
8183
exit(2);
8284
}
85+
86+
std::string confDig = vm["digitization-config"].as<std::string>();
87+
if (!confDig.empty() && confDig != "none") {
88+
o2::conf::ConfigurableParam::updateFromFile(confDig);
89+
}
8390
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
8491
digi2raw(vm["input-file"].as<std::string>(),
8592
vm["output-dir"].as<std::string>(),
8693
vm["file-for"].as<std::string>(),
8794
vm["verbosity"].as<uint32_t>(),
8895
vm["rdh-version"].as<uint32_t>(),
8996
vm["no-empty-hbf"].as<bool>());
90-
97+
LOG(INFO) << "HBFUtils settings used for conversion:";
98+
o2::raw::HBFUtils::Instance().print();
9199
return 0;
92100
}
93101

Detectors/MUON/MCH/Raw/Encoder/Digit/digit2raw.cxx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ int main(int argc, char* argv[])
9494
("input-file,i",po::value<std::string>(&input)->default_value("mchdigits.root"),"input file name")
9595
("configKeyValues", po::value<std::string>()->default_value(""), "comma-separated configKeyValues")
9696
("no-empty-hbf,e", po::value<bool>()->default_value(true), "do not create empty HBF pages (except for HBF starting TF)")
97+
//("digitization-config", po::value<std::string>()->default_value(std::string(o2::base::NameConf::DIGITIZATIONCONFIGFILE)), "configKeyValues file from digitization")
98+
("digitization-config", po::value<std::string>()->default_value("none"), "configKeyValues file from digitization")
9799
("verbosity,v",po::value<std::string>()->default_value("verylow"), "(fair)logger verbosity");
98100
// clang-format on
99101

@@ -116,6 +118,10 @@ int main(int argc, char* argv[])
116118

117119
po::notify(vm);
118120

121+
std::string confDig = vm["digitization-config"].as<std::string>();
122+
if (!confDig.empty() && confDig != "none") {
123+
o2::conf::ConfigurableParam::updateFromFile(confDig);
124+
}
119125
o2::conf::ConfigurableParam::updateFromString(vm["configKeyValues"].as<std::string>());
120126

121127
if (vm.count("verbosity")) {

0 commit comments

Comments
 (0)