39void customize(std::vector<o2::framework::CompletionPolicy>& policies)
46void customize(std::vector<ConfigParamSpec>& workflowOptions)
48 std::vector<ConfigParamSpec>
50 {
"disable-mc", VariantType::Bool,
false, {
"Do not propagate MC labels"}},
51 {
"disable-tracking", VariantType::Bool,
false, {
"Only run clustering"}},
52 {
"disable-root-output", VariantType::Bool,
false, {
"Do not write output to file"}},
53 {
"change-local-to-BC", VariantType::Int, 0, {
"Change the delay between the MID local clock and the BC"}},
54 {
"disable-filtering", VariantType::Bool,
false, {
"Do not remove bad channels"}},
55 {
"enable-filter-BC", VariantType::Bool,
false, {
"Filter BCs"}},
56 {
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}}};
58 workflowOptions.insert(workflowOptions.end(), options.begin(), options.end());
65 bool disableMC = cfgc.
options().
get<
bool>(
"disable-mc");
66 bool disableTracking = cfgc.
options().
get<
bool>(
"disable-tracking");
67 bool disableFile = cfgc.
options().
get<
bool>(
"disable-root-output");
68 auto disableFiltering = cfgc.
options().
get<
bool>(
"disable-filtering");
69 auto localToBC = cfgc.
options().
get<
int>(
"change-local-to-BC");
70 auto filterBC = cfgc.
options().
get<
bool>(
"enable-filter-BC");
74 std::string baseDataDesc =
"DATA";
75 std::string baseROFDesc =
"DATAROF";
76 std::string baseLabelsDesc =
"DATALABELS";
77 std::string dataDesc = baseDataDesc;
78 std::string rofDesc = baseROFDesc;
79 std::string labelsDesc = baseLabelsDesc;
80 if (!disableFiltering) {
81 std::string prefix =
"F";
82 std::string outDataDesc = prefix + baseDataDesc;
84 dataDesc = outDataDesc;
85 rofDesc = prefix + baseROFDesc;
86 labelsDesc = prefix + baseLabelsDesc;
90 std::string prefix =
"T";
91 rofDesc = prefix + baseROFDesc;
95 std::string prefix =
"B";
96 dataDesc = prefix + baseDataDesc;
97 rofDesc = prefix + baseROFDesc;
98 labelsDesc = prefix + baseLabelsDesc;
101 if (!disableTracking) {
105 if (disableTracking) {
Definition of a container to keep Monte Carlo truth external to simulation objects.
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
void customize(std::vector< o2::framework::CompletionPolicy > &policies)
Data processor specs for MID clustering device.
Data processor spec for MID tracker device.
Configurable generator for RootTreeWriter processor spec.
Device to synchronize MID clock with collision BC.
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
Generate a processor spec for the RootTreeWriter utility.
constexpr o2::header::DataOrigin gDataOriginMID
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
framework::DataProcessorSpec getTrackerSpec(bool isMC, bool checkMasked)
framework::DataProcessorSpec getClusterizerSpec(bool isMC, std::string_view inDataDesc, std::string_view inRofDesc, std::string_view inLabelsDesc)
framework::DataProcessorSpec getTimingSpec(int localToBC, std::string_view inRofDesc)
framework::DataProcessorSpec getFilteringSpec(bool useMC=true, std::string_view inDesc="DATA", std::string_view outDesc="FDATA")
framework::DataProcessorSpec getFilteringBCSpec(bool useMC=true, std::string_view inDesc="FDATA")
static CompletionPolicy consumeWhenAllOrdered(const char *name, CompletionPolicy::Matcher matcher)
as consumeWhenAll, but ensures that records are processed with incremental timeSlice (DataHeader::sta...