8 #include "Acts/Definitions/Units.hpp"
9 #include "Acts/MagneticField/MagneticFieldContext.hpp"
11 #include "Acts/Seeding/BinnedGroup.hpp"
12 #include "Acts/Seeding/SeedFilter.hpp"
13 #include "Acts/Seeding/SeedFinder.hpp"
28 ISvcLocator *pSvcLocator )
50 return StatusCode::SUCCESS;
55 std::array<std::string, kNStat>{
59 return StatusCode::SUCCESS;
76 ATH_CHECK( seedHandle.
record( std::make_unique< ActsTrk::SeedContainer >() ) );
86 if (beamSpotHandle.cptr() ==
nullptr) {
87 ATH_MSG_ERROR(
"Retrieved Beam Spot Handle contains a nullptr");
88 return StatusCode::FAILURE;
90 auto beamSpotData = beamSpotHandle.cptr();
98 std::vector<const xAOD::SpacePointContainer *> all_input_collections;
101 std::size_t number_input_space_points = 0;
103 ATH_MSG_DEBUG(
"Retrieving from Input Collection '" << spacePointKey.key() <<
"' ..." );
106 all_input_collections.push_back(handle.
cptr());
108 number_input_space_points += handle->
size();
112 std::vector<const xAOD::SpacePoint*> selectedSpacePoints;
113 selectedSpacePoints.reserve(number_input_space_points);
115 for (
const auto* collection : all_input_collections) {
116 selectedSpacePoints.insert(selectedSpacePoints.end(), collection->begin(), collection->end());
119 ATH_MSG_DEBUG(
" \\__ Total input space points: " << selectedSpacePoints.size());
123 if (selectedSpacePoints.empty()) {
124 ATH_MSG_DEBUG(
"No input space points found, we stop seeding");
125 return StatusCode::SUCCESS;
137 if (fieldCondObj ==
nullptr) {
139 return StatusCode::FAILURE;
144 Acts::MagneticFieldContext magFieldContext(fieldCondObj);
146 Acts::MagneticFieldProvider::Cache magFieldCache = magneticField.
makeCache( magFieldContext );
147 Acts::Vector3 bField = *magneticField.
getField( Acts::Vector3(beamPos.x(), beamPos.y(), 0),
156 Acts::SpacePointContainerConfig spConfig;
157 spConfig.useDetailedDoubleMeasurementInfo = not
m_usePixel;
159 Acts::SpacePointContainerOptions spOptions;
160 spOptions.beamPos = Acts::Vector2(beamPos.x(), beamPos.y());
165 time_seedCreation.start();
171 time_seedCreation.stop();
175 mon_nSeeds = seedPtrs->
size();
177 return StatusCode::SUCCESS;