Project
Loading...
Searching...
No Matches
digit-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
12
#include "
ITSMFTWorkflow/DigitWriterSpec.h
"
13
#include "
CommonUtils/ConfigurableParam.h
"
14
#include "
Framework/ConfigParamSpec.h
"
15
#include "
Framework/CompletionPolicyHelpers.h
"
16
17
using namespace
o2::framework
;
18
19
// ------------------------------------------------------------------
20
void
customize
(std::vector<o2::framework::CompletionPolicy>& policies)
21
{
22
// ordered policies for the writers
23
policies.push_back(
CompletionPolicyHelpers::consumeWhenAllOrdered
(
".*(?:ITS|its|MFT|mft).*[W,w]riter.*"
));
24
}
25
26
// we need to add workflow options before including Framework/runDataProcessing
27
void
customize
(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
28
{
29
// option allowing to set parameters
30
std::vector<ConfigParamSpec> options{
31
ConfigParamSpec
{
"disable-mc"
, VariantType::Bool,
false
, {
"disable mc truth"
}},
32
ConfigParamSpec
{
"enable-calib-data"
, VariantType::Bool,
false
, {
"enable writing GBT calibration data"
}},
33
ConfigParamSpec
{
"runmft"
, VariantType::Bool,
false
, {
"expect MFT data"
}},
34
ConfigParamSpec
{
"configKeyValues"
, VariantType::String,
""
, {
"semicolon separated key=value strings"
}}};
35
36
std::swap(workflowOptions, options);
37
}
38
39
// ------------------------------------------------------------------
40
41
#include "
Framework/runDataProcessing.h
"
42
43
WorkflowSpec
defineDataProcessing
(
ConfigContext
const
& cfgc)
44
{
45
WorkflowSpec
wf;
46
bool
useMC = !cfgc.
options
().
get
<
bool
>(
"disable-mc"
);
47
bool
calib = cfgc.
options
().
get
<
bool
>(
"enable-calib-data"
);
48
// Update the (declared) parameters if changed from the command line
49
o2::conf::ConfigurableParam::updateFromString
(cfgc.
options
().
get
<std::string>(
"configKeyValues"
));
50
51
if
(cfgc.
options
().
get
<
bool
>(
"runmft"
)) {
52
wf.emplace_back(
o2::itsmft::getMFTDigitWriterSpec
(useMC,
true
, calib));
53
}
else
{
54
wf.emplace_back(
o2::itsmft::getITSDigitWriterSpec
(useMC,
true
, calib));
55
}
56
return
wf;
57
}
CompletionPolicyHelpers.h
ConfigParamSpec.h
ConfigurableParam.h
DigitWriterSpec.h
defineDataProcessing
WorkflowSpec defineDataProcessing(ConfigContext const &cfgc)
Definition
digit-writer-workflow.cxx:43
customize
void customize(std::vector< o2::framework::CompletionPolicy > &policies)
Definition
digit-writer-workflow.cxx:20
o2::conf::ConfigurableParam::updateFromString
static void updateFromString(std::string const &)
Definition
ConfigurableParam.cxx:433
o2::framework::ConfigContext
Definition
ConfigContext.h:24
o2::framework::ConfigContext::options
ConfigParamRegistry & options() const
Definition
ConfigContext.h:28
o2::framework::ConfigParamRegistry::get
T get(const char *key) const
Definition
ConfigParamRegistry.h:98
o2::framework
Defining PrimaryVertex explicitly as messageable.
Definition
TFIDInfo.h:20
o2::framework::WorkflowSpec
std::vector< DataProcessorSpec > WorkflowSpec
Definition
HBFUtilsInitializer.h:39
o2::itsmft::getITSDigitWriterSpec
o2::framework::DataProcessorSpec getITSDigitWriterSpec(bool mctruth=true, bool dec=false, bool calib=false)
Definition
DigitWriterSpec.cxx:107
o2::itsmft::getMFTDigitWriterSpec
o2::framework::DataProcessorSpec getMFTDigitWriterSpec(bool mctruth=true, bool dec=false, bool calib=false)
Definition
DigitWriterSpec.cxx:112
runDataProcessing.h
o2::framework::CompletionPolicyHelpers::consumeWhenAllOrdered
static CompletionPolicy consumeWhenAllOrdered(const char *name, CompletionPolicy::Matcher matcher)
as consumeWhenAll, but ensures that records are processed with incremental timeSlice (DataHeader::sta...
Definition
CompletionPolicyHelpers.cxx:174
o2::framework::ConfigParamSpec
Definition
ConfigParamSpec.h:31
Detectors
ITSMFT
common
workflow
src
digit-writer-workflow.cxx
Generated on Tue Feb 25 2025 23:16:35 for Project by
1.9.8