Project
Loading...
Searching...
No Matches
RecoWorkflow.h
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#ifndef O2_TPC_RECOWORKFLOW_H
13#define O2_TPC_RECOWORKFLOW_H
18
20#include <vector>
21#include <array>
22#include <string>
23#include <numeric> // std::iota
24
25namespace o2
26{
27namespace framework
28{
29struct InputSpec;
30}
31namespace tpc
32{
33struct CorrectionMapsLoaderGloOpts;
34
35namespace reco_workflow
36{
38enum struct InputType { PassThrough, // No processing, just pass through available inputs to the writers, defined by the OutputType
39 Digitizer, // directly read digits from channel {TPC:DIGITS}
40 Digits, // read digits from file
41 ClustersHardware, // read hardware clusters in raw page format from file
42 Clusters, // read native clusters from file
43 CompClusters, // read compressed cluster container
44 CompClustersCTF, // compressed clusters from CTF, as flat format
45 CompClustersFlat, // compressed clusters in flat format, used as input for the entropy encoder
46 EncodedClusters, // read encoded clusters
47 ZSRaw,
48};
49
71
72using CompletionPolicyData = std::vector<framework::InputSpec>;
73
76 std::vector<int> const& tpcSectors, //
77 unsigned long tpcSectorMask, //
78 std::vector<int> const& laneConfiguration, //
80 bool propagateMC = true, unsigned nLanes = 1, //
81 std::string const& cfgInput = "digitizer", //
82 std::string const& cfgOutput = "tracks", //
83 bool disableRootInput = false, //
84 int caClusterer = 0, //
85 int zsOnTheFly = 0,
86 bool askDISTSTF = true,
87 bool selIR = false,
88 bool filteredInp = false,
89 int deadMapSources = -1,
90 bool useMCTimeGain = false);
91
92void cleanupCallback();
93
94} // end namespace reco_workflow
95} // end namespace tpc
96} // end namespace o2
97#endif // O2_TPC_RECOWORKFLOW_H
std::vector< DataProcessorSpec > WorkflowSpec
std::vector< framework::InputSpec > CompletionPolicyData
InputType
define input and output types of the workflow
framework::WorkflowSpec getWorkflow(CompletionPolicyData *policyData, std::vector< int > const &tpcSectors, unsigned long tpcSectorMask, std::vector< int > const &laneConfiguration, const o2::tpc::CorrectionMapsLoaderGloOpts &sclOpts, bool propagateMC=true, unsigned nLanes=1, std::string const &cfgInput="digitizer", std::string const &cfgOutput="tracks", bool disableRootInput=false, int caClusterer=0, int zsOnTheFly=0, bool askDISTSTF=true, bool selIR=false, bool filteredInp=false, int deadMapSources=-1, bool useMCTimeGain=false)
create the workflow for TPC reconstruction
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...