Project
Loading...
Searching...
No Matches
irframe-writer-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
14
15using namespace o2::framework;
16
17void customize(std::vector<o2::framework::CompletionPolicy>& policies)
18{
19 // ordered policies for the writers
20 policies.push_back(CompletionPolicyHelpers::consumeWhenAllOrdered(".*(?:IRFR|irfr).*[W,w]riter.*"));
21}
22
23void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
24{
25 workflowOptions.push_back(ConfigParamSpec{"input-spec", o2::framework::VariantType::String, "X:NIL/IRFRAMES/0", {"input spec"}});
26 workflowOptions.push_back(ConfigParamSpec{"device-name", o2::framework::VariantType::String, "irframe-writer", {"device name"}});
27}
28
31
33{
34 WorkflowSpec specs;
35 if (cc.helpOnCommandLine()) {
36 return specs;
37 }
38 specs.emplace_back(o2::globaltracking::getIRFrameWriterSpec(cc.options().get<std::string>("input-spec"), "o2_irframe.root",
39 cc.options().get<std::string>("device-name")));
40 return specs;
41}
WorkflowSpec defineDataProcessing(ConfigContext const &cc)
void customize(std::vector< o2::framework::CompletionPolicy > &policies)
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
std::vector< DataProcessorSpec > WorkflowSpec
o2::framework::DataProcessorSpec getIRFrameWriterSpec(const std::string &spec, const std::string &defFileName="o2_irframe.root", const std::string &devName="irframe-writer")
static CompletionPolicy consumeWhenAllOrdered(const char *name, CompletionPolicy::Matcher matcher)
as consumeWhenAll, but ensures that records are processed with incremental timeSlice (DataHeader::sta...
std::vector< o2::mch::ChannelCode > cc