CbmRoot
Loading...
Searching...
No Matches
KfpV0FinderConfig.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#pragma once
11
12#include "yaml/Yaml.h"
13
14#include <string>
15#include <vector>
16
17namespace cbm::algo::kfp
18{
21 struct CutsKfp {
26
28 yaml::Property(&CutsKfp::minDecayLength, "min_decay_length", "Minimal decay length of particles [cm]"),
29 yaml::Property(&CutsKfp::minDecayLDL, "min_decay_ldl", "Minimal value of decay length to decay length error ratio"),
30 yaml::Property(&CutsKfp::maxChi2NdfPrim, "max_chi2_ndf_prim", "Maximal chi2/NDF for primary particles"),
31 yaml::Property(&CutsKfp::maxChi2NdfGeo, "max_chi2_ndf_geo", "Maximal chi2/NDF for V0 candidates"));
32
34 std::string ToString() const;
35 };
36
39 struct ParticlePid {
40 int pdg;
41 double minDca;
42 double minVelocity;
43 double maxVelocity;
44
46 yaml::Property(&ParticlePid::pdg, "pdg", "PDG code of the particle"),
47 yaml::Property(&ParticlePid::minDca, "min_dca", "Minimal DCA to PV [cm]"),
48 yaml::Property(&ParticlePid::minVelocity, "min_velocity", "Minimal velocity [cm/ns]"),
49 yaml::Property(&ParticlePid::maxVelocity, "max_velocity", "Maximal velocity [cm/ns]"));
50
52 std::string ToString() const;
53 };
54
56 struct Cuts {
58 std::vector<ParticlePid> particles;
59
61 yaml::Property(&Cuts::kfp, "kfp", "Specific cuts for the KFParticleFinder"),
62 yaml::Property(&Cuts::particles, "particles", "Particle identification cuts and properties"));
63
65 std::string ToString() const;
66 };
67
72 uint32_t bmonAddress;
73 double tZeroOffset;
77
79 yaml::Property(&V0FinderConfig::cuts, "cuts", "Different selection cuts"),
80 yaml::Property(&V0FinderConfig::bmonAddress, "bmon_address", "Address of reference BMON diamond"),
81 yaml::Property(&V0FinderConfig::tZeroOffset, "t0_offset", "The t0 offset [ns]"),
82 yaml::Property(&V0FinderConfig::qpAssignedUncertainty, "qa_uncertainty", "Assigned relative uncertainty for q/p"),
83 yaml::Property(&V0FinderConfig::primaryAssignedPdg, "primary_pdg", "Assigned PDG code for primary tracks"),
84 yaml::Property(&V0FinderConfig::reconstructPdg, "reconstruct_pdg", "PDG code of the particle to be reconstructed"));
85
87 std::string ToString() const;
88 };
89} // namespace cbm::algo::kfp
Cuts for the KFParticleFinder.
CBM_YAML_PROPERTIES(yaml::Property(&CutsKfp::minDecayLength, "min_decay_length", "Minimal decay length of particles [cm]"), yaml::Property(&CutsKfp::minDecayLDL, "min_decay_ldl", "Minimal value of decay length to decay length error ratio"), yaml::Property(&CutsKfp::maxChi2NdfPrim, "max_chi2_ndf_prim", "Maximal chi2/NDF for primary particles"), yaml::Property(&CutsKfp::maxChi2NdfGeo, "max_chi2_ndf_geo", "Maximal chi2/NDF for V0 candidates"))
float maxChi2NdfPrim
Maximal chi2/NDF for primary particles (coming from the PV)
std::string ToString() const
String representation of the structure.
float minDecayLDL
Minimal value of decay length to decay length error ratio.
float maxChi2NdfGeo
Maximal chi2/NDF for V0 candidates.
float minDecayLength
Minimal decay length of particles [cm].
std::string ToString() const
String representation of the structure.
CBM_YAML_PROPERTIES(yaml::Property(&Cuts::kfp, "kfp", "Specific cuts for the KFParticleFinder"), yaml::Property(&Cuts::particles, "particles", "Particle identification cuts and properties"))
std::vector< ParticlePid > particles
Daughter PID cuts and other properties.
CutsKfp kfp
Specific cuts for the KFParticleFinder.
PID and pre-selection cuts for a given particle.
CBM_YAML_PROPERTIES(yaml::Property(&ParticlePid::pdg, "pdg", "PDG code of the particle"), yaml::Property(&ParticlePid::minDca, "min_dca", "Minimal DCA to PV [cm]"), yaml::Property(&ParticlePid::minVelocity, "min_velocity", "Minimal velocity [cm/ns]"), yaml::Property(&ParticlePid::maxVelocity, "max_velocity", "Maximal velocity [cm/ns]"))
int pdg
PDG code for particle.
double maxVelocity
Maximal velocity [cm/ns].
std::string ToString() const
String representation of the structure.
double minDca
Minimal DCA to PV [cm].
double minVelocity
Minimal velocity [cm/ns].
Cuts cuts
Different selection cuts.
uint32_t bmonAddress
Address of BMON diamond (if multiple alternative are present, only one must be selected)
CBM_YAML_PROPERTIES(yaml::Property(&V0FinderConfig::cuts, "cuts", "Different selection cuts"), yaml::Property(&V0FinderConfig::bmonAddress, "bmon_address", "Address of reference BMON diamond"), yaml::Property(&V0FinderConfig::tZeroOffset, "t0_offset", "The t0 offset [ns]"), yaml::Property(&V0FinderConfig::qpAssignedUncertainty, "qa_uncertainty", "Assigned relative uncertainty for q/p"), yaml::Property(&V0FinderConfig::primaryAssignedPdg, "primary_pdg", "Assigned PDG code for primary tracks"), yaml::Property(&V0FinderConfig::reconstructPdg, "reconstruct_pdg", "PDG code of the particle to be reconstructed"))
double tZeroOffset
Offset for T0 [ns].
int primaryAssignedPdg
Assigned PDG hypothesis for primary particles.
std::string ToString() const
String representation of the contents.
int reconstructPdg
PDG of the particle, the decay of which is to be reconstructed.
double qpAssignedUncertainty
Assigned relative uncertainty for q/p estimation.