17#include <boost/serialization/access.hpp>
18#include <boost/serialization/array.hpp>
19#include <boost/serialization/utility.hpp>
20#include <boost/serialization/vector.hpp>
36 class alignas(constants::misc::Alignment)
Config {
46 struct alignas(constants::misc::Alignment)
Control {
54 "Max number of doublets per singlet to accept branching"),
56 "Max number of triplets per doublet to accept branching"),
65 template<
class Archive>
80 struct alignas(constants::misc::Alignment)
Dev {
92 yaml::Property(&
Dev::ignoreHitSearchAreas,
"ignore_hit_search_areas",
"Process all hits on the station ignoring hit search areas"),
96 yaml::Property(&
Dev::useParSearchWindows,
"par_search_w_used",
"Parameterized search windows are used in track finding")
103 template<
class Archive>
180 std::string
ToString(
int indentLevel = 0)
const;
190 template<
class Archive>
Compile-time constants definition for the CA tracking algorithm.
Misalignment correction for different detector subsystems.
int GetNofIterations() const
Gets number of CA iterations.
const Iteration & GetIteration(int iIteration) const
Gets an iteraion.
Dev fDev
Development flags.
std::string ToString(int indentLevel=0) const
String representation of the class.
bool DevSuppressOverlapHitsViaMc() const
Dev. flag: if to suppress hits in sensor overlaps using MC information.
bool DevMatchDoubletsViaMc() const
Dev. flag: if to match doublets with MC information.
MisalignmentTolArray_t fvMisalignment
Misalignment tolerances vs. detID.
const MisalignmentTolerance & GetMisalignmentTolerance(EDetectorID detId) const
Gets misalignment tolerance.
bool DevExtendTracksViaMc() const
Dev. flag: if to extend tracks using MC infromation.
bool DevUseParSearchWindows() const
Dev. flag: use pre-estimated parameterized search windows.
int GetMaxDoubletsPerSinglet() const
Gets maximal number of doublets per singlet allowed in triplet finding.
float GetDefaultMass() const
Gets default mass of a particle for fitting tracks.
std::array< MisalignmentTolerance, constants::size::MaxNdetectors > MisalignmentTolArray_t
bool DevIgnoreHitSearchAreas() const
Dev. flag: if to ignore hit search areas.
bool SuppressGhost() const
Enables ghost track suppression.
std::vector< T > DynArray_t
A type of container for a dynamic array.
Control fControl
Control flags.
friend class boost::serialization::access
void serialize(Archive &ar, const unsigned int)
Serialization method.
const DynArray_t< Iteration > & GetIterations() const
Constant accessor to iterations array.
bool DevMatchTripletsViaMc() const
Dev. flag: if to match triplets with MC information.
bool DevForceUseOriginalField() const
Dev. flag: if to forse using the original magnetic field.
int GetMaxTripletsPerDoublet() const
Gets maximal number of triplets per doublet allowed in triplet finding.
DynArray_t< Iteration > fvCaIterations
Vector of CA iteration properties.
A set of parameters for the CA Track finder iteration.
Misalignment correction for x, y and time measurements in tracking.
constexpr fscal MuonMass
Particle masses etc used for the track fit, fscal precision.
TODO: SZh 8.11.2022: add selection of parameterisation.
EDetectorID
Enumeration for the tracking detector subsystems in CBM-CA.
CA control flags and parametrs.
int maxTripletsPerDoublet
Max number of triplets per doublet to accept branching.
void serialize(Archive &ar, const unsigned int)
Serialization method.
CBM_YAML_PROPERTIES(yaml::Property(&Control::maxDoubletsPerSinglet, "max_doublets_per_singlet", "Max number of doublets per singlet to accept branching"), yaml::Property(&Control::maxTripletsPerDoublet, "max_triplets_per_doublet", "Max number of triplets per doublet to accept branching"), yaml::Property(&Control::ghostSuppression, "is_ghost_suppression", "Enable ghost suppression"))
float defaultMass
Default particle mass for track fitting.
friend class boost::serialization::access
int maxDoubletsPerSinglet
Max number of doublets per singlet to accept branching.
bool ghostSuppression
Enable ghost suppression.
bool matchTripletsViaMc
Match triplets using MC information.
bool extendTracksViaMc
Extend tracks using MC information.
CBM_YAML_PROPERTIES(yaml::Property(&Dev::extendTracksViaMc, "extend_tracks_via_mc", "Extend tracks using MC information"), yaml::Property(&Dev::forceUseOriginalField, "use_of_original_field", "Force using original magnetic field"), yaml::Property(&Dev::ignoreHitSearchAreas, "ignore_hit_search_areas", "Process all hits on the station ignoring hit search areas"), yaml::Property(&Dev::matchDoubletsViaMc, "match_doublets_via_mc", "Match doublets using MC information"), yaml::Property(&Dev::matchTripletsViaMc, "match_triplets_via_mc", "Match triplets using MC information"), yaml::Property(&Dev::suppressOverlapHitsViaMc, "suppress_overlap_hits_via_mc", "Suppress hits in sensor overlaps using MC information"), yaml::Property(&Dev::useParSearchWindows, "par_search_w_used", "Parameterized search windows are used in track finding"))
bool suppressOverlapHitsViaMc
Suppress hits in sensor overlaps using MC information.
bool useParSearchWindows
Use pre-estimated seach windows in track finding. If false, use KF.
bool matchDoubletsViaMc
Match doublets using MC information.
void serialize(Archive &ar, const unsigned int)
Serialization method.
friend class boost::serialization::access
bool forceUseOriginalField
Force using the original magnetic field.
bool ignoreHitSearchAreas
Process all hits on the station ignoring hit search areas.