CbmRoot
Loading...
Searching...
No Matches
RecoParFiles.h
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Sergei Zharko [committer] */
4
9
10#ifndef ALGO_RecoParFiles_h
11#define ALGO_RecoParFiles_h 1
12
13#include "CbmDefs.h"
14#include "CbmYaml.h"
15
16#include <optional>
17#include <string>
18
19namespace cbm::algo
20{
23 struct RecoParFiles {
24
26 struct Mvd {
27 std::string hitfinder;
28
30 util::yaml::Property(&RecoParFiles::Mvd::hitfinder, "hitfinder", "Hit-finding parameters"));
31 };
32
34 struct Sts {
35 std::string hitfinder;
36
38 util::yaml::Property(&RecoParFiles::Sts::hitfinder, "hitfinder", "Hit-finding parameters"));
39 };
40
42 struct Rich {
43 std::string hitfinder;
44
46 util::yaml::Property(&RecoParFiles::Rich::hitfinder, "hitfinder", "Hit-finding parameters"));
47 };
48
50 struct Much {
51 std::string hitfinder;
52
54 util::yaml::Property(&RecoParFiles::Much::hitfinder, "hitfinder", "Hit-finding parameters"));
55 };
56
58 struct Trd {
59 std::string hitfinder;
60
62 util::yaml::Property(&RecoParFiles::Trd::hitfinder, "hitfinder", "Hit-finding parameters"));
63 };
64
66 struct Tof {
67 std::string calibrate;
68 std::string hitfinder;
69
71 util::yaml::Property(&RecoParFiles::Tof::calibrate, "calibrate", "Calibration parameters"),
72 util::yaml::Property(&RecoParFiles::Tof::hitfinder, "hitfinder", "Hit-finding parameters"));
73 };
74
76 struct Must {
77 std::string hitfinder;
78
80 util::yaml::Property(&RecoParFiles::Must::hitfinder, "hitfinder", "Hit-finding parameters"));
81 };
82
84 struct Bmon {
85 std::string calibrate;
86 std::string hitfinder;
87
89 util::yaml::Property(&RecoParFiles::Bmon::calibrate, "calibrate", "Calibration parameters"),
90 util::yaml::Property(&RecoParFiles::Bmon::hitfinder, "hitfinder", "Hit-finding parameters"));
91 };
92
94 struct Trd2d {
95 std::string hitfinder;
96
98 util::yaml::Property(&RecoParFiles::Trd2d::hitfinder, "hitfinder", "Hit-finding parameters"));
99 };
100
102 struct Fsd {
103 std::string hitfinder;
104
106 util::yaml::Property(&RecoParFiles::Fsd::hitfinder, "hitfinder", "Hit-finding parameters"));
107 };
108
110 struct Tracking {
111 std::string capar;
112
114 util::yaml::Property(&RecoParFiles::Tracking::capar, "capar", "CA configuration"));
115 };
116
118 struct Pv {
119 std::string config;
120
122 util::yaml::Property(&RecoParFiles::Pv::config, "config", "Configuration file"));
123 };
124
125 std::optional<Mvd> mvd{std::nullopt};
126 std::optional<Sts> sts{std::nullopt};
127 std::optional<Rich> rich{std::nullopt};
128 std::optional<Much> much{std::nullopt};
129 std::optional<Trd> trd{std::nullopt};
130 std::optional<Tof> tof{std::nullopt};
131 std::optional<Must> must{std::nullopt};
132 std::optional<Bmon> bmon{std::nullopt};
133 std::optional<Trd2d> trd2d{std::nullopt};
134 std::optional<Fsd> fsd{std::nullopt};
135 std::optional<Tracking> tracking{std::nullopt};
136 std::optional<Pv> pv{std::nullopt};
137
139 util::yaml::Property(&RecoParFiles::mvd, "mvd", "MVD parameters"),
140 util::yaml::Property(&RecoParFiles::sts, "sts", "STS parameters"),
141 util::yaml::Property(&RecoParFiles::rich, "rich", "RICH parameters"),
142 util::yaml::Property(&RecoParFiles::much, "much", "MUCH parameters"),
143 util::yaml::Property(&RecoParFiles::trd, "trd", "TRD parameters"),
144 util::yaml::Property(&RecoParFiles::tof, "tof", "TOF parameters"),
145 util::yaml::Property(&RecoParFiles::must, "must", "MUST parameters"),
146 util::yaml::Property(&RecoParFiles::bmon, "bmon", "BMON parameters"),
147 util::yaml::Property(&RecoParFiles::trd2d, "trd2d", "TRD2D parameters"),
148 util::yaml::Property(&RecoParFiles::fsd, "fsd", "FSD parameters"),
149 util::yaml::Property(&RecoParFiles::tracking, "tracking", "Tracking parameters"),
150 util::yaml::Property(&RecoParFiles::pv, "pv", "PV finding"));
151 };
152} // namespace cbm::algo
153
155
156#endif // ALGO_RecoParFiles_h
#define CBM_YAML_EXTERN_DECL(type)
Declare the external instantiation of the Read and Dump functions for a type.
Definition CbmYaml.h:342
BMON parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Bmon::calibrate, "calibrate", "Calibration parameters"), util::yaml::Property(&RecoParFiles::Bmon::hitfinder, "hitfinder", "Hit-finding parameters"))
FSD parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Fsd::hitfinder, "hitfinder", "Hit-finding parameters"))
MUCH parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Much::hitfinder, "hitfinder", "Hit-finding parameters"))
Must parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Must::hitfinder, "hitfinder", "Hit-finding parameters"))
MVD parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Mvd::hitfinder, "hitfinder", "Hit-finding parameters"))
Primary vertex finding configuration and parameters (dummy)
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Pv::config, "config", "Configuration file"))
RICH parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Rich::hitfinder, "hitfinder", "Hit-finding parameters"))
STS parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Sts::hitfinder, "hitfinder", "Hit-finding parameters"))
TOF parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Tof::calibrate, "calibrate", "Calibration parameters"), util::yaml::Property(&RecoParFiles::Tof::hitfinder, "hitfinder", "Hit-finding parameters"))
Tracking configuration and parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Tracking::capar, "capar", "CA configuration"))
TRD2D parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Trd2d::hitfinder, "hitfinder", "Hit-finding parameters"))
TRD parameter files.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::Trd::hitfinder, "hitfinder", "Hit-finding parameters"))
Relative paths to parameter files, which are used by the reconstruction algorithms.
std::optional< Bmon > bmon
BMON parameters.
CBM_YAML_PROPERTIES(util::yaml::Property(&RecoParFiles::mvd, "mvd", "MVD parameters"), util::yaml::Property(&RecoParFiles::sts, "sts", "STS parameters"), util::yaml::Property(&RecoParFiles::rich, "rich", "RICH parameters"), util::yaml::Property(&RecoParFiles::much, "much", "MUCH parameters"), util::yaml::Property(&RecoParFiles::trd, "trd", "TRD parameters"), util::yaml::Property(&RecoParFiles::tof, "tof", "TOF parameters"), util::yaml::Property(&RecoParFiles::must, "must", "MUST parameters"), util::yaml::Property(&RecoParFiles::bmon, "bmon", "BMON parameters"), util::yaml::Property(&RecoParFiles::trd2d, "trd2d", "TRD2D parameters"), util::yaml::Property(&RecoParFiles::fsd, "fsd", "FSD parameters"), util::yaml::Property(&RecoParFiles::tracking, "tracking", "Tracking parameters"), util::yaml::Property(&RecoParFiles::pv, "pv", "PV finding"))
std::optional< Much > much
MUCH parameters.
std::optional< Trd2d > trd2d
TRD-2D parameters.
std::optional< Trd > trd
TRD parameters.
std::optional< Mvd > mvd
MVD parameters.
std::optional< Rich > rich
RICH parameters.
std::optional< Tof > tof
TOF parameters.
std::optional< Tracking > tracking
Tracking parameters.
std::optional< Fsd > fsd
FSD parameters.
std::optional< Sts > sts
STS parameters.
std::optional< Pv > pv
PV finding parameters.
std::optional< Must > must
MUST parameters.