ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::SeedingTool Class Reference

#include <SeedingTool.h>

Inheritance diagram for ActsTrk::SeedingTool:
Collaboration diagram for ActsTrk::SeedingTool:

Classes

struct  external_spacepoint

Public Types

using value_type = typename Acts::SpacePointContainer<ActsTrk::SpacePointCollector, Acts::detail::RefHolder>::SpacePointProxyType
using seed_type = Acts::Seed< value_type, 3ul >
using external_type

Public Member Functions

 SeedingTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~SeedingTool ()=default
virtual StatusCode initialize () override
virtual StatusCode createSeeds (const EventContext &ctx, const Acts::SpacePointContainer< ActsTrk::SpacePointCollector, Acts::detail::RefHolder > &spContainer, const Acts::Vector3 &beamSpotPos, const Acts::Vector3 &bField, ActsTrk::SeedContainer &seedContainer) const override

Protected Member Functions

template<typename external_iterator_t>
StatusCode createSeeds (external_iterator_t spBegin, external_iterator_t spEnd, const Acts::Vector3 &beamSpotPos, const Acts::Vector3 &bField, ActsTrk::SeedContainer &seeds) const
StatusCode prepareConfiguration ()

Protected Attributes

const PixelIDm_pixelId { nullptr }
Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid< value_type > > m_finder
Acts::SeedFinderConfig< value_typem_finderCfg
Acts::CylindricalSpacePointGridConfig m_gridCfg
Gaudi::Property< bool > m_seedQualitySelection
Gaudi::Property< float > m_minPt
Gaudi::Property< float > m_cotThetaMax
Gaudi::Property< float > m_zMin
Gaudi::Property< float > m_zMax
Gaudi::Property< float > m_deltaRMax
Gaudi::Property< float > m_impactMax
Gaudi::Property< std::vector< float > > m_zBinEdges
Gaudi::Property< std::vector< float > > m_rBinEdges
Gaudi::Property< float > m_gridRMax
Gaudi::Property< float > m_gridPhiMin
Gaudi::Property< float > m_gridPhiMax
Gaudi::Property< int > m_phiBinDeflectionCoverage
Gaudi::Property< int > m_maxPhiBins {this, "maxPhiBins", 200, "max number of bins"}
Gaudi::Property< float > m_rMax
Gaudi::Property< float > m_binSizeR
Gaudi::Property< float > m_deltaRMin
Gaudi::Property< float > m_deltaRMinTopSP
Gaudi::Property< float > m_deltaRMaxTopSP
Gaudi::Property< float > m_deltaRMinBottomSP
Gaudi::Property< float > m_deltaRMaxBottomSP
Gaudi::Property< float > m_deltaZMax
Gaudi::Property< float > m_collisionRegionMin
Gaudi::Property< float > m_collisionRegionMax
Gaudi::Property< float > m_sigmaScattering
Gaudi::Property< float > m_maxPtScattering
Gaudi::Property< float > m_radLengthPerSeed
Gaudi::Property< int > m_maxSeedsPerSpM
Gaudi::Property< bool > m_interactionPointCut
Gaudi::Property< std::vector< size_t > > m_zBinsCustomLooping
Gaudi::Property< std::vector< std::size_t > > m_rBinsCustomLooping
Gaudi::Property< bool > m_useVariableMiddleSPRange
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP
Gaudi::Property< float > m_deltaRMiddleMinSPRange
Gaudi::Property< float > m_deltaRMiddleMaxSPRange
Gaudi::Property< bool > m_seedConfirmation
Gaudi::Property< float > m_seedConfCentralZMin
Gaudi::Property< float > m_seedConfCentralZMax
Gaudi::Property< float > m_seedConfCentralRMax
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_seedConfCentralMinImpact
Gaudi::Property< float > m_seedConfForwardZMin
Gaudi::Property< float > m_seedConfForwardZMax
Gaudi::Property< float > m_seedConfForwardRMax
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
Gaudi::Property< float > m_seedConfForwardMinBottomRadius
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_seedConfForwardMinImpact
Gaudi::Property< bool > m_useDetailedDoubleMeasurementInfo
Gaudi::Property< float > m_toleranceParam
Gaudi::Property< float > m_phiMin {this, "phiMin", -std::numbers::pi_v<float>, ""}
Gaudi::Property< float > m_phiMax {this, "phiMax", std::numbers::pi_v<float>, ""}
Gaudi::Property< float > m_rMin {this, "rMin", 0 * Acts::UnitConstants::mm, ""}
Gaudi::Property< float > m_zAlign {this, "zAlign", 0 * Acts::UnitConstants::mm, ""}
Gaudi::Property< float > m_rAlign {this, "rAlign", 0 * Acts::UnitConstants::mm, ""}
Gaudi::Property< float > m_sigmaError {this, "sigmaError", 5, ""}
Gaudi::Property< float > m_impactWeightFactor
Gaudi::Property< float > m_zOriginWeightFactor {this, "zOriginWeightFactor", 1.}
Gaudi::Property< float > m_compatSeedWeight
Gaudi::Property< std::size_t > m_compatSeedLimit
Gaudi::Property< float > m_seedWeightIncrement
Gaudi::Property< float > m_numSeedIncrement
Gaudi::Property< bool > m_seedConfirmationInFilter
Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf
Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf
Gaudi::Property< bool > m_useDeltaRorTopRadius
Gaudi::Property< float > m_deltaInvHelixDiameter
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsTop
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsBottom
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsTop
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsBottom
Gaudi::Property< int > m_numPhiNeighbors
Gaudi::Property< bool > m_useExperimentCuts {this, "useExperimentCuts", false, ""}
Gaudi::Property< int > m_stateVectorReserveSize {this, "stateVectorReserveSize", 500, "Size of the initial Seeding State internal vectors"}

Private Member Functions

const Acts::Logger & logger () const
 Private access to the logger.
bool spacePointSelectionFunction (const value_type &sp) const
bool doubletSelectionFunction (const value_type &middle, const value_type &other, float cotTheta, bool isBottomCandidate) const

Private Attributes

std::unique_ptr< Acts::GridBinFinder< 3ul > > m_bottomBinFinder {nullptr}
std::unique_ptr< Acts::GridBinFinder< 3ul > > m_topBinFinder {nullptr}
std::array< std::vector< std::size_t >, 3ul > m_navigation {}
std::unique_ptr< const Acts::Logger > m_logger {nullptr}
 logging instance
Gaudi::Property< float > m_ExpCutrMin {this, "SpSelectionExpCutrMin", 45. * Acts::UnitConstants::mm}

Detailed Description

Definition at line 40 of file SeedingTool.h.

Member Typedef Documentation

◆ external_type

Initial value:
typename std::conditional<
std::is_const< typename value_type::ValueType >::value,
typename std::remove_const< typename value_type::ValueType >::type,
typename value_type::ValueType

Definition at line 45 of file SeedingTool.h.

◆ seed_type

using ActsTrk::SeedingTool::seed_type = Acts::Seed< value_type, 3ul >

Definition at line 44 of file SeedingTool.h.

◆ value_type

using ActsTrk::SeedingTool::value_type = typename Acts::SpacePointContainer<ActsTrk::SpacePointCollector, Acts::detail::RefHolder>::SpacePointProxyType

Definition at line 43 of file SeedingTool.h.

Constructor & Destructor Documentation

◆ SeedingTool()

ActsTrk::SeedingTool::SeedingTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 24 of file SeedingTool.cxx.

27 : base_class(type, name, parent)
28 {}

◆ ~SeedingTool()

virtual ActsTrk::SeedingTool::~SeedingTool ( )
virtualdefault

Member Function Documentation

◆ createSeeds() [1/2]

ATH_FLATTEN StatusCode ActsTrk::SeedingTool::createSeeds ( const EventContext & ctx,
const Acts::SpacePointContainer< ActsTrk::SpacePointCollector, Acts::detail::RefHolder > & spContainer,
const Acts::Vector3 & beamSpotPos,
const Acts::Vector3 & bField,
ActsTrk::SeedContainer & seedContainer ) const
overridevirtual

Definition at line 218 of file SeedingTool.cxx.

223 {
224 // Create Seeds
225 //TODO POSSIBLE OPTIMISATION come back here: see MR !52399 ( i.e. use static thread_local)
226 ATH_CHECK(createSeeds(spContainer.begin(),
227 spContainer.end(),
228 beamSpotPos,
229 bField,
230 seedContainer));
231
232 return StatusCode::SUCCESS;
233 }
#define ATH_CHECK
Evaluate an expression and check for errors.
virtual StatusCode createSeeds(const EventContext &ctx, const Acts::SpacePointContainer< ActsTrk::SpacePointCollector, Acts::detail::RefHolder > &spContainer, const Acts::Vector3 &beamSpotPos, const Acts::Vector3 &bField, ActsTrk::SeedContainer &seedContainer) const override

