12#include "traccc/edm/silicon_cell_collection.hpp"
13#include "traccc/edm/measurement_collection.hpp"
16#include "vecmem/memory/memory_resource.hpp"
35 return StatusCode::SUCCESS;
74 return StatusCode::SUCCESS;
84 ATH_CHECK(inputTracccPixelSpacepoints.isValid());
86 << inputTracccPixelSpacepoints.key() <<
"'");
97 double bField[3]{0., 0., 0.};
98 const double position[3]{beamPos.x(), beamPos.y(), 0.};
99 fieldCache.
getField(position, bField);
108 traccc::spacepoint_grid_config grid{seedfinder};
117 traccc::edm::seed_collection::buffer pixel_seeds_gpu_buffer = (*seeding_alg)(*inputTracccPixelSpacepoints);
119 ATH_MSG_DEBUG(
"Reconstructed " << seeding_alg.copy().get_size(pixel_seeds_gpu_buffer) <<
" seeds.");
124 std::make_unique<traccc::edm::seed_collection::buffer>(
125 std::move(pixel_seeds_gpu_buffer))));
128 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_INFO(x,...)
detray::unit< scalar_t > unit
Handle class for reading from StoreGate.
Handle class for recording to StoreGate.
Gaudi::Property< float > m_deltaRMax
Gaudi::Property< float > m_maxPtScattering
virtual StatusCode configureTripletSeeder()
ToolHandle< IDeviceSeedingAlgProviderTool > m_seedingAlgProviderTool
Gaudi::Property< int > m_phiBinDeflectionCoverage
Gaudi::Property< float > m_goodSpTWeightIncrease
Gaudi::Property< float > m_deltaRMin
Gaudi::Property< float > m_deltaZMax
SG::ReadHandleKey< traccc::edm::spacepoint_collection::const_view > m_inputPixelSPKey
Gaudi::Property< float > m_rMin
traccc::seedfinder_config m_seedfinder
Gaudi::Property< float > m_deltaInvHelixDiameter
Gaudi::Property< float > m_zMax
Gaudi::Property< float > m_filterDeltaRMin
SG::WriteHandleKey< traccc::edm::seed_collection::buffer > m_outputPixelSeedsKey
Gaudi::Property< float > m_goodSpBMinWeight
Gaudi::Property< unsigned int > m_compatSeedLimit
traccc::seedfilter_config m_seedfilter
Gaudi::Property< float > m_sigmaScattering
Gaudi::Property< float > m_zMin
Gaudi::Property< float > m_goodSpBMinRadius
Gaudi::Property< float > m_minPt
virtual StatusCode execute(const EventContext &ctx) const override
Function executing the algorithm.
virtual StatusCode initialize() override
Function initializing the algorithm.
Gaudi::Property< unsigned int > m_maxSeedsPerSpM
Gaudi::Property< float > m_goodSpBWeightIncrease
Gaudi::Property< float > m_radLengthPerSeed
Gaudi::Property< float > m_goodSpTMaxRadius
Gaudi::Property< float > m_gridDeltaRMax
Gaudi::Property< float > m_cotThetaMax
Gaudi::Property< float > m_seedMinWeight
Gaudi::Property< float > m_compatSeedWeight
Gaudi::Property< float > m_collisionRegionMax
Gaudi::Property< float > m_rMax
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
Gaudi::Property< float > m_impactWeightFactor
Gaudi::Property< float > m_spBMinRadius
Gaudi::Property< float > m_collisionRegionMin
Gaudi::Property< float > m_impactMax
void getInitializedCache(MagField::AtlasFieldCache &cache) const
get B field cache for evaluation as a function of 2-d or 3-d position.
const Amg::Vector3D & beamPos() const noexcept
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h).
void getField(const double *ATH_RESTRICT xyz, double *ATH_RESTRICT bxyz, double *ATH_RESTRICT deriv=nullptr)
get B field value at given position xyz[3] is in mm, bxyz[3] is in kT if deriv[9] is given,...
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Eigen::Matrix< double, 3, 1 > Vector3D
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())