ATLAS Offline Software
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
ActsTrk::GridTripletSeedingTool Class Reference

#include <GridTripletSeedingTool.h>

Inheritance diagram for ActsTrk::GridTripletSeedingTool:
Collaboration diagram for ActsTrk::GridTripletSeedingTool:

Public Member Functions

 GridTripletSeedingTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual StatusCode initialize () override
 
StatusCode createSeeds2 (const EventContext &ctx, const std::vector< const xAOD::SpacePointContainer * > &spacePointCollections, const Eigen::Vector3f &beamSpotPos, float bFieldInZ, ActsTrk::SeedContainer &seedContainer) const override
 

Protected Attributes

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
 
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
 
Gaudi::Property< float > m_phiMax
 
Gaudi::Property< float > m_rMin {this, "rMin", 0 * Acts::UnitConstants::mm, ""}
 
Gaudi::Property< float > m_zAlign
 
Gaudi::Property< float > m_rAlign
 
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
 
Gaudi::Property< int > m_stateVectorReserveSize
 
Gaudi::Property< float > m_expCutrMin
 

Private Member Functions

const Acts::Logger & logger () const
 Private access to the logger. More...
 
bool spacePointSelectionFunction (const xAOD::SpacePoint *sp, float r) const
 
bool doubletSelectionFunction (const Acts::Experimental::ConstSpacePointProxy2 &middle, const Acts::Experimental::ConstSpacePointProxy2 &other, float cotTheta, bool isBottomCandidate) const
 
std::pair< float, float > retrieveRadiusRangeForMiddle (const Acts::Experimental::ConstSpacePointProxy2 &spM, const Acts::Range1D< float > &rMiddleSpRange) const
 

Private Attributes

Acts::Experimental::CylindricalSpacePointGrid2::Config m_gridCfg
 
Acts::Experimental::DoubletSeedFinder::Config m_bottomDoubletFinderCfg
 
Acts::Experimental::DoubletSeedFinder::Config m_topDoubletFinderCfg
 
Acts::Experimental::TripletSeedFinder::Config m_tripletFinderCfg
 
Acts::Experimental::BroadTripletSeedFilter::Config m_filterCfg
 
std::optional< Acts::Experimental::TripletSeeder > m_finder
 
std::unique_ptr< const Acts::Logger > m_logger
 logging instance More...
 
std::unique_ptr< const Acts::Logger > m_loggerFilter
 
const PixelIDm_pixelId {nullptr}
 

Detailed Description

Definition at line 27 of file GridTripletSeedingTool.h.

Constructor & Destructor Documentation

◆ GridTripletSeedingTool()

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

Definition at line 9 of file GridTripletSeedingTool.cxx.

12  : base_class(type, name, parent) {}

Member Function Documentation

◆ createSeeds2()

StatusCode ActsTrk::GridTripletSeedingTool::createSeeds2 ( const EventContext &  ctx,
const std::vector< const xAOD::SpacePointContainer * > &  spacePointCollections,
const Eigen::Vector3f &  beamSpotPos,
float  bFieldInZ,
ActsTrk::SeedContainer seedContainer 
) const
override

Definition at line 388 of file GridTripletSeedingTool.cxx.

392  {
393  (void)ctx;
394 
395  auto gridCfg = m_gridCfg;
396  gridCfg.bFieldInZ = bFieldInZ;
397 
398  Acts::Experimental::CylindricalSpacePointGrid2 grid(
399  gridCfg, logger().cloneWithSuffix("Grid"));
400 
401  std::size_t totalSpacePoints = 0;
402  for (const xAOD::SpacePointContainer* spacePoints : spacePointCollections) {
403  totalSpacePoints += spacePoints->size();
404  }
405 
406  std::vector<const xAOD::SpacePoint*> selectedXAODSpacePoints;
407  std::vector<float> selectedSpacePointsR;
408  selectedXAODSpacePoints.reserve(totalSpacePoints);
409  selectedSpacePointsR.reserve(totalSpacePoints);
410 
411  for (const xAOD::SpacePointContainer* spacePoints : spacePointCollections) {
412  for (const xAOD::SpacePoint* sp : *spacePoints) {
413  float x = static_cast<float>(sp->x() - beamSpotPos[0]);
414  float y = static_cast<float>(sp->y() - beamSpotPos[1]);
415  float z = static_cast<float>(sp->z());
416  float r = std::hypot(x, y);
417  float phi = std::atan2(y, x);
418 
420  continue;
421  }
422 
423  grid.insert(selectedXAODSpacePoints.size(), phi, z, r);
424  selectedXAODSpacePoints.push_back(sp);
425  selectedSpacePointsR.push_back(r);
426  }
427  }
428 
429  for (std::size_t i = 0; i < grid.numberOfBins(); ++i) {
430  std::ranges::sort(
431  grid.at(i), [&](const Acts::Experimental::SpacePointIndex2& a,
432  const Acts::Experimental::SpacePointIndex2& b) {
433  return selectedSpacePointsR[a] < selectedSpacePointsR[b];
434  });
435  }
436 
437  Acts::Experimental::SpacePointContainer2 selectedSpacePoints;
438  selectedSpacePoints.createColumns(
439  Acts::Experimental::SpacePointColumns::SourceLinks |
440  Acts::Experimental::SpacePointColumns::XY |
441  Acts::Experimental::SpacePointColumns::ZR |
442  Acts::Experimental::SpacePointColumns::VarianceZ |
443  Acts::Experimental::SpacePointColumns::VarianceR);
445  selectedSpacePoints.createColumns(
446  Acts::Experimental::SpacePointColumns::Strip);
447  }
448  selectedSpacePoints.reserve(grid.numberOfSpacePoints());
449  std::vector<Acts::Experimental::SpacePointIndex2> copyFromIndices;
450  copyFromIndices.reserve(grid.numberOfSpacePoints());
451  std::vector<Acts::Experimental::SpacePointIndexRange2> gridSpacePointRanges;
452  gridSpacePointRanges.reserve(grid.numberOfBins());
453  for (std::size_t i = 0; i < grid.numberOfBins(); ++i) {
454  std::uint32_t begin = selectedSpacePoints.size();
455  for (const Acts::Experimental::SpacePointIndex2 spIndex : grid.at(i)) {
456  const xAOD::SpacePoint* sp = selectedXAODSpacePoints[spIndex];
457 
458  auto newSp = selectedSpacePoints.createSpacePoint();
459  newSp.assignSourceLinks(
460  std::array<Acts::SourceLink, 1>{Acts::SourceLink(sp)});
461  newSp.xy() = std::array<float, 2>{static_cast<float>(sp->x() - beamSpotPos[0]),
462  static_cast<float>(sp->y() - beamSpotPos[1])};
463  newSp.zr() = std::array<float, 2>{static_cast<float>(sp->z()),
464  selectedSpacePointsR[spIndex]};
465  newSp.varianceZ() = static_cast<float>(sp->varianceZ());
466  newSp.varianceR() = static_cast<float>(sp->varianceR());
468  newSp.topStripVector() =
470  newSp.bottomStripVector() =
472  newSp.stripCenterDistance() = sp->stripCenterDistance();
473  newSp.topStripCenter() = sp->topStripCenter();
474  }
475 
476  copyFromIndices.push_back(spIndex);
477  }
478  std::uint32_t end = selectedSpacePoints.size();
479  gridSpacePointRanges.emplace_back(begin, end);
480  }
481 
482  // clear temporary
483  selectedXAODSpacePoints = {};
484  selectedSpacePointsR = {};
485 
486  ACTS_VERBOSE("Number of space points after selection "
487  << selectedSpacePoints.size() << " out of " << totalSpacePoints);
488 
489  // Compute radius range. We rely on the fact the grid is storing the proxies
490  // with a sorting in the radius
491  const Acts::Range1D<float> rRange = [&]() -> Acts::Range1D<float> {
492  float minRange = std::numeric_limits<float>::max();
493  float maxRange = std::numeric_limits<float>::lowest();
494  for (const Acts::Experimental::SpacePointIndexRange2& range :
495  gridSpacePointRanges) {
496  if (range.first == range.second) {
497  continue;
498  }
499  auto first = selectedSpacePoints[range.first];
500  auto last = selectedSpacePoints[range.second - 1];
501  minRange = std::min(first.zr()[1], minRange);
502  maxRange = std::max(last.zr()[1], maxRange);
503  }
504  return {minRange, maxRange};
505  }();
506 
507  auto bottomDoubletFinder = Acts::Experimental::DoubletSeedFinder::create(
508  Acts::Experimental::DoubletSeedFinder::DerivedConfig(
509  m_bottomDoubletFinderCfg, bFieldInZ));
510  auto topDoubletFinder = Acts::Experimental::DoubletSeedFinder::create(
511  Acts::Experimental::DoubletSeedFinder::DerivedConfig(
512  m_topDoubletFinderCfg, bFieldInZ));
513  auto tripletFinder = Acts::Experimental::TripletSeedFinder::create(
514  Acts::Experimental::TripletSeedFinder::DerivedConfig(m_tripletFinderCfg,
515  bFieldInZ));
516 
517  // variable middle SP radial region of interest
518  const Acts::Range1D<float> rMiddleSpRange(
519  std::floor(rRange.min() / 2) * 2 + m_deltaRMiddleMinSPRange,
520  std::floor(rRange.max() / 2) * 2 - m_deltaRMiddleMaxSPRange);
521 
523  Acts::Experimental::BroadTripletSeedFilter::Cache filterCache;
524  Acts::Experimental::TripletSeeder::Cache cache;
525 
526  Acts::Experimental::BroadTripletSeedFilter filter(
527  m_filterCfg, filterState, filterCache, *m_loggerFilter);
528 
529  std::vector<Acts::Experimental::SpacePointContainer2::ConstRange>
530  bottomSpRanges;
531  std::optional<Acts::Experimental::SpacePointContainer2::ConstRange>
532  middleSpRange;
533  std::vector<Acts::Experimental::SpacePointContainer2::ConstRange> topSpRanges;
534 
535  Acts::Experimental::SeedContainer2 tmpSeedContainer;
536  tmpSeedContainer.reserve(seedContainer.capacity());
537 
538  for (const auto [bottom, middle, top] : grid.binnedGroup()) {
539  ACTS_VERBOSE("Process middle bin " << middle);
540  if (middle >= gridSpacePointRanges.size()) {
541  ATH_MSG_ERROR("Grid Binned Group returned an unreasonable middle bin");
542  return StatusCode::FAILURE;
543  }
544 
545  bottomSpRanges.clear();
546  topSpRanges.clear();
547 
549  bottom, std::back_inserter(bottomSpRanges),
550  [&](std::size_t b)
551  -> Acts::Experimental::SpacePointContainer2::ConstRange {
552  return selectedSpacePoints.range(gridSpacePointRanges[b]).asConst();
553  });
554  middleSpRange =
555  selectedSpacePoints.range(gridSpacePointRanges[middle]).asConst();
557  top, std::back_inserter(topSpRanges),
558  [&](std::size_t t)
559  -> Acts::Experimental::SpacePointContainer2::ConstRange {
560  return selectedSpacePoints.range(gridSpacePointRanges[t]).asConst();
561  });
562 
563  // we compute this here since all middle space point candidates belong to
564  // the same z-bin
565  auto firstMiddleSp = middleSpRange->front();
566  auto radiusRangeForMiddle =
567  retrieveRadiusRangeForMiddle(firstMiddleSp, rMiddleSpRange);
568 
569  ACTS_VERBOSE("Validity range (radius) for the middle space point is ["
570  << radiusRangeForMiddle.first << ", "
571  << radiusRangeForMiddle.second << "]");
572 
573  m_finder->createSeedsFromGroups(
574  cache, *bottomDoubletFinder, *topDoubletFinder, *tripletFinder, filter,
575  selectedSpacePoints, bottomSpRanges, *middleSpRange, topSpRanges,
576  radiusRangeForMiddle, tmpSeedContainer);
577  }
578 
579  // Selection function - temporary implementation
580  // need change from ACTS for final implementation
581  // To be used only on PPP
582  auto selectionFunction =
583  [&filterState](
584  const Acts::Experimental::MutableSeedProxy2& seed) -> bool {
585  float seedQuality = seed.quality();
586  float bottomQuality =
587  filterState.bestSeedQualityMap.at(seed.spacePointIndices()[0]);
588  float middleQuality =
589  filterState.bestSeedQualityMap.at(seed.spacePointIndices()[1]);
590  float topQuality =
591  filterState.bestSeedQualityMap.at(seed.spacePointIndices()[2]);
592 
593  return bottomQuality <= seedQuality || middleQuality <= seedQuality ||
594  topQuality <= seedQuality;
595  };
596 
597  seedContainer.reserve(tmpSeedContainer.size());
598 
599  // Select the seeds
600  for (Acts::Experimental::MutableSeedProxy2 seed : tmpSeedContainer) {
601  if (m_seedQualitySelection && !selectionFunction(seed)) {
602  continue;
603  }
604 
605  const xAOD::SpacePoint* bottom =
606  selectedSpacePoints.at(seed.spacePointIndices()[0])
607  .sourceLinks()[0]
608  .get<const xAOD::SpacePoint*>();
609  const xAOD::SpacePoint* middle =
610  selectedSpacePoints.at(seed.spacePointIndices()[1])
611  .sourceLinks()[0]
612  .get<const xAOD::SpacePoint*>();
613  const xAOD::SpacePoint* top =
614  selectedSpacePoints.at(seed.spacePointIndices()[2])
615  .sourceLinks()[0]
616  .get<const xAOD::SpacePoint*>();
617 
618  auto outputSeed = std::make_unique<ActsTrk::Seed>(*bottom, *middle, *top);
619  outputSeed->setVertexZ(seed.vertexZ());
620  outputSeed->setQuality(seed.quality());
621  seedContainer.push_back(std::move(outputSeed));
622  }
623 
624  return StatusCode::SUCCESS;
625 }

◆ doubletSelectionFunction()

bool ActsTrk::GridTripletSeedingTool::doubletSelectionFunction ( const Acts::Experimental::ConstSpacePointProxy2 &  middle,
const Acts::Experimental::ConstSpacePointProxy2 &  other,
float  cotTheta,
bool  isBottomCandidate 
) const
private

Definition at line 337 of file GridTripletSeedingTool.cxx.

340  {
341  // We remove some doublets that have the middle space point in some specific areas
342  // This should eventually be moved inside ACTS and allow a veto mechanism according
343  // to the user desire.
344  // As of now we cannot really do this since we define a range of validity of the middle
345  // candidate, and if we want to veto some sub-regions inside it, we need to do it here.
346  if (std::abs(middle.zr()[0]) > 1500 and
347  middle.zr()[1] > 100 and middle.zr()[1] < 150) {
348  return false;
349  }
350 
351  // We remove here some seeds, in case the bottom space point radius is
352  // too small (i.e. < fastTrackingRMin)
353 
354  // This operation is done only within a specific eta window
355  // Instead of eta we use the doublet cottheta
356  static constexpr float cotThetaEta120 = 1.5095;
357  static constexpr float cotThetaEta360 = 18.2855;
358 
359  float absCotTheta = std::abs(cotTheta);
360  if (isBottomCandidate && other.zr()[1] < m_expCutrMin &&
361  absCotTheta > cotThetaEta120 && absCotTheta < cotThetaEta360) {
362  return false;
363  }
364 
365  return true;
366 }

◆ initialize()

StatusCode ActsTrk::GridTripletSeedingTool::initialize ( )
overridevirtual

Definition at line 14 of file GridTripletSeedingTool.cxx.

14  {
15  ATH_MSG_DEBUG("Initializing " << name() << "...");
16 
17  ATH_MSG_DEBUG("Properties Summary:");
23 
24  ATH_MSG_DEBUG(" * Used by space point grid config:");
25  ATH_MSG_DEBUG(" " << m_minPt);
27  ATH_MSG_DEBUG(" " << m_impactMax);
28  ATH_MSG_DEBUG(" " << m_zMin);
29  ATH_MSG_DEBUG(" " << m_zMax);
32  ATH_MSG_DEBUG(" " << m_zBinEdges);
33  ATH_MSG_DEBUG(" " << m_rBinEdges);
34  ATH_MSG_DEBUG(" " << m_deltaRMax);
35  ATH_MSG_DEBUG(" " << m_gridRMax);
37 
38  ATH_MSG_DEBUG(" * Used by seed finder config:");
39  ATH_MSG_DEBUG(" " << m_minPt);
41  ATH_MSG_DEBUG(" " << m_impactMax);
42  ATH_MSG_DEBUG(" " << m_zMin);
43  ATH_MSG_DEBUG(" " << m_zMax);
44  ATH_MSG_DEBUG(" " << m_zBinEdges);
45  ATH_MSG_DEBUG(" " << m_rMax);
46  ATH_MSG_DEBUG(" " << m_deltaRMin);
47  ATH_MSG_DEBUG(" " << m_deltaRMax);
52  ATH_MSG_DEBUG(" " << m_deltaZMax);
66  } else if (not m_rRangeMiddleSP.empty())
69  if (m_seedConfirmation) {
86  }
89  ATH_MSG_DEBUG(" " << m_phiMin);
90  ATH_MSG_DEBUG(" " << m_phiMax);
91  ATH_MSG_DEBUG(" " << m_rMin);
92  ATH_MSG_DEBUG(" " << m_zAlign);
93  ATH_MSG_DEBUG(" " << m_rAlign);
95 
96  ATH_MSG_DEBUG(" * Used by seed filter config:");
97  ATH_MSG_DEBUG(" " << m_deltaRMin);
120  }
127 
128  // Make the logger && Propagate to ACTS routines
129  m_logger = makeActsAthenaLogger(this, "Acts");
130 
131  if (m_zBinEdges.size() - 1 != m_zBinNeighborsTop.size() &&
132  not m_zBinNeighborsTop.empty()) {
133  ATH_MSG_ERROR("Inconsistent config zBinNeighborsTop");
134  return StatusCode::FAILURE;
135  }
136 
137  if (m_zBinEdges.size() - 1 != m_zBinNeighborsBottom.size() &&
138  not m_zBinNeighborsBottom.empty()) {
139  ATH_MSG_ERROR("Inconsistent config zBinNeighborsBottom");
140  return StatusCode::FAILURE;
141  }
142 
143  if (m_rBinEdges.size() - 1 != m_rBinNeighborsTop.size() &&
144  not m_rBinNeighborsTop.empty()) {
145  ATH_MSG_ERROR("Inconsistent config rBinNeighborsTop");
146  return StatusCode::FAILURE;
147  }
148 
149  if (m_rBinEdges.size() - 1 != m_rBinNeighborsBottom.size() &&
150  not m_rBinNeighborsBottom.empty()) {
151  ATH_MSG_ERROR("Inconsistent config rBinNeighborsBottom");
152  return StatusCode::FAILURE;
153  }
154 
155  if (m_zBinsCustomLooping.size() != 0) {
156  // zBinsCustomLooping can contain a number of elements <= to the total
157  // number of bin in zBinEdges
158  for (std::size_t i : m_zBinsCustomLooping) {
159  if (i >= m_zBinEdges.size()) {
161  "Inconsistent config zBinsCustomLooping contains bins that are not "
162  "in zBinEdges");
163  return StatusCode::FAILURE;
164  }
165  }
166  }
167 
168  if (m_rBinsCustomLooping.size() != 0) {
169  for (std::size_t i : m_rBinsCustomLooping) {
170  if (i >= m_rBinEdges.size()) {
172  "Inconsistent config rBinsCustomLooping contains bins that are not "
173  "in rBinEdges");
174  return StatusCode::FAILURE;
175  }
176  }
177  }
178 
179  m_gridCfg.minPt = m_minPt;
180  m_gridCfg.rMin = 0;
181  m_gridCfg.rMax = m_gridRMax;
182  m_gridCfg.zMin = m_zMin;
183  m_gridCfg.zMax = m_zMax;
184  m_gridCfg.deltaRMax = m_deltaRMax;
185  m_gridCfg.cotThetaMax = m_cotThetaMax;
186  m_gridCfg.impactMax = m_impactMax;
187  m_gridCfg.phiMin = m_gridPhiMin;
188  m_gridCfg.phiMax = m_gridPhiMax;
189  m_gridCfg.phiBinDeflectionCoverage = m_phiBinDeflectionCoverage;
190  m_gridCfg.maxPhiBins = m_maxPhiBins;
191  m_gridCfg.zBinEdges = m_zBinEdges;
192  m_gridCfg.rBinEdges = m_rBinEdges;
193  m_gridCfg.bFieldInZ = 0; // will be set later
194  m_gridCfg.bottomBinFinder = Acts::GridBinFinder<3ul>(
195  m_numPhiNeighbors.value(), m_zBinNeighborsBottom.value(),
196  m_rBinNeighborsBottom.value());
197  m_gridCfg.topBinFinder = Acts::GridBinFinder<3ul>(m_numPhiNeighbors.value(),
198  m_zBinNeighborsTop.value(),
199  m_rBinNeighborsTop.value());
200  m_gridCfg.navigation[0ul] = {};
201  m_gridCfg.navigation[1ul] = m_zBinsCustomLooping;
202  m_gridCfg.navigation[2ul] = m_rBinsCustomLooping;
203 
204  m_bottomDoubletFinderCfg.spacePointsSortedByRadius = true;
205  m_bottomDoubletFinderCfg.candidateDirection = Acts::Direction::Backward();
211  m_bottomDoubletFinderCfg.interactionPointCut = m_interactionPointCut;
212  m_bottomDoubletFinderCfg.collisionRegionMin = m_collisionRegionMin;
213  m_bottomDoubletFinderCfg.collisionRegionMax = m_collisionRegionMax;
216  m_bottomDoubletFinderCfg.helixCutTolerance = 1.;
217  if (m_useExperimentCuts) {
218  m_bottomDoubletFinderCfg.experimentCuts
220  this);
221  }
222 
223  m_topDoubletFinderCfg = m_bottomDoubletFinderCfg; // copy the bottom cuts
224  m_topDoubletFinderCfg.candidateDirection = Acts::Direction::Forward();
227 
230  m_tripletFinderCfg.minPt = m_minPt;
231  m_tripletFinderCfg.sigmaScattering = m_sigmaScattering;
232  m_tripletFinderCfg.radLengthPerSeed = m_radLengthPerSeed;
233  m_tripletFinderCfg.maxPtScattering = m_maxPtScattering;
234  m_tripletFinderCfg.impactMax = m_impactMax;
235  m_tripletFinderCfg.helixCutTolerance = 1.;
236  m_tripletFinderCfg.toleranceParam = m_toleranceParam;
237 
238  m_filterCfg.deltaInvHelixDiameter = m_deltaInvHelixDiameter;
239  m_filterCfg.deltaRMin = m_deltaRMin;
240  m_filterCfg.compatSeedWeight = m_compatSeedWeight;
241  m_filterCfg.impactWeightFactor = m_impactWeightFactor;
242  m_filterCfg.zOriginWeightFactor = m_zOriginWeightFactor;
243  m_filterCfg.maxSeedsPerSpM = m_maxSeedsPerSpM;
244  m_filterCfg.compatSeedLimit = m_compatSeedLimit;
245  m_filterCfg.seedWeightIncrement = m_seedWeightIncrement;
246  m_filterCfg.numSeedIncrement = m_numSeedIncrement;
247  m_filterCfg.seedConfirmation = m_seedConfirmationInFilter;
248  m_filterCfg.centralSeedConfirmationRange.zMinSeedConf = m_seedConfCentralZMin;
249  m_filterCfg.centralSeedConfirmationRange.zMaxSeedConf = m_seedConfCentralZMax;
250  m_filterCfg.centralSeedConfirmationRange.rMaxSeedConf = m_seedConfCentralRMax;
251  m_filterCfg.centralSeedConfirmationRange.nTopForLargeR =
253  m_filterCfg.centralSeedConfirmationRange.nTopForSmallR =
255  m_filterCfg.centralSeedConfirmationRange.seedConfMinBottomRadius =
257  m_filterCfg.centralSeedConfirmationRange.seedConfMaxZOrigin =
259  m_filterCfg.centralSeedConfirmationRange.minImpactSeedConf =
261  m_filterCfg.forwardSeedConfirmationRange.zMinSeedConf = m_seedConfForwardZMin;
262  m_filterCfg.forwardSeedConfirmationRange.zMaxSeedConf = m_seedConfForwardZMax;
263  m_filterCfg.forwardSeedConfirmationRange.rMaxSeedConf = m_seedConfForwardRMax;
264  m_filterCfg.forwardSeedConfirmationRange.nTopForLargeR =
266  m_filterCfg.forwardSeedConfirmationRange.nTopForSmallR =
268  m_filterCfg.forwardSeedConfirmationRange.seedConfMinBottomRadius =
270  m_filterCfg.forwardSeedConfirmationRange.seedConfMaxZOrigin =
272  m_filterCfg.forwardSeedConfirmationRange.minImpactSeedConf =
274  m_filterCfg.maxSeedsPerSpMConf = m_maxSeedsPerSpMConf;
275  m_filterCfg.maxQualitySeedsPerSpMConf = m_maxQualitySeedsPerSpMConf;
276  m_filterCfg.useDeltaRinsteadOfTopRadius = m_useDeltaRorTopRadius;
277 
278  m_finder =
279  Acts::Experimental::TripletSeeder(logger().cloneWithSuffix("Finder"));
280 
281  m_loggerFilter = logger().cloneWithSuffix("Filter");
282 
283  ATH_CHECK(detStore()->retrieve(m_pixelId, "PixelID"));
284 
285  return StatusCode::SUCCESS;
286 }

◆ logger()

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

Private access to the logger.

Definition at line 352 of file GridTripletSeedingTool.h.

352 { return *m_logger; }

◆ retrieveRadiusRangeForMiddle()

std::pair< float, float > ActsTrk::GridTripletSeedingTool::retrieveRadiusRangeForMiddle ( const Acts::Experimental::ConstSpacePointProxy2 &  spM,
const Acts::Range1D< float > &  rMiddleSpRange 
) const
private

Definition at line 368 of file GridTripletSeedingTool.cxx.

370  {
372  return {rMiddleSpRange.min(), rMiddleSpRange.max()};
373  }
374  if (m_rRangeMiddleSP.empty()) {
375  throw std::runtime_error(
376  "m_rRangeMiddleSP is empty, please check the configuration.");
377  }
378 
379  // get zBin position of the middle SP
380  auto pVal =
381  std::lower_bound(m_zBinEdges.begin(), m_zBinEdges.end(), spM.zr()[0]);
382  int zBin = std::distance(m_zBinEdges.begin(), pVal);
383  // protects against zM at the limit of zBinEdges
384  zBin == 0 ? zBin : --zBin;
385  return {m_rRangeMiddleSP[zBin][0], m_rRangeMiddleSP[zBin][1]};
386 }

◆ spacePointSelectionFunction()

bool ActsTrk::GridTripletSeedingTool::spacePointSelectionFunction ( const xAOD::SpacePoint sp,
float  r 
) const
private

Definition at line 288 of file GridTripletSeedingTool.cxx.

289  {
290  float zabs = std::abs(sp->z());
291  float absCotTheta = zabs / r;
292 
293  // checking configuration to remove pixel space points
296  if (zabs > 200 && r < 40)
297  return false;
298 
299  return true;
300  }
301 
302  // Inner layers
303  // Below 1.20 - accept all
304  static constexpr float cotThetaEta120 = 1.5095;
305  if (absCotTheta < cotThetaEta120)
306  return true;
307 
308  // Below 3.40 - remove if too close to beamline
309  static constexpr float cotThetaEta340 = 14.9654;
310  if (absCotTheta < cotThetaEta340 && r < m_expCutrMin)
311  return false;
312 
313  // Outer layers
314  // Above 2.20
315  static constexpr float cotThetaEta220 = 4.4571;
316  if (absCotTheta > cotThetaEta220 && r > 260.)
317  return false;
318 
319  // Above 2.60
320  static constexpr float cotThetaEta260 = 6.6947;
321  if (absCotTheta > cotThetaEta260 && r > 200.)
322  return false;
323 
324  // Above 3.20
325  static constexpr float cotThetaEta320 = 12.2459;
326  if (absCotTheta > cotThetaEta320 && r > 140.)
327  return false;
328 
329  // Above 4.00
330  static constexpr float cotThetaEta400 = 27.2899;
331  if (absCotTheta > cotThetaEta400)
332  return false;
333 
334  return true;
335 }

Member Data Documentation

◆ m_binSizeR

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

Definition at line 93 of file GridTripletSeedingTool.h.

◆ m_bottomDoubletFinderCfg

Acts::Experimental::DoubletSeedFinder::Config ActsTrk::GridTripletSeedingTool::m_bottomDoubletFinderCfg
private

Definition at line 338 of file GridTripletSeedingTool.h.

◆ m_collisionRegionMax

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

Definition at line 118 of file GridTripletSeedingTool.h.

◆ m_collisionRegionMin

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

Definition at line 115 of file GridTripletSeedingTool.h.

◆ m_compatSeedLimit

Gaudi::Property<std::size_t> ActsTrk::GridTripletSeedingTool::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 249 of file GridTripletSeedingTool.h.

◆ m_compatSeedWeight

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

Definition at line 245 of file GridTripletSeedingTool.h.

◆ m_cotThetaMax

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

Definition at line 50 of file GridTripletSeedingTool.h.

◆ m_deltaInvHelixDiameter

Gaudi::Property<float> ActsTrk::GridTripletSeedingTool::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 271 of file GridTripletSeedingTool.h.

◆ m_deltaRMax

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

Definition at line 56 of file GridTripletSeedingTool.h.

◆ m_deltaRMaxBottomSP

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

Definition at line 109 of file GridTripletSeedingTool.h.

◆ m_deltaRMaxTopSP

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

Definition at line 103 of file GridTripletSeedingTool.h.

◆ m_deltaRMiddleMaxSPRange

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

Definition at line 168 of file GridTripletSeedingTool.h.

◆ m_deltaRMiddleMinSPRange

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

Definition at line 166 of file GridTripletSeedingTool.h.

◆ m_deltaRMin

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

Definition at line 96 of file GridTripletSeedingTool.h.

◆ m_deltaRMinBottomSP

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

Definition at line 106 of file GridTripletSeedingTool.h.

◆ m_deltaRMinTopSP

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

Definition at line 100 of file GridTripletSeedingTool.h.

◆ m_deltaZMax

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

Definition at line 112 of file GridTripletSeedingTool.h.

◆ m_expCutrMin

Gaudi::Property<float> ActsTrk::GridTripletSeedingTool::m_expCutrMin
protected
Initial value:
{this, "SpSelectionExpCutrMin",

Definition at line 333 of file GridTripletSeedingTool.h.

◆ m_filterCfg

Acts::Experimental::BroadTripletSeedFilter::Config ActsTrk::GridTripletSeedingTool::m_filterCfg
private

Definition at line 341 of file GridTripletSeedingTool.h.

◆ m_finder

std::optional<Acts::Experimental::TripletSeeder> ActsTrk::GridTripletSeedingTool::m_finder
private

Definition at line 343 of file GridTripletSeedingTool.h.

◆ m_gridCfg

Acts::Experimental::CylindricalSpacePointGrid2::Config ActsTrk::GridTripletSeedingTool::m_gridCfg
private

Definition at line 337 of file GridTripletSeedingTool.h.

◆ m_gridPhiMax

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

Definition at line 80 of file GridTripletSeedingTool.h.

◆ m_gridPhiMin

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

Definition at line 77 of file GridTripletSeedingTool.h.

◆ m_gridRMax

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

Definition at line 74 of file GridTripletSeedingTool.h.

◆ m_impactMax

Gaudi::Property<float> ActsTrk::GridTripletSeedingTool::m_impactMax
protected
Initial value:
{this, "impactMax",
"maximum impact parameter"}

Definition at line 60 of file GridTripletSeedingTool.h.

◆ m_impactWeightFactor

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

Definition at line 240 of file GridTripletSeedingTool.h.

◆ m_interactionPointCut

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

Definition at line 136 of file GridTripletSeedingTool.h.

◆ m_logger

std::unique_ptr<const Acts::Logger> ActsTrk::GridTripletSeedingTool::m_logger
private

logging instance

Definition at line 346 of file GridTripletSeedingTool.h.

◆ m_loggerFilter

std::unique_ptr<const Acts::Logger> ActsTrk::GridTripletSeedingTool::m_loggerFilter
private

Definition at line 347 of file GridTripletSeedingTool.h.

◆ m_maxPhiBins

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

Definition at line 87 of file GridTripletSeedingTool.h.

◆ m_maxPtScattering

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

Definition at line 124 of file GridTripletSeedingTool.h.

◆ m_maxQualitySeedsPerSpMConf

Gaudi::Property<std::size_t> ActsTrk::GridTripletSeedingTool::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 264 of file GridTripletSeedingTool.h.

◆ m_maxSeedsPerSpM

Gaudi::Property<int> ActsTrk::GridTripletSeedingTool::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 131 of file GridTripletSeedingTool.h.

◆ m_maxSeedsPerSpMConf

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

Definition at line 261 of file GridTripletSeedingTool.h.

◆ m_minPt

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

Definition at line 48 of file GridTripletSeedingTool.h.

◆ m_numPhiNeighbors

Gaudi::Property<int> ActsTrk::GridTripletSeedingTool::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 321 of file GridTripletSeedingTool.h.

◆ m_numSeedIncrement

Gaudi::Property<float> ActsTrk::GridTripletSeedingTool::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 255 of file GridTripletSeedingTool.h.

◆ m_phiBinDeflectionCoverage

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

Definition at line 83 of file GridTripletSeedingTool.h.

◆ m_phiMax

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

Definition at line 230 of file GridTripletSeedingTool.h.

◆ m_phiMin

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

Definition at line 228 of file GridTripletSeedingTool.h.

◆ m_pixelId

const PixelID* ActsTrk::GridTripletSeedingTool::m_pixelId {nullptr}
private

Definition at line 349 of file GridTripletSeedingTool.h.

◆ m_radLengthPerSeed

Gaudi::Property<float> ActsTrk::GridTripletSeedingTool::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 127 of file GridTripletSeedingTool.h.

◆ m_rAlign

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

Definition at line 235 of file GridTripletSeedingTool.h.

◆ m_rBinEdges

Gaudi::Property<std::vector<float> > ActsTrk::GridTripletSeedingTool::m_rBinEdges
protected
Initial value:
{
this,
"rBinEdges",
"enable non equidistant binning in radius"}

Definition at line 69 of file GridTripletSeedingTool.h.

◆ m_rBinNeighborsBottom

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

Definition at line 316 of file GridTripletSeedingTool.h.

◆ m_rBinNeighborsTop

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

Definition at line 311 of file GridTripletSeedingTool.h.

◆ m_rBinsCustomLooping

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

Definition at line 144 of file GridTripletSeedingTool.h.

◆ m_rMax

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

Definition at line 91 of file GridTripletSeedingTool.h.

◆ m_rMin

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

Definition at line 232 of file GridTripletSeedingTool.h.

◆ m_rRangeMiddleSP

Gaudi::Property<std::vector<std::vector<double> > > ActsTrk::GridTripletSeedingTool::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 149 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralMaxZOrigin

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

Definition at line 190 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralMinBottomRadius

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

Definition at line 187 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralMinImpact

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

Definition at line 193 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralNTopLargeR

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

Definition at line 181 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralNTopSmallR

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

Definition at line 184 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralRMax

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

Definition at line 178 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralZMax

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

Definition at line 175 of file GridTripletSeedingTool.h.

◆ m_seedConfCentralZMin

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

Definition at line 172 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardMaxZOrigin

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

Definition at line 214 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardMinBottomRadius

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

Definition at line 211 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardMinImpact

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

Definition at line 217 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardNTopLargeR

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

Definition at line 205 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardNTopSmallR

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

Definition at line 208 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardRMax

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

Definition at line 202 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardZMax

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

Definition at line 199 of file GridTripletSeedingTool.h.

◆ m_seedConfForwardZMin

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

Definition at line 196 of file GridTripletSeedingTool.h.

◆ m_seedConfirmation

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

Definition at line 170 of file GridTripletSeedingTool.h.

◆ m_seedConfirmationInFilter

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

Definition at line 259 of file GridTripletSeedingTool.h.

◆ m_seedQualitySelection

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

Definition at line 42 of file GridTripletSeedingTool.h.

◆ m_seedWeightIncrement

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

Definition at line 253 of file GridTripletSeedingTool.h.

◆ m_sigmaError

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

Definition at line 237 of file GridTripletSeedingTool.h.

◆ m_sigmaScattering

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

Definition at line 121 of file GridTripletSeedingTool.h.

◆ m_stateVectorReserveSize

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

Definition at line 329 of file GridTripletSeedingTool.h.

◆ m_toleranceParam

Gaudi::Property<float> ActsTrk::GridTripletSeedingTool::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 224 of file GridTripletSeedingTool.h.

◆ m_topDoubletFinderCfg

Acts::Experimental::DoubletSeedFinder::Config ActsTrk::GridTripletSeedingTool::m_topDoubletFinderCfg
private

Definition at line 339 of file GridTripletSeedingTool.h.

◆ m_tripletFinderCfg

Acts::Experimental::TripletSeedFinder::Config ActsTrk::GridTripletSeedingTool::m_tripletFinderCfg
private

Definition at line 340 of file GridTripletSeedingTool.h.

◆ m_useDeltaRorTopRadius

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

Definition at line 268 of file GridTripletSeedingTool.h.

◆ m_useDetailedDoubleMeasurementInfo

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

Definition at line 220 of file GridTripletSeedingTool.h.

◆ m_useExperimentCuts

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

Definition at line 326 of file GridTripletSeedingTool.h.

◆ m_useVariableMiddleSPRange

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

Definition at line 146 of file GridTripletSeedingTool.h.

◆ m_zAlign

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

Definition at line 233 of file GridTripletSeedingTool.h.

◆ m_zBinEdges

Gaudi::Property<std::vector<float> > ActsTrk::GridTripletSeedingTool::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 63 of file GridTripletSeedingTool.h.

◆ m_zBinNeighborsBottom

Gaudi::Property<std::vector<std::pair<int, int> > > ActsTrk::GridTripletSeedingTool::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 294 of file GridTripletSeedingTool.h.

◆ m_zBinNeighborsTop

Gaudi::Property<std::vector<std::pair<int, int> > > ActsTrk::GridTripletSeedingTool::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 277 of file GridTripletSeedingTool.h.

◆ m_zBinsCustomLooping

Gaudi::Property<std::vector<size_t> > ActsTrk::GridTripletSeedingTool::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 139 of file GridTripletSeedingTool.h.

◆ m_zMax

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

Definition at line 54 of file GridTripletSeedingTool.h.

◆ m_zMin

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

Definition at line 52 of file GridTripletSeedingTool.h.

◆ m_zOriginWeightFactor

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

Definition at line 244 of file GridTripletSeedingTool.h.


The documentation for this class was generated from the following files:
DataVector::reserve
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
ActsTrk::GridTripletSeedingTool::m_rBinNeighborsTop
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsTop
Definition: GridTripletSeedingTool.h:311
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ActsTrk::GridTripletSeedingTool::m_seedConfForwardZMin
Gaudi::Property< float > m_seedConfForwardZMin
Definition: GridTripletSeedingTool.h:196
ActsTrk::GridTripletSeedingTool::m_deltaRMinBottomSP
Gaudi::Property< float > m_deltaRMinBottomSP
Definition: GridTripletSeedingTool.h:106
beamspotman.r
def r
Definition: beamspotman.py:674
xAOD::SpacePoint_v1::bottomHalfStripLength
float bottomHalfStripLength() const
ActsTrk::GridTripletSeedingTool::m_seedConfirmation
Gaudi::Property< bool > m_seedConfirmation
Definition: GridTripletSeedingTool.h:170
ActsTrk::GridTripletSeedingTool::m_seedConfForwardMinImpact
Gaudi::Property< float > m_seedConfForwardMinImpact
Definition: GridTripletSeedingTool.h:217
xAOD::SpacePoint_v1::stripCenterDistance
ConstVectorMap stripCenterDistance() const
Definition: SpacePoint_v1.cxx:93
ActsTrk::GridTripletSeedingTool::m_seedConfCentralNTopLargeR
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Definition: GridTripletSeedingTool.h:181
ActsTrk::GridTripletSeedingTool::m_topDoubletFinderCfg
Acts::Experimental::DoubletSeedFinder::Config m_topDoubletFinderCfg
Definition: GridTripletSeedingTool.h:339
ActsTrk::GridTripletSeedingTool::m_toleranceParam
Gaudi::Property< float > m_toleranceParam
Definition: GridTripletSeedingTool.h:224
ActsTrk::GridTripletSeedingTool::m_deltaRMiddleMaxSPRange
Gaudi::Property< float > m_deltaRMiddleMaxSPRange
Definition: GridTripletSeedingTool.h:168
python.SystemOfUnits.mm
float mm
Definition: SystemOfUnits.py:98
ActsTrk::GridTripletSeedingTool::m_rRangeMiddleSP
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP
Definition: GridTripletSeedingTool.h:149
xAOD::SpacePoint_v1::topStripDirection
ConstVectorMap topStripDirection() const
Definition: SpacePoint_v1.cxx:83
xAOD::SpacePoint_v1::elementIdList
const std::vector< DetectorIDHashType > & elementIdList() const
Returns the IdentifierHash of the spacepoint (corresponds to the detector element IdentifierHash)
Definition: SpacePoint_v1.cxx:14
ActsTrk::GridTripletSeedingTool::m_maxSeedsPerSpM
Gaudi::Property< int > m_maxSeedsPerSpM
Definition: GridTripletSeedingTool.h:131
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
ActsTrk::GridTripletSeedingTool::m_zBinEdges
Gaudi::Property< std::vector< float > > m_zBinEdges
Definition: GridTripletSeedingTool.h:63
ActsTrk::GridTripletSeedingTool::retrieveRadiusRangeForMiddle
std::pair< float, float > retrieveRadiusRangeForMiddle(const Acts::Experimental::ConstSpacePointProxy2 &spM, const Acts::Range1D< float > &rMiddleSpRange) const
Definition: GridTripletSeedingTool.cxx:368
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
ActsTrk::GridTripletSeedingTool::m_collisionRegionMin
Gaudi::Property< float > m_collisionRegionMin
Definition: GridTripletSeedingTool.h:115
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
xAOD::SpacePoint_v1::topHalfStripLength
float topHalfStripLength() const
Return details.
ActsTrk::GridTripletSeedingTool::m_deltaRMax
Gaudi::Property< float > m_deltaRMax
Definition: GridTripletSeedingTool.h:56
ActsTrk::GridTripletSeedingTool::m_finder
std::optional< Acts::Experimental::TripletSeeder > m_finder
Definition: GridTripletSeedingTool.h:343
ActsTrk::GridTripletSeedingTool::m_phiMax
Gaudi::Property< float > m_phiMax
Definition: GridTripletSeedingTool.h:230
ActsTrk::GridTripletSeedingTool::m_numSeedIncrement
Gaudi::Property< float > m_numSeedIncrement
Definition: GridTripletSeedingTool.h:255
ActsTrk::GridTripletSeedingTool::m_maxPtScattering
Gaudi::Property< float > m_maxPtScattering
Definition: GridTripletSeedingTool.h:124
xAOD::SpacePoint_v1
Definition: SpacePoint_v1.h:29
ActsTrk::GridTripletSeedingTool::m_sigmaScattering
Gaudi::Property< float > m_sigmaScattering
Definition: GridTripletSeedingTool.h:121
ActsTrk::GridTripletSeedingTool::m_maxPhiBins
Gaudi::Property< int > m_maxPhiBins
Definition: GridTripletSeedingTool.h:87
ActsTrk::GridTripletSeedingTool::m_gridRMax
Gaudi::Property< float > m_gridRMax
Definition: GridTripletSeedingTool.h:74
ActsTrk::GridTripletSeedingTool::m_tripletFinderCfg
Acts::Experimental::TripletSeedFinder::Config m_tripletFinderCfg
Definition: GridTripletSeedingTool.h:340
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
ActsTrk::GridTripletSeedingTool::m_rMin
Gaudi::Property< float > m_rMin
Definition: GridTripletSeedingTool.h:232
ActsTrk::GridTripletSeedingTool::m_useDetailedDoubleMeasurementInfo
Gaudi::Property< bool > m_useDetailedDoubleMeasurementInfo
Definition: GridTripletSeedingTool.h:220
ActsTrk::GridTripletSeedingTool::m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Definition: GridTripletSeedingTool.h:190
x
#define x
xAOD::SpacePoint_v1::z
float z() const
ActsTrk::GridTripletSeedingTool::m_zMax
Gaudi::Property< float > m_zMax
Definition: GridTripletSeedingTool.h:54
ActsTrk::GridTripletSeedingTool::m_seedConfForwardRMax
Gaudi::Property< float > m_seedConfForwardRMax
Definition: GridTripletSeedingTool.h:202
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ActsTrk::GridTripletSeedingTool::m_compatSeedWeight
Gaudi::Property< float > m_compatSeedWeight
Definition: GridTripletSeedingTool.h:245
ActsTrk::GridTripletSeedingTool::m_seedQualitySelection
Gaudi::Property< bool > m_seedQualitySelection
Definition: GridTripletSeedingTool.h:42
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
xAOD::SpacePoint_v1::bottomStripDirection
ConstVectorMap bottomStripDirection() const
Definition: SpacePoint_v1.cxx:88
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:92
python.SystemOfUnits.MeV
float MeV
Definition: SystemOfUnits.py:172
ActsTrk::GridTripletSeedingTool::m_deltaRMaxBottomSP
Gaudi::Property< float > m_deltaRMaxBottomSP
Definition: GridTripletSeedingTool.h:109
covarianceTool.filter
filter
Definition: covarianceTool.py:514
ActsTrk::GridTripletSeedingTool::m_zOriginWeightFactor
Gaudi::Property< float > m_zOriginWeightFactor
Definition: GridTripletSeedingTool.h:244
ActsTrk::GridTripletSeedingTool::m_filterCfg
Acts::Experimental::BroadTripletSeedFilter::Config m_filterCfg
Definition: GridTripletSeedingTool.h:341
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
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::GridTripletSeedingTool::m_maxSeedsPerSpMConf
Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf
Definition: GridTripletSeedingTool.h:261
ActsTrk::GridTripletSeedingTool::m_useDeltaRorTopRadius
Gaudi::Property< bool > m_useDeltaRorTopRadius
Definition: GridTripletSeedingTool.h:268
ActsTrk::GridTripletSeedingTool::m_minPt
Gaudi::Property< float > m_minPt
Definition: GridTripletSeedingTool.h:48
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::GridTripletSeedingTool::m_compatSeedLimit
Gaudi::Property< std::size_t > m_compatSeedLimit
Definition: GridTripletSeedingTool.h:249
ActsTrk::GridTripletSeedingTool::m_deltaRMaxTopSP
Gaudi::Property< float > m_deltaRMaxTopSP
Definition: GridTripletSeedingTool.h:103
ActsTrk::GridTripletSeedingTool::m_seedConfForwardMinBottomRadius
Gaudi::Property< float > m_seedConfForwardMinBottomRadius
Definition: GridTripletSeedingTool.h:211
ActsTrk::GridTripletSeedingTool::m_seedConfirmationInFilter
Gaudi::Property< bool > m_seedConfirmationInFilter
Definition: GridTripletSeedingTool.h:259
Generate_dsid_ranseed.seed
seed
Definition: Generate_dsid_ranseed.py:10
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:85
z
#define z
ActsTrk::GridTripletSeedingTool::m_phiMin
Gaudi::Property< float > m_phiMin
Definition: GridTripletSeedingTool.h:228
ActsTrk::GridTripletSeedingTool::m_gridPhiMin
Gaudi::Property< float > m_gridPhiMin
Definition: GridTripletSeedingTool.h:77
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ActsTrk::GridTripletSeedingTool::m_numPhiNeighbors
Gaudi::Property< int > m_numPhiNeighbors
Definition: GridTripletSeedingTool.h:321
ActsTrk::GridTripletSeedingTool::m_bottomDoubletFinderCfg
Acts::Experimental::DoubletSeedFinder::Config m_bottomDoubletFinderCfg
Definition: GridTripletSeedingTool.h:338
xAOD::SpacePoint_v1::varianceZ
float varianceZ() const
MuonR4::State
CalibratedSpacePoint::State State
Definition: SpacePointCalibrator.cxx:33
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAOD::SpacePoint_v1::varianceR
float varianceR() const
Returns the variances.
ActsTrk::GridTripletSeedingTool::m_gridCfg
Acts::Experimental::CylindricalSpacePointGrid2::Config m_gridCfg
Definition: GridTripletSeedingTool.h:337
ActsTrk::GridTripletSeedingTool::m_seedConfCentralZMin
Gaudi::Property< float > m_seedConfCentralZMin
Definition: GridTripletSeedingTool.h:172
ActsTrk::GridTripletSeedingTool::m_loggerFilter
std::unique_ptr< const Acts::Logger > m_loggerFilter
Definition: GridTripletSeedingTool.h:347
detail::ul
unsigned long ul
Definition: PrimitiveHelpers.h:46
ActsTrk::GridTripletSeedingTool::m_seedConfCentralNTopSmallR
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Definition: GridTripletSeedingTool.h:184
F600IntegrationConfig.spacePoints
spacePoints
Definition: F600IntegrationConfig.py:122
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
ActsTrk::GridTripletSeedingTool::m_seedConfForwardZMax
Gaudi::Property< float > m_seedConfForwardZMax
Definition: GridTripletSeedingTool.h:199
DataVector::capacity
size_type capacity() const noexcept
Returns the total number of elements that the collection can hold before needing to allocate more mem...
ActsTrk::GridTripletSeedingTool::m_rBinNeighborsBottom
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsBottom
Definition: GridTripletSeedingTool.h:316
ActsTrk::GridTripletSeedingTool::m_interactionPointCut
Gaudi::Property< bool > m_interactionPointCut
Definition: GridTripletSeedingTool.h:136
ActsTrk::GridTripletSeedingTool::m_deltaRMiddleMinSPRange
Gaudi::Property< float > m_deltaRMiddleMinSPRange
Definition: GridTripletSeedingTool.h:166
ActsTrk::GridTripletSeedingTool::m_expCutrMin
Gaudi::Property< float > m_expCutrMin
Definition: GridTripletSeedingTool.h:333
ActsTrk::GridTripletSeedingTool::m_rMax
Gaudi::Property< float > m_rMax
Definition: GridTripletSeedingTool.h:91
ActsTrk::GridTripletSeedingTool::m_impactMax
Gaudi::Property< float > m_impactMax
Definition: GridTripletSeedingTool.h:60
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
ActsTrk::GridTripletSeedingTool::m_collisionRegionMax
Gaudi::Property< float > m_collisionRegionMax
Definition: GridTripletSeedingTool.h:118
ActsTrk::GridTripletSeedingTool::m_seedConfForwardNTopLargeR
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
Definition: GridTripletSeedingTool.h:205
ActsTrk::GridTripletSeedingTool::m_deltaRMinTopSP
Gaudi::Property< float > m_deltaRMinTopSP
Definition: GridTripletSeedingTool.h:100
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
ActsTrk::GridTripletSeedingTool::m_deltaInvHelixDiameter
Gaudi::Property< float > m_deltaInvHelixDiameter
Definition: GridTripletSeedingTool.h:271
ActsTrk::GridTripletSeedingTool::m_maxQualitySeedsPerSpMConf
Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf
Definition: GridTripletSeedingTool.h:264
ActsTrk::GridTripletSeedingTool::m_seedConfCentralRMax
Gaudi::Property< float > m_seedConfCentralRMax
Definition: GridTripletSeedingTool.h:178
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
ActsTrk::GridTripletSeedingTool::m_impactWeightFactor
Gaudi::Property< float > m_impactWeightFactor
Definition: GridTripletSeedingTool.h:240
ActsTrk::GridTripletSeedingTool::m_gridPhiMax
Gaudi::Property< float > m_gridPhiMax
Definition: GridTripletSeedingTool.h:80
xAOD::SpacePoint_v1::y
float y() const
ActsTrk::GridTripletSeedingTool::m_seedConfForwardNTopSmallR
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
Definition: GridTripletSeedingTool.h:208
ActsTrk::GridTripletSeedingTool::m_seedConfCentralMinImpact
Gaudi::Property< float > m_seedConfCentralMinImpact
Definition: GridTripletSeedingTool.h:193
ActsTrk::GridTripletSeedingTool::doubletSelectionFunction
bool doubletSelectionFunction(const Acts::Experimental::ConstSpacePointProxy2 &middle, const Acts::Experimental::ConstSpacePointProxy2 &other, float cotTheta, bool isBottomCandidate) const
Definition: GridTripletSeedingTool.cxx:337
ActsTrk::GridTripletSeedingTool::m_seedWeightIncrement
Gaudi::Property< float > m_seedWeightIncrement
Definition: GridTripletSeedingTool.h:253
ActsTrk::GridTripletSeedingTool::m_seedConfCentralMinBottomRadius
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
Definition: GridTripletSeedingTool.h:187
ActsTrk::GridTripletSeedingTool::m_zBinsCustomLooping
Gaudi::Property< std::vector< size_t > > m_zBinsCustomLooping
Definition: GridTripletSeedingTool.h:139
ActsTrk::GridTripletSeedingTool::m_useVariableMiddleSPRange
Gaudi::Property< bool > m_useVariableMiddleSPRange
Definition: GridTripletSeedingTool.h:146
ActsTrk::GridTripletSeedingTool::m_zBinNeighborsTop
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsTop
Definition: GridTripletSeedingTool.h:277
a
TList * a
Definition: liststreamerinfos.cxx:10
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
y
#define y
ActsTrk::GridTripletSeedingTool::m_seedConfCentralZMax
Gaudi::Property< float > m_seedConfCentralZMax
Definition: GridTripletSeedingTool.h:175
ActsTrk::GridTripletSeedingTool::m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Definition: GridTripletSeedingTool.h:214
ActsTrk::GridTripletSeedingTool::spacePointSelectionFunction
bool spacePointSelectionFunction(const xAOD::SpacePoint *sp, float r) const
Definition: GridTripletSeedingTool.cxx:288
ActsTrk::GridTripletSeedingTool::m_zBinNeighborsBottom
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsBottom
Definition: GridTripletSeedingTool.h:294
DeMoScan.first
bool first
Definition: DeMoScan.py:534
xAOD::SpacePoint_v1::x
float x() const
ActsTrk::GridTripletSeedingTool::m_rBinEdges
Gaudi::Property< std::vector< float > > m_rBinEdges
Definition: GridTripletSeedingTool.h:69
ActsTrk::GridTripletSeedingTool::m_rAlign
Gaudi::Property< float > m_rAlign
Definition: GridTripletSeedingTool.h:235
TRT::Track::cotTheta
@ cotTheta
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:65
ActsTrk::GridTripletSeedingTool::m_zMin
Gaudi::Property< float > m_zMin
Definition: GridTripletSeedingTool.h:52
ActsTrk::GridTripletSeedingTool::m_logger
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Definition: GridTripletSeedingTool.h:346
ActsTrk::GridTripletSeedingTool::m_deltaZMax
Gaudi::Property< float > m_deltaZMax
Definition: GridTripletSeedingTool.h:112
ActsTrk::GridTripletSeedingTool::m_zAlign
Gaudi::Property< float > m_zAlign
Definition: GridTripletSeedingTool.h:233
top
@ top
Definition: TruthClasses.h:64
ActsTrk::GridTripletSeedingTool::logger
const Acts::Logger & logger() const
Private access to the logger.
Definition: GridTripletSeedingTool.h:352
ActsTrk::GridTripletSeedingTool::m_pixelId
const PixelID * m_pixelId
Definition: GridTripletSeedingTool.h:349
ActsTrk::GridTripletSeedingTool::m_cotThetaMax
Gaudi::Property< float > m_cotThetaMax
Definition: GridTripletSeedingTool.h:50
ActsTrk::GridTripletSeedingTool::m_useExperimentCuts
Gaudi::Property< bool > m_useExperimentCuts
Definition: GridTripletSeedingTool.h:326
xAOD::SpacePoint_v1::topStripCenter
ConstVectorMap topStripCenter() const
Definition: SpacePoint_v1.cxx:98
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::GridTripletSeedingTool::m_phiBinDeflectionCoverage
Gaudi::Property< int > m_phiBinDeflectionCoverage
Definition: GridTripletSeedingTool.h:83
ActsTrk::GridTripletSeedingTool::m_radLengthPerSeed
Gaudi::Property< float > m_radLengthPerSeed
Definition: GridTripletSeedingTool.h:127
ActsTrk::GridTripletSeedingTool::m_sigmaError
Gaudi::Property< float > m_sigmaError
Definition: GridTripletSeedingTool.h:237
ActsTrk::GridTripletSeedingTool::m_rBinsCustomLooping
Gaudi::Property< std::vector< std::size_t > > m_rBinsCustomLooping
Definition: GridTripletSeedingTool.h:144
ActsTrk::GridTripletSeedingTool::m_deltaRMin
Gaudi::Property< float > m_deltaRMin
Definition: GridTripletSeedingTool.h:96
Identifier
Definition: IdentifierFieldParser.cxx:14