CbmRoot
Loading...
Searching...
No Matches
V0TriggerConfig.h
Go to the documentation of this file.
1/* Copyright (C) 2024 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Volker Friese [committer] */
4
5#pragma once
6
7#include "CbmDefs.h"
8
9#include <map>
10
11#include <yaml-cpp/yaml.h>
12
13
14namespace cbm::algo::evbuild
15{
16
23
24 public:
27
33 /*
34 V0TriggerConfig(double cutTime, double cutZ, double cutDist)
35 : fCutTime(cutTime)
36 , fCutZ(cutZ)
37 , fCutDist(cutDist)
38 , fIsSet(true)
39 {
40 }
41 */
42
44 V0TriggerConfig(YAML::Node config);
45
47 ~V0TriggerConfig() = default;
48
50 double TrackStartZ_min() const { return fTrackStartZ_min; }
51
53 double TrackStartZ_max() const { return fTrackStartZ_max; }
54
56 double TrackEndZ_min() const { return fTrackEndZ_min; }
57
59 double TrackImpactX_min() const { return fTrackImpactX_min; }
60
62 double TrackImpactX_max() const { return fTrackImpactX_max; }
63
65 double TrackImpactY_min() const { return fTrackImpactY_min; }
66
68 double TrackImpactY_max() const { return fTrackImpactY_max; }
69
71 double PairDeltaT_max() const { return fPairDeltaT_max; }
72
74 double PairDist_max() const { return fPairDist_max; }
75
77 double PairZ_min() const { return fPairZ_min; }
78
80 double PairZ_max() const { return fPairZ_max; }
81
83 bool IsSet() const { return fIsSet; }
84
86 YAML::Node ToYaml() const;
87
88
89 private:
90 // Track cuts
91 double fTrackStartZ_min{0.};
92 double fTrackStartZ_max{0.};
93 double fTrackEndZ_min{0.};
94 double fTrackImpactX_min{0.};
95 double fTrackImpactX_max{0.};
96 double fTrackImpactY_min{0.};
97 double fTrackImpactY_max{0.};
98
99 // Track pair cuts
100 double fPairDeltaT_max{0.};
101 double fPairDist_max{0.};
102 double fPairZ_min{0.};
103 double fPairZ_max{0.};
104
105 bool fIsSet{false};
106
107 double GetDoubleRequired(const YAML::Node& config, const char* key);
108 };
109
110
111} // namespace cbm::algo::evbuild
Configuration of the V0 trigger class (trigger on displaced vertices)
double TrackImpactY_min() const
Minimum y of track impact in target plane.
double fPairZ_min
Maximum distance at closest approach.
double TrackImpactX_max() const
Maximum x of track impact in target plane.
double fTrackStartZ_max
Minimum z at first track measurement.
bool IsSet() const
Check whether config was set.
double PairDist_max() const
Maximum distance at closest approach.
double TrackImpactY_max() const
Maximum y of track impact in target plane.
double fPairDeltaT_max
Maximum y of excluded track impact in target plane.
double PairDeltaT_max() const
Maximum time difference of tracks.
double fTrackImpactX_max
Minimum x of excluded track impact in target plane.
double PairZ_max() const
Maximum z of PCA.
double TrackEndZ_min() const
Minimum z at last track measurement.
double fTrackImpactX_min
Minimum z at last track measurement.
double TrackStartZ_min() const
Minimum z at first track measurement.
double fTrackEndZ_min
Maximum z at first track measurement.
double GetDoubleRequired(const YAML::Node &config, const char *key)
Flag whether a configuration was set.
YAML::Node ToYaml() const
Save to YAML.
double fPairDist_max
Maximum time difference of tracks.
double TrackStartZ_max() const
Maximum z at first track measurement.
~V0TriggerConfig()=default
Destructor.
double PairZ_min() const
Minimum z of PCA.
double fTrackImpactY_max
Minimum y of excluded track impact in target plane.
double TrackImpactX_min() const
Minimum x of track impact in target plane.
V0TriggerConfig()
Default constructor.
double fTrackImpactY_min
Maximum x of excluded track impact in target plane.