◆ createSeeds() [2/2]

template<typename external_iterator_t>
StatusCode ActsTrk::SeedingTool::createSeeds ( external_iterator_t spBegin,
external_iterator_t spEnd,
const Acts::Vector3 & beamSpotPos,
const Acts::Vector3 & bField,
ActsTrk::SeedContainer & seeds ) const
protected

Definition at line 237 of file SeedingTool.cxx.

242 {
243 static_assert(std::is_same<typename external_spacepoint< external_iterator_t >::type, const value_type&>::value,
244 "Inconsistent type");
245
246 if (spBegin == spEnd)
247 return StatusCode::SUCCESS;
248
249 seedContainer.spacePoints().reserve(std::distance(spBegin, spEnd));
250 for (auto sp = spBegin; sp != spEnd; ++sp) {
251 seedContainer.spacePoints().push_back(&(*sp).externalSpacePoint());
252 }
253 std::vector< seed_type > seeds;
254
255 // Space Point Grid Options
256 Acts::CylindricalSpacePointGridOptions gridOpts;
257 gridOpts.bFieldInZ = bField[2];
258 gridOpts = gridOpts.toInternalUnits();
259
260 // Seed Finder Options
261 Acts::SeedFinderOptions finderOpts;
262 finderOpts.beamPos = Acts::Vector2(beamSpotPos[Amg::x],
263 beamSpotPos[Amg::y]);
264 finderOpts.bFieldInZ = bField[2];
265 finderOpts = finderOpts.toInternalUnits().calculateDerivedQuantities(m_finderCfg);
266
267
268
269
270 Acts::CylindricalSpacePointGrid< value_type > grid =
271 Acts::CylindricalSpacePointGridCreator::createGrid< value_type >(m_gridCfg, gridOpts, logger());
272
273 Acts::CylindricalSpacePointGridCreator::fillGrid(m_finderCfg, finderOpts, grid,
274 spBegin, spEnd, logger());
275
276 // Compute radius Range
277 // we rely on the fact the grid is storing the proxies
278 // with a sorting in the radius
279 float minRange = std::numeric_limits<float>::max();
280 float maxRange = std::numeric_limits<float>::lowest();
281 for (const auto& coll : grid) {
282 if (coll.empty()) {
283 continue;
284 }
285 const auto* firstEl = coll.front();
286 const auto* lastEl = coll.back();
287 minRange = std::min(firstEl->radius(), minRange);
288 maxRange = std::max(lastEl->radius(), maxRange);
289 }
290
291 Acts::CylindricalBinnedGroup< value_type > spacePointsGrouping(std::move(grid), *m_bottomBinFinder,
293
294 // variable middle SP radial region of interest
295 const Acts::Range1D<float> rMiddleSPRange(std::floor(minRange/2)*2 + m_finderCfg.deltaRMiddleMinSPRange,
296 std::floor(maxRange/2)*2 - m_finderCfg.deltaRMiddleMaxSPRange);
297
298 //TODO POSSIBLE OPTIMISATION come back here: see MR !52399 ( i.e. use static thread_local)
299 typename decltype(m_finder)::SeedingState state;
300
301 // Already reserve the state vectors here.
302
303 state.topSpVec.reserve(m_stateVectorReserveSize);
304 state.curvatures.reserve(m_stateVectorReserveSize);
305 state.impactParameters.reserve(m_stateVectorReserveSize);
306 state.linCircleTop.reserve(m_stateVectorReserveSize);
307 state.compatBottomSP.reserve(m_stateVectorReserveSize);
308 state.compatTopSP.reserve(m_stateVectorReserveSize);
309
310 state.spacePointMutableData.resize(std::distance(spBegin, spEnd));
311
312 for (const auto& [bottom, middle, top] : spacePointsGrouping) {
313 m_finder.createSeedsForGroup(finderOpts, state, spacePointsGrouping.grid(),
314 seeds, bottom, middle, top, rMiddleSPRange);
315 }
316
318 // Selection function - temporary implementation
319 // need change from ACTS for final implementation
320 // To be used only on PPP
321 auto selectionFunction = [&state] (const seed_type& seed) -> bool
322 {
323 float seed_quality = seed.seedQuality();
324 float bottom_quality = state.spacePointMutableData.quality(seed.sp()[0]->index());
325 float middle_quality = state.spacePointMutableData.quality(seed.sp()[1]->index());
326 float top_quality = state.spacePointMutableData.quality(seed.sp()[2]->index());
327
328 if (bottom_quality > seed_quality and
329 middle_quality > seed_quality and
330 top_quality > seed_quality) {
331 return false;
332 }
333
334 return true;
335 };
336
337 // Select the seeds
338 std::size_t acceptedSeeds = 0;
339 for (std::size_t i(0); i<seeds.size(); ++i) {
340 const auto& seed = seeds[i];
341 if (not selectionFunction(seed)) {
342 continue;
343 }
344 // move passing seeds at the beginning of the vector/collection
345 // no need to swap them both. The seed currently at acceptedSeeds
346 // didn't make it (if i != acceptedSeeds)
347 if (acceptedSeeds != i)
348 seeds[acceptedSeeds] = std::move(seeds[i]);
349 ++acceptedSeeds;
350 }
351 // remove seeds that didn't make it
352 // they are all at the end of the collection
353 seeds.erase(seeds.begin() + acceptedSeeds, seeds.end());
354 }
355
356
357 // Store seeds
358 seedContainer.reserve(seeds.size());
359 for(const auto& seed: seeds) {
360 seedContainer.push_back(&seed);
361 }
362
363 return StatusCode::SUCCESS;
364 }
static Double_t sp
@ top
Acts::Seed< value_type, 3ul > seed_type
Definition SeedingTool.h:44
std::unique_ptr< Acts::GridBinFinder< 3ul > > m_bottomBinFinder
Acts::SeedFinderConfig< value_type > m_finderCfg
Definition SeedingTool.h:95
Acts::CylindricalSpacePointGridConfig m_gridCfg
Definition SeedingTool.h:96
Gaudi::Property< int > m_stateVectorReserveSize
typename Acts::SpacePointContainer< ActsTrk::SpacePointCollector, Acts::detail::RefHolder >::SpacePointProxyType value_type
Definition SeedingTool.h:43
std::array< std::vector< std::size_t >, 3ul > m_navigation
std::unique_ptr< Acts::GridBinFinder< 3ul > > m_topBinFinder
const Acts::Logger & logger() const
Private access to the logger.
Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid< value_type > > m_finder
Definition SeedingTool.h:94
Gaudi::Property< bool > m_seedQualitySelection
Definition SeedingTool.h:99

◆ doubletSelectionFunction()

bool ActsTrk::SeedingTool::doubletSelectionFunction ( const value_type & middle,
const value_type & other,
float cotTheta,
bool isBottomCandidate ) const
inlineprivate

Definition at line 350 of file SeedingTool.h.

353 {
354 // We remove some doublets that have the middle space point in some specific areas
355 // This should eventually be moved inside ACTS and allow a veto mechanism according
356 // to the user desire.
357 // As of now we cannot really do this since we define a range of validity of the middle
358 // candidate, and if we want to veto some sub-regions inside it, we need to do it here.
359 if (std::abs(middle.z()) > 1500 and
360 middle.radius() > 100 and middle.radius() < 150) {
361 return false;
362 }
363
364 // We remove here some seeds, in case the bottom space point radius is
365 // too small (i.e. < fastTrackingRMin)
366
367 // This operation is done only within a specific eta window
368 // Instead of eta we use the doublet cottheta
369 static constexpr float cotThetaEta120 = 1.5095;
370 static constexpr float cotThetaEta360 = 18.2855;
371
372 float absCotTheta = std::abs(cotTheta);
373 if (isBottomCandidate and other.radius() < m_ExpCutrMin and
374 absCotTheta > cotThetaEta120 and
375 absCotTheta < cotThetaEta360) {
376 return false;
377 }
378
379 return true;
380 }
Gaudi::Property< float > m_ExpCutrMin

◆ initialize()

StatusCode ActsTrk::SeedingTool::initialize ( )
overridevirtual

Definition at line 30 of file SeedingTool.cxx.

