 |
ATLAS Offline Software
|
#include <SeedingTool.h>
|
| using | value_type = typename Acts::SpacePointContainer< ActsTrk::SpacePointCollector, Acts::detail::RefHolder >::SpacePointProxyType |
| |
| using | seed_type = Acts::Seed< 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 |
| |
|
| const PixelID * | m_pixelId { nullptr } |
| |
| Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid< value_type > > | m_finder |
| |
| Acts::SeedFinderConfig< value_type > | m_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"} |
| |
|
| 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} |
| |
Definition at line 40 of file SeedingTool.h.
◆ 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 |
◆ seed_type
◆ value_type
◆ SeedingTool()
| ActsTrk::SeedingTool::SeedingTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~SeedingTool()
| virtual ActsTrk::SeedingTool::~SeedingTool |
( |
| ) |
|
|
virtualdefault |
◆ createSeeds() [1/2]
◆ createSeeds() [2/2]
template<typename external_iterator_t >
| StatusCode ActsTrk::SeedingTool::createSeeds |
( |
external_iterator_t |
spBegin, |
|
|
external_iterator_t |
spEnd, |
|
|
const Acts::Vector3 & |
beamSpotPos, |
|
|
const Acts::Vector3 & |
bField, |
|
|
ActsTrk::SeedContainer & |
seeds |
|
) |
| const |
|
protected |
Definition at line 237 of file SeedingTool.cxx.
244 "Inconsistent type");
246 if (spBegin == spEnd)
247 return StatusCode::SUCCESS;
249 seedContainer.spacePoints().reserve(
std::distance(spBegin, spEnd));
250 for (
auto sp = spBegin; sp != spEnd; ++sp) {
251 seedContainer.spacePoints().push_back(&(*sp).externalSpacePoint());
253 std::vector< seed_type > seeds;
256 Acts::CylindricalSpacePointGridOptions gridOpts;
257 gridOpts.bFieldInZ = bField[2];
258 gridOpts = gridOpts.toInternalUnits();
261 Acts::SeedFinderOptions finderOpts;
262 finderOpts.beamPos = Acts::Vector2(beamSpotPos[
Amg::x],
264 finderOpts.bFieldInZ = bField[2];
265 finderOpts = finderOpts.toInternalUnits().calculateDerivedQuantities(
m_finderCfg);
270 Acts::CylindricalSpacePointGrid< value_type > grid =
271 Acts::CylindricalSpacePointGridCreator::createGrid< value_type >(
m_gridCfg, gridOpts,
logger());
273 Acts::CylindricalSpacePointGridCreator::fillGrid(
m_finderCfg, finderOpts, grid,
274 spBegin, spEnd,
logger());
280 float maxRange = std::numeric_limits<float>::lowest();
281 for (
const auto& coll : grid) {
285 const auto* firstEl = coll.front();
286 const auto* lastEl = coll.back();
287 minRange =
std::min(firstEl->radius(), minRange);
288 maxRange =
std::max(lastEl->radius(), maxRange);
291 Acts::CylindricalBinnedGroup< value_type > spacePointsGrouping(std::move(grid), *
m_bottomBinFinder,
295 const Acts::Range1D<float> rMiddleSPRange(std::floor(minRange/2)*2 +
m_finderCfg.deltaRMiddleMinSPRange,
296 std::floor(maxRange/2)*2 -
m_finderCfg.deltaRMiddleMaxSPRange);
299 typename decltype(
m_finder)::SeedingState state;
310 state.spacePointMutableData.resize(
std::distance(spBegin, spEnd));
312 for (
const auto& [bottom, middle,
top] : spacePointsGrouping) {
313 m_finder.createSeedsForGroup(finderOpts, state, spacePointsGrouping.grid(),
314 seeds, bottom, middle,
top, rMiddleSPRange);
321 auto selectionFunction = [&state] (
const seed_type&
seed) ->
bool
323 float seed_quality =
seed.seedQuality();
324 float bottom_quality = state.spacePointMutableData.quality(
seed.sp()[0]->index());
325 float middle_quality = state.spacePointMutableData.quality(
seed.sp()[1]->index());
326 float top_quality = state.spacePointMutableData.quality(
seed.sp()[2]->index());
328 if (bottom_quality > seed_quality and
329 middle_quality > seed_quality and
330 top_quality > seed_quality) {
338 std::size_t acceptedSeeds = 0;
339 for (std::size_t
i(0);
i<seeds.size(); ++
i) {
340 const auto&
seed = seeds[
i];
341 if (not selectionFunction(seed)) {
347 if (acceptedSeeds !=
i)
348 seeds[acceptedSeeds] = std::move(seeds[
i]);
353 seeds.erase(seeds.begin() + acceptedSeeds, seeds.end());
358 seedContainer.reserve(seeds.size());
359 for(
const auto& seed: seeds) {
360 seedContainer.push_back(&seed);
363 return StatusCode::SUCCESS;
◆ doubletSelectionFunction()
| bool ActsTrk::SeedingTool::doubletSelectionFunction |
( |
const value_type & |
middle, |
|
|
const value_type & |
other, |
|
|
float |
cotTheta, |
|
|
bool |
isBottomCandidate |
|
) |
| const |
|
inlineprivate |
Definition at line 350 of file SeedingTool.h.
359 if (std::abs(middle.z()) > 1500 and
360 middle.radius() > 100 and middle.radius() < 150) {
369 static constexpr
float cotThetaEta120 = 1.5095;
370 static constexpr
float cotThetaEta360 = 18.2855;
372 float absCotTheta = std::abs(
cotTheta);
374 absCotTheta > cotThetaEta120 and
375 absCotTheta < cotThetaEta360) {
◆ initialize()
| StatusCode ActsTrk::SeedingTool::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 30 of file SeedingTool.cxx.
151 return StatusCode::FAILURE;
158 return StatusCode::FAILURE;
165 return StatusCode::FAILURE;
172 return StatusCode::FAILURE;
180 ATH_MSG_ERROR(
"Inconsistent config zBinsCustomLooping contains bins that are not in zBinEdges");
181 return StatusCode::FAILURE;
189 ATH_MSG_ERROR(
"Inconsistent config rBinsCustomLooping contains bins that are not in rBinEdges");
190 return StatusCode::FAILURE;
210 return StatusCode::FAILURE;
213 return StatusCode::SUCCESS;
◆ logger()
| const Acts::Logger& ActsTrk::SeedingTool::logger |
( |
| ) |
const |
|
inlineprivate |
◆ prepareConfiguration()
| StatusCode ActsTrk::SeedingTool::prepareConfiguration |
( |
| ) |
|
|
protected |
Definition at line 367 of file SeedingTool.cxx.
430 std::vector<float> convertedVec;
431 convertedVec.reserve(
vec.size());
432 for (
const auto&
val :
vec) {
433 convertedVec.push_back(
static_cast<float>(
val));
436 m_finderCfg.rRangeMiddleSP.push_back(std::move(convertedVec));
453 Acts::SeedFilterConfig filterCfg;
460 filterCfg.centralSeedConfirmationRange =
m_finderCfg.centralSeedConfirmationRange;
461 filterCfg.forwardSeedConfirmationRange =
m_finderCfg.forwardSeedConfirmationRange;
469 m_finderCfg.seedFilter = std::make_unique<Acts::SeedFilter< value_type > >(filterCfg.toInternalUnits(),
logger().cloneWithSuffix(
"Filter"));
492 return StatusCode::SUCCESS;
◆ spacePointSelectionFunction()
| bool ActsTrk::SeedingTool::spacePointSelectionFunction |
( |
const value_type & |
sp | ) |
const |
|
inlineprivate |
Definition at line 294 of file SeedingTool.h.
296 float r = sp.radius();
297 float zabs = std::abs(sp.z());
298 float absCotTheta = zabs /
r;
312 static constexpr
float cotThetaEta120 = 1.5095;
313 if (absCotTheta < cotThetaEta120)
317 static constexpr
float cotThetaEta340 = 14.9654;
318 if (absCotTheta < cotThetaEta340 and
325 static constexpr
float cotThetaEta220 = 4.4571;
326 if (absCotTheta > cotThetaEta220 and
331 static constexpr
float cotThetaEta260 = 6.6947;
332 if (absCotTheta > cotThetaEta260 and
337 static constexpr
float cotThetaEta320 = 12.2459;
338 if (absCotTheta > cotThetaEta320 and
343 static constexpr
float cotThetaEta400 = 27.2899;
344 if (absCotTheta > cotThetaEta400)
◆ m_binSizeR
| Gaudi::Property< float > ActsTrk::SeedingTool::m_binSizeR |
|
protected |
Initial value:
"defining radial bin for space point sorting"}
Definition at line 133 of file SeedingTool.h.
◆ m_bottomBinFinder
| std::unique_ptr< Acts::GridBinFinder< 3ul > > ActsTrk::SeedingTool::m_bottomBinFinder {nullptr} |
|
private |
◆ m_collisionRegionMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_collisionRegionMax |
|
protected |
Initial value:
"limiting location of collision region in z"}
Definition at line 149 of file SeedingTool.h.
◆ m_collisionRegionMin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_collisionRegionMin |
|
protected |
Initial value:
"limiting location of collision region in z"}
Definition at line 147 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 242 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 240 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 105 of file SeedingTool.h.
◆ m_deltaInvHelixDiameter
| Gaudi::Property<float> ActsTrk::SeedingTool::m_deltaInvHelixDiameter |
|
protected |
Initial value:
"the allowed delta between two inverted seed radii for them to be considered compatible"}
Definition at line 256 of file SeedingTool.h.
◆ m_deltaRMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMax |
|
protected |
Initial value:
"maximum distance in r between two measurements within one seed"}
Definition at line 111 of file SeedingTool.h.
◆ m_deltaRMaxBottomSP
| Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMaxBottomSP |
|
protected |
Initial value:
"maximum distance in r between middle and top SP"}
Definition at line 143 of file SeedingTool.h.
◆ m_deltaRMaxTopSP
| Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMaxTopSP |
|
protected |
Initial value:
"maximum distance in r between middle and top SP"}
Definition at line 139 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 172 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 170 of file SeedingTool.h.
◆ m_deltaRMin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMin |
|
protected |
Initial value:
"minimum distance in r between two measurements within one seed"}
Definition at line 135 of file SeedingTool.h.
◆ m_deltaRMinBottomSP
| Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMinBottomSP |
|
protected |
Initial value:
"minimum distance in r between middle and top SP"}
Definition at line 141 of file SeedingTool.h.
◆ m_deltaRMinTopSP
| Gaudi::Property< float > ActsTrk::SeedingTool::m_deltaRMinTopSP |
|
protected |
Initial value:
"minimum distance in r between middle and top SP"}
Definition at line 137 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 145 of file SeedingTool.h.
◆ m_ExpCutrMin
| Gaudi::Property<float> ActsTrk::SeedingTool::m_ExpCutrMin {this, "SpSelectionExpCutrMin", 45. * Acts::UnitConstants::mm} |
|
private |
◆ m_finder
| Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid<value_type> > ActsTrk::SeedingTool::m_finder |
|
protected |
◆ m_finderCfg
| Acts::SeedFinderConfig< value_type > ActsTrk::SeedingTool::m_finderCfg |
|
protected |
◆ m_gridCfg
| Acts::CylindricalSpacePointGridConfig ActsTrk::SeedingTool::m_gridCfg |
|
protected |
◆ m_gridPhiMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_gridPhiMax |
|
protected |
Initial value:{this, "gridPhiMax", std::numbers::pi_v<float>,
"phi max for space point grid formation"}
Definition at line 124 of file SeedingTool.h.
◆ m_gridPhiMin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_gridPhiMin |
|
protected |
Initial value:{this, "gridPhiMin", -std::numbers::pi_v<float>,
"phi min for space point grid formation"}
Definition at line 122 of file SeedingTool.h.
◆ m_gridRMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_gridRMax |
|
protected |
Initial value:
"radial extension of subdetector to be used in grid building"}
Definition at line 120 of file SeedingTool.h.
◆ m_impactMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_impactMax |
|
protected |
Initial value:
"maximum impact parameter"}
Definition at line 113 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 237 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 159 of file SeedingTool.h.
◆ m_logger
| std::unique_ptr<const Acts::Logger> ActsTrk::SeedingTool::m_logger {nullptr} |
|
private |
◆ m_maxPhiBins
| Gaudi::Property< int > ActsTrk::SeedingTool::m_maxPhiBins {this, "maxPhiBins", 200, "max number of bins"} |
|
protected |
◆ m_maxPtScattering
| Gaudi::Property< float > ActsTrk::SeedingTool::m_maxPtScattering |
|
protected |
Initial value:{this, "maxPtScattering", 10e6,
"Upper pt limit for scattering calculation"}
Definition at line 153 of file SeedingTool.h.
◆ m_maxQualitySeedsPerSpMConf
| Gaudi::Property< std::size_t > ActsTrk::SeedingTool::m_maxQualitySeedsPerSpMConf |
|
protected |
Initial value:{this, "maxQualitySeedsPerSpMConf", 5,
"Maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation."}
Definition at line 252 of file SeedingTool.h.
◆ m_maxSeedsPerSpM
| Gaudi::Property< int > ActsTrk::SeedingTool::m_maxSeedsPerSpM |
|
protected |
Initial value:{this, "maxSeedsPerSpM", 4,
"In dense environments many seeds may be found per middle space point. Only seeds with the highest weight will be kept if this limit is reached."}
Definition at line 157 of file SeedingTool.h.
◆ m_maxSeedsPerSpMConf
| Gaudi::Property< std::size_t > ActsTrk::SeedingTool::m_maxSeedsPerSpMConf |
|
protected |
Initial value:{this, "maxSeedsPerSpMConf", 5,
"Maximum number of lower quality seeds in seed confirmation."}
Definition at line 250 of file SeedingTool.h.
◆ m_minPt
| Gaudi::Property< float > ActsTrk::SeedingTool::m_minPt |
|
protected |
Initial value:
"lower pT cutoff for seeds"}
Definition at line 103 of file SeedingTool.h.
◆ m_navigation
| std::array<std::vector<std::size_t>, 3ul> ActsTrk::SeedingTool::m_navigation {} |
|
private |
◆ m_numPhiNeighbors
| Gaudi::Property< int > ActsTrk::SeedingTool::m_numPhiNeighbors |
|
protected |
Initial value:{this, "numPhiNeighbors", 1,
"number of phi bin neighbors at each side of the current bin that will be used to search for SPs"}
Definition at line 272 of file SeedingTool.h.
◆ m_numSeedIncrement
| Gaudi::Property< float > ActsTrk::SeedingTool::m_numSeedIncrement |
|
protected |
Initial value:{this, "numSeedIncrement", 10e6,
"increment in seed weight is applied if the number of compatible seeds is larger than numSeedIncrement"}
Definition at line 246 of file SeedingTool.h.
◆ m_phiBinDeflectionCoverage
| Gaudi::Property< int > ActsTrk::SeedingTool::m_phiBinDeflectionCoverage |
|
protected |
Initial value:{this, "phiBinDeflectionCoverage", 3,
"sets of consecutive phi bins to cover full deflection of minimum pT particle"}
Definition at line 126 of file SeedingTool.h.
◆ m_phiMax
| Gaudi::Property<float> ActsTrk::SeedingTool::m_phiMax {this, "phiMax", std::numbers::pi_v<float>, ""} |
|
protected |
◆ m_phiMin
| Gaudi::Property<float> ActsTrk::SeedingTool::m_phiMin {this, "phiMin", -std::numbers::pi_v<float>, ""} |
|
protected |
◆ m_pixelId
◆ m_radLengthPerSeed
| Gaudi::Property< float > ActsTrk::SeedingTool::m_radLengthPerSeed |
|
protected |
Initial value:{this, "radLengthPerSeed", 0.098045,
"average radiation lengths of material on the length of a seed. used for scattering"}
Definition at line 155 of file SeedingTool.h.
◆ m_rAlign
| Gaudi::Property<float> ActsTrk::SeedingTool::m_rAlign {this, "rAlign", 0 * Acts::UnitConstants::mm, ""} |
|
protected |
◆ m_rBinEdges
| Gaudi::Property< std::vector< float > > ActsTrk::SeedingTool::m_rBinEdges |
|
protected |
Initial value:
"enable non equidistant binning in radius"}
Definition at line 118 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 270 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 268 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 163 of file SeedingTool.h.
◆ m_rMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_rMax |
|
protected |
Initial value:
"limiting location of measurements"}
Definition at line 131 of file SeedingTool.h.
◆ m_rMin
| Gaudi::Property<float> ActsTrk::SeedingTool::m_rMin {this, "rMin", 0 * Acts::UnitConstants::mm, ""} |
|
protected |
◆ m_rRangeMiddleSP
| Gaudi::Property< std::vector<std::vector<double> > > ActsTrk::SeedingTool::m_rRangeMiddleSP |
|
protected |
Initial value:{this, "rRangeMiddleSP",
{{40.0, 90.0}, {40.0, 90.0}, {40.0, 200.0}, {46.0, 200.0}, {46.0, 200.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 200.0}, {46.0, 200.0}, {40.0, 200.0}, {40.0, 90.0}, {40.0, 90.0}},
"radial range for middle SP"}
Definition at line 167 of file SeedingTool.h.
◆ m_seedConfCentralMaxZOrigin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralMaxZOrigin |
|
protected |
Initial value:
"Maximum zOrigin in seed confirmation"}
Definition at line 194 of file SeedingTool.h.
◆ m_seedConfCentralMinBottomRadius
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralMinBottomRadius |
|
protected |
Initial value:
"Minimum radius for bottom SP in seed confirmation"}
Definition at line 191 of file SeedingTool.h.
◆ m_seedConfCentralMinImpact
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralMinImpact |
|
protected |
Initial value:
"Minimum impact parameter for seed confirmation"}
Definition at line 197 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 185 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 188 of file SeedingTool.h.
◆ m_seedConfCentralRMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralRMax |
|
protected |
Initial value:
"maximum r for central seed confirmation "}
Definition at line 182 of file SeedingTool.h.
◆ m_seedConfCentralZMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralZMax |
|
protected |
Initial value:
"maximum z for central seed confirmation "}
Definition at line 179 of file SeedingTool.h.
◆ m_seedConfCentralZMin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfCentralZMin |
|
protected |
Initial value:
"minimum z for central seed confirmation "}
Definition at line 176 of file SeedingTool.h.
◆ m_seedConfForwardMaxZOrigin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardMaxZOrigin |
|
protected |
Initial value:
"Maximum zOrigin in seed confirmation"}
Definition at line 218 of file SeedingTool.h.
◆ m_seedConfForwardMinBottomRadius
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardMinBottomRadius |
|
protected |
Initial value:
"Minimum radius for bottom SP in seed confirmation"}
Definition at line 215 of file SeedingTool.h.
◆ m_seedConfForwardMinImpact
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardMinImpact |
|
protected |
Initial value:
"Minimum impact parameter for seed confirmation"}
Definition at line 221 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 209 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 212 of file SeedingTool.h.
◆ m_seedConfForwardRMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardRMax |
|
protected |
Initial value:
"maximum r for forward seed confirmation "}
Definition at line 206 of file SeedingTool.h.
◆ m_seedConfForwardZMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardZMax |
|
protected |
Initial value:
"maximum z for forward seed confirmation "}
Definition at line 203 of file SeedingTool.h.
◆ m_seedConfForwardZMin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_seedConfForwardZMin |
|
protected |
Initial value:
"minimum z for forward seed confirmation "}
Definition at line 200 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 174 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 248 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 99 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 244 of file SeedingTool.h.
◆ m_sigmaError
| Gaudi::Property<float> ActsTrk::SeedingTool::m_sigmaError {this, "sigmaError", 5, ""} |
|
protected |
◆ m_sigmaScattering
| Gaudi::Property< float > ActsTrk::SeedingTool::m_sigmaScattering |
|
protected |
Initial value:{this, "sigmaScattering", 2.,
"how many sigmas of scattering angle should be considered"}
Definition at line 151 of file SeedingTool.h.
◆ m_stateVectorReserveSize
| Gaudi::Property< int > ActsTrk::SeedingTool::m_stateVectorReserveSize {this, "stateVectorReserveSize", 500, "Size of the initial Seeding State internal vectors"} |
|
protected |
◆ m_toleranceParam
| Gaudi::Property<float> ActsTrk::SeedingTool::m_toleranceParam |
|
protected |
Initial value:
"tolerance parameter used to check the compatibility of SPs coordinates in xyz"}
Definition at line 227 of file SeedingTool.h.
◆ m_topBinFinder
| std::unique_ptr< Acts::GridBinFinder< 3ul > > ActsTrk::SeedingTool::m_topBinFinder {nullptr} |
|
private |
◆ m_useDeltaRorTopRadius
| Gaudi::Property< bool > ActsTrk::SeedingTool::m_useDeltaRorTopRadius |
|
protected |
Initial value:{this, "useDeltaRorTopRadius", true,
"use deltaR (top radius - middle radius) instead of top radius"}
Definition at line 254 of file SeedingTool.h.
◆ m_useDetailedDoubleMeasurementInfo
| Gaudi::Property< bool > ActsTrk::SeedingTool::m_useDetailedDoubleMeasurementInfo |
|
protected |
Initial value:{this, "useDetailedDoubleMeasurementInfo", false,
"enable use of double measurement details"}
Definition at line 224 of file SeedingTool.h.
◆ m_useExperimentCuts
| Gaudi::Property< bool > ActsTrk::SeedingTool::m_useExperimentCuts {this, "useExperimentCuts", false, ""} |
|
protected |
◆ m_useVariableMiddleSPRange
| Gaudi::Property< bool > ActsTrk::SeedingTool::m_useVariableMiddleSPRange |
|
protected |
Initial value:{this, "useVariableMiddleSPRange", true,
"Enable variable range to search for middle SPs"}
Definition at line 165 of file SeedingTool.h.
◆ m_zAlign
| Gaudi::Property<float> ActsTrk::SeedingTool::m_zAlign {this, "zAlign", 0 * Acts::UnitConstants::mm, ""} |
|
protected |
◆ m_zBinEdges
| Gaudi::Property< std::vector< float > > ActsTrk::SeedingTool::m_zBinEdges |
|
protected |
Initial value:{this, "zBinEdges",
{-3000., -2700., -2500., -1400., -925., -500., -250., 250., 500., 925., 1400., 2500., 2700, 3000.},
"enable non equidistant binning in z"}
Definition at line 115 of file SeedingTool.h.
◆ m_zBinNeighborsBottom
| Gaudi::Property< std::vector<std::pair<int, int> > > ActsTrk::SeedingTool::m_zBinNeighborsBottom |
|
protected |
Initial value:{this, "zBinNeighborsBottom",
{{0, 0}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {0, 0}},
"vector containing the map of z bins in the top layers"}
Definition at line 265 of file SeedingTool.h.
◆ m_zBinNeighborsTop
| Gaudi::Property< std::vector<std::pair<int, int> > > ActsTrk::SeedingTool::m_zBinNeighborsTop |
|
protected |
Initial value:{this,
"zBinNeighborsTop",
{{0, 0}, {-1, 0}, {-2, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 2} , {0, 1}, {0, 0}},
"vector containing the map of z bins in the top layers"}
Definition at line 261 of file SeedingTool.h.
◆ m_zBinsCustomLooping
| Gaudi::Property< std::vector< size_t > > ActsTrk::SeedingTool::m_zBinsCustomLooping |
|
protected |
Initial value:{this, "zBinsCustomLooping",
{2, 3, 4, 5, 12, 11, 10, 9, 7, 6, 8} , "defines order of z bins for looping"}
Definition at line 161 of file SeedingTool.h.
◆ m_zMax
| Gaudi::Property< float > ActsTrk::SeedingTool::m_zMax |
|
protected |
Initial value:
"limiting location of measurements"}
Definition at line 109 of file SeedingTool.h.
◆ m_zMin
| Gaudi::Property< float > ActsTrk::SeedingTool::m_zMin |
|
protected |
Initial value:
"limiting location of measurements"}
Definition at line 107 of file SeedingTool.h.
◆ m_zOriginWeightFactor
| Gaudi::Property< float > ActsTrk::SeedingTool::m_zOriginWeightFactor {this, "zOriginWeightFactor", 1.} |
|
protected |
The documentation for this class was generated from the following files:
std::vector< size_t > vec
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
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...
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space