Project
Loading...
Searching...
No Matches
entropy-encoder-workflow.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
16
17using namespace o2::framework;
18
19// ------------------------------------------------------------------
20
21// we need to add workflow options before including Framework/runDataProcessing
22void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
23{
24 // option allowing to set parameters
25 std::vector<ConfigParamSpec> options{
26 ConfigParamSpec{"runmft", VariantType::Bool, false, {"source detector is MFT (default ITS)"}},
27 ConfigParamSpec{"configKeyValues", VariantType::String, "", {"Semicolon separated key=value strings"}},
28 ConfigParamSpec{"ctf-dict", VariantType::String, "none", {"CTF dictionary: empty or ccdb=CCDB, none=no external dictionary otherwise: local filename"}},
29 ConfigParamSpec{"select-ir-frames", VariantType::Bool, false, {"Subscribe and filter according to external IR Frames"}}};
31 std::swap(workflowOptions, options);
32}
33
34// ------------------------------------------------------------------
35
37
39{
40 WorkflowSpec wf;
41 // Update the (declared) parameters if changed from the command line
42 o2::conf::ConfigurableParam::updateFromString(cfgc.options().get<std::string>("configKeyValues"));
43 bool selIR = cfgc.options().get<bool>("select-ir-frames");
44 if (cfgc.options().get<bool>("runmft")) {
46 wf.emplace_back(o2::itsmft::getMFTEntropyEncoderSpec(doStag, selIR, cfgc.options().get<std::string>("ctf-dict")));
47 } else {
49 wf.emplace_back(o2::itsmft::getITSEntropyEncoderSpec(doStag, selIR, cfgc.options().get<std::string>("ctf-dict")));
50 }
51 return wf;
52}
Convert clusters streams to CTF (EncodedBlocks)
void customize(std::vector< o2::framework::ConfigParamSpec > &workflowOptions)
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
Defining ITS Vertex explicitly as messageable.
Definition Cartesian.h:288
std::vector< DataProcessorSpec > WorkflowSpec
framework::DataProcessorSpec getITSEntropyEncoderSpec(bool doStag=false, bool selIR=false, const std::string &ctfdictOpt="none")
create a processor spec
framework::DataProcessorSpec getMFTEntropyEncoderSpec(bool doStag=false, bool selIR=false, const std::string &ctfdictOpt="none")
static bool isITSStaggeringEnabled(o2::framework::ConfigContext const &cfgc)
static bool isMFTStaggeringEnabled(o2::framework::ConfigContext const &cfgc)
static void addConfigOption(std::vector< o2::framework::ConfigParamSpec > &opts)