30 {
31 ATH_MSG_DEBUG("Initializing " << name() << "...");
32
33 ATH_MSG_DEBUG("Properties Summary:");
39
40 ATH_MSG_DEBUG(" * Used by SpacePointGridConfig");
41 ATH_MSG_DEBUG(" " << m_minPt);
44 ATH_MSG_DEBUG(" " << m_zMin);
45 ATH_MSG_DEBUG(" " << m_zMax);
53
54 ATH_MSG_DEBUG(" * Used by SeedFinderConfig:");
55 ATH_MSG_DEBUG(" " << m_minPt);
58 ATH_MSG_DEBUG(" " << m_zMin);
59 ATH_MSG_DEBUG(" " << m_zMax);
61 ATH_MSG_DEBUG(" " << m_rMax);
82 } else if ( not m_rRangeMiddleSP.empty() )
85 if ( m_seedConfirmation ) {
102 }
105 ATH_MSG_DEBUG(" " << m_phiMin);
106 ATH_MSG_DEBUG(" " << m_phiMax);
107 ATH_MSG_DEBUG(" " << m_rMin);
108 ATH_MSG_DEBUG(" " << m_zAlign);
109 ATH_MSG_DEBUG(" " << m_rAlign);
111
112 ATH_MSG_DEBUG(" * Used by SeedFilterConfig:");
136 }
143
144 // Make the logger And Propagate to ACTS routines
145 m_logger = makeActsAthenaLogger(this, "Acts");
146
147 if (m_zBinEdges.size() - 1 !=
148 m_zBinNeighborsTop.size() and
149 not m_zBinNeighborsTop.empty()) {
150 ATH_MSG_ERROR("Inconsistent config zBinNeighborsTop");
151 return StatusCode::FAILURE;
152 }
153
154 if (m_zBinEdges.size() - 1 !=
155 m_zBinNeighborsBottom.size() and
156 not m_zBinNeighborsBottom.empty()) {
157 ATH_MSG_ERROR("Inconsistent config zBinNeighborsBottom");
158 return StatusCode::FAILURE;
159 }
160
161 if (m_rBinEdges.size() - 1 !=
162 m_rBinNeighborsTop.size() and
163 not m_rBinNeighborsTop.empty()) {
164 ATH_MSG_ERROR("Inconsistent config rBinNeighborsTop");
165 return StatusCode::FAILURE;
166 }
167
168 if (m_rBinEdges.size() - 1 !=
169 m_rBinNeighborsBottom.size() and
170 not m_rBinNeighborsBottom.empty()) {
171 ATH_MSG_ERROR("Inconsistent config rBinNeighborsBottom");
172 return StatusCode::FAILURE;
173 }
174
175 if (m_zBinsCustomLooping.size() != 0) {
176 // zBinsCustomLooping can contain a number of elements <= to the total number
177 // of bin in zBinEdges
178 for (std::size_t i : m_zBinsCustomLooping) {
179 if (i >= m_zBinEdges.size()) {
180 ATH_MSG_ERROR("Inconsistent config zBinsCustomLooping contains bins that are not in zBinEdges");
181 return StatusCode::FAILURE;
182 }
183 }
184 }
185
186 if (m_rBinsCustomLooping.size() != 0) {
187 for (std::size_t i : m_rBinsCustomLooping) {
188 if (i >= m_rBinEdges.size()) {
189 ATH_MSG_ERROR("Inconsistent config rBinsCustomLooping contains bins that are not in rBinEdges");
190 return StatusCode::FAILURE;
191 }
192 }
193 }
194
196
197 m_bottomBinFinder = std::make_unique< Acts::GridBinFinder< 3ul > >(m_numPhiNeighbors.value(),
198 m_zBinNeighborsBottom.value(),
199 m_rBinNeighborsBottom.value());
200 m_topBinFinder = std::make_unique< Acts::GridBinFinder< 3ul > >(m_numPhiNeighbors.value(),
201 m_zBinNeighborsTop.value(),
202 m_rBinNeighborsTop.value());
203
204 m_navigation[0ul] = {};
205 m_navigation[1ul] = m_finderCfg.zBinsCustomLooping;
206 m_navigation[2ul] = m_rBinsCustomLooping.value();
207
208 if (detStore()->retrieve(m_pixelId, "PixelID").isFailure()) {
209 ATH_MSG_ERROR("Could not get PixelID helper !");
210 return StatusCode::FAILURE;
211 }
212
213 return StatusCode::SUCCESS;
214 }
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Gaudi::Property< float > m_seedConfCentralMinImpact
Gaudi::Property< float > m_seedConfForwardMinBottomRadius
Gaudi::Property< float > m_deltaRMiddleMaxSPRange
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Gaudi::Property< float > m_deltaRMiddleMinSPRange
const PixelID * m_pixelId
Definition SeedingTool.h:92
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsBottom
Gaudi::Property< float > m_seedConfCentralZMax
Gaudi::Property< float > m_toleranceParam
Gaudi::Property< float > m_compatSeedWeight
Gaudi::Property< float > m_radLengthPerSeed
Gaudi::Property< std::vector< float > > m_zBinEdges
Gaudi::Property< bool > m_seedConfirmation
Gaudi::Property< float > m_deltaRMax
Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf
Gaudi::Property< std::vector< size_t > > m_zBinsCustomLooping
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsTop
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Gaudi::Property< float > m_zAlign
Gaudi::Property< bool > m_interactionPointCut
Gaudi::Property< float > m_zMax
Gaudi::Property< bool > m_seedConfirmationInFilter
Gaudi::Property< float > m_deltaRMin
Gaudi::Property< float > m_seedConfCentralRMax
Gaudi::Property< float > m_deltaInvHelixDiameter
Gaudi::Property< float > m_impactMax
Gaudi::Property< float > m_deltaRMaxBottomSP
Gaudi::Property< float > m_sigmaError
Gaudi::Property< float > m_collisionRegionMin
Gaudi::Property< float > m_gridPhiMax
Gaudi::Property< float > m_deltaZMax
Gaudi::Property< float > m_numSeedIncrement
Gaudi::Property< float > m_rMax
Gaudi::Property< float > m_deltaRMaxTopSP
Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf
Gaudi::Property< float > m_deltaRMinTopSP
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
Gaudi::Property< float > m_collisionRegionMax
Gaudi::Property< int > m_maxSeedsPerSpM
Gaudi::Property< int > m_phiBinDeflectionCoverage
Gaudi::Property< float > m_minPt
Gaudi::Property< std::vector< std::size_t > > m_rBinsCustomLooping
Gaudi::Property< bool > m_useVariableMiddleSPRange
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsTop
StatusCode prepareConfiguration()
Gaudi::Property< std::vector< float > > m_rBinEdges
Gaudi::Property< float > m_seedWeightIncrement
Gaudi::Property< float > m_deltaRMinBottomSP
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
Gaudi::Property< float > m_sigmaScattering
Gaudi::Property< float > m_zMin
Gaudi::Property< float > m_seedConfCentralZMin
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_seedConfForwardZMax
Gaudi::Property< float > m_rMin
Gaudi::Property< float > m_gridPhiMin
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_phiMin
Gaudi::Property< float > m_impactWeightFactor
Gaudi::Property< float > m_rAlign
Gaudi::Property< float > m_phiMax
Gaudi::Property< float > m_cotThetaMax
Gaudi::Property< float > m_maxPtScattering
Gaudi::Property< bool > m_useDeltaRorTopRadius
Gaudi::Property< float > m_seedConfForwardZMin
Gaudi::Property< std::size_t > m_compatSeedLimit
Gaudi::Property< float > m_gridRMax
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsBottom
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Gaudi::Property< float > m_seedConfForwardRMax
Gaudi::Property< float > m_seedConfForwardMinImpact
Gaudi::Property< bool > m_useDetailedDoubleMeasurementInfo
Gaudi::Property< int > m_numPhiNeighbors
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP
unsigned long ul
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ logger()

const Acts::Logger & ActsTrk::SeedingTool::logger ( ) const
inlineprivate

Private access to the logger.

Definition at line 286 of file SeedingTool.h.

286{ return *m_logger; }

◆ prepareConfiguration()

StatusCode ActsTrk::SeedingTool::prepareConfiguration ( )
protected

Definition at line 367 of file SeedingTool.cxx.

367 {
368 assert(m_logger != nullptr);
369
370 // Prepare the Acts::SeedFinderConfig object
371 // This is done only once, during initialization using the
372 // parameters set in the JO
373
374 // Configuration for Acts::SeedFinder
375 m_finderCfg.minPt = m_minPt;
376 m_finderCfg.cotThetaMax = m_cotThetaMax;
377 m_finderCfg.impactMax = m_impactMax;
378 m_finderCfg.zMin = m_zMin;
379 m_finderCfg.zMax = m_zMax;
380 m_finderCfg.zBinEdges = m_zBinEdges;
381 m_finderCfg.rMax = m_rMax;
382 m_finderCfg.binSizeR = m_binSizeR;
383 m_finderCfg.deltaRMin = m_deltaRMin;
384 m_finderCfg.deltaRMax = m_deltaRMax;
385 m_finderCfg.deltaRMinTopSP = m_deltaRMinTopSP;
386 m_finderCfg.deltaRMaxTopSP = m_deltaRMaxTopSP;
387 m_finderCfg.deltaRMinBottomSP = m_deltaRMinBottomSP;
388 m_finderCfg.deltaRMaxBottomSP = m_deltaRMaxBottomSP;
389 m_finderCfg.deltaZMax = m_deltaZMax;
390 m_finderCfg.collisionRegionMin = m_collisionRegionMin;
391 m_finderCfg.collisionRegionMax = m_collisionRegionMax;
392 m_finderCfg.sigmaScattering = m_sigmaScattering;
393 m_finderCfg.maxPtScattering = m_maxPtScattering;
394 m_finderCfg.radLengthPerSeed = m_radLengthPerSeed;
395 m_finderCfg.maxSeedsPerSpM = m_maxSeedsPerSpM;
396 m_finderCfg.interactionPointCut = m_interactionPointCut;
397 m_finderCfg.zBinsCustomLooping = m_zBinsCustomLooping;
398 m_finderCfg.useVariableMiddleSPRange = m_useVariableMiddleSPRange;
399 m_finderCfg.deltaRMiddleMinSPRange = m_deltaRMiddleMinSPRange;
400 m_finderCfg.deltaRMiddleMaxSPRange = m_deltaRMiddleMaxSPRange;
401 m_finderCfg.seedConfirmation = m_seedConfirmation;
402 m_finderCfg.centralSeedConfirmationRange.zMinSeedConf = m_seedConfCentralZMin;
403 m_finderCfg.centralSeedConfirmationRange.zMaxSeedConf = m_seedConfCentralZMax;
404 m_finderCfg.centralSeedConfirmationRange.rMaxSeedConf = m_seedConfCentralRMax;
405 m_finderCfg.centralSeedConfirmationRange.nTopForLargeR = m_seedConfCentralNTopLargeR;
406 m_finderCfg.centralSeedConfirmationRange.nTopForSmallR = m_seedConfCentralNTopSmallR;
407 m_finderCfg.centralSeedConfirmationRange.seedConfMinBottomRadius = m_seedConfCentralMinBottomRadius;
408 m_finderCfg.centralSeedConfirmationRange.seedConfMaxZOrigin = m_seedConfCentralMaxZOrigin;
409 m_finderCfg.centralSeedConfirmationRange.minImpactSeedConf = m_seedConfCentralMinImpact;
410 m_finderCfg.forwardSeedConfirmationRange.zMinSeedConf = m_seedConfForwardZMin;
411 m_finderCfg.forwardSeedConfirmationRange.zMaxSeedConf = m_seedConfForwardZMax;
412 m_finderCfg.forwardSeedConfirmationRange.rMaxSeedConf = m_seedConfForwardRMax;
413 m_finderCfg.forwardSeedConfirmationRange.nTopForLargeR = m_seedConfForwardNTopLargeR;
414 m_finderCfg.forwardSeedConfirmationRange.nTopForSmallR = m_seedConfForwardNTopSmallR;
415 m_finderCfg.forwardSeedConfirmationRange.seedConfMinBottomRadius = m_seedConfForwardMinBottomRadius;
416 m_finderCfg.forwardSeedConfirmationRange.seedConfMaxZOrigin = m_seedConfForwardMaxZOrigin;
417 m_finderCfg.forwardSeedConfirmationRange.minImpactSeedConf = m_seedConfForwardMinImpact;
418 m_finderCfg.useDetailedDoubleMeasurementInfo = m_useDetailedDoubleMeasurementInfo;
419 m_finderCfg.toleranceParam = m_toleranceParam;
420 m_finderCfg.phiMin = m_phiMin;
421 m_finderCfg.phiMax = m_phiMax;
422 m_finderCfg.rMin = m_rMin;
423 m_finderCfg.zAlign = m_zAlign;
424 m_finderCfg.rAlign = m_rAlign;
425 m_finderCfg.sigmaError = m_sigmaError;
426
427 // Fast tracking
428 // manually convert the two types
429 for (const auto& vec : m_rRangeMiddleSP) {
430 std::vector<float> convertedVec;
431 convertedVec.reserve(vec.size());
432 for (const auto& val : vec) {
433 convertedVec.push_back(static_cast<float>(val));
434 }
435
436 m_finderCfg.rRangeMiddleSP.push_back(std::move(convertedVec));
437 }
438
439
440 // define cuts used for fast tracking configuration
441 if (m_useExperimentCuts) {
442
443 // This function will be applied to select space points during grid filling
444 m_finderCfg.spacePointSelector
446
447 m_finderCfg.experimentCuts
449
450 }
451
452 // Configuration for Acts::SeedFilter (used by FinderCfg)
453 Acts::SeedFilterConfig filterCfg;
454 filterCfg.deltaRMin = m_deltaRMin;
455 filterCfg.maxSeedsPerSpM = m_maxSeedsPerSpM;
456 filterCfg.useDeltaRorTopRadius = m_useDeltaRorTopRadius;
457 filterCfg.seedConfirmation = m_seedConfirmationInFilter;
458 filterCfg.maxSeedsPerSpMConf = m_maxSeedsPerSpMConf;
459 filterCfg.maxQualitySeedsPerSpMConf = m_maxQualitySeedsPerSpMConf;
460 filterCfg.centralSeedConfirmationRange = m_finderCfg.centralSeedConfirmationRange;
461 filterCfg.forwardSeedConfirmationRange = m_finderCfg.forwardSeedConfirmationRange;
462 filterCfg.impactWeightFactor = m_impactWeightFactor;
463 filterCfg.zOriginWeightFactor = m_zOriginWeightFactor;
464 filterCfg.compatSeedWeight = m_compatSeedWeight;
465 filterCfg.compatSeedLimit = m_compatSeedLimit;
466 filterCfg.seedWeightIncrement = m_seedWeightIncrement;
467 filterCfg.numSeedIncrement = m_numSeedIncrement;
468 filterCfg.deltaInvHelixDiameter = m_deltaInvHelixDiameter;
469 m_finderCfg.seedFilter = std::make_unique<Acts::SeedFilter< value_type > >(filterCfg.toInternalUnits(), logger().cloneWithSuffix("Filter"));
470
471 m_finderCfg = m_finderCfg.toInternalUnits().calculateDerivedQuantities();
472
473 // Grid Configuration
474 m_gridCfg.minPt = m_minPt;
475 m_gridCfg.cotThetaMax = m_cotThetaMax;
476 m_gridCfg.impactMax = m_impactMax;
477 m_gridCfg.zMin = m_zMin;
478 m_gridCfg.zMax = m_zMax;
479 m_gridCfg.phiMin = m_gridPhiMin;
480 m_gridCfg.phiMax = m_gridPhiMax;
481 m_gridCfg.zBinEdges = m_zBinEdges;
482 m_gridCfg.rBinEdges = m_rBinEdges;
483 m_gridCfg.deltaRMax = m_deltaRMax;
484 m_gridCfg.rMax = m_gridRMax;
485 m_gridCfg.phiBinDeflectionCoverage = m_phiBinDeflectionCoverage;
486 m_gridCfg.maxPhiBins = m_maxPhiBins;
487 m_gridCfg = m_gridCfg.toInternalUnits();
488
489 // Seed Finder
490 m_finder = decltype(m_finder){m_finderCfg, logger().cloneWithSuffix("Finder")};
491
492 return StatusCode::SUCCESS;
493 }
std::vector< size_t > vec
Gaudi::Property< int > m_maxPhiBins
Gaudi::Property< float > m_zOriginWeightFactor
bool doubletSelectionFunction(const value_type &middle, const value_type &other, float cotTheta, bool isBottomCandidate) const
Gaudi::Property< bool > m_useExperimentCuts
bool spacePointSelectionFunction(const value_type &sp) const
Gaudi::Property< float > m_binSizeR

◆ spacePointSelectionFunction()

bool ActsTrk::SeedingTool::spacePointSelectionFunction ( const value_type & sp) const
inlineprivate

Definition at line 294 of file SeedingTool.h.

294 {
295
296 float r = sp.radius();
297 float zabs = std::abs(sp.z());
298 float absCotTheta = zabs / r;
299
300 // checking configuration to remove pixel space points
301 Identifier identifier = m_pixelId->wafer_id(sp.externalSpacePoint().elementIdList().at(0));
302 if (m_pixelId->is_barrel(identifier)) {
303 if (zabs > 200 and
304 r < 40)
305 return false;
306
307 return true;
308 }
309
310 // Inner layers
311 // Below 1.20 - accept all
312 static constexpr float cotThetaEta120 = 1.5095;
313 if (absCotTheta < cotThetaEta120)
314 return true;
315
316 // Below 3.40 - remove if too close to beamline
317 static constexpr float cotThetaEta340 = 14.9654;
318 if (absCotTheta < cotThetaEta340 and
319 r < m_ExpCutrMin)
320 return false;
321
322
323 // Outer layers
324 // Above 2.20
325 static constexpr float cotThetaEta220 = 4.4571;
326 if (absCotTheta > cotThetaEta220 and
327 r > 260.)
328 return false;
329
330 // Above 2.60
331 static constexpr float cotThetaEta260 = 6.6947;
332 if (absCotTheta > cotThetaEta260 and
333 r > 200.)
334 return false;
335
336 // Above 3.20
337 static constexpr float cotThetaEta320 = 12.2459;
338 if (absCotTheta > cotThetaEta320 and
339 r > 140.)
340 return false;
341
342 // Above 4.00
343 static constexpr float cotThetaEta400 = 27.2899;
344 if (absCotTheta > cotThetaEta400)
345 return false;
346
347 return true;
348 }
int r
Definition globals.cxx:22

Member Data Documentation

◆ m_binSizeR

Gaudi::Property< float > ActsTrk::SeedingTool::m_binSizeR
protected
Initial value:
{this, "binSizeR", 1. * Acts::UnitConstants::mm,
"defining radial bin for space point sorting"}

Definition at line 133 of file SeedingTool.h.

133 {this, "binSizeR", 1. * Acts::UnitConstants::mm,
134 "defining radial bin for space point sorting"};

◆ m_bottomBinFinder

std::unique_ptr< Acts::GridBinFinder< 3ul > > ActsTrk::SeedingTool::m_bottomBinFinder {nullptr}
private

Definition at line 280 of file SeedingTool.h.

280{nullptr};

◆ m_collisionRegionMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_collisionRegionMax
protected
Initial value:
{this, "collisionRegionMax", 200. * Acts::UnitConstants::mm,
"limiting location of collision region in z"}

Definition at line 149 of file SeedingTool.h.

149 {this, "collisionRegionMax", 200. * Acts::UnitConstants::mm,
150 "limiting location of collision region in z"};

◆ m_collisionRegionMin

Gaudi::Property< float > ActsTrk::SeedingTool::m_collisionRegionMin
protected
Initial value:
{this, "collisionRegionMin", -200. * Acts::UnitConstants::mm,
"limiting location of collision region in z"}

Definition at line 147 of file SeedingTool.h.

147 {this, "collisionRegionMin", -200. * Acts::UnitConstants::mm,
148 "limiting location of collision region in z"};

◆ m_compatSeedLimit

Gaudi::Property< std::size_t > ActsTrk::SeedingTool::m_compatSeedLimit
protected
Initial value:
{this, "compatSeedLimit", 3,
"how often do you want to increase the weight of a seed for finding a compatible seed"}

Definition at line 242 of file SeedingTool.h.

242 {this, "compatSeedLimit", 3,
243 "how often do you want to increase the weight of a seed for finding a compatible seed"};

◆ m_compatSeedWeight

Gaudi::Property< float > ActsTrk::SeedingTool::m_compatSeedWeight
protected
Initial value:
{this, "compatSeedWeight", 100.,
"seed weight increased by this value if a compatible seed has been found"}

Definition at line 240 of file SeedingTool.h.

240 {this, "compatSeedWeight", 100.,
241 "seed weight increased by this value if a compatible seed has been found"};

◆ m_cotThetaMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_cotThetaMax
protected
Initial value:
{this, "cotThetaMax", 27.2899,
"cot of maximum theta angle"}

Definition at line 105 of file SeedingTool.h.

105 {this, "cotThetaMax", 27.2899,
106 "cot of maximum theta angle"}; // Used in SeedfinderConfig as well

◆ m_deltaInvHelixDiameter

Gaudi::Property<float> ActsTrk::SeedingTool::m_deltaInvHelixDiameter
protected
Initial value:
{this, "deltaInvHelixDiameter", 0.00003 * 1. / Acts::UnitConstants::mm,
"the allowed delta between two inverted seed radii for them to be considered compatible"}

Definition at line 256 of file SeedingTool.h.

256 {this, "deltaInvHelixDiameter", 0.00003 * 1. / Acts::UnitConstants::mm,
257 "the allowed delta between two inverted seed radii for them to be considered compatible"};

◆ m_deltaRMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMax
protected
Initial value:
{this, "deltaRMax", 280. * Acts::UnitConstants::mm,
"maximum distance in r between two measurements within one seed"}

Definition at line 111 of file SeedingTool.h.

111 {this, "deltaRMax", 280. * Acts::UnitConstants::mm,
112 "maximum distance in r between two measurements within one seed"}; // Used in SeedfinderConfig as well

◆ m_deltaRMaxBottomSP

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMaxBottomSP
protected
Initial value:
{this, "deltaRMaxBottomSP", 150. * Acts::UnitConstants::mm,
"maximum distance in r between middle and top SP"}

Definition at line 143 of file SeedingTool.h.

143 {this, "deltaRMaxBottomSP", 150. * Acts::UnitConstants::mm,
144 "maximum distance in r between middle and top SP"};

◆ m_deltaRMaxTopSP

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMaxTopSP
protected
Initial value:
{this, "deltaRMaxTopSP", 280. * Acts::UnitConstants::mm,
"maximum distance in r between middle and top SP"}

Definition at line 139 of file SeedingTool.h.

139 {this, "deltaRMaxTopSP", 280. * Acts::UnitConstants::mm,
140 "maximum distance in r between middle and top SP"};

◆ m_deltaRMiddleMaxSPRange

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMiddleMaxSPRange
protected
Initial value:
{this, "deltaRMiddleMaxSPRange", 10.,
"delta R for middle SP range (max)"}

Definition at line 172 of file SeedingTool.h.

172 {this, "deltaRMiddleMaxSPRange", 10.,
173 "delta R for middle SP range (max)"};

◆ m_deltaRMiddleMinSPRange

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMiddleMinSPRange
protected
Initial value:
{this, "deltaRMiddleMinSPRange", 10.,
"delta R for middle SP range (min)"}

Definition at line 170 of file SeedingTool.h.

170 {this, "deltaRMiddleMinSPRange", 10.,
171 "delta R for middle SP range (min)"};

◆ m_deltaRMin

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMin
protected
Initial value:
{this, "deltaRMin", 20. * Acts::UnitConstants::mm,
"minimum distance in r between two measurements within one seed"}

Definition at line 135 of file SeedingTool.h.

135 {this, "deltaRMin", 20. * Acts::UnitConstants::mm,
136 "minimum distance in r between two measurements within one seed"}; // Used in SeedFilterConfig as well

◆ m_deltaRMinBottomSP

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMinBottomSP
protected
Initial value:
{this, "deltaRMinBottomSP", 6. * Acts::UnitConstants::mm,
"minimum distance in r between middle and top SP"}

Definition at line 141 of file SeedingTool.h.

141 {this, "deltaRMinBottomSP", 6. * Acts::UnitConstants::mm,
142 "minimum distance in r between middle and top SP"};

◆ m_deltaRMinTopSP

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMinTopSP
protected
Initial value:
{this, "deltaRMinTopSP", 6. * Acts::UnitConstants::mm,
"minimum distance in r between middle and top SP"}

Definition at line 137 of file SeedingTool.h.

137 {this, "deltaRMinTopSP", 6. * Acts::UnitConstants::mm,
138 "minimum distance in r between middle and top SP"};

◆ m_deltaZMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaZMax
protected
Initial value:
{this, "deltaZMax", 600,
"maximum distance in z between two measurements within one seed"}

Definition at line 145 of file SeedingTool.h.

145 {this, "deltaZMax", 600,
146 "maximum distance in z between two measurements within one seed"};

◆ m_ExpCutrMin

Gaudi::Property<float> ActsTrk::SeedingTool::m_ExpCutrMin {this, "SpSelectionExpCutrMin", 45. * Acts::UnitConstants::mm}
private

Definition at line 292 of file SeedingTool.h.

292{this, "SpSelectionExpCutrMin", 45. * Acts::UnitConstants::mm};

◆ m_finder

Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid<value_type> > ActsTrk::SeedingTool::m_finder
protected

Definition at line 94 of file SeedingTool.h.

◆ m_finderCfg

Acts::SeedFinderConfig< value_type > ActsTrk::SeedingTool::m_finderCfg
protected

Definition at line 95 of file SeedingTool.h.

◆ m_gridCfg

Acts::CylindricalSpacePointGridConfig ActsTrk::SeedingTool::m_gridCfg
protected

Definition at line 96 of file SeedingTool.h.

◆ m_gridPhiMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_gridPhiMax
protected
Initial value:
{this, "gridPhiMax", std::numbers::pi_v<float>,
"phi max for space point grid formation"}

Definition at line 124 of file SeedingTool.h.

124 {this, "gridPhiMax", std::numbers::pi_v<float>,
125 "phi max for space point grid formation"};

◆ m_gridPhiMin

Gaudi::Property< float > ActsTrk::SeedingTool::m_gridPhiMin
protected
Initial value:
{this, "gridPhiMin", -std::numbers::pi_v<float>,
"phi min for space point grid formation"}

Definition at line 122 of file SeedingTool.h.

122 {this, "gridPhiMin", -std::numbers::pi_v<float>,
123 "phi min for space point grid formation"};

◆ m_gridRMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_gridRMax
protected
Initial value:
{this, "gridRMax", 320. * Acts::UnitConstants::mm,
"radial extension of subdetector to be used in grid building"}

Definition at line 120 of file SeedingTool.h.

120 {this, "gridRMax", 320. * Acts::UnitConstants::mm,
121 "radial extension of subdetector to be used in grid building"};

◆ m_impactMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_impactMax
protected
Initial value:
{this, "impactMax", 2. * Acts::UnitConstants::mm,
"maximum impact parameter"}

Definition at line 113 of file SeedingTool.h.

113 {this, "impactMax", 2. * Acts::UnitConstants::mm,
114 "maximum impact parameter"}; // Used in SeedfinderConfig as well

◆ m_impactWeightFactor

Gaudi::Property< float > ActsTrk::SeedingTool::m_impactWeightFactor
protected
Initial value:
{this, "impactWeightFactor", 100.,
"the impact parameters (d0) is multiplied by this factor and subtracted from weight"}

Definition at line 237 of file SeedingTool.h.

237 {this, "impactWeightFactor", 100.,
238 "the impact parameters (d0) is multiplied by this factor and subtracted from weight"};

◆ m_interactionPointCut

Gaudi::Property< bool > ActsTrk::SeedingTool::m_interactionPointCut
protected
Initial value:
{this, "interactionPointCut", true,
"Enable cut on the compatibility between interaction point and SPs"}

Definition at line 159 of file SeedingTool.h.

159 {this, "interactionPointCut", true,
160 "Enable cut on the compatibility between interaction point and SPs"};

◆ m_logger

std::unique_ptr<const Acts::Logger> ActsTrk::SeedingTool::m_logger {nullptr}
private

logging instance

Definition at line 288 of file SeedingTool.h.

288{nullptr};

◆ m_maxPhiBins

Gaudi::Property< int > ActsTrk::SeedingTool::m_maxPhiBins {this, "maxPhiBins", 200, "max number of bins"}
protected

Definition at line 128 of file SeedingTool.h.

128{this, "maxPhiBins", 200, "max number of bins"};

◆ m_maxPtScattering

Gaudi::Property< float > ActsTrk::SeedingTool::m_maxPtScattering
protected
Initial value:
{this, "maxPtScattering", 10e6,
"Upper pt limit for scattering calculation"}

Definition at line 153 of file SeedingTool.h.

153 {this, "maxPtScattering", 10e6,
154 "Upper pt limit for scattering calculation"};

◆ m_maxQualitySeedsPerSpMConf

Gaudi::Property< std::size_t > ActsTrk::SeedingTool::m_maxQualitySeedsPerSpMConf
protected
Initial value:
{this, "maxQualitySeedsPerSpMConf", 5,
"Maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation."}

Definition at line 252 of file SeedingTool.h.

252 {this, "maxQualitySeedsPerSpMConf", 5,
253 "Maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation."};

◆ m_maxSeedsPerSpM

Gaudi::Property< int > ActsTrk::SeedingTool::m_maxSeedsPerSpM
protected
Initial value:
{this, "maxSeedsPerSpM", 4,
"In dense environments many seeds may be found per middle space point. Only seeds with the highest weight will be kept if this limit is reached."}

Definition at line 157 of file SeedingTool.h.

157 {this, "maxSeedsPerSpM", 4,
158 "In dense environments many seeds may be found per middle space point. Only seeds with the highest weight will be kept if this limit is reached."}; // Used in SeedFilterConfig as well

◆ m_maxSeedsPerSpMConf

Gaudi::Property< std::size_t > ActsTrk::SeedingTool::m_maxSeedsPerSpMConf
protected
Initial value:
{this, "maxSeedsPerSpMConf", 5,
"Maximum number of lower quality seeds in seed confirmation."}

Definition at line 250 of file SeedingTool.h.

250 {this, "maxSeedsPerSpMConf", 5,
251 "Maximum number of lower quality seeds in seed confirmation."};

◆ m_minPt

Gaudi::Property< float > ActsTrk::SeedingTool::m_minPt
protected
Initial value:
{this, "minPt", 900. * Acts::UnitConstants::MeV,
"lower pT cutoff for seeds"}

Definition at line 103 of file SeedingTool.h.

103 {this, "minPt", 900. * Acts::UnitConstants::MeV,
104 "lower pT cutoff for seeds"}; // Used in SeedfinderConfig as well

◆ m_navigation

std::array<std::vector<std::size_t>, 3ul> ActsTrk::SeedingTool::m_navigation {}
private

Definition at line 283 of file SeedingTool.h.

283{};

◆ m_numPhiNeighbors

Gaudi::Property< int > ActsTrk::SeedingTool::m_numPhiNeighbors
protected
Initial value:
{this, "numPhiNeighbors", 1,
"number of phi bin neighbors at each side of the current bin that will be used to search for SPs"}

Definition at line 272 of file SeedingTool.h.

272 {this, "numPhiNeighbors", 1,
273 "number of phi bin neighbors at each side of the current bin that will be used to search for SPs"};

◆ m_numSeedIncrement

Gaudi::Property< float > ActsTrk::SeedingTool::m_numSeedIncrement
protected
Initial value:
{this, "numSeedIncrement", 10e6,
"increment in seed weight is applied if the number of compatible seeds is larger than numSeedIncrement"}

Definition at line 246 of file SeedingTool.h.

246 {this, "numSeedIncrement", 10e6,
247 "increment in seed weight is applied if the number of compatible seeds is larger than numSeedIncrement"};

◆ m_phiBinDeflectionCoverage

Gaudi::Property< int > ActsTrk::SeedingTool::m_phiBinDeflectionCoverage
protected
Initial value:
{this, "phiBinDeflectionCoverage", 3,
"sets of consecutive phi bins to cover full deflection of minimum pT particle"}

Definition at line 126 of file SeedingTool.h.

126 {this, "phiBinDeflectionCoverage", 3,
127 "sets of consecutive phi bins to cover full deflection of minimum pT particle"};

◆ m_phiMax

Gaudi::Property<float> ActsTrk::SeedingTool::m_phiMax {this, "phiMax", std::numbers::pi_v<float>, ""}
protected

Definition at line 230 of file SeedingTool.h.

230{this, "phiMax", std::numbers::pi_v<float>, ""};

◆ m_phiMin

Gaudi::Property<float> ActsTrk::SeedingTool::m_phiMin {this, "phiMin", -std::numbers::pi_v<float>, ""}
protected

Definition at line 229 of file SeedingTool.h.

229{this, "phiMin", -std::numbers::pi_v<float>, ""};

◆ m_pixelId

const PixelID* ActsTrk::SeedingTool::m_pixelId { nullptr }
protected

Definition at line 92 of file SeedingTool.h.

92{ nullptr };

◆ m_radLengthPerSeed

Gaudi::Property< float > ActsTrk::SeedingTool::m_radLengthPerSeed
protected
Initial value:
{this, "radLengthPerSeed", 0.098045,
"average radiation lengths of material on the length of a seed. used for scattering"}

Definition at line 155 of file SeedingTool.h.

155 {this, "radLengthPerSeed", 0.098045,
156 "average radiation lengths of material on the length of a seed. used for scattering"};

◆ m_rAlign

Gaudi::Property<float> ActsTrk::SeedingTool::m_rAlign {this, "rAlign", 0 * Acts::UnitConstants::mm, ""}
protected

Definition at line 233 of file SeedingTool.h.

233{this, "rAlign", 0 * Acts::UnitConstants::mm, ""};

◆ m_rBinEdges

Gaudi::Property< std::vector< float > > ActsTrk::SeedingTool::m_rBinEdges
protected
Initial value:
{this, "rBinEdges", {0., 1100 * Acts::UnitConstants::mm},
"enable non equidistant binning in radius"}

Definition at line 118 of file SeedingTool.h.

118 {this, "rBinEdges", {0., 1100 * Acts::UnitConstants::mm},
119 "enable non equidistant binning in radius"};

◆ m_rBinNeighborsBottom

Gaudi::Property< std::vector<std::pair<int, int> > > ActsTrk::SeedingTool::m_rBinNeighborsBottom
protected
Initial value:
{this, "rBinNeighborsBottom", {{0, 0}},
"vector containing the map of radius bins in the bottom layers"}

Definition at line 270 of file SeedingTool.h.

270 {this, "rBinNeighborsBottom", {{0, 0}},
271 "vector containing the map of radius bins in the bottom layers"};

◆ m_rBinNeighborsTop

Gaudi::Property< std::vector<std::pair<int, int> > > ActsTrk::SeedingTool::m_rBinNeighborsTop
protected
Initial value:
{this, "rBinNeighborsTop", {{0, 0}},
"vector containing the map of radius bins in the top layers"}

Definition at line 268 of file SeedingTool.h.

268 {this, "rBinNeighborsTop", {{0, 0}},
269 "vector containing the map of radius bins in the top layers"};

◆ m_rBinsCustomLooping

Gaudi::Property< std::vector<std::size_t> > ActsTrk::SeedingTool::m_rBinsCustomLooping
protected
Initial value:
{this, "rBinsCustomLooping", {1},
"defines order of r bins for looping"}

Definition at line 163 of file SeedingTool.h.

163 {this, "rBinsCustomLooping", {1},
164 "defines order of r bins for looping"};

◆ m_rMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_rMax
protected
Initial value:
{this, "rMax", 320. * Acts::UnitConstants::mm,
"limiting location of measurements"}

Definition at line 131 of file SeedingTool.h.

131 {this, "rMax", 320. * Acts::UnitConstants::mm,
132 "limiting location of measurements"};

◆ m_rMin

Gaudi::Property<float> ActsTrk::SeedingTool::m_rMin {this, "rMin", 0 * Acts::UnitConstants::mm, ""}
protected

Definition at line 231 of file SeedingTool.h.

231{this, "rMin", 0 * Acts::UnitConstants::mm, ""};

◆ m_rRangeMiddleSP

Gaudi::Property< std::vector<std::vector<double> > > ActsTrk::SeedingTool::m_rRangeMiddleSP
protected
Initial value:
{this, "rRangeMiddleSP",
{{40.0, 90.0}, {40.0, 90.0}, {40.0, 200.0}, {46.0, 200.0}, {46.0, 200.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 200.0}, {46.0, 200.0}, {40.0, 200.0}, {40.0, 90.0}, {40.0, 90.0}},
"radial range for middle SP"}

Definition at line 167 of file SeedingTool.h.

167 {this, "rRangeMiddleSP",
168 {{40.0, 90.0}, {40.0, 90.0}, {40.0, 200.0}, {46.0, 200.0}, {46.0, 200.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 200.0}, {46.0, 200.0}, {40.0, 200.0}, {40.0, 90.0}, {40.0, 90.0}},
169 "radial range for middle SP"};

◆ m_seedConfCentralMaxZOrigin

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralMaxZOrigin
protected
Initial value:
{this, "seedConfCentralMaxZOrigin", 150 * Acts::UnitConstants::mm,
"Maximum zOrigin in seed confirmation"}

Definition at line 194 of file SeedingTool.h.

194 {this, "seedConfCentralMaxZOrigin", 150 * Acts::UnitConstants::mm,
195 "Maximum zOrigin in seed confirmation"};

◆ m_seedConfCentralMinBottomRadius

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralMinBottomRadius
protected
Initial value:
{this, "seedConfCentralMinBottomRadius", 60 * Acts::UnitConstants::mm,
"Minimum radius for bottom SP in seed confirmation"}

Definition at line 191 of file SeedingTool.h.

191 {this, "seedConfCentralMinBottomRadius", 60 * Acts::UnitConstants::mm,
192 "Minimum radius for bottom SP in seed confirmation"};

◆ m_seedConfCentralMinImpact

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralMinImpact
protected
Initial value:
{this, "seedConfCentralMinImpact", 1. * Acts::UnitConstants::mm,
"Minimum impact parameter for seed confirmation"}

Definition at line 197 of file SeedingTool.h.

197 {this, "seedConfCentralMinImpact", 1. * Acts::UnitConstants::mm,
198 "Minimum impact parameter for seed confirmation"};

◆ m_seedConfCentralNTopLargeR

Gaudi::Property< size_t > ActsTrk::SeedingTool::m_seedConfCentralNTopLargeR
protected
Initial value:
{this, "seedConfCentralNTopLargeR", 1,
"nTop for large R central seed confirmation"}

Definition at line 185 of file SeedingTool.h.

185 {this, "seedConfCentralNTopLargeR", 1,
186 "nTop for large R central seed confirmation"};

◆ m_seedConfCentralNTopSmallR

Gaudi::Property< size_t > ActsTrk::SeedingTool::m_seedConfCentralNTopSmallR
protected
Initial value:
{this, "seedConfCentralNTopSmallR", 2,
"nTop for small R central seed confirmation"}

Definition at line 188 of file SeedingTool.h.

188 {this, "seedConfCentralNTopSmallR", 2,
189 "nTop for small R central seed confirmation"};

◆ m_seedConfCentralRMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralRMax
protected
Initial value:
{this, "seedConfCentralRMax", 140. * Acts::UnitConstants::mm,
"maximum r for central seed confirmation "}

Definition at line 182 of file SeedingTool.h.

182 {this, "seedConfCentralRMax", 140. * Acts::UnitConstants::mm,
183 "maximum r for central seed confirmation "};

◆ m_seedConfCentralZMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralZMax
protected
Initial value:
{this, "seedConfCentralZMax", 250. * Acts::UnitConstants::mm,
"maximum z for central seed confirmation "}

Definition at line 179 of file SeedingTool.h.

179 {this, "seedConfCentralZMax", 250. * Acts::UnitConstants::mm,
180 "maximum z for central seed confirmation "};

◆ m_seedConfCentralZMin

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralZMin
protected
Initial value:
{this, "seedConfCentralZMin", -250. * Acts::UnitConstants::mm,
"minimum z for central seed confirmation "}

Definition at line 176 of file SeedingTool.h.

176 {this, "seedConfCentralZMin", -250. * Acts::UnitConstants::mm,
177 "minimum z for central seed confirmation "};

◆ m_seedConfForwardMaxZOrigin

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardMaxZOrigin
protected
Initial value:
{this, "seedConfForwardMaxZOrigin", 150 * Acts::UnitConstants::mm,
"Maximum zOrigin in seed confirmation"}

Definition at line 218 of file SeedingTool.h.

218 {this, "seedConfForwardMaxZOrigin", 150 * Acts::UnitConstants::mm,
219 "Maximum zOrigin in seed confirmation"};

◆ m_seedConfForwardMinBottomRadius

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardMinBottomRadius
protected
Initial value:
{this, "seedConfForwardMinBottomRadius", 60 * Acts::UnitConstants::mm,
"Minimum radius for bottom SP in seed confirmation"}

Definition at line 215 of file SeedingTool.h.

215 {this, "seedConfForwardMinBottomRadius", 60 * Acts::UnitConstants::mm,
216 "Minimum radius for bottom SP in seed confirmation"};

◆ m_seedConfForwardMinImpact

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardMinImpact
protected
Initial value:
{this, "seedConfForwardMinImpact", 1. * Acts::UnitConstants::mm,
"Minimum impact parameter for seed confirmation"}

Definition at line 221 of file SeedingTool.h.

221 {this, "seedConfForwardMinImpact", 1. * Acts::UnitConstants::mm,
222 "Minimum impact parameter for seed confirmation"};

◆ m_seedConfForwardNTopLargeR

Gaudi::Property< size_t > ActsTrk::SeedingTool::m_seedConfForwardNTopLargeR
protected
Initial value:
{this, "seedConfForwardNTopLargeR", 1,
"nTop for large R forward seed confirmation"}

Definition at line 209 of file SeedingTool.h.

209 {this, "seedConfForwardNTopLargeR", 1,
210 "nTop for large R forward seed confirmation"};

◆ m_seedConfForwardNTopSmallR

Gaudi::Property< size_t > ActsTrk::SeedingTool::m_seedConfForwardNTopSmallR
protected
Initial value:
{this, "seedConfForwardNTopSmallR", 2,
"nTop for small R forward seed confirmation"}

Definition at line 212 of file SeedingTool.h.

212 {this, "seedConfForwardNTopSmallR", 2,
213 "nTop for small R forward seed confirmation"};

◆ m_seedConfForwardRMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardRMax
protected
Initial value:
{this, "seedConfForwardRMax", 140. * Acts::UnitConstants::mm,
"maximum r for forward seed confirmation "}

Definition at line 206 of file SeedingTool.h.

206 {this, "seedConfForwardRMax", 140. * Acts::UnitConstants::mm,
207 "maximum r for forward seed confirmation "};

◆ m_seedConfForwardZMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardZMax
protected
Initial value:
{this, "seedConfForwardZMax", 3000. * Acts::UnitConstants::mm,
"maximum z for forward seed confirmation "}

Definition at line 203 of file SeedingTool.h.

203 {this, "seedConfForwardZMax", 3000. * Acts::UnitConstants::mm,
204 "maximum z for forward seed confirmation "};

◆ m_seedConfForwardZMin

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardZMin
protected
Initial value:
{this, "seedConfForwardZMin", -3000. * Acts::UnitConstants::mm,
"minimum z for forward seed confirmation "}

Definition at line 200 of file SeedingTool.h.

200 {this, "seedConfForwardZMin", -3000. * Acts::UnitConstants::mm,
201 "minimum z for forward seed confirmation "};

◆ m_seedConfirmation

Gaudi::Property< bool > ActsTrk::SeedingTool::m_seedConfirmation
protected
Initial value:
{this, "seedConfirmation", true,
"run seed confirmation"}

Definition at line 174 of file SeedingTool.h.

174 {this, "seedConfirmation", true,
175 "run seed confirmation"};

◆ m_seedConfirmationInFilter

Gaudi::Property< bool > ActsTrk::SeedingTool::m_seedConfirmationInFilter
protected
Initial value:
{this, "seedConfirmationInFilter", true,
"run seed confirmation"}

Definition at line 248 of file SeedingTool.h.

248 {this, "seedConfirmationInFilter", true,
249 "run seed confirmation"};

◆ m_seedQualitySelection

Gaudi::Property< bool > ActsTrk::SeedingTool::m_seedQualitySelection
protected
Initial value:
{this, "doSeedQualitySelection", true,
"Select seed according to quality criteria"}

Definition at line 99 of file SeedingTool.h.

99 {this, "doSeedQualitySelection", true,
100 "Select seed according to quality criteria"};

◆ m_seedWeightIncrement

Gaudi::Property< float > ActsTrk::SeedingTool::m_seedWeightIncrement
protected
Initial value:
{this, "seedWeightIncrement", 0.,
"increment in seed weight if needed"}

Definition at line 244 of file SeedingTool.h.

244 {this, "seedWeightIncrement", 0.,
245 "increment in seed weight if needed"};

◆ m_sigmaError

Gaudi::Property<float> ActsTrk::SeedingTool::m_sigmaError {this, "sigmaError", 5, ""}
protected

Definition at line 234 of file SeedingTool.h.

234{this, "sigmaError", 5, ""};

◆ m_sigmaScattering

Gaudi::Property< float > ActsTrk::SeedingTool::m_sigmaScattering
protected
Initial value:
{this, "sigmaScattering", 2.,
"how many sigmas of scattering angle should be considered"}

Definition at line 151 of file SeedingTool.h.

151 {this, "sigmaScattering", 2.,
152 "how many sigmas of scattering angle should be considered"};

◆ m_stateVectorReserveSize

Gaudi::Property< int > ActsTrk::SeedingTool::m_stateVectorReserveSize {this, "stateVectorReserveSize", 500, "Size of the initial Seeding State internal vectors"}
protected

Definition at line 277 of file SeedingTool.h.

277{this, "stateVectorReserveSize", 500, "Size of the initial Seeding State internal vectors"};

◆ m_toleranceParam

Gaudi::Property<float> ActsTrk::SeedingTool::m_toleranceParam
protected
Initial value:
{this, "toleranceParam", 1.1 * Acts::UnitConstants::mm,
"tolerance parameter used to check the compatibility of SPs coordinates in xyz"}

Definition at line 227 of file SeedingTool.h.

227 {this, "toleranceParam", 1.1 * Acts::UnitConstants::mm,
228 "tolerance parameter used to check the compatibility of SPs coordinates in xyz"};

◆ m_topBinFinder

std::unique_ptr< Acts::GridBinFinder< 3ul > > ActsTrk::SeedingTool::m_topBinFinder {nullptr}
private

Definition at line 281 of file SeedingTool.h.

281{nullptr};

◆ m_useDeltaRorTopRadius

Gaudi::Property< bool > ActsTrk::SeedingTool::m_useDeltaRorTopRadius
protected
Initial value:
{this, "useDeltaRorTopRadius", true,
"use deltaR (top radius - middle radius) instead of top radius"}

Definition at line 254 of file SeedingTool.h.

254 {this, "useDeltaRorTopRadius", true,
255 "use deltaR (top radius - middle radius) instead of top radius"};

◆ m_useDetailedDoubleMeasurementInfo

Gaudi::Property< bool > ActsTrk::SeedingTool::m_useDetailedDoubleMeasurementInfo
protected
Initial value:
{this, "useDetailedDoubleMeasurementInfo", false,
"enable use of double measurement details"}

Definition at line 224 of file SeedingTool.h.

224 {this, "useDetailedDoubleMeasurementInfo", false,
225 "enable use of double measurement details"};

◆ m_useExperimentCuts

Gaudi::Property< bool > ActsTrk::SeedingTool::m_useExperimentCuts {this, "useExperimentCuts", false, ""}
protected

Definition at line 275 of file SeedingTool.h.

275{this, "useExperimentCuts", false, ""};

◆ m_useVariableMiddleSPRange

Gaudi::Property< bool > ActsTrk::SeedingTool::m_useVariableMiddleSPRange
protected
Initial value:
{this, "useVariableMiddleSPRange", true,
"Enable variable range to search for middle SPs"}

Definition at line 165 of file SeedingTool.h.

165 {this, "useVariableMiddleSPRange", true,
166 "Enable variable range to search for middle SPs"};

◆ m_zAlign

Gaudi::Property<float> ActsTrk::SeedingTool::m_zAlign {this, "zAlign", 0 * Acts::UnitConstants::mm, ""}
protected

Definition at line 232 of file SeedingTool.h.

232{this, "zAlign", 0 * Acts::UnitConstants::mm, ""};

◆ m_zBinEdges

Gaudi::Property< std::vector< float > > ActsTrk::SeedingTool::m_zBinEdges
protected
Initial value:
{this, "zBinEdges",
{-3000., -2700., -2500., -1400., -925., -500., -250., 250., 500., 925., 1400., 2500., 2700, 3000.},
"enable non equidistant binning in z"}

Definition at line 115 of file SeedingTool.h.

115 {this, "zBinEdges",
116 {-3000., -2700., -2500., -1400., -925., -500., -250., 250., 500., 925., 1400., 2500., 2700, 3000.},
117 "enable non equidistant binning in z"}; // Used in SeedfinderConfig as well

◆ m_zBinNeighborsBottom

Gaudi::Property< std::vector<std::pair<int, int> > > ActsTrk::SeedingTool::m_zBinNeighborsBottom
protected
Initial value:
{this, "zBinNeighborsBottom",
{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {0, 0}},
"vector containing the map of z bins in the top layers"}

Definition at line 265 of file SeedingTool.h.

265 {this, "zBinNeighborsBottom",
266 {{0, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {0, 0}},
267 "vector containing the map of z bins in the top layers"};

◆ m_zBinNeighborsTop

Gaudi::Property< std::vector<std::pair<int, int> > > ActsTrk::SeedingTool::m_zBinNeighborsTop
protected
Initial value:
{this,
"zBinNeighborsTop",
{{0, 0}, {-1, 0}, {-2, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 2} , {0, 1}, {0, 0}},
"vector containing the map of z bins in the top layers"}

Definition at line 261 of file SeedingTool.h.

261 {this,
262 "zBinNeighborsTop",
263 {{0, 0}, {-1, 0}, {-2, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 2} , {0, 1}, {0, 0}},
264 "vector containing the map of z bins in the top layers"};

◆ m_zBinsCustomLooping

Gaudi::Property< std::vector< size_t > > ActsTrk::SeedingTool::m_zBinsCustomLooping
protected
Initial value:
{this, "zBinsCustomLooping",
{2, 3, 4, 5, 12, 11, 10, 9, 7, 6, 8} , "defines order of z bins for looping"}

Definition at line 161 of file SeedingTool.h.

161 {this, "zBinsCustomLooping",
162 {2, 3, 4, 5, 12, 11, 10, 9, 7, 6, 8} , "defines order of z bins for looping"};

◆ m_zMax

Gaudi::Property< float > ActsTrk::SeedingTool::m_zMax
protected
Initial value:
{this, "zMax", 3000. * Acts::UnitConstants::mm,
"limiting location of measurements"}

Definition at line 109 of file SeedingTool.h.

109 {this, "zMax", 3000. * Acts::UnitConstants::mm,
110 "limiting location of measurements"}; // Used in SeedfinderConfig as well

◆ m_zMin

Gaudi::Property< float > ActsTrk::SeedingTool::m_zMin
protected
Initial value:
{this, "zMin", -3000. * Acts::UnitConstants::mm,
"limiting location of measurements"}

Definition at line 107 of file SeedingTool.h.

107 {this, "zMin", -3000. * Acts::UnitConstants::mm,
108 "limiting location of measurements"}; // Used in SeedfinderConfig as well

◆ m_zOriginWeightFactor

Gaudi::Property< float > ActsTrk::SeedingTool::m_zOriginWeightFactor {this, "zOriginWeightFactor", 1.}
protected

Definition at line 239 of file SeedingTool.h.

239{this, "zOriginWeightFactor", 1.};

The documentation for this class was generated from the following files: