diff --git a/device/event_model/kalman/include/ParKalmanMath.cuh b/device/event_model/kalman/include/ParKalmanMath.cuh index 2254df475ab790a0b41d83862310c0208b91de35..e4a9cc1f4fe7b21984c5109572a8232f9be252d5 100644 --- a/device/event_model/kalman/include/ParKalmanMath.cuh +++ b/device/event_model/kalman/include/ParKalmanMath.cuh @@ -466,34 +466,6 @@ namespace ParKalmanFilter { const SquareMatrix& F, const SquareMatrix& C); - __device__ __host__ inline SquareMatrix similarity_5_5_VP( - const SquareMatrix& F, - const SquareMatrix& C); - - __device__ __host__ inline SquareMatrix similarity_5_5_VUT( - const SquareMatrix& F, - const SquareMatrix& C); - - __device__ __host__ inline SquareMatrix similarity_5_5_UT( - const SquareMatrix& F, - const SquareMatrix& C); - - __device__ __host__ inline SquareMatrix similarity_5_5_UTT( - const SquareMatrix& F, - const SquareMatrix& C); - - __device__ __host__ inline SquareMatrix similarity_5_5_T( - const SquareMatrix& F, - const SquareMatrix& C); - - __device__ __host__ inline SquareMatrix similarity_5_5_TFT( - const SquareMatrix& F, - const SquareMatrix& C); - - __device__ __host__ inline SquareMatrix similarity_5_5_alt( - const SquareMatrix& F, - const SquareMatrix& C); - __device__ __host__ inline void WeightedAverage( const Vector<5>& x1, const SquareMatrix& C1, @@ -612,14 +584,6 @@ namespace ParKalmanFilter { return a(0) * a(0) * C(0, 0) + 2 * a(1) * a(0) * C(1, 0) + a(1) * a(1) * C(1, 1); } - __device__ __host__ SquareMatrix similarity_5_5_alt( - const SquareMatrix& F, - const SquareMatrix& C) - { - SquareMatrix tmp = F * C; - return AssignSymmetric(tmp * F.T()); - } - __device__ __host__ SquareMatrix similarity_5_5( const SquareMatrix& F, const SquareMatrix& C) @@ -671,244 +635,6 @@ namespace ParKalmanFilter { return A; } - __device__ __host__ SquareMatrix similarity_5_5_VP( - const SquareMatrix& F, - const SquareMatrix& C) - { // implementation of similartity_5_5 that drops alls terms that include F[ROW, COL]=0,1 - // This minimises operations and memory usage - // should only be used in `ExtrapolateInV` will not act as expected ouside of this context. - SquareMatrix A; - KalmanFloat* a = A.vals; - const KalmanFloat* f = F.vals; - const KalmanFloat* c = C.vals; - KalmanFloat _0 = c[0] + c[3] * f[0] + c[10] * f[2]; - KalmanFloat _1 = c[1] + c[4] * f[0] + c[11] * f[2]; - KalmanFloat _2 = c[3] + c[5] * f[0] + c[12] * f[2]; - KalmanFloat _3 = c[6] + c[8] * f[0] + c[13] * f[2]; - KalmanFloat _4 = c[10] + c[12] * f[0] + c[14] * f[2]; - a[0] = _0 + f[0] * _2 + f[2] * _4; - a[1] = _1 + f[1] * _3; - a[3] = _2 + f[3] * _4; - a[6] = _3; - a[10] = _4; - _1 = c[2] + c[7] * f[1]; - _2 = c[4] + c[8] * f[1]; - _3 = c[7] + c[9] * f[1]; - _4 = c[11] + c[13] * f[1]; - a[2] = _1 + f[1] * _3; - a[4] = _2 + f[3] * _4; - a[7] = _3; - a[11] = _4; - _2 = c[5] + c[12] * f[3]; - _3 = c[8] + c[13] * f[3]; - _4 = c[12] + c[14] * f[3]; - a[5] = _2 + f[3] * _4; - a[8] = _3; - a[12] = _4; - a[9] = c[9]; - a[13] = c[13]; - a[14] = c[14]; - return A; - } - - __device__ __host__ SquareMatrix similarity_5_5_VUT( - const SquareMatrix& F, - const SquareMatrix& C) - { - SquareMatrix A; - KalmanFloat* a = A.vals; - const KalmanFloat* f = F.vals; - const KalmanFloat* c = C.vals; - KalmanFloat _0 = c[0] + c[3] * f[2] + c[6] * f[3] + c[10] * f[4]; - KalmanFloat _1 = c[1] + c[4] * f[2] + c[7] * f[3] + c[11] * f[4]; - KalmanFloat _2 = c[3] + c[5] * f[2] + c[8] * f[3] + c[12] * f[4]; - KalmanFloat _3 = c[6] + c[8] * f[2] + c[9] * f[3] + c[13] * f[4]; - KalmanFloat _4 = c[10] + c[12] * f[2] + c[13] * f[3] + c[14] * f[4]; - a[0] = _0 + f[2] * _2 + f[3] * _3 + f[4] * _4; - a[1] = f[6] * _1 + f[7] * _2 + f[8] * _3 + f[9] * _4; - a[3] = f[12] * _2 + f[13] * _3 + f[14] * _4; - a[6] = f[17] * _2 + _3 + f[19] * _4; - a[10] = _4; - _1 = c[2] * f[6] + c[4] * f[7] + c[7] * f[8] + c[11] * f[9]; - _2 = c[4] * f[6] + c[5] * f[7] + c[8] * f[8] + c[12] * f[9]; - _3 = c[7] * f[6] + c[8] * f[7] + c[9] * f[8] + c[13] * f[9]; - _4 = c[11] * f[6] + c[12] * f[7] + c[13] * f[8] + c[14] * f[9]; - a[2] = f[6] * _1 + f[7] * _2 + f[8] * _3 + f[9] * _4; - a[4] = f[12] * _2 + f[13] * _3 + f[14] * _4; - a[7] = f[17] * _2 + _3 + f[19] * _4; - a[11] = _4; - _2 = c[5] * f[12] + c[8] * f[13] + c[12] * f[14]; - _3 = c[8] * f[12] + c[9] * f[13] + c[13] * f[14]; - _4 = c[12] * f[12] + c[13] * f[13] + c[14] * f[14]; - a[5] = f[12] * _2 + f[13] * _3 + f[14] * _4; - a[8] = f[17] * _2 + _3 + f[19] * _4; - a[12] = _4; - _2 = c[5] * f[17] + c[8] + c[12] * f[19]; - _3 = c[8] * f[17] + c[9] + c[13] * f[19]; - _4 = c[12] * f[17] + c[13] + c[14] * f[19]; - a[9] = f[17] * _2 + _3 + f[19] * _4; - a[13] = _4; - a[14] = c[14]; - return A; - } - - __device__ __host__ SquareMatrix similarity_5_5_UT( - const SquareMatrix& F, - const SquareMatrix& C) - { // could also go down more on the tmp variable bu using the A matrix for tmp storage - SquareMatrix A; - KalmanFloat* a = A.vals; - const KalmanFloat* f = F.vals; - const KalmanFloat* c = C.vals; - KalmanFloat _0 = c[0] + c[1] * f[1] + c[3] * f[2] + c[10] * f[4]; - KalmanFloat _1 = c[1] + c[2] * f[1] + c[4] * f[2] + c[11] * f[4]; - KalmanFloat _2 = c[3] + c[4] * f[1] + c[5] * f[2] + c[12] * f[4]; - KalmanFloat _3 = c[6] + c[7] * f[1] + c[8] * f[2] + c[13] * f[4]; - a[10] = c[10] + c[11] * f[1] + c[12] * f[2] + c[14] * f[4]; - a[0] = _0 + f[1] * _1 + f[2] * _2 + f[4] * a[10]; - a[1] = _1 + f[7] * _2 + f[8] * _3 + f[9] * a[10]; - a[3] = f[11] * _1 + _2 + f[14] * a[10]; - a[6] = f[17] * _2 + _3 + f[19] * a[10]; - _1 = c[2] + c[4] * f[7] + c[7] * f[8] + c[11] * f[9]; - _2 = c[4] + c[5] * f[7] + c[8] * f[8] + c[12] * f[9]; - _3 = c[7] + c[8] * f[7] + c[9] * f[8] + c[13] * f[9]; - _0 = c[11] + c[12] * f[7] + c[13] * f[8] + c[14] * f[9]; - a[2] = _1 + f[7] * _2 + f[8] * _3 + f[9] * _0; - a[4] = f[11] * _1 + _2 + f[14] * _0; - a[7] = f[17] * _2 + _3 + f[19] * _0; - a[11] = _0; - _1 = c[2] * f[11] + c[4] + c[11] * f[14]; - _2 = c[4] * f[11] + c[5] + c[12] * f[14]; - _3 = c[7] * f[11] + c[8] + c[13] * f[14]; - a[12] = c[11] * f[11] + c[12] + c[14] * f[14]; - a[5] = f[11] * _1 + _2 + f[14] * a[12]; - a[8] = f[17] * _2 + _3 + f[19] * a[12]; - a[13] = c[12] * f[17] + c[13] + c[14] * f[19]; - a[9] = f[17] * c[5] * f[17] + c[8] + c[12] * f[19] + c[8] * f[17] + c[9] + c[13] * f[19] + f[19] * a[13]; - a[14] = c[14]; - return A; - } - - __device__ __host__ SquareMatrix similarity_5_5_UTT( - const SquareMatrix& F, - const SquareMatrix& C) - { // could also get rid of _4 and use a[n*5 +4] row of a - SquareMatrix A; - KalmanFloat* a = A.vals; - const KalmanFloat* f = F.vals; - const KalmanFloat* c = C.vals; - KalmanFloat _2 = c[3] + c[5] * f[2] + c[8] * f[3] + c[12] * f[4]; - KalmanFloat _3 = c[6] + c[8] * f[2] + c[9] * f[3] + c[13] * f[4]; - KalmanFloat _4 = c[10] + c[12] * f[2] + c[13] * f[3] + c[14] * f[4]; - a[0] = c[0] + c[3] * f[2] + c[6] * f[3] + c[10] * f[4] + f[2] * _2 + f[3] * _3 + f[4] * _4; - a[1] = f[7] * _2 + f[8] * _3 + f[9] * _4; - a[3] = f[12] * _2 + f[13] * _3 + f[14] * _4; - a[6] = f[17] * _2 + f[18] * _3 + f[19] * _4; - a[10] = _4; - _2 = c[5] * f[7] + c[8] * f[8] + c[12] * f[9]; - _3 = c[8] * f[7] + c[9] * f[8] + c[13] * f[9]; - _4 = c[12] * f[7] + c[13] * f[8] + c[14] * f[9]; - a[2] = f[7] * _2 + f[8] * _3 + f[9] * _4; - a[4] = f[12] * _2 + f[13] * _3 + f[14] * _4; - a[7] = f[17] * _2 + f[18] * _3 + f[19] * _4; - a[11] = _4; - _2 = c[5] * f[12] + c[8] * f[13] + c[12] * f[14]; - _3 = c[8] * f[12] + c[9] * f[13] + c[13] * f[14]; - _4 = c[12] * f[12] + c[13] * f[13] + c[14] * f[14]; - a[5] = f[12] * _2 + f[13] * _3 + f[14] * _4; - a[8] = f[17] * _2 + f[18] * _3 + f[19] * _4; - a[12] = _4; - _2 = c[5] * f[17] + c[8] * f[18] + c[12] * f[19]; - _3 = c[8] * f[17] + c[9] * f[18] + c[13] * f[19]; - _4 = c[12] * f[17] + c[13] * f[18] + c[14] * f[19]; - a[9] = f[17] * _2 + f[18] * _3 + f[19] * _4; - a[13] = _4; - - a[14] = c[14]; - return A; - } - - __device__ __host__ SquareMatrix similarity_5_5_T( - const SquareMatrix& F, - const SquareMatrix& C) - { // could still reduce the numer of tmp variables - SquareMatrix A; - KalmanFloat* a = A.vals; - const KalmanFloat* f = F.vals; - const KalmanFloat* c = C.vals; - KalmanFloat _0 = c[0] + c[1] * f[1] + c[3] * f[2] + c[6] * f[3] + c[10] * f[4]; - KalmanFloat _1 = c[1] + c[2] * f[1] + c[4] * f[2] + c[7] * f[3] + c[11] * f[4]; - KalmanFloat _2 = c[3] + c[4] * f[1] + c[5] * f[2] + c[8] * f[3] + c[12] * f[4]; - KalmanFloat _3 = c[6] + c[7] * f[1] + c[8] * f[2] + c[9] * f[3] + c[13] * f[4]; - KalmanFloat _4 = c[10] + c[11] * f[1] + c[12] * f[2] + c[13] * f[3] + c[14] * f[4]; - a[0] = _0 + f[1] * _1 + f[2] * _2 + f[3] * _3 + f[4] * _4; - a[1] = _1 + f[8] * _3 + f[9] * _4; - a[3] = f[11] * _1 + _2 + f[13] * _3 + f[14] * _4; - a[6] = _3 + f[19] * _4; - a[10] = _4; - - _1 = +c[2] + c[7] * f[8] + c[11] * f[9]; - _2 = +c[4] + c[8] * f[8] + c[12] * f[9]; - _3 = +c[7] + c[9] * f[8] + c[13] * f[9]; - _4 = +c[11] + c[13] * f[8] + c[14] * f[9]; - a[2] = _1 + f[8] * _3 + f[9] * _4; - a[4] = f[11] * _1 + _2 + f[13] * _3 + f[14] * _4; - a[7] = _3 + f[19] * _4; - a[11] = _4; - - _1 = c[2] * f[11] + c[4] + c[7] * f[13] + c[11] * f[14]; - _2 = c[4] * f[11] + c[5] + c[8] * f[13] + c[12] * f[14]; - _3 = c[7] * f[11] + c[8] + c[9] * f[13] + c[13] * f[14]; - _4 = c[11] * f[11] + c[12] + c[13] * f[13] + c[14] * f[14]; - a[5] = f[11] * _1 + _2 + f[13] * _3 + f[14] * _4; - a[8] = _3 + f[19] * _4; - a[12] = _4; - - _4 = c[13] + c[14] * f[19]; - a[9] = c[9] + c[13] * f[19] + f[19] * _4; - a[13] = _4; - - a[14] = c[14]; - return A; - } - - __device__ __host__ SquareMatrix similarity_5_5_TFT( - const SquareMatrix& F, - const SquareMatrix& C) - { - SquareMatrix A; - KalmanFloat* a = A.vals; - const KalmanFloat* f = F.vals; - const KalmanFloat* c = C.vals; - KalmanFloat _2 = c[3] + c[5] * f[2] + c[12] * f[4]; - KalmanFloat _3 = c[6] + c[8] * f[2] + c[13] * f[4]; - KalmanFloat _4 = c[10] + c[12] * f[2] + c[14] * f[4]; - a[0] = c[0] + c[3] * f[2] + c[10] * f[4] + f[2] * _2 + f[4] * _4; - a[1] = c[1] + c[4] * f[2] + c[11] * f[4] + f[8] * _3 + f[9] * _4; - a[3] = _2 + f[14] * _4; - a[6] = _3 + f[19] * _4; - a[10] = _4; - _2 = c[4] + c[8] * f[8] + c[12] * f[9]; - _3 = c[7] + c[9] * f[8] + c[13] * f[9]; - _4 = c[11] + c[13] * f[8] + c[14] * f[9]; - a[2] = c[2] + c[7] * f[8] + c[11] * f[9] + f[8] * _3 + f[9] * _4; - a[4] = _2 + f[14] * _4; - a[7] = _3 + f[19] * _4; - a[11] = _4; - _2 = c[5] + c[12] * f[14]; - _3 = c[8] + c[13] * f[14]; - _4 = c[12] + c[14] * f[14]; - a[5] = _2 + f[14] * _4; - a[8] = _3 + f[19] * _4; - a[12] = _4; - _3 = c[9] + c[13] * f[19]; - _4 = c[13] + c[14] * f[19]; - a[9] = _3 + f[19] * _4; - a[13] = _4; - a[14] = c[14]; - return A; - } - __host__ __device__ void WeightedAverage( const Vector<5>& x1, const SquareMatrix& C1, diff --git a/device/kalman/ParKalman/include/ParKalmanMethods.cuh b/device/kalman/ParKalman/include/ParKalmanMethods.cuh index c1781a92b4cfb7702e4afb59a4bafa9cb854360f..395812e13caae76bed5f171d1eefbe6ade6ba7c5 100644 --- a/device/kalman/ParKalman/include/ParKalmanMethods.cuh +++ b/device/kalman/ParKalman/include/ParKalmanMethods.cuh @@ -51,7 +51,7 @@ using namespace ParKalmanFilter; using Vector10 = Vector<10>; using Vector2 = Vector<2>; using SymMatrix2x2 = SquareMatrix; -using Matrix2x2 = SquareMatrix; +using Matrix5x5 = SquareMatrix; // Parameters for beamline propagation and VELO-only Kalman Filter. static constexpr float rffoilscatter = 0.6; @@ -95,7 +95,7 @@ __device__ inline float SciFi_dy(const Allen::Views::SciFi::Consolidated::Track& //////////////////////////////////////////////////////////////////////// // Functions for doing the extrapolation. __device__ inline void -ExtrapolateInV(const float* dev_pars, KalmanFloat zTo, Vector5& x, Matrix2x2& F, SymMatrix5x5& Q, trackInfo& tI) +ExtrapolateInV(const float* dev_pars, KalmanFloat zTo, Vector5& x, Matrix5x5& F, SymMatrix5x5& Q, trackInfo& tI) { // step size in z KalmanFloat dz = zTo - tI.m_Lastz; @@ -114,16 +114,14 @@ ExtrapolateInV(const float* dev_pars, KalmanFloat zTo, Vector5& x, Matrix2x2& F, x[1] += x[3] * dz; // determine the Jacobian - // NB: F is *not* the standard definition of f_ij = del f_i / del x_j - // would be F(0,2), F(1,3) - F(0, 0) = dz; - F(0, 1) = dz; + F(0, 2) = dz; + F(1, 3) = dz; - // would be F(2, 4) - F(1, 0) = par; + // tx + F(2, 4) = par; - // would be F(0,4) - F(1, 1) = ((KalmanFloat) 0.5) * dz * F(1, 0); + // x + F(0, 4) = ((KalmanFloat) 0.5) * dz * F(2, 4); // Set noise matrix KalmanFloat sigt = dev_pars[index_offset + 0] * ((KalmanFloat) 1.0e-5) + dev_pars[index_offset + 1] * fabsf(x[4]); @@ -775,13 +773,14 @@ __device__ inline void PredictStateV( { // Transportation and noise. - Matrix2x2 F; + Matrix5x5 F; + F.SetElements(F_diag); SymMatrix5x5 Q; Q.SetElements(Q_sym_zero); ExtrapolateInV(dev_pars, (KalmanFloat) track.hit(nHit).z(), x, F, Q, tI); // Transport the covariance matrix. - C = similarity_5_5_VP(F, C); + C = similarity_5_5(F, C); // Add noise. // C = C + Q; @@ -828,7 +827,7 @@ __device__ inline void PredictStateVUT( // Init transport matrix tI.m_RefPropForwardTotal = F; // Transport the covariance matrix - C = similarity_5_5_VUT(F, C); + C = similarity_5_5(F, C); // Add noise. // C = C + Q; @@ -863,7 +862,7 @@ __device__ inline void PredictStateUT( ExtrapolateInUT(dev_pars, zTo, x, F, Q, tI, layer); tI.m_RefPropForwardTotal = F * tI.m_RefPropForwardTotal; - C = similarity_5_5_UT(F, C); + C = similarity_5_5(F, C); // C = C + Q; AeApB(C, Q); // tI.m_Lastz = zTo; // is set in the ExtrapolateInUT function @@ -883,7 +882,7 @@ __device__ inline void PredictStateTFT( // Transport the covariance matrix. tI.m_RefPropForwardTotal = F * tI.m_RefPropForwardTotal; - C = similarity_5_5_TFT(F, C); + C = similarity_5_5(F, C); // lastz = z; Done in extrapolate } //---------------------------------------------------------------------- @@ -912,7 +911,7 @@ __device__ inline void PredictStateUTT( // Q is not physical, since the scattering would be double counted otherwise. -> Potential to save on the calculation // F is a physical transport that needs to be added to tI.m_RefPropForwardTotal tI.m_RefPropForwardTotal = F * tI.m_RefPropForwardTotal; - C = similarity_5_5_UT(F, C); + C = similarity_5_5(F, C); tI.m_Lastz = zBegin; // not really needed but good for understanding. // Calculate the extrapolation for a reference state that uses @@ -933,7 +932,7 @@ __device__ inline void PredictStateUTT( // Transport covariance matrix. tI.m_RefPropForwardTotal = F * tI.m_RefPropForwardTotal; - C = similarity_5_5_UTT(F, C); + C = similarity_5_5(F, C); // C = C + Q; AeApB(C, Q); @@ -980,7 +979,7 @@ __device__ inline void PredictStateT( // Transport matrix tI.m_RefPropForwardTotal = F * tI.m_RefPropForwardTotal; - C = similarity_5_5_T(F, C); + C = similarity_5_5(F, C); // C = C + Q; AeApB(C, Q); // tI.m_Lastz = zTo; Done in extrapolate diff --git a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_a5000.txt b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_a5000.txt index ee7983b87fe75680907c2750f249730588abd1ce..8a214a5e73920df9434aa0fa962c302ad7f2d5a9 100644 --- a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_a5000.txt +++ b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_a5000.txt @@ -90,11 +90,11 @@ Hlt1ConeJet100GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet15GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet30GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet50GeV: 0/ 500, ( 0.00 +/- 0.00) kHz -Hlt1D2KK: 18/ 500, ( 1080.00 +/- 249.93) kHz -Hlt1D2KPi: 29/ 500, ( 1740.00 +/- 313.60) kHz +Hlt1D2KK: 19/ 500, ( 1140.00 +/- 256.52) kHz +Hlt1D2KPi: 31/ 500, ( 1860.00 +/- 323.54) kHz Hlt1D2KPiAlignment: 8/ 500, ( 480.00 +/- 168.34) kHz Hlt1D2Kshh: 3/ 500, ( 180.00 +/- 103.61) kHz -Hlt1D2PiPi: 17/ 500, ( 1020.00 +/- 243.14) kHz +Hlt1D2PiPi: 16/ 500, ( 960.00 +/- 236.13) kHz Hlt1DetJpsiToMuMuNegTagLine: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DetJpsiToMuMuPosTagLine: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DiElectronDisplaced: 6/ 500, ( 360.00 +/- 146.08) kHz @@ -168,17 +168,17 @@ Hlt1SingleHighPtMuon: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1SingleHighPtMuonNoMuID: 3/ 500, ( 180.00 +/- 103.61) kHz Hlt1TAEPassthrough: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1TauToPhiMu: 3/ 500, ( 180.00 +/- 103.61) kHz -Hlt1TrackElectronMVA: 22/ 500, ( 1320.00 +/- 275.16) kHz +Hlt1TrackElectronMVA: 23/ 500, ( 1380.00 +/- 281.05) kHz Hlt1TrackMVA: 120/ 500, ( 7200.00 +/- 572.99) kHz Hlt1TrackMuonMVA: 13/ 500, ( 780.00 +/- 213.50) kHz Hlt1TwoKs: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1TwoTrackKs: 4/ 500, ( 240.00 +/- 119.52) kHz -Hlt1TwoTrackMVA: 302/ 500, (18120.00 +/- 656.15) kHz +Hlt1TwoTrackMVA: 303/ 500, (18180.00 +/- 655.57) kHz Hlt1UpsilonAlignment: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1VeloMicroBias: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1VeloMicroBiasVeloClosing: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1XiOmegaLLL: 0/ 500, ( 0.00 +/- 0.00) kHz -Inclusive: 324/ 500, (19440.00 +/- 640.76) kHz +Inclusive: 325/ 500, (19500.00 +/- 639.92) kHz seed_validator validation: @@ -302,11 +302,11 @@ Hlt1ConeJet100GeV: 0 0 Hlt1ConeJet15GeV: 0 0 Hlt1ConeJet30GeV: 0 0 Hlt1ConeJet50GeV: 0 0 -Hlt1D2KK: 18 19 -Hlt1D2KPi: 29 31 +Hlt1D2KK: 19 20 +Hlt1D2KPi: 31 33 Hlt1D2KPiAlignment: 8 8 Hlt1D2Kshh: 3 3 -Hlt1D2PiPi: 17 18 +Hlt1D2PiPi: 16 17 Hlt1DetJpsiToMuMuNegTagLine: 0 0 Hlt1DetJpsiToMuMuPosTagLine: 0 0 Hlt1DiElectronDisplaced: 6 6 @@ -380,23 +380,23 @@ Hlt1SingleHighPtMuon: 1 1 Hlt1SingleHighPtMuonNoMuID: 3 3 Hlt1TAEPassthrough: 0 0 Hlt1TauToPhiMu: 3 3 -Hlt1TrackElectronMVA: 22 23 -Hlt1TrackMVA: 120 187 +Hlt1TrackElectronMVA: 23 24 +Hlt1TrackMVA: 120 186 Hlt1TrackMuonMVA: 13 13 Hlt1TwoKs: 1 1 Hlt1TwoTrackKs: 4 5 -Hlt1TwoTrackMVA: 302 1033 +Hlt1TwoTrackMVA: 303 1039 Hlt1UpsilonAlignment: 0 0 Hlt1VeloMicroBias: 1 0 Hlt1VeloMicroBiasVeloClosing: 0 0 Hlt1XiOmegaLLL: 0 0 -Total decisions: 568 -Total tracks: 1165 +Total decisions: 572 +Total tracks: 1171 Total calos clusters: 9 -Total SVs: 1088 -Total hits: 30249 -Total stdinfo: 14276 +Total SVs: 1097 +Total hits: 30397 +Total stdinfo: 14364 velo_validator validation: diff --git a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_epyc7502.txt b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_epyc7502.txt index 9a554fd49703539572db055f14001df72730f8d4..2d26879514b393396311580a09f9b64677ec846c 100644 --- a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_epyc7502.txt +++ b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_epyc7502.txt @@ -123,8 +123,8 @@ Hlt1DiMuonNoIP_SS: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DiMuonSoft: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DiPhotonHighMass: 3/ 500, ( 180.00 +/- 103.61) kHz Hlt1DiProtonHighMass: 0/ 500, ( 0.00 +/- 0.00) kHz -Hlt1Dst2D0Pi: 0/ 500, ( 0.00 +/- 0.00) kHz -Hlt1Dst2D0PiAlignment: 0/ 500, ( 0.00 +/- 0.00) kHz +Hlt1Dst2D0Pi: 1/ 500, ( 60.00 +/- 59.94) kHz +Hlt1Dst2D0PiAlignment: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1ErrorBank: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1GECPassthrough: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1Kplus2PiEE: 0/ 500, ( 0.00 +/- 0.00) kHz @@ -173,12 +173,12 @@ Hlt1TrackMVA: 120/ 500, ( 7200.00 +/- 572.99) kHz Hlt1TrackMuonMVA: 13/ 500, ( 780.00 +/- 213.50) kHz Hlt1TwoKs: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1TwoTrackKs: 4/ 500, ( 240.00 +/- 119.52) kHz -Hlt1TwoTrackMVA: 305/ 500, (18300.00 +/- 654.39) kHz +Hlt1TwoTrackMVA: 304/ 500, (18240.00 +/- 654.98) kHz Hlt1UpsilonAlignment: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1VeloMicroBias: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1VeloMicroBiasVeloClosing: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1XiOmegaLLL: 0/ 500, ( 0.00 +/- 0.00) kHz -Inclusive: 326/ 500, (19560.00 +/- 639.07) kHz +Inclusive: 325/ 500, (19500.00 +/- 639.92) kHz seed_validator validation: @@ -309,7 +309,7 @@ Hlt1D2Kshh: 2 2 Hlt1D2PiPi: 15 16 Hlt1DetJpsiToMuMuNegTagLine: 0 0 Hlt1DetJpsiToMuMuPosTagLine: 0 0 -Hlt1DiElectronDisplaced: 4 4 +Hlt1DiElectronDisplaced: 4 5 Hlt1DiElectronHighMass: 0 0 Hlt1DiElectronHighMass_SS: 0 0 Hlt1DiElectronLowMass_Displaced: 1 1 @@ -335,8 +335,8 @@ Hlt1DiMuonNoIP_SS: 0 0 Hlt1DiMuonSoft: 0 0 Hlt1DiPhotonHighMass: 3 6 Hlt1DiProtonHighMass: 0 0 -Hlt1Dst2D0Pi: 0 0 -Hlt1Dst2D0PiAlignment: 0 0 +Hlt1Dst2D0Pi: 1 1 +Hlt1Dst2D0PiAlignment: 1 1 Hlt1ErrorBank: 0 0 Hlt1GECPassthrough: 0 0 Hlt1Kplus2PiEE: 0 0 @@ -381,22 +381,22 @@ Hlt1SingleHighPtMuonNoMuID: 3 3 Hlt1TAEPassthrough: 0 0 Hlt1TauToPhiMu: 3 3 Hlt1TrackElectronMVA: 22 23 -Hlt1TrackMVA: 120 189 +Hlt1TrackMVA: 120 188 Hlt1TrackMuonMVA: 13 13 Hlt1TwoKs: 1 1 Hlt1TwoTrackKs: 4 5 -Hlt1TwoTrackMVA: 305 1033 +Hlt1TwoTrackMVA: 304 1042 Hlt1UpsilonAlignment: 0 0 Hlt1VeloMicroBias: 1 0 Hlt1VeloMicroBiasVeloClosing: 0 0 Hlt1XiOmegaLLL: 0 0 -Total decisions: 564 -Total tracks: 1157 +Total decisions: 565 +Total tracks: 1166 Total calos clusters: 9 -Total SVs: 1083 -Total hits: 30058 -Total stdinfo: 14188 +Total SVs: 1094 +Total hits: 30331 +Total stdinfo: 14305 velo_validator validation: diff --git a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx2080ti.txt b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx2080ti.txt index ee7983b87fe75680907c2750f249730588abd1ce..8a214a5e73920df9434aa0fa962c302ad7f2d5a9 100644 --- a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx2080ti.txt +++ b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx2080ti.txt @@ -90,11 +90,11 @@ Hlt1ConeJet100GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet15GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet30GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet50GeV: 0/ 500, ( 0.00 +/- 0.00) kHz -Hlt1D2KK: 18/ 500, ( 1080.00 +/- 249.93) kHz -Hlt1D2KPi: 29/ 500, ( 1740.00 +/- 313.60) kHz +Hlt1D2KK: 19/ 500, ( 1140.00 +/- 256.52) kHz +Hlt1D2KPi: 31/ 500, ( 1860.00 +/- 323.54) kHz Hlt1D2KPiAlignment: 8/ 500, ( 480.00 +/- 168.34) kHz Hlt1D2Kshh: 3/ 500, ( 180.00 +/- 103.61) kHz -Hlt1D2PiPi: 17/ 500, ( 1020.00 +/- 243.14) kHz +Hlt1D2PiPi: 16/ 500, ( 960.00 +/- 236.13) kHz Hlt1DetJpsiToMuMuNegTagLine: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DetJpsiToMuMuPosTagLine: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DiElectronDisplaced: 6/ 500, ( 360.00 +/- 146.08) kHz @@ -168,17 +168,17 @@ Hlt1SingleHighPtMuon: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1SingleHighPtMuonNoMuID: 3/ 500, ( 180.00 +/- 103.61) kHz Hlt1TAEPassthrough: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1TauToPhiMu: 3/ 500, ( 180.00 +/- 103.61) kHz -Hlt1TrackElectronMVA: 22/ 500, ( 1320.00 +/- 275.16) kHz +Hlt1TrackElectronMVA: 23/ 500, ( 1380.00 +/- 281.05) kHz Hlt1TrackMVA: 120/ 500, ( 7200.00 +/- 572.99) kHz Hlt1TrackMuonMVA: 13/ 500, ( 780.00 +/- 213.50) kHz Hlt1TwoKs: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1TwoTrackKs: 4/ 500, ( 240.00 +/- 119.52) kHz -Hlt1TwoTrackMVA: 302/ 500, (18120.00 +/- 656.15) kHz +Hlt1TwoTrackMVA: 303/ 500, (18180.00 +/- 655.57) kHz Hlt1UpsilonAlignment: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1VeloMicroBias: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1VeloMicroBiasVeloClosing: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1XiOmegaLLL: 0/ 500, ( 0.00 +/- 0.00) kHz -Inclusive: 324/ 500, (19440.00 +/- 640.76) kHz +Inclusive: 325/ 500, (19500.00 +/- 639.92) kHz seed_validator validation: @@ -302,11 +302,11 @@ Hlt1ConeJet100GeV: 0 0 Hlt1ConeJet15GeV: 0 0 Hlt1ConeJet30GeV: 0 0 Hlt1ConeJet50GeV: 0 0 -Hlt1D2KK: 18 19 -Hlt1D2KPi: 29 31 +Hlt1D2KK: 19 20 +Hlt1D2KPi: 31 33 Hlt1D2KPiAlignment: 8 8 Hlt1D2Kshh: 3 3 -Hlt1D2PiPi: 17 18 +Hlt1D2PiPi: 16 17 Hlt1DetJpsiToMuMuNegTagLine: 0 0 Hlt1DetJpsiToMuMuPosTagLine: 0 0 Hlt1DiElectronDisplaced: 6 6 @@ -380,23 +380,23 @@ Hlt1SingleHighPtMuon: 1 1 Hlt1SingleHighPtMuonNoMuID: 3 3 Hlt1TAEPassthrough: 0 0 Hlt1TauToPhiMu: 3 3 -Hlt1TrackElectronMVA: 22 23 -Hlt1TrackMVA: 120 187 +Hlt1TrackElectronMVA: 23 24 +Hlt1TrackMVA: 120 186 Hlt1TrackMuonMVA: 13 13 Hlt1TwoKs: 1 1 Hlt1TwoTrackKs: 4 5 -Hlt1TwoTrackMVA: 302 1033 +Hlt1TwoTrackMVA: 303 1039 Hlt1UpsilonAlignment: 0 0 Hlt1VeloMicroBias: 1 0 Hlt1VeloMicroBiasVeloClosing: 0 0 Hlt1XiOmegaLLL: 0 0 -Total decisions: 568 -Total tracks: 1165 +Total decisions: 572 +Total tracks: 1171 Total calos clusters: 9 -Total SVs: 1088 -Total hits: 30249 -Total stdinfo: 14276 +Total SVs: 1097 +Total hits: 30397 +Total stdinfo: 14364 velo_validator validation: diff --git a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx3090.txt b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx3090.txt index ee7983b87fe75680907c2750f249730588abd1ce..8a214a5e73920df9434aa0fa962c302ad7f2d5a9 100644 --- a/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx3090.txt +++ b/test/reference/Beam6800GeV-expected-2024-MagDown-nu7.6_Bs2PhiPhiMD_nSciFiHits_hlt1_pp_forward_then_matching_with_parkf_validation_geforcertx3090.txt @@ -90,11 +90,11 @@ Hlt1ConeJet100GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet15GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet30GeV: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1ConeJet50GeV: 0/ 500, ( 0.00 +/- 0.00) kHz -Hlt1D2KK: 18/ 500, ( 1080.00 +/- 249.93) kHz -Hlt1D2KPi: 29/ 500, ( 1740.00 +/- 313.60) kHz +Hlt1D2KK: 19/ 500, ( 1140.00 +/- 256.52) kHz +Hlt1D2KPi: 31/ 500, ( 1860.00 +/- 323.54) kHz Hlt1D2KPiAlignment: 8/ 500, ( 480.00 +/- 168.34) kHz Hlt1D2Kshh: 3/ 500, ( 180.00 +/- 103.61) kHz -Hlt1D2PiPi: 17/ 500, ( 1020.00 +/- 243.14) kHz +Hlt1D2PiPi: 16/ 500, ( 960.00 +/- 236.13) kHz Hlt1DetJpsiToMuMuNegTagLine: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DetJpsiToMuMuPosTagLine: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1DiElectronDisplaced: 6/ 500, ( 360.00 +/- 146.08) kHz @@ -168,17 +168,17 @@ Hlt1SingleHighPtMuon: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1SingleHighPtMuonNoMuID: 3/ 500, ( 180.00 +/- 103.61) kHz Hlt1TAEPassthrough: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1TauToPhiMu: 3/ 500, ( 180.00 +/- 103.61) kHz -Hlt1TrackElectronMVA: 22/ 500, ( 1320.00 +/- 275.16) kHz +Hlt1TrackElectronMVA: 23/ 500, ( 1380.00 +/- 281.05) kHz Hlt1TrackMVA: 120/ 500, ( 7200.00 +/- 572.99) kHz Hlt1TrackMuonMVA: 13/ 500, ( 780.00 +/- 213.50) kHz Hlt1TwoKs: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1TwoTrackKs: 4/ 500, ( 240.00 +/- 119.52) kHz -Hlt1TwoTrackMVA: 302/ 500, (18120.00 +/- 656.15) kHz +Hlt1TwoTrackMVA: 303/ 500, (18180.00 +/- 655.57) kHz Hlt1UpsilonAlignment: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1VeloMicroBias: 1/ 500, ( 60.00 +/- 59.94) kHz Hlt1VeloMicroBiasVeloClosing: 0/ 500, ( 0.00 +/- 0.00) kHz Hlt1XiOmegaLLL: 0/ 500, ( 0.00 +/- 0.00) kHz -Inclusive: 324/ 500, (19440.00 +/- 640.76) kHz +Inclusive: 325/ 500, (19500.00 +/- 639.92) kHz seed_validator validation: @@ -302,11 +302,11 @@ Hlt1ConeJet100GeV: 0 0 Hlt1ConeJet15GeV: 0 0 Hlt1ConeJet30GeV: 0 0 Hlt1ConeJet50GeV: 0 0 -Hlt1D2KK: 18 19 -Hlt1D2KPi: 29 31 +Hlt1D2KK: 19 20 +Hlt1D2KPi: 31 33 Hlt1D2KPiAlignment: 8 8 Hlt1D2Kshh: 3 3 -Hlt1D2PiPi: 17 18 +Hlt1D2PiPi: 16 17 Hlt1DetJpsiToMuMuNegTagLine: 0 0 Hlt1DetJpsiToMuMuPosTagLine: 0 0 Hlt1DiElectronDisplaced: 6 6 @@ -380,23 +380,23 @@ Hlt1SingleHighPtMuon: 1 1 Hlt1SingleHighPtMuonNoMuID: 3 3 Hlt1TAEPassthrough: 0 0 Hlt1TauToPhiMu: 3 3 -Hlt1TrackElectronMVA: 22 23 -Hlt1TrackMVA: 120 187 +Hlt1TrackElectronMVA: 23 24 +Hlt1TrackMVA: 120 186 Hlt1TrackMuonMVA: 13 13 Hlt1TwoKs: 1 1 Hlt1TwoTrackKs: 4 5 -Hlt1TwoTrackMVA: 302 1033 +Hlt1TwoTrackMVA: 303 1039 Hlt1UpsilonAlignment: 0 0 Hlt1VeloMicroBias: 1 0 Hlt1VeloMicroBiasVeloClosing: 0 0 Hlt1XiOmegaLLL: 0 0 -Total decisions: 568 -Total tracks: 1165 +Total decisions: 572 +Total tracks: 1171 Total calos clusters: 9 -Total SVs: 1088 -Total hits: 30249 -Total stdinfo: 14276 +Total SVs: 1097 +Total hits: 30397 +Total stdinfo: 14364 velo_validator validation: