25void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
28 std::vector<o2::framework::ConfigParamSpec> options;
29 options.push_back(
ConfigParamSpec{
"input-conf", VariantType::String,
"", {
"configuration file with input (obligatory)"}});
30 options.push_back(
ConfigParamSpec{
"onlyDet", VariantType::String,
"all", {
"list of dectors"}});
31 options.push_back(
ConfigParamSpec{
"min-tf", VariantType::Int64, 0L, {
"min TF ID to process"}});
32 options.push_back(
ConfigParamSpec{
"max-tf", VariantType::Int64, 0xffffffffL, {
"max TF ID to process"}});
33 options.push_back(
ConfigParamSpec{
"loop", VariantType::Int, 1, {
"loop N times (infinite for N<0)"}});
34 options.push_back(
ConfigParamSpec{
"delay", VariantType::Float, 0.f, {
"delay in seconds between consecutive TFs sending"}});
35 options.push_back(
ConfigParamSpec{
"buffer-size", VariantType::Int64, 5 * 1024L, {
"buffer size for files preprocessing"}});
36 options.push_back(
ConfigParamSpec{
"super-page-size", VariantType::Int64, 1024L * 1024L, {
"super-page size for FMQ parts definition"}});
37 options.push_back(
ConfigParamSpec{
"part-per-sp", VariantType::Bool,
false, {
"FMQ parts per superpage instead of per HBF"}});
38 options.push_back(
ConfigParamSpec{
"raw-channel-config", VariantType::String,
"", {
"optional raw FMQ channel for non-DPL output"}});
39 options.push_back(
ConfigParamSpec{
"cache-data", VariantType::Bool,
false, {
"cache data at 1st reading, may require excessive memory!!!"}});
40 options.push_back(
ConfigParamSpec{
"detect-tf0", VariantType::Bool,
false, {
"autodetect HBFUtils start Orbit/BC from 1st TF seen"}});
41 options.push_back(
ConfigParamSpec{
"calculate-tf-start", VariantType::Bool,
false, {
"calculate TF start instead of using TType"}});
42 options.push_back(
ConfigParamSpec{
"drop-tf", VariantType::String,
"none", {
"Drop each TFid%(1)==(2) of detector, e.g. ITS,2,4;TPC,4[,0];..."}});
43 options.push_back(
ConfigParamSpec{
"configKeyValues", VariantType::String,
"", {
"semicolon separated key=value strings"}});
44 options.push_back(
ConfigParamSpec{
"send-diststf-0xccdb", VariantType::Bool,
false, {
"send explicit FLP/DISTSUBTIMEFRAME/0xccdb output"}});
46 options.push_back(
ConfigParamSpec{
"timeframes-shm-limit", VariantType::String,
"0", {
"Minimum amount of SHM required in order to publish data"}});
47 options.push_back(
ConfigParamSpec{
"metric-feedback-channel-format", VariantType::String,
"name=metric-feedback,type=pull,method=connect,address=ipc://{}metric-feedback-{},transport=shmem,rateLogging=0", {
"format for the metric-feedback channel for TF rate limiting"}});
54 std::swap(workflowOptions, options);
87 rinp.
minSHM = std::stoul(configcontext.
options().
get<std::string>(
"timeframes-shm-limit"));
88 int rateLimitingIPCID = std::stoi(configcontext.
options().
get<std::string>(
"timeframes-rate-limit-ipcid"));
89 std::string chanFmt = configcontext.
options().
get<std::string>(
"metric-feedback-channel-format");
90 if (rateLimitingIPCID > -1 && !chanFmt.empty()) {
94 auto hbfini = configcontext.
options().
get<std::string>(
"hbfutils-config");
Timeframe settings Average distance in cm of events merged into Randomize distance around average distance of merged events Simulate correct bunch interactions instead of placing only the average number of events A value[n] sets TFlen for[n] collisions in Number of bunches per trainsort Number of bunch trains Instantaneous interaction rate Do not simulate border Total number of collisions to be placed in the interior of all time Do not select random but walk over array of events in stride steps h Event generator settings h configStandalone Use CPU for GPU Force usage of the specified GPU device no CPU fallback Continue processing after an error First event to Number of events to Number of iterations to Number of iterations to Number of initial iterations excluded from const char Directory with events to Events directory is and not inside events Show standalone event Run event generator maximum time bin of continuous for triggered for automatic continuous for automatic continuous triggered uint64_t
Definition of the Names Generator class.
Reader for (multiple) raw data files.
static constexpr std::string_view DIGITIZATIONCONFIGFILE
static bool configFileExists(std::string const &filepath)
static void updateFromFile(std::string const &, std::string const ¶msList="", bool unchangedOnly=false)
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
static std::string nochk_expl(ErrTypes e)
static constexpr bool ErrCheckDefaults[]
static std::string nochk_opt(ErrTypes e)
Defining ITS Vertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
framework::WorkflowSpec getRawFileReaderWorkflow(ReaderInp &rinp)
void customize(std::vector< o2::framework::ConfigParamSpec > &workflowOptions)
WorkflowSpec defineDataProcessing(ConfigContext const &configcontext)
static std::string defaultIPCFolder()
std::string rawChannelConfig
std::string metricChannel