4343#include < stdexcept>
4444#include < utility>
4545
46+ constexpr float ArbitrarySmallNumber{1e-8f };
47+ constexpr float ArbitraryHugeNumber{1e8f};
48+ constexpr float UndefLdLValue{9999 .f };
49+ constexpr int NumberOfMomentumComponents{3 };
50+ constexpr int NumberOfCovMatrixComponents{21 };
51+
4652// / @brief Function to create a KFPVertex from the collision table in the AO2Ds.
4753// / The Multiplicity table is required to set the number of real PV Contributors
4854// / This function works only for Run 3 data.
@@ -72,7 +78,7 @@ KFPTrack createKFPTrack(const o2::track::TrackParametrizationWithError<float>& t
7278{
7379 std::array<float , 3 > trkpos_par{};
7480 std::array<float , 3 > trkmom_par{};
75- std::array<float , 21 > trk_cov{};
81+ std::array<float , NumberOfCovMatrixComponents > trk_cov{};
7682 trackparCov.getXYZGlo (trkpos_par);
7783 trackparCov.getPxPyPzGlo (trkmom_par);
7884 trackparCov.getCovXYZPxPyPzGlo (trk_cov);
@@ -126,12 +132,12 @@ KFParticle createKFParticleFromTrackParCov(const o2::track::TrackParametrization
126132 float xyzpxpypz[6 ];
127133 trackparCov.getPxPyPzGlo (pxpypz);
128134 trackparCov.getXYZGlo (xyz);
129- for (int i{0 }; i < 3 ; ++i) {
135+ for (int i{0 }; i < NumberOfMomentumComponents ; ++i) {
130136 xyzpxpypz[i] = xyz[i];
131137 xyzpxpypz[i + 3 ] = pxpypz[i];
132138 }
133139
134- std::array<float , 21 > cv{};
140+ std::array<float , NumberOfCovMatrixComponents > cv{};
135141 try {
136142 trackparCov.getCovXYZPxPyPzGlo (cv);
137143 } catch (std::runtime_error& e) {
@@ -162,7 +168,7 @@ KFParticle createKFParticleFromTrackParCov(const o2::track::TrackParametrization
162168o2::track::TrackParCov getTrackParCovFromKFP (const KFParticle& kfParticle, const o2::track::PID pid, const int sign)
163169{
164170 std::array<float , 3 > xyz{}, pxpypz{};
165- std::array<float , 21 > cv{};
171+ std::array<float , NumberOfCovMatrixComponents > cv{};
166172
167173 // get parameters from kfParticle
168174 xyz[0 ] = kfParticle.GetX ();
@@ -173,7 +179,7 @@ o2::track::TrackParCov getTrackParCovFromKFP(const KFParticle& kfParticle, const
173179 pxpypz[2 ] = kfParticle.GetPz ();
174180
175181 // set covariance matrix elements (lower triangle)
176- for (int i = 0 ; i < 21 ; i++) {
182+ for (int i = 0 ; i < NumberOfCovMatrixComponents ; i++) {
177183 cv[i] = kfParticle.GetCovariance (i);
178184 }
179185
@@ -293,11 +299,11 @@ float ldlFromKF(KFParticle kfpParticle, KFParticle PV)
293299 const float dz_particle = PV.GetZ () - kfpParticle.GetZ ();
294300 float l_particle = std::sqrt (dx_particle * dx_particle + dy_particle * dy_particle + dz_particle * dz_particle);
295301 float dl_particle = (PV.GetCovariance (0 ) + kfpParticle.GetCovariance (0 )) * dx_particle * dx_particle + (PV.GetCovariance (2 ) + kfpParticle.GetCovariance (2 )) * dy_particle * dy_particle + (PV.GetCovariance (5 ) + kfpParticle.GetCovariance (5 )) * dz_particle * dz_particle + 2 * ((PV.GetCovariance (1 ) + kfpParticle.GetCovariance (1 )) * dx_particle * dy_particle + (PV.GetCovariance (3 ) + kfpParticle.GetCovariance (3 )) * dx_particle * dz_particle + (PV.GetCovariance (4 ) + kfpParticle.GetCovariance (4 )) * dy_particle * dz_particle);
296- if (std::fabs (l_particle) < 1 . e - 8f )
297- l_particle = 1 . e - 8f ;
298- dl_particle = dl_particle < 0 .f ? 1 . e8f : std::sqrt (dl_particle) / l_particle;
302+ if (std::fabs (l_particle) < ArbitrarySmallNumber )
303+ l_particle = ArbitrarySmallNumber ;
304+ dl_particle = dl_particle < 0 .f ? ArbitraryHugeNumber : std::sqrt (dl_particle) / l_particle;
299305 if (dl_particle == 0 .)
300- return 9999 . ;
306+ return UndefLdLValue ;
301307 return l_particle / dl_particle;
302308}
303309
@@ -311,11 +317,11 @@ float ldlXYFromKF(KFParticle kfpParticle, KFParticle PV)
311317 const float dy_particle = PV.GetY () - kfpParticle.GetY ();
312318 float l_particle = std::sqrt (dx_particle * dx_particle + dy_particle * dy_particle);
313319 float dl_particle = (PV.GetCovariance (0 ) + kfpParticle.GetCovariance (0 )) * dx_particle * dx_particle + (PV.GetCovariance (2 ) + kfpParticle.GetCovariance (2 )) * dy_particle * dy_particle + 2 * ((PV.GetCovariance (1 ) + kfpParticle.GetCovariance (1 )) * dx_particle * dy_particle);
314- if (std::fabs (l_particle) < 1 . e - 8f )
315- l_particle = 1 . e - 8f ;
316- dl_particle = dl_particle < 0 .f ? 1 . e8f : std::sqrt (dl_particle) / l_particle;
320+ if (std::fabs (l_particle) < ArbitrarySmallNumber )
321+ l_particle = ArbitrarySmallNumber ;
322+ dl_particle = dl_particle < 0 .f ? ArbitraryHugeNumber : std::sqrt (dl_particle) / l_particle;
317323 if (dl_particle == 0 .)
318- return 9999 . ;
324+ return UndefLdLValue ;
319325 return l_particle / dl_particle;
320326}
321327
0 commit comments