Belle II Software prerelease-11-00-00a
CATFinderParameters.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11/* ROOT headers. */
12#include <TObject.h>
13
14/* C++ headers. */
15#include <cstdint>
16
17namespace Belle2 {
22
26 class CATFinderParameters : public TObject {
27
28 public:
29
34
39
42 void setTDCOffset(float tdcOffset) { m_tdcOffset = tdcOffset; }
43
46 void setTDCScale(float tdcScale) { m_tdcScale = tdcScale; }
47
50 void setADCClip(float adcClip) { m_adcClip = adcClip; }
51
54 void setSLayerScale(float slayerScale) { m_slayerScale = slayerScale; }
55
58 void setCLayerScale(float clayerScale) { m_clayerScale = clayerScale; }
59
62 void setLayerScale(float layerScale) { m_layerScale = layerScale; }
63
66 void setSpatialCoordinatesScale(float spatialCoordinatesScale) { m_spatialCoordinatesScale = spatialCoordinatesScale; }
67
70 void setNInputFeatures(unsigned int nInputFeatures) { m_nInputFeatures = nInputFeatures; }
71
74 void setLatentSpaceNDim(unsigned int latentSpaceNDim) { m_latentSpaceNDim = latentSpaceNDim; }
75
78 void setTBeta(float tBeta) { m_tBeta = tBeta; }
79
82 void setTDistance(float tDistance) { m_tDistance = tDistance; }
83
86 void setMaxRadius(float maxRadius) { m_maxRadius = maxRadius; }
87
90 void setMinNumberHits(unsigned int minNumberHits) { m_minNumberHits = minNumberHits; }
91
94 void setInputTFeaturesName(const std::string& inputTFeaturesName) { m_inputTFeaturesName = inputTFeaturesName; }
95
98 void setOutputTBetaName(const std::string& outputTBetaName) { m_outputTBetaName = outputTBetaName; }
99
102 void setOutputTCoordinatesName(const std::string& outputTCoordinatesName) { m_outputTCoordinatesName = outputTCoordinatesName; }
103
106 void setOutputTMomentumName(const std::string& outputTMomentumName) { m_outputTMomentumName = outputTMomentumName; }
107
110 void setOutputTVertexName(const std::string& outputTVertexName) { m_outputTVertexName = outputTVertexName; }
111
114 void setOutputTChargeName(const std::string& outputTChargeName) { m_outputTChargeName = outputTChargeName; }
115
117 float getTDCOffset() const { return m_tdcOffset; }
118
120 float getTDCScale() const { return m_tdcScale; }
121
123 float getADCClip() const { return m_adcClip; }
124
126 float getSLayerScale() const { return m_slayerScale; }
127
129 float getCLayerScale() const { return m_clayerScale; }
130
132 float getLayerScale() const { return m_layerScale; }
133
136
138 unsigned int getNInputFeatures() const { return m_nInputFeatures; }
139
141 unsigned int getLatentSpaceNDim() const { return m_latentSpaceNDim; }
142
144 float getTBeta() const { return m_tBeta; }
145
147 float getTDistance() const { return m_tDistance; }
148
150 float getMaxRadius() const { return m_maxRadius; }
151
153 unsigned int getMinNumberHits() const { return m_minNumberHits; }
154
156 const std::string& getInputTFeaturesName() const { return m_inputTFeaturesName; }
157
159 const std::string& getOutputTBetaName() const { return m_outputTBetaName; }
160
162 const std::string& getOutputTCoordinatesName() const { return m_outputTCoordinatesName; }
163
165 const std::string& getOutputTMomentumName() const { return m_outputTMomentumName; }
166
168 const std::string& getOutputTVertexName() const { return m_outputTVertexName; }
169
171 const std::string& getOutputTChargeName() const { return m_outputTChargeName; }
172
173 private:
174
175 // Input feature normalization
176
178 float m_tdcOffset = 0.;
179
181 float m_tdcScale = 0.;
182
184 float m_adcClip = 0.;
185
187 float m_slayerScale = 0.;
188
190 float m_clayerScale = 0.;
191
193 float m_layerScale = 0.;
194
197
198 // GNN architecture
199
201 unsigned int m_nInputFeatures = 0;
202
204 unsigned int m_latentSpaceNDim = 0;
205
206 // Object condensation
207
209 float m_tBeta = 0.;
210
212 float m_tDistance = 0.;
213
215 float m_maxRadius = 0.;
216
217 // Track selection
218
220 unsigned int m_minNumberHits = 0;
221
222 // Tensor names
223
226
228 std::string m_outputTBetaName;
229
232
235
238
241
244
245 };
246
248}
std::string m_outputTBetaName
Name of the output tensor carrying the per-hit beta (condensation score) values.
void setTBeta(float tBeta)
Set the threshold for the beta value to select candidate condensation points.
void setOutputTChargeName(const std::string &outputTChargeName)
Set the name of the output tensor for predicted charges.
float getTDCOffset() const
Get the offset applied to TDC counts.
void setLatentSpaceNDim(unsigned int latentSpaceNDim)
Set the dimensionality of the latent space used by the GNN.
float getADCClip() const
Get the maximum ADC value used for normalization; values above are clipped.
float m_adcClip
Maximum ADC value used for normalization; values above are clipped.
std::string m_outputTCoordinatesName
Name of the output tensor carrying the per-hit condensation coordinates.
std::string m_outputTVertexName
Name of the output tensor carrying the predicted vertices.
float m_slayerScale
Scale factor for normalizing superlayer indices.
std::string m_outputTChargeName
Name of the output tensor carrying the predicted charges.
void setADCClip(float adcClip)
Set the maximum ADC value used for normalization; values above are clipped.
float m_maxRadius
Maximum radius in latent space to associate hits with a condensation point.
const std::string & getOutputTMomentumName() const
Get the name of the output tensor for predicted momenta.
unsigned int getMinNumberHits() const
Get the minimum number of associated CDC hits required to form a valid track.
void setTDistance(float tDistance)
Set the minimum distance required between condensation points in latent space.
unsigned int getLatentSpaceNDim() const
Get the dimensionality of the latent space used by the GNN.
const std::string & getOutputTBetaName() const
Get the name of the output tensor for beta values.
void setInputTFeaturesName(const std::string &inputTFeaturesName)
Set the name of the input tensor for hit features.
unsigned int getNInputFeatures() const
Get the number of input features per node for the GNN model.
float getTBeta() const
Get the threshold for the beta value to select candidate condensation points.
float m_clayerScale
Scale factor for normalizing cell layer indices.
void setMaxRadius(float maxRadius)
Set the maximum radius in latent space to associate hits with a condensation point.
void setMinNumberHits(unsigned int minNumberHits)
Set the minimum number of associated CDC hits required to form a valid track.
float getSLayerScale() const
Get the scale factor for normalizing superlayer indices.
float getCLayerScale() const
Get the scale factor for normalizing cell layer indices.
float getMaxRadius() const
Get the maximum radius in latent space to associate hits with a condensation point.
float getLayerScale() const
Get the scale factor for normalizing layer indices.
float getSpatialCoordinatesScale() const
Get the scale factor for spatial coordinates.
void setTDCOffset(float tdcOffset)
Set the offset applied to TDC counts.
float m_spatialCoordinatesScale
Scale factor for spatial coordinates (from basf2 units to internal GNN units).
std::string m_inputTFeaturesName
Name of the input tensor carrying the per-hit features.
void setCLayerScale(float clayerScale)
Set the scale factor for normalizing cell layer indices.
const std::string & getOutputTVertexName() const
Get the name of the output tensor for predicted vertices.
const std::string & getInputTFeaturesName() const
Get the name of the input tensor for hit features.
void setTDCScale(float tdcScale)
Set the scale factor for TDC normalization.
CATFinderParameters()=default
Default constructor.
float m_tdcScale
Scale factor for TDC normalization.
void setSpatialCoordinatesScale(float spatialCoordinatesScale)
Set the scale factor for spatial coordinates.
const std::string & getOutputTChargeName() const
Get the name of the output tensor for predicted charges.
void setOutputTCoordinatesName(const std::string &outputTCoordinatesName)
Set the name of the output tensor for condensation coordinates.
float m_tBeta
Threshold for the beta value to select candidate condensation points.
float getTDCScale() const
Get the scale factor for TDC normalization.
void setOutputTMomentumName(const std::string &outputTMomentumName)
Set the name of the output tensor for predicted momenta.
void setOutputTBetaName(const std::string &outputTBetaName)
Set the name of the output tensor for beta values.
const std::string & getOutputTCoordinatesName() const
Get the name of the output tensor for condensation coordinates.
unsigned int m_minNumberHits
Minimum number of associated CDC hits required to form a valid track.
std::string m_outputTMomentumName
Name of the output tensor carrying the predicted momenta.
unsigned int m_latentSpaceNDim
Dimensionality of the latent space used by the GNN.
float m_tDistance
Minimum distance required between condensation points in latent space.
unsigned int m_nInputFeatures
Number of input features per node for the GNN model.
float m_layerScale
Scale factor for normalizing layer indices.
void setLayerScale(float layerScale)
Set the scale factor for normalizing layer indices.
~CATFinderParameters()=default
Destructor.
float m_tdcOffset
Offset applied to TDC counts.
float getTDistance() const
Get the minimum distance required between condensation points in latent space.
void setNInputFeatures(unsigned int nInputFeatures)
Set the number of input features per node for the GNN model.
void setSLayerScale(float slayerScale)
Set the scale factor for normalizing superlayer indices.
ClassDef(CATFinderParameters, 1)
Class version.
void setOutputTVertexName(const std::string &outputTVertexName)
Set the name of the output tensor for predicted vertices.
Abstract base class for different kinds of events.