8 #include "Acts/Definitions/Units.hpp"
9 #include "Acts/EventData/SeedContainer2.hpp"
10 #include "Acts/EventData/SpacePointContainer2.hpp"
11 #include "Acts/MagneticField/MagneticFieldContext.hpp"
12 #include "Acts/Seeding/BinnedGroup.hpp"
13 #include "Acts/Seeding/SeedFilter.hpp"
14 #include "Acts/Seeding/SeedFinder.hpp"
29 ISvcLocator* pSvcLocator)
50 return StatusCode::SUCCESS;
56 std::array<std::string, kNStat>{
57 "Spacepoints",
"Seeds"})
59 return StatusCode::SUCCESS;
66 auto time_seedCreation =
79 ATH_CHECK(seedHandle.
record(std::make_unique<ActsTrk::SeedContainer>()));
95 <<
" input collections...");
96 std::vector<const xAOD::SpacePointContainer*> allInputCollections;
100 ATH_MSG_DEBUG(
"Retrieving from Input Collection '" << spacePointKey.key()
104 allInputCollections.push_back(spCont);
108 std::size_t totalSpacePoints = 0;
110 totalSpacePoints += collection->size();
113 ATH_MSG_DEBUG(
" \\__ Total input space points: " << totalSpacePoints);
117 if (totalSpacePoints == 0) {
118 ATH_MSG_DEBUG(
"No input space points found, we stop seeding");
119 return StatusCode::SUCCESS;
132 Acts::MagneticFieldContext magFieldContext(fieldCondObj);
134 Acts::MagneticFieldProvider::Cache magFieldCache =
135 magneticField.
makeCache(magFieldContext);
136 Acts::Vector3 bField = *magneticField.
getField(
137 Acts::Vector3(beamPos.x(), beamPos.y(), 0), magFieldCache);
144 time_seedCreation.start();
147 beamPos.cast<
float>(), bField.z(),
150 ATH_MSG_ERROR(
"Exception caught during seed creation: " <<
e.what());
151 return StatusCode::FAILURE;
153 time_seedCreation.stop();
158 mon_nSeeds = seedPtrs->
size();
160 return StatusCode::SUCCESS;