Skip to content

Commit 43fc996

Browse files
committed
Recover ITS 3
1 parent 12e74cf commit 43fc996

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
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 "ITS3Workflow/DigitReaderSpec.h"
13+
#include "CommonUtils/ConfigurableParam.h"
14+
#include "Framework/ConfigParamSpec.h"
15+
16+
using namespace o2::framework;
17+
18+
// ------------------------------------------------------------------
19+
20+
// we need to add workflow options before including Framework/runDataProcessing
21+
void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
22+
{
23+
// option allowing to set parameters
24+
std::vector<ConfigParamSpec> options{
25+
ConfigParamSpec{"disable-mc", VariantType::Bool, false, {"disable mc truth"}},
26+
ConfigParamSpec{"enable-calib-data", VariantType::Bool, false, {"enable writing GBT calibration data"}},
27+
ConfigParamSpec{"configKeyValues", VariantType::String, "", {"semicolon separated key=value strings"}}};
28+
29+
std::swap(workflowOptions, options);
30+
}
31+
32+
// ------------------------------------------------------------------
33+
34+
#include "Framework/runDataProcessing.h"
35+
36+
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
37+
{
38+
WorkflowSpec wf;
39+
bool useMC = !cfgc.options().get<bool>("disable-mc");
40+
bool calib = cfgc.options().get<bool>("enable-calib-data");
41+
// Update the (declared) parameters if changed from the command line
42+
o2::conf::ConfigurableParam::updateFromString(cfgc.options().get<std::string>("configKeyValues"));
43+
44+
wf.emplace_back(o2::its3::getITS3DigitReaderSpec(useMC, calib));
45+
return wf;
46+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
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 "ITS3Workflow/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(".*(?:IT|it).*[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{"configKeyValues", VariantType::String, "", {"semicolon separated key=value strings"}}};
34+
35+
std::swap(workflowOptions, options);
36+
}
37+
38+
// ------------------------------------------------------------------
39+
40+
#include "Framework/runDataProcessing.h"
41+
42+
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
43+
{
44+
WorkflowSpec wf;
45+
bool useMC = !cfgc.options().get<bool>("disable-mc");
46+
bool calib = cfgc.options().get<bool>("enable-calib-data");
47+
// Update the (declared) parameters if changed from the command line
48+
o2::conf::ConfigurableParam::updateFromString(cfgc.options().get<std::string>("configKeyValues"));
49+
50+
wf.emplace_back(o2::its3::getITS3DigitWriterSpec(useMC, true, calib));
51+
return wf;
52+
}

0 commit comments

Comments
 (0)