ATLAS Offline Software
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
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 = ActsTrk::ActsSeed< value_type, 3ul >
 
using external_type = typename std::conditional< std::is_const< typename value_type::ValueType >::value, typename std::remove_const< typename value_type::ValueType >::type, typename value_type::ValueType >::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, DataVector< ActsTrk::ActsSeed< external_type, 3ul > > &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. More...
 
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 More...
 
Gaudi::Property< float > m_ExpCutrMin {this, "SpSelectionExpCutrMin", 45. * Acts::UnitConstants::mm}
 

Detailed Description

Definition at line 53 of file SeedingTool.h.

Member Typedef Documentation

◆ external_type

using ActsTrk::SeedingTool::external_type = typename std::conditional< std::is_const< typename value_type::ValueType >::value, typename std::remove_const< typename value_type::ValueType >::type, typename value_type::ValueType >::type

Definition at line 58 of file SeedingTool.h.

◆ seed_type

Definition at line 57 of file SeedingTool.h.

◆ value_type

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

Definition at line 56 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  }

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

◆ doubletSelectionFunction()

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

Definition at line 363 of file SeedingTool.h.

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

◆ 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);
43  ATH_MSG_DEBUG(" " << m_impactMax);
44  ATH_MSG_DEBUG(" " << m_zMin);
45  ATH_MSG_DEBUG(" " << m_zMax);
48  ATH_MSG_DEBUG(" " << m_zBinEdges);
49  ATH_MSG_DEBUG(" " << m_rBinEdges);
50  ATH_MSG_DEBUG(" " << m_deltaRMax);
51  ATH_MSG_DEBUG(" " << m_gridRMax);
53 
54  ATH_MSG_DEBUG(" * Used by SeedFinderConfig:");
55  ATH_MSG_DEBUG(" " << m_minPt);
57  ATH_MSG_DEBUG(" " << m_impactMax);
58  ATH_MSG_DEBUG(" " << m_zMin);
59  ATH_MSG_DEBUG(" " << m_zMax);
60  ATH_MSG_DEBUG(" " << m_zBinEdges);
61  ATH_MSG_DEBUG(" " << m_rMax);
62  ATH_MSG_DEBUG(" " << m_deltaRMin);
63  ATH_MSG_DEBUG(" " << m_deltaRMax);
68  ATH_MSG_DEBUG(" " << m_deltaZMax);
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);
110  ATH_MSG_DEBUG(" " << m_sigmaError);
111 
112  ATH_MSG_DEBUG(" * Used by SeedFilterConfig:");
113  ATH_MSG_DEBUG(" " << m_deltaRMin);
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;
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  }

◆ logger()

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

Private access to the logger.

Definition at line 299 of file SeedingTool.h.

299 { return *m_logger; }

◆ prepareConfiguration()

StatusCode ActsTrk::SeedingTool::prepareConfiguration ( )
protected

Definition at line 374 of file SeedingTool.cxx.

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

◆ spacePointSelectionFunction()

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

Definition at line 307 of file SeedingTool.h.

307  {
308 
309  float r = sp.radius();
310  float zabs = std::abs(sp.z());
311  float absCotTheta = zabs / r;
312 
313  // checking configuration to remove pixel space points
314  Identifier identifier = m_pixelId->wafer_id(sp.externalSpacePoint().elementIdList().at(0));
316  if (zabs > 200 and
317  r < 40)
318  return false;
319 
320  return true;
321  }
322 
323  // Inner layers
324  // Below 1.20 - accept all
325  static constexpr float cotThetaEta120 = 1.5095;
326  if (absCotTheta < cotThetaEta120)
327  return true;
328 
329  // Below 3.40 - remove if too close to beamline
330  static constexpr float cotThetaEta340 = 14.9654;
331  if (absCotTheta < cotThetaEta340 and
332  r < m_ExpCutrMin)
333  return false;
334 
335 
336  // Outer layers
337  // Above 2.20
338  static constexpr float cotThetaEta220 = 4.4571;
339  if (absCotTheta > cotThetaEta220 and
340  r > 260.)
341  return false;
342 
343  // Above 2.60
344  static constexpr float cotThetaEta260 = 6.6947;
345  if (absCotTheta > cotThetaEta260 and
346  r > 200.)
347  return false;
348 
349  // Above 3.20
350  static constexpr float cotThetaEta320 = 12.2459;
351  if (absCotTheta > cotThetaEta320 and
352  r > 140.)
353  return false;
354 
355  // Above 4.00
356  static constexpr float cotThetaEta400 = 27.2899;
357  if (absCotTheta > cotThetaEta400)
358  return false;
359 
360  return true;
361  }

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 146 of file SeedingTool.h.

◆ m_bottomBinFinder

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

Definition at line 293 of file SeedingTool.h.

◆ 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 162 of file SeedingTool.h.

◆ 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 160 of file SeedingTool.h.

◆ 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 255 of file SeedingTool.h.

◆ 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 253 of file SeedingTool.h.

◆ m_cotThetaMax

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

Definition at line 118 of file SeedingTool.h.

◆ 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 269 of file SeedingTool.h.

◆ 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 124 of file SeedingTool.h.

◆ 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 156 of file SeedingTool.h.

◆ 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 152 of file SeedingTool.h.

◆ 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 185 of file SeedingTool.h.

◆ 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 183 of file SeedingTool.h.

◆ 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 148 of file SeedingTool.h.

◆ 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 154 of file SeedingTool.h.

◆ 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 150 of file SeedingTool.h.

◆ 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 158 of file SeedingTool.h.

◆ m_ExpCutrMin

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

Definition at line 305 of file SeedingTool.h.

◆ m_finder

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

Definition at line 107 of file SeedingTool.h.

◆ m_finderCfg

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

Definition at line 108 of file SeedingTool.h.

◆ m_gridCfg

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

Definition at line 109 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 137 of file SeedingTool.h.

◆ 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 135 of file SeedingTool.h.

◆ 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 133 of file SeedingTool.h.

◆ m_impactMax

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

Definition at line 126 of file SeedingTool.h.

◆ 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 250 of file SeedingTool.h.

◆ 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 172 of file SeedingTool.h.

◆ m_logger

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

logging instance

Definition at line 301 of file SeedingTool.h.

◆ m_maxPhiBins

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

Definition at line 141 of file SeedingTool.h.

◆ m_maxPtScattering

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

Definition at line 166 of file SeedingTool.h.

◆ 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 265 of file SeedingTool.h.

◆ 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 170 of file SeedingTool.h.

◆ 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 263 of file SeedingTool.h.

◆ 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 116 of file SeedingTool.h.

◆ m_navigation

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

Definition at line 296 of file SeedingTool.h.

◆ 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 285 of file SeedingTool.h.

◆ 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 259 of file SeedingTool.h.

◆ 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 139 of file SeedingTool.h.

◆ m_phiMax

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

Definition at line 243 of file SeedingTool.h.

◆ m_phiMin

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

Definition at line 242 of file SeedingTool.h.

◆ m_pixelId

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

Definition at line 105 of file SeedingTool.h.

◆ 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 168 of file SeedingTool.h.

◆ m_rAlign

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

Definition at line 246 of file SeedingTool.h.

◆ 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 131 of file SeedingTool.h.

◆ 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 283 of file SeedingTool.h.

◆ 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 281 of file SeedingTool.h.

◆ 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 176 of file SeedingTool.h.

◆ 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 144 of file SeedingTool.h.

◆ m_rMin

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

Definition at line 244 of file SeedingTool.h.

◆ 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 180 of file SeedingTool.h.

◆ 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 207 of file SeedingTool.h.

◆ 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 204 of file SeedingTool.h.

◆ 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 210 of file SeedingTool.h.

◆ 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 198 of file SeedingTool.h.

◆ 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 201 of file SeedingTool.h.

◆ 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 195 of file SeedingTool.h.

◆ 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 192 of file SeedingTool.h.

◆ 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 189 of file SeedingTool.h.

◆ 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 231 of file SeedingTool.h.

◆ 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 228 of file SeedingTool.h.

◆ 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 234 of file SeedingTool.h.

◆ 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 222 of file SeedingTool.h.

◆ 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 225 of file SeedingTool.h.

◆ 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 219 of file SeedingTool.h.

◆ 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 216 of file SeedingTool.h.

◆ 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 213 of file SeedingTool.h.

◆ m_seedConfirmation

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

Definition at line 187 of file SeedingTool.h.

◆ m_seedConfirmationInFilter

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

Definition at line 261 of file SeedingTool.h.

◆ m_seedQualitySelection

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

Definition at line 112 of file SeedingTool.h.

◆ m_seedWeightIncrement

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

Definition at line 257 of file SeedingTool.h.

◆ m_sigmaError

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

Definition at line 247 of file SeedingTool.h.

◆ 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 164 of file SeedingTool.h.

◆ m_stateVectorReserveSize

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

Definition at line 290 of file SeedingTool.h.

◆ 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 240 of file SeedingTool.h.

◆ m_topBinFinder

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

Definition at line 294 of file SeedingTool.h.

◆ 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 267 of file SeedingTool.h.

◆ m_useDetailedDoubleMeasurementInfo

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

Definition at line 237 of file SeedingTool.h.

◆ m_useExperimentCuts

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

Definition at line 288 of file SeedingTool.h.

◆ 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 178 of file SeedingTool.h.

◆ m_zAlign

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

Definition at line 245 of file SeedingTool.h.

◆ 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 128 of file SeedingTool.h.

◆ 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 278 of file SeedingTool.h.

◆ 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 274 of file SeedingTool.h.

◆ 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 174 of file SeedingTool.h.

◆ 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 122 of file SeedingTool.h.

◆ 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 120 of file SeedingTool.h.

◆ m_zOriginWeightFactor

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

Definition at line 252 of file SeedingTool.h.


The documentation for this class was generated from the following files:
ActsTrk::SeedingTool::m_deltaRMaxTopSP
Gaudi::Property< float > m_deltaRMaxTopSP
Definition: SeedingTool.h:152
ActsTrk::SeedingTool::m_gridPhiMax
Gaudi::Property< float > m_gridPhiMax
Definition: SeedingTool.h:137
beamspotman.r
def r
Definition: beamspotman.py:674
ActsTrk::SeedingTool::m_compatSeedLimit
Gaudi::Property< std::size_t > m_compatSeedLimit
Definition: SeedingTool.h:255
ActsTrk::SeedingTool::seed_type
ActsTrk::ActsSeed< value_type, 3ul > seed_type
Definition: SeedingTool.h:57
ActsTrk::SeedingTool::m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Definition: SeedingTool.h:207
python.SystemOfUnits.mm
float mm
Definition: SystemOfUnits.py:98
ActsTrk::SeedingTool::m_finderCfg
Acts::SeedFinderConfig< value_type > m_finderCfg
Definition: SeedingTool.h:108
ActsTrk::SeedingTool::m_seedConfCentralMinBottomRadius
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
Definition: SeedingTool.h:204
ActsTrk::SeedingTool::m_compatSeedWeight
Gaudi::Property< float > m_compatSeedWeight
Definition: SeedingTool.h:253
ActsTrk::SeedingTool::m_sigmaScattering
Gaudi::Property< float > m_sigmaScattering
Definition: SeedingTool.h:164
ActsTrk::SeedingTool::m_maxSeedsPerSpM
Gaudi::Property< int > m_maxSeedsPerSpM
Definition: SeedingTool.h:170
ActsTrk::SeedingTool::m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Definition: SeedingTool.h:231
ActsTrk::SeedingTool::m_bottomBinFinder
std::unique_ptr< Acts::GridBinFinder< 3ul > > m_bottomBinFinder
Definition: SeedingTool.h:293
ActsTrk::SeedingTool::m_maxQualitySeedsPerSpMConf
Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf
Definition: SeedingTool.h:265
ActsTrk::SeedingTool::m_seedConfirmation
Gaudi::Property< bool > m_seedConfirmation
Definition: SeedingTool.h:187
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
ActsTrk::SeedingTool::m_phiBinDeflectionCoverage
Gaudi::Property< int > m_phiBinDeflectionCoverage
Definition: SeedingTool.h:139
ActsTrk::SeedingTool::m_phiMin
Gaudi::Property< float > m_phiMin
Definition: SeedingTool.h:242
ActsTrk::SeedingTool::m_deltaRMinTopSP
Gaudi::Property< float > m_deltaRMinTopSP
Definition: SeedingTool.h:150
ActsTrk::SeedingTool::m_deltaRMaxBottomSP
Gaudi::Property< float > m_deltaRMaxBottomSP
Definition: SeedingTool.h:156
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
ActsTrk::SeedingTool::m_useVariableMiddleSPRange
Gaudi::Property< bool > m_useVariableMiddleSPRange
Definition: SeedingTool.h:178
ActsTrk::SeedingTool::createSeeds
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
Definition: SeedingTool.cxx:218
Amg::y
@ y
Definition: GeoPrimitives.h:35
ActsTrk::SeedingTool::external_spacepoint::type
typename std::conditional< std::is_pointer< typename spacepoint_iterator_t::value_type >::value, typename std::remove_const< typename std::remove_pointer< typename spacepoint_iterator_t::value_type >::type >::type, typename std::remove_const< typename spacepoint_iterator_t::value_type >::type >::type type
Definition: SeedingTool.h:87
ActsTrk::SeedingTool::m_rMin
Gaudi::Property< float > m_rMin
Definition: SeedingTool.h:244
ActsTrk::SeedingTool::m_rAlign
Gaudi::Property< float > m_rAlign
Definition: SeedingTool.h:246
ActsTrk::SeedingTool::m_seedConfCentralNTopLargeR
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Definition: SeedingTool.h:198
athena.value
value
Definition: athena.py:124
ActsTrk::SeedingTool::m_deltaRMax
Gaudi::Property< float > m_deltaRMax
Definition: SeedingTool.h:124
ActsTrk::SeedingTool::m_deltaRMinBottomSP
Gaudi::Property< float > m_deltaRMinBottomSP
Definition: SeedingTool.h:154
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
ActsTrk::SeedingTool::m_finder
Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid< value_type > > m_finder
Definition: SeedingTool.h:107
ActsTrk::SeedingTool::m_useExperimentCuts
Gaudi::Property< bool > m_useExperimentCuts
Definition: SeedingTool.h:288
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ActsTrk::SeedingTool::m_rMax
Gaudi::Property< float > m_rMax
Definition: SeedingTool.h:144
PixelID::wafer_id
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
Definition: PixelID.h:360
ActsTrk::SeedingTool::doubletSelectionFunction
bool doubletSelectionFunction(const value_type &middle, const value_type &other, float cotTheta, bool isBottomCandidate) const
Definition: SeedingTool.h:363
ActsTrk::SeedingTool::m_zAlign
Gaudi::Property< float > m_zAlign
Definition: SeedingTool.h:245
ActsTrk::SeedingTool::m_seedConfCentralZMax
Gaudi::Property< float > m_seedConfCentralZMax
Definition: SeedingTool.h:192
ActsTrk::SeedingTool::m_zBinNeighborsTop
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsTop
Definition: SeedingTool.h:274
python.SystemOfUnits.MeV
float MeV
Definition: SystemOfUnits.py:172
makeActsAthenaLogger
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Definition: Tracking/Acts/ActsInterop/src/Logger.cxx:64
ActsTrk::SeedingTool::m_impactMax
Gaudi::Property< float > m_impactMax
Definition: SeedingTool.h:126
ActsTrk::SeedingTool::m_impactWeightFactor
Gaudi::Property< float > m_impactWeightFactor
Definition: SeedingTool.h:250
ActsTrk::SeedingTool::m_seedQualitySelection
Gaudi::Property< bool > m_seedQualitySelection
Definition: SeedingTool.h:112
ActsTrk::SeedingTool::m_zBinEdges
Gaudi::Property< std::vector< float > > m_zBinEdges
Definition: SeedingTool.h:128
PixelID::is_barrel
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be pixel id, otherwise answer is not accurate. Use SiliconID for g...
Definition: PixelID.h:601
ActsTrk::SeedingTool::m_zMax
Gaudi::Property< float > m_zMax
Definition: SeedingTool.h:122
Generate_dsid_ranseed.seed
seed
Definition: Generate_dsid_ranseed.py:10
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ActsTrk::SeedingTool::m_seedConfForwardZMax
Gaudi::Property< float > m_seedConfForwardZMax
Definition: SeedingTool.h:216
lumiFormat.i
int i
Definition: lumiFormat.py:85
ActsTrk::SeedingTool::m_minPt
Gaudi::Property< float > m_minPt
Definition: SeedingTool.h:116
ActsTrk::SeedingTool::m_deltaZMax
Gaudi::Property< float > m_deltaZMax
Definition: SeedingTool.h:158
ActsTrk::SeedingTool::m_maxSeedsPerSpMConf
Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf
Definition: SeedingTool.h:263
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Amg::x
@ x
Definition: GeoPrimitives.h:34
ActsTrk::SeedingTool::spacePointSelectionFunction
bool spacePointSelectionFunction(const value_type &sp) const
Definition: SeedingTool.h:307
ActsTrk::SeedingTool::m_binSizeR
Gaudi::Property< float > m_binSizeR
Definition: SeedingTool.h:146
ActsTrk::SeedingTool::m_topBinFinder
std::unique_ptr< Acts::GridBinFinder< 3ul > > m_topBinFinder
Definition: SeedingTool.h:294
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
ActsTrk::SeedingTool::m_seedConfForwardRMax
Gaudi::Property< float > m_seedConfForwardRMax
Definition: SeedingTool.h:219
detail::ul
unsigned long ul
Definition: PrimitiveHelpers.h:46
ActsTrk::SeedingTool::m_seedConfCentralMinImpact
Gaudi::Property< float > m_seedConfCentralMinImpact
Definition: SeedingTool.h:210
ActsTrk::SeedingTool::m_seedConfForwardMinImpact
Gaudi::Property< float > m_seedConfForwardMinImpact
Definition: SeedingTool.h:234
ActsTrk::SeedingTool::m_rBinNeighborsTop
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsTop
Definition: SeedingTool.h:281
ActsTrk::SeedingTool::m_gridRMax
Gaudi::Property< float > m_gridRMax
Definition: SeedingTool.h:133
ActsTrk::SeedingTool::m_radLengthPerSeed
Gaudi::Property< float > m_radLengthPerSeed
Definition: SeedingTool.h:168
DeMoUpdate.toAdd
bool toAdd
Definition: DeMoUpdate.py:1304
ActsTrk::SeedingTool::m_deltaInvHelixDiameter
Gaudi::Property< float > m_deltaInvHelixDiameter
Definition: SeedingTool.h:269
ActsTrk::SeedingTool::logger
const Acts::Logger & logger() const
Private access to the logger.
Definition: SeedingTool.h:299
ActsTrk::SeedingTool::m_seedConfCentralRMax
Gaudi::Property< float > m_seedConfCentralRMax
Definition: SeedingTool.h:195
ActsTrk::SeedingTool::m_collisionRegionMax
Gaudi::Property< float > m_collisionRegionMax
Definition: SeedingTool.h:162
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
ActsTrk::SeedingTool::m_rBinNeighborsBottom
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsBottom
Definition: SeedingTool.h:283
ActsTrk::SeedingTool::m_rBinsCustomLooping
Gaudi::Property< std::vector< std::size_t > > m_rBinsCustomLooping
Definition: SeedingTool.h:176
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
ActsTrk::SeedingTool::m_deltaRMiddleMaxSPRange
Gaudi::Property< float > m_deltaRMiddleMaxSPRange
Definition: SeedingTool.h:185
ActsTrk::SeedingTool::m_deltaRMiddleMinSPRange
Gaudi::Property< float > m_deltaRMiddleMinSPRange
Definition: SeedingTool.h:183
ActsTrk::SeedingTool::m_ExpCutrMin
Gaudi::Property< float > m_ExpCutrMin
Definition: SeedingTool.h:305
ActsTrk::SeedingTool::m_navigation
std::array< std::vector< std::size_t >, 3ul > m_navigation
Definition: SeedingTool.h:296
ActsTrk::SeedingTool::m_seedConfCentralZMin
Gaudi::Property< float > m_seedConfCentralZMin
Definition: SeedingTool.h:189
ActsTrk::SeedingTool::m_zBinsCustomLooping
Gaudi::Property< std::vector< size_t > > m_zBinsCustomLooping
Definition: SeedingTool.h:174
ActsTrk::SeedingTool::prepareConfiguration
StatusCode prepareConfiguration()
Definition: SeedingTool.cxx:374
ActsTrk::SeedingTool::m_phiMax
Gaudi::Property< float > m_phiMax
Definition: SeedingTool.h:243
ActsTrk::SeedingTool::m_collisionRegionMin
Gaudi::Property< float > m_collisionRegionMin
Definition: SeedingTool.h:160
ActsTrk::SeedingTool::m_seedConfCentralNTopSmallR
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Definition: SeedingTool.h:201
ActsTrk::SeedingTool::m_cotThetaMax
Gaudi::Property< float > m_cotThetaMax
Definition: SeedingTool.h:118
ActsTrk::SeedingTool::m_maxPhiBins
Gaudi::Property< int > m_maxPhiBins
Definition: SeedingTool.h:141
ActsTrk::SeedingTool::m_toleranceParam
Gaudi::Property< float > m_toleranceParam
Definition: SeedingTool.h:240
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
ActsTrk::SeedingTool::m_deltaRMin
Gaudi::Property< float > m_deltaRMin
Definition: SeedingTool.h:148
ActsTrk::SeedingTool::m_stateVectorReserveSize
Gaudi::Property< int > m_stateVectorReserveSize
Definition: SeedingTool.h:290
ActsTrk::SeedingTool::m_seedWeightIncrement
Gaudi::Property< float > m_seedWeightIncrement
Definition: SeedingTool.h:257
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
ActsTrk::SeedingTool::m_numPhiNeighbors
Gaudi::Property< int > m_numPhiNeighbors
Definition: SeedingTool.h:285
ActsTrk::SeedingTool::m_seedConfForwardNTopLargeR
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
Definition: SeedingTool.h:222
ActsTrk::SeedingTool::m_seedConfForwardZMin
Gaudi::Property< float > m_seedConfForwardZMin
Definition: SeedingTool.h:213
TRT::Track::cotTheta
@ cotTheta
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:65
ActsTrk::SeedingTool::m_seedConfirmationInFilter
Gaudi::Property< bool > m_seedConfirmationInFilter
Definition: SeedingTool.h:261
ActsTrk::SeedingTool::m_rBinEdges
Gaudi::Property< std::vector< float > > m_rBinEdges
Definition: SeedingTool.h:131
ActsTrk::SeedingTool::m_interactionPointCut
Gaudi::Property< bool > m_interactionPointCut
Definition: SeedingTool.h:172
ActsTrk::SeedingTool::m_rRangeMiddleSP
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP
Definition: SeedingTool.h:180
ActsTrk::SeedingTool::m_useDeltaRorTopRadius
Gaudi::Property< bool > m_useDeltaRorTopRadius
Definition: SeedingTool.h:267
top
@ top
Definition: TruthClasses.h:64
ActsTrk::SeedingTool::m_seedConfForwardNTopSmallR
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
Definition: SeedingTool.h:225
ActsTrk::SeedingTool::m_gridCfg
Acts::CylindricalSpacePointGridConfig m_gridCfg
Definition: SeedingTool.h:109
ActsTrk::SeedingTool::m_zOriginWeightFactor
Gaudi::Property< float > m_zOriginWeightFactor
Definition: SeedingTool.h:252
ActsTrk::SeedingTool::m_useDetailedDoubleMeasurementInfo
Gaudi::Property< bool > m_useDetailedDoubleMeasurementInfo
Definition: SeedingTool.h:237
ActsTrk::SeedingTool::m_zBinNeighborsBottom
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsBottom
Definition: SeedingTool.h:278
value_type
Definition: EDM_MasterSearch.h:11
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
ActsTrk::SeedingTool::m_gridPhiMin
Gaudi::Property< float > m_gridPhiMin
Definition: SeedingTool.h:135
ActsTrk::SeedingTool::m_sigmaError
Gaudi::Property< float > m_sigmaError
Definition: SeedingTool.h:247
ActsTrk::SeedingTool::m_logger
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Definition: SeedingTool.h:301
ActsTrk::SeedingTool::m_pixelId
const PixelID * m_pixelId
Definition: SeedingTool.h:105
ActsTrk::SeedingTool::m_maxPtScattering
Gaudi::Property< float > m_maxPtScattering
Definition: SeedingTool.h:166
ActsTrk::SeedingTool::m_numSeedIncrement
Gaudi::Property< float > m_numSeedIncrement
Definition: SeedingTool.h:259
ActsTrk::SeedingTool::m_seedConfForwardMinBottomRadius
Gaudi::Property< float > m_seedConfForwardMinBottomRadius
Definition: SeedingTool.h:228
ActsTrk::SeedingTool::m_zMin
Gaudi::Property< float > m_zMin
Definition: SeedingTool.h:120
Identifier
Definition: IdentifierFieldParser.cxx:14