Project
Loading...
Searching...
No Matches
CAWorkflowOptions.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_MFT_CAWORKFLOWOPTIONS_H_
13
#define O2_MFT_CAWORKFLOWOPTIONS_H_
14
15
#include <string>
16
#include <vector>
17
#include "
ITSMFTTracking/Configuration.h
"
18
19
namespace
o2::framework
20
{
21
class
ConfigContext
;
22
}
23
namespace
o2::mft::ca
24
{
25
enum class
WorkflowKind
{
Reconstruction
,
26
TrackerOnly
};
27
enum class
InputStage
{
DigitsFile
,
28
UpstreamDigits
,
29
UpstreamClusters
};
30
enum class
GeometrySource
{
MFT
,
31
Full
};
32
enum class
IRFrameSource
{
None
,
33
File
,
34
Upstream
};
35
enum class
OutputPolicy
{
All
,
36
TracksAndClusterROFs
,
37
ClusterROFs
,
38
None
};
39
40
struct
TrackerOptions
{
41
bool
useMC
=
true
;
42
GeometrySource
geometry
=
GeometrySource::MFT
;
43
o2::itsmft::TrackingMode::Type
mode
=
o2::itsmft::TrackingMode::Sync
;
44
int
nThreads
= 1;
45
IRFrameSource
irFrames
=
IRFrameSource::None
;
46
bool
filterIRFrames
=
false
;
47
};
48
49
struct
WorkflowOptions
{
50
WorkflowKind
kind
=
WorkflowKind::Reconstruction
;
51
InputStage
input
=
InputStage::DigitsFile
;
52
OutputPolicy
output
=
OutputPolicy::All
;
53
TrackerOptions
tracker
;
54
bool
staggering
=
false
;
55
bool
runTracking
=
true
;
// false removes devices; mode=Off retains an inactive tracker and its consumers.
56
bool
assessment
=
false
;
57
bool
processGenerated
=
true
;
58
bool
tracksToRecords
=
false
;
59
std::vector<std::string>
diagnostics
;
60
};
61
62
// External flags live only at this compatibility boundary. The resolver has
63
// no singleton, field/geometry, or DPL device dependencies.
64
struct
WorkflowOptionInput
{
65
WorkflowKind
kind
=
WorkflowKind::Reconstruction
;
66
bool
useMC
=
true
;
67
bool
staggering
=
false
;
68
bool
fullGeometry
=
false
;
69
bool
useIRFrames
=
false
;
70
bool
upstreamDigits
=
false
;
71
bool
upstreamClusters
=
false
;
72
bool
clusterROFsOnly
=
false
;
73
bool
disableRootOutput
=
false
;
74
bool
runTracking
=
true
;
75
bool
assessment
=
false
;
76
bool
processGenerated
=
true
;
77
bool
tracksToRecords
=
false
;
78
o2::itsmft::TrackingMode::Type
mode
=
o2::itsmft::TrackingMode::Sync
;
79
int
nThreads
= 1;
80
};
81
82
struct
TrackerOptionAliases
{
83
int
mode
= -1;
84
int
nThreads
= 1;
// Effective value after applying --nThreads, then configKeyValues.
85
bool
filterIRFrames
=
false
;
86
};
87
88
// Parameter aliases override CLI values, identically in both entry points.
89
// Conflicts are reported with both setting names; invalid values throw.
90
WorkflowOptions
resolveWorkflowOptions
(
const
WorkflowOptionInput
&,
const
TrackerOptionAliases
&);
91
WorkflowOptions
readWorkflowOptions
(
const
o2::framework::ConfigContext
&,
WorkflowKind
);
92
}
// namespace o2::mft::ca
93
#endif
Configuration.h
Shared CA tracking configuration for ITS and MFT.
o2::framework::ConfigContext
Definition
ConfigContext.h:24
mode
GLenum mode
Definition
glcorearb.h:266
o2::framework
Defining ITS Vertex explicitly as messageable.
Definition
Cartesian.h:288
o2::itsmft::TrackingMode::Type
Type
Definition
Configuration.h:144
o2::itsmft::TrackingMode::Sync
@ Sync
Definition
Configuration.h:146
o2::mft::ca
Definition
CAWorkflowOptions.h:24
o2::mft::ca::resolveWorkflowOptions
WorkflowOptions resolveWorkflowOptions(const WorkflowOptionInput &, const TrackerOptionAliases &)
Definition
CAWorkflowOptions.cxx:25
o2::mft::ca::OutputPolicy
OutputPolicy
Definition
CAWorkflowOptions.h:35
o2::mft::ca::OutputPolicy::TracksAndClusterROFs
@ TracksAndClusterROFs
o2::mft::ca::OutputPolicy::ClusterROFs
@ ClusterROFs
o2::mft::ca::OutputPolicy::All
@ All
o2::mft::ca::IRFrameSource
IRFrameSource
Definition
CAWorkflowOptions.h:32
o2::mft::ca::IRFrameSource::File
@ File
o2::mft::ca::IRFrameSource::None
@ None
o2::mft::ca::IRFrameSource::Upstream
@ Upstream
o2::mft::ca::InputStage
InputStage
Definition
CAWorkflowOptions.h:27
o2::mft::ca::InputStage::UpstreamClusters
@ UpstreamClusters
o2::mft::ca::InputStage::DigitsFile
@ DigitsFile
o2::mft::ca::InputStage::UpstreamDigits
@ UpstreamDigits
o2::mft::ca::WorkflowKind
WorkflowKind
Definition
CAWorkflowOptions.h:25
o2::mft::ca::WorkflowKind::Reconstruction
@ Reconstruction
o2::mft::ca::WorkflowKind::TrackerOnly
@ TrackerOnly
o2::mft::ca::GeometrySource
GeometrySource
Definition
CAWorkflowOptions.h:30
o2::mft::ca::GeometrySource::MFT
@ MFT
o2::mft::ca::readWorkflowOptions
WorkflowOptions readWorkflowOptions(const o2::framework::ConfigContext &, WorkflowKind)
Definition
CAWorkflowOptions.cxx:83
Full
Definition
test_ransEncodeDecode.cxx:58
o2::framework::data_matcher::None
Marks an empty item in the context.
Definition
DataDescriptorMatcher.h:37
o2::mft::ca::TrackerOptionAliases
Definition
CAWorkflowOptions.h:82
o2::mft::ca::TrackerOptionAliases::nThreads
int nThreads
Definition
CAWorkflowOptions.h:84
o2::mft::ca::TrackerOptionAliases::filterIRFrames
bool filterIRFrames
Definition
CAWorkflowOptions.h:85
o2::mft::ca::TrackerOptions
Definition
CAWorkflowOptions.h:40
o2::mft::ca::TrackerOptions::irFrames
IRFrameSource irFrames
Definition
CAWorkflowOptions.h:45
o2::mft::ca::TrackerOptions::useMC
bool useMC
Definition
CAWorkflowOptions.h:41
o2::mft::ca::TrackerOptions::nThreads
int nThreads
Definition
CAWorkflowOptions.h:44
o2::mft::ca::TrackerOptions::geometry
GeometrySource geometry
Definition
CAWorkflowOptions.h:42
o2::mft::ca::TrackerOptions::filterIRFrames
bool filterIRFrames
Definition
CAWorkflowOptions.h:46
o2::mft::ca::WorkflowOptionInput
Definition
CAWorkflowOptions.h:64
o2::mft::ca::WorkflowOptionInput::staggering
bool staggering
Definition
CAWorkflowOptions.h:67
o2::mft::ca::WorkflowOptionInput::useMC
bool useMC
Definition
CAWorkflowOptions.h:66
o2::mft::ca::WorkflowOptionInput::upstreamDigits
bool upstreamDigits
Definition
CAWorkflowOptions.h:70
o2::mft::ca::WorkflowOptionInput::fullGeometry
bool fullGeometry
Definition
CAWorkflowOptions.h:68
o2::mft::ca::WorkflowOptionInput::nThreads
int nThreads
Definition
CAWorkflowOptions.h:79
o2::mft::ca::WorkflowOptionInput::assessment
bool assessment
Definition
CAWorkflowOptions.h:75
o2::mft::ca::WorkflowOptionInput::disableRootOutput
bool disableRootOutput
Definition
CAWorkflowOptions.h:73
o2::mft::ca::WorkflowOptionInput::useIRFrames
bool useIRFrames
Definition
CAWorkflowOptions.h:69
o2::mft::ca::WorkflowOptionInput::clusterROFsOnly
bool clusterROFsOnly
Definition
CAWorkflowOptions.h:72
o2::mft::ca::WorkflowOptionInput::upstreamClusters
bool upstreamClusters
Definition
CAWorkflowOptions.h:71
o2::mft::ca::WorkflowOptionInput::kind
WorkflowKind kind
Definition
CAWorkflowOptions.h:65
o2::mft::ca::WorkflowOptionInput::processGenerated
bool processGenerated
Definition
CAWorkflowOptions.h:76
o2::mft::ca::WorkflowOptionInput::runTracking
bool runTracking
Definition
CAWorkflowOptions.h:74
o2::mft::ca::WorkflowOptionInput::tracksToRecords
bool tracksToRecords
Definition
CAWorkflowOptions.h:77
o2::mft::ca::WorkflowOptions
Definition
CAWorkflowOptions.h:49
o2::mft::ca::WorkflowOptions::assessment
bool assessment
Definition
CAWorkflowOptions.h:56
o2::mft::ca::WorkflowOptions::runTracking
bool runTracking
Definition
CAWorkflowOptions.h:55
o2::mft::ca::WorkflowOptions::kind
WorkflowKind kind
Definition
CAWorkflowOptions.h:50
o2::mft::ca::WorkflowOptions::tracker
TrackerOptions tracker
Definition
CAWorkflowOptions.h:53
o2::mft::ca::WorkflowOptions::staggering
bool staggering
Definition
CAWorkflowOptions.h:54
o2::mft::ca::WorkflowOptions::processGenerated
bool processGenerated
Definition
CAWorkflowOptions.h:57
o2::mft::ca::WorkflowOptions::input
InputStage input
Definition
CAWorkflowOptions.h:51
o2::mft::ca::WorkflowOptions::tracksToRecords
bool tracksToRecords
Definition
CAWorkflowOptions.h:58
o2::mft::ca::WorkflowOptions::diagnostics
std::vector< std::string > diagnostics
Definition
CAWorkflowOptions.h:59
o2::mft::ca::WorkflowOptions::output
OutputPolicy output
Definition
CAWorkflowOptions.h:52
Detectors
ITSMFT
MFT
workflow
include
MFTWorkflow
CAWorkflowOptions.h
Generated on Sun Sep 27 2026 07:06:48 for Project by
1.9.8