SOA Track fix (follow up !2356)
Fix conflicts with master. Related to !2356 (merged). Run concurrent to Phys!925 (closed) and LHCb!3011 (closed).
Merge request reports
Activity
163 164 template <typename T> 164 165 constexpr bool is_legacy_particle = std::is_same_v<LHCb::Particle, T>; 165 166 167 template <typename T> 168 constexpr bool has_tracklike_API= std::is_same_v<LHCb::v2::Event::Tracks, T> || 169 std::is_same_v<LHCb::Pr::detail::proxy_type<SIMDWrapper::SSE, LHCb::Pr::ProxyBehaviour::ScatterGather, const LHCb::v2::Event::Tracks>, T> || 170 std::is_same_v<LHCb::Pr::detail::proxy_type<SIMDWrapper::Scalar, LHCb::Pr::ProxyBehaviour::ScatterGather, const LHCb::v2::Event::Tracks>, T> || 171 std::is_same_v<LHCb::Pr::detail::proxy_type<SIMDWrapper::Scalar, LHCb::Pr::ProxyBehaviour::ScalarFill, const LHCb::Pr::Muon::PIDs, const LHCb::v2::AssignedMasses, const LHCb::v2::CombDLLs, const LHCb::v2::Event::Tracks, const LHCb::v2::ParticleIDs, const LHCb::v2::RichPIDs>, T> || 172 std::is_same_v<LHCb::Pr::detail::proxy_type<SIMDWrapper::Scalar, LHCb::Pr::ProxyBehaviour::ScatterGather, const LHCb::Pr::Muon::PIDs, const LHCb::v2::AssignedMasses, const LHCb::v2::CombDLLs, const LHCb::v2::Event::Tracks, const LHCb::v2::ParticleIDs, const LHCb::v2::RichPIDs>, T> || 173 std::is_same_v<LHCb::Pr::detail::proxy_type<SIMDWrapper::SSE, LHCb::Pr::ProxyBehaviour::ScatterGather, const LHCb::Pr::Muon::PIDs, const LHCb::v2::AssignedMasses, const LHCb::v2::CombDLLs, const LHCb::v2::Event::Tracks, const LHCb::v2::ParticleIDs, const LHCb::v2::RichPIDs>, T> || 174 std::is_same_v<LHCb::Pr::detail::proxy_type<SIMDWrapper::SSE, LHCb::Pr::ProxyBehaviour::ScalarFill, const LHCb::Pr::Muon::PIDs, const LHCb::v2::AssignedMasses, const LHCb::v2::CombDLLs, const LHCb::v2::Event::Tracks, const LHCb::v2::ParticleIDs, const LHCb::v2::RichPIDs>, T>|| 175 std::is_same_v<LHCb::Pr::detail::proxy_type<SIMDWrapper::SSE, LHCb::Pr::ProxyBehaviour::Contiguous, const LHCb::Pr::Muon::PIDs, const LHCb::v2::AssignedMasses, const LHCb::v2::CombDLLs, const LHCb::v2::Event::Tracks, const LHCb::v2::ParticleIDs, const LHCb::v2::RichPIDs>,T>; 176 instead of explicitly enumerating all types which are considered 'OK', would it not be better to generically verify that they satisfy certain criteria (i.e. if we were to use C++20, one would require them to satisfy a
concept
)?Specifically, one can use the
detected
idiom - see for example here, and defined here and documented here. That would avoid having to keep this list 'in sync' explicitly... and it would make it easier to migrate to use C++20 concepts when we finally move to gcc10...
38 41 struct X : public Function { 39 42 template <typename Data> 40 43 auto operator()( Data const& d ) const { 41 return Sel::Utils::deref_if_ptr( d ).x(); 44 if constexpr ( Sel::Utils::has_tracklike_API<Data>) 45 return Sel::Utils::deref_if_ptr( d ).x( (d.has_state(StateLocation::ClosestToBeam))? StateLocation::ClosestToBeam : StateLocation::FirstMeasurement); as you know I don't like code which tries to 'guess' what the caller really wants -- so I would like (eventually) see that
struct X
would get some internal 'state', namely for which 'location' it should returnX
-- i.e.X
would have to be constructed with an explicit location as argument -- as in generalX
is (as currently specified) not uniquely defined, and hence the caller (i.e. whatever code createsX
) should be forced to explicitly specify the missing information (same holds forY
, ... etc). But feel free to resolve this into an issue and get back to it later.
mentioned in merge request !2356 (merged)
- Resolved by Rosen Matev
/ci-test --merge
assigned to @jbaptist
added ci-test-triggered label
- [2021-04-20 18:27] Validation started with lhcb-master-mr#2224
- Resolved by Rosen Matev
This does not appear to fix the issues, the builds still fail.
added 39 commits
- 7352fdec - Added test for v2_tracks
- ab6a4ea0 - Add draft of the track converter
- e424f613 - Fixed formatting
- 3c52f6aa - Use KeyedContainer as the input argument instead of a vector for v1::Track objects
- 71bdebac - Changed names to Generic / Necessary Bracket added to new converter
- c5f347bd - Fixed formatting
- 55983c05 - Converters for PrFittedGeneric tracks
- dff3d4fa - Merge branch 'mramospe-generic-tracks' into 'alexgilman_v2tracks'
- 59d2ee89 - Replaced Particle_v2 with PrGenericTracks instead of PrFittedTracks
- aae40532 - Move functions to convert the tracks to LHCb
- 1757d6e6 - Allow to restrict the track types to convert
- ca56a346 - Updated for dumping Generic tracks
- 7e391d44 - Merge branch 'alexgilman_v2tracks' of https://gitlab.cern.ch/lhcb/Rec into alexgilman_v2tracks
- a4a62d76 - Change the name of the template track converter
- 9c421a4d - Use enum names as an input to the converters
- 2e85c6d2 - Add QMT test for the track converters
- 1dccaa22 - Tell to run the tests in CMakeLists.txt
- 840361db - Simplify conversions
- 6a5c0753 - Updating to account changes in GenericTrack->Track_SOA
- b1ef652c - Updating to account changing in GenericTrack->Track_SOA
- 6732c4f2 - Fixed formatting
- 40c24ab6 - Merge remote-tracking branch 'origin/master' into alexgilman_v2tracks
- 1c51f8ab - Bug fix in convert_tracks.py
- bddb5ff6 - Fixed formatting
- 0f9db83d - Updated accessors to TrackLike objects. has_tracklike_API function added to...
- 5dade0f1 - Fixed formatting
- b7b83cf1 - Updated based on removal of closestToBeamState in Track_SOA
- 2995202b - Fixed formatting
- e91a8a2c - Added support for AVX2 in has_tracklike_API
- 277845c0 - simplify and generalise has_tracklike_API function
- 6f23e94a - Fixed formatting
- a1b7e9b7 - Apply 1 suggestion(s) to 1 file(s)
- 0d0eabab - Fixed formatting
- 902cad2c - Apply 1 suggestion(s) to 1 file(s)
- 0c784a2f - Fixed formatting
- 680d24e3 - Renamed Track_SOA state accessors
- 910ded8d - Merge DistanceCalculator
- cf19ad99 - Resolve conflicts
- e333f43a - Resolve Conflicts
Toggle commit listmentioned in merge request Phys!925 (closed)
mentioned in merge request LHCb!3011 (closed)
@jbaptist Is it possible to run a test on the most recent commits? Please run with Phys!925 (closed) and LHCb!3011 (closed)
- Resolved by Rosen Matev
/ci-test --merge Phys!925 (closed) LHCb!3011 (closed)
added 37 commits
-
e333f43a...72332504 - 2 commits from branch
master
- cc5cd06e - fix distance calulator
- bb6c444b - Added test for v2_tracks
- d019f6ce - Add draft of the track converter
- 17db3587 - Fixed formatting
- c2214451 - Use KeyedContainer as the input argument instead of a vector for v1::Track objects
- 46e87c28 - Changed names to Generic / Necessary Bracket added to new converter
- 838c1d19 - Fixed formatting
- 1b0b3cc8 - Converters for PrFittedGeneric tracks
- 31dcb648 - Replaced Particle_v2 with PrGenericTracks instead of PrFittedTracks
- b1b881c8 - Updated for dumping Generic tracks
- 4450f0d2 - Move functions to convert the tracks to LHCb
- 5e35ca13 - Allow to restrict the track types to convert
- bb9850c2 - Updating to account changes in GenericTrack->Track_SOA
- ee13c342 - Change the name of the template track converter
- e4fc01a5 - Use enum names as an input to the converters
- 05bf80e7 - Add QMT test for the track converters
- 471382de - Tell to run the tests in CMakeLists.txt
- 5982dd17 - Simplify conversions
- 937024a4 - Fixed formatting
- 8adae476 - Bug fix in convert_tracks.py
- fb0bf4f3 - Fixed formatting
- 9ae8b07b - Updated accessors to TrackLike objects. has_tracklike_API function added to...
- a3d8203a - Fixed formatting
- f4e27b74 - Updated based on removal of closestToBeamState in Track_SOA
- 420e842f - Fixed formatting
- 1538d88e - Added support for AVX2 in has_tracklike_API
- d5d22530 - simplify and generalise has_tracklike_API function
- a0649b66 - Fixed formatting
- 731cdcb1 - Apply 1 suggestion(s) to 1 file(s)
- 20208967 - Fixed formatting
- d0e17221 - Apply 1 suggestion(s) to 1 file(s)
- 6603b58b - Fixed formatting
- ce78b2fc - Renamed Track_SOA state accessors
- 4661f666 - Rebase on master
- 7badbf65 - Fix DistanceCalculator
Toggle commit list-
e333f43a...72332504 - 2 commits from branch
added 2 commits
- [2021-04-21 13:19] Validation started with lhcb-master-mr#2228
mentioned in commit 8b881d5f
mentioned in merge request Moore!800 (merged)
mentioned in issue Moore#272 (closed)