Project
Loading...
Searching...
No Matches
RecoWorkflow.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
19
20#include <string>
21
23{
24
26 const std::string& hitRecoConfig,
27 bool upstreamDigits,
28 bool upstreamClusters,
29 bool disableRootOutput,
30 bool useGPUWF,
32{
34
35 if (!(upstreamDigits || upstreamClusters)) {
36 specs.emplace_back(o2::trk::getTRKDigitReaderSpec(useMC, false, "trkdigits.root"));
37 }
38 if (!upstreamClusters) {
39 specs.emplace_back(o2::trk::getClustererSpec(useMC));
40 }
41
42 if (!disableRootOutput) {
43 specs.emplace_back(o2::trk::getClusterWriterSpec(useMC));
44 }
45
46 if (!hitRecoConfig.empty()) {
47 LOGP(info, "Using hit reco config from file {}", hitRecoConfig);
48 specs.emplace_back(o2::trk::getTrackerSpec(useMC, hitRecoConfig, dtype));
49 if (!disableRootOutput) {
50 specs.emplace_back(o2::trk::getTrackWriterSpec(useMC));
51 }
52 }
53
54 return specs;
55}
56
57} // namespace o2::trk::reco_workflow
std::vector< DataProcessorSpec > WorkflowSpec
o2::framework::WorkflowSpec getWorkflow(bool useMC, const std::string &hitRecoConfig, bool upstreamDigits=false, bool upstreamClusters=false, bool disableRootOutput=false, bool useGPUWF=false, o2::gpu::gpudatatypes::DeviceType dType=o2::gpu::gpudatatypes::DeviceType::CPU)
framework::DataProcessorSpec getTrackerSpec(bool useMC, const std::string &hitRecoConfig, gpu::gpudatatypes::DeviceType dType=gpu::gpudatatypes::DeviceType::CPU)
o2::framework::DataProcessorSpec getTrackWriterSpec(bool useMC)
o2::framework::DataProcessorSpec getClustererSpec(bool useMC)
framework::DataProcessorSpec getClusterWriterSpec(bool useMC)
framework::DataProcessorSpec getTRKDigitReaderSpec(bool useMC=true, bool useCalib=false, std::string defname="trkdigits.root")