ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::SeedFinderOrthogonalConfig< SpacePoint > Struct Template Reference

Structure that holds configuration parameters for the orthogonal seed finder algorithm. More...

#include <Acts/Seeding/SeedFinderOrthogonalConfig.hpp>

Inheritance diagram for Acts::SeedFinderOrthogonalConfig< SpacePoint >:
[legend]
Collaboration diagram for Acts::SeedFinderOrthogonalConfig< SpacePoint >:
[legend]

Public Member Functions

SeedFinderOrthogonalConfig calculateDerivedQuantities () const
 Calculate derived quantities from the basic configuration parameters.

Static Public Member Functions

static bool noopExperimentCuts (float, float)
 defaults experimental cuts to no operation in both seeding algorithms

Public Attributes

SeedConfirmationRangeConfig centralSeedConfirmationRange
 Contains parameters for central seed confirmation.
float collisionRegionMax = +150 * Acts::UnitConstants::mm
 Maximum z extent of collision region for doublet validation.
float collisionRegionMin = -150 * Acts::UnitConstants::mm
 Limiting location of collision region in z-axis used to check if doublet origin is within reasonable bounds.
float cotThetaMax = 10.01788
 Maximum allowed cotTheta between two space-points in doublet, used to check if forward angle is within bounds.
float deltaPhiMax = 0.085
 Shrink the phi range of middle space-point (analogous to phi bin size in grid from default seeding + number of phi bins used in search).
float deltaRMaxBottomSP = std::numeric_limits<float>::quiet_NaN()
 Maximum radial distance between inner-middle doublet components.
float deltaRMaxTopSP = std::numeric_limits<float>::quiet_NaN()
 Maximum radial distance between middle-outer doublet components.
float deltaRMiddleMaxSPRange = 10. * Acts::UnitConstants::mm
 Maximum delta R for variable middle SP range calculation.
float deltaRMiddleMinSPRange = 10. * Acts::UnitConstants::mm
 If useVariableMiddleSPRange is true, the radial range will be calculated based on the maximum and minimum r values of the space-points in the event and a deltaR (deltaRMiddleMinSPRange, deltaRMiddleMaxSPRange).
float deltaRMinBottomSP = std::numeric_limits<float>::quiet_NaN()
 Minimum radial distance between inner-middle doublet components.
float deltaRMinTopSP = std::numeric_limits<float>::quiet_NaN()
 Seeding parameters used to define the cuts on space-point doublets.
float deltaZMax
 Maximum value of z-distance between space-points in doublet.
Delegate< bool(float, float)> experimentCuts
 Delegate to apply experiment specific cuts during seeding.
SeedConfirmationRangeConfig forwardSeedConfirmationRange
 Contains parameters for forward seed confirmation.
float helixCutTolerance = 1.
 Parameter which can loosen the tolerance of the track seed to form a helix.
float highland = 0
 Other parameters.
float impactMax = 20. * Acts::UnitConstants::mm
 Maximum value of impact parameter estimation of the seed candidates.
bool interactionPointCut = false
 Enable cut on the compatibility between interaction point and doublet, this is an useful approximation to speed up the seeding.
bool isInInternalUnits = true
 Flag indicating whether configuration uses ACTS internal units.
float maxPtScattering = 10 * Acts::UnitConstants::GeV
 Maximum transverse momentum for scattering calculation.
float maxScatteringAngle2 = 0
 Squared maximum scattering angle for track validation.
unsigned int maxSeedsPerSpM = 5
 Maximum number (minus one) of accepted seeds per middle space-point.
float minPt = 400. * Acts::UnitConstants::MeV
 Seeding parameters used to define the cuts on space-point triplets.
float phiMax = std::numbers::pi_v<float>
 Maximum phi angle for space-point selection.
float phiMin = -std::numbers::pi_v<float>
 Seeding parameters for geometry settings and detector ROI.
float radLengthPerSeed = 0.05
 Term that accounts for the thickness of scattering medium in radiation lengths in the Lynch & Dahl correction to the Highland equation default is 5% TODO: necessary to make amount of material dependent on detector region?
float rMax = 600 * Acts::UnitConstants::mm
 Maximum radius for space-point selection.
float rMaxMiddle = 120.f * Acts::UnitConstants::mm
 Maximum radius for middle space-point selection.
float rMin = 33 * Acts::UnitConstants::mm
float rMinMiddle = 60.f * Acts::UnitConstants::mm
 Seeding parameters used to define the region of interest for middle space-point.
std::vector< std::vector< float > > rRangeMiddleSP
 Range defined in vector for each z bin.
bool seedConfirmation = false
 Seeding parameters used for quality seed confirmation.
std::shared_ptr< Acts::SeedFilter< SpacePoint > > seedFilter
 Shared pointer to the seed filter for quality assessment.
float sigmaScattering = 5
 Number of sigmas of scattering angle to be considered in the minimum pT scattering term.
bool useVariableMiddleSPRange = true
 If useVariableMiddleSPRange is set to false, the vector rRangeMiddleSP can be used to define a fixed r range for each z bin: {{rMin, rMax}, ...}.
float zMax = 2800 * Acts::UnitConstants::mm
 Maximum z coordinate for space-point selection.
float zMin = -2800 * Acts::UnitConstants::mm
 limiting location of measurements
std::pair< float, float > zOutermostLayers
 Vector containing minimum and maximum z boundaries for cutting middle space-points.

Detailed Description

template<typename SpacePoint>
struct Acts::SeedFinderOrthogonalConfig< SpacePoint >

Structure that holds configuration parameters for the orthogonal seed finder algorithm.

Member Function Documentation

◆ calculateDerivedQuantities()

template<typename SpacePoint>
SeedFinderOrthogonalConfig Acts::SeedFinderOrthogonalConfig< SpacePoint >::calculateDerivedQuantities ( ) const

Calculate derived quantities from the basic configuration parameters.

Returns
New configuration with derived quantities calculated

◆ noopExperimentCuts()

template<typename SpacePoint>
bool Acts::SeedFinderOrthogonalConfig< SpacePoint >::noopExperimentCuts ( float ,
float  )
static

defaults experimental cuts to no operation in both seeding algorithms

Returns
Always returns true (no cuts applied)

Member Data Documentation

◆ centralSeedConfirmationRange

template<typename SpacePoint>
SeedConfirmationRangeConfig Acts::SeedFinderOrthogonalConfig< SpacePoint >::centralSeedConfirmationRange

Contains parameters for central seed confirmation.

◆ collisionRegionMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::collisionRegionMax = +150 * Acts::UnitConstants::mm

Maximum z extent of collision region for doublet validation.

◆ collisionRegionMin

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::collisionRegionMin = -150 * Acts::UnitConstants::mm

Limiting location of collision region in z-axis used to check if doublet origin is within reasonable bounds.

◆ cotThetaMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::cotThetaMax = 10.01788

Maximum allowed cotTheta between two space-points in doublet, used to check if forward angle is within bounds.

◆ deltaPhiMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaPhiMax = 0.085

Shrink the phi range of middle space-point (analogous to phi bin size in grid from default seeding + number of phi bins used in search).

◆ deltaRMaxBottomSP

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaRMaxBottomSP = std::numeric_limits<float>::quiet_NaN()

Maximum radial distance between inner-middle doublet components.

◆ deltaRMaxTopSP

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaRMaxTopSP = std::numeric_limits<float>::quiet_NaN()

Maximum radial distance between middle-outer doublet components.

◆ deltaRMiddleMaxSPRange

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaRMiddleMaxSPRange = 10. * Acts::UnitConstants::mm

Maximum delta R for variable middle SP range calculation.

◆ deltaRMiddleMinSPRange

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaRMiddleMinSPRange = 10. * Acts::UnitConstants::mm

If useVariableMiddleSPRange is true, the radial range will be calculated based on the maximum and minimum r values of the space-points in the event and a deltaR (deltaRMiddleMinSPRange, deltaRMiddleMaxSPRange).

◆ deltaRMinBottomSP

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaRMinBottomSP = std::numeric_limits<float>::quiet_NaN()

Minimum radial distance between inner-middle doublet components.

◆ deltaRMinTopSP

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaRMinTopSP = std::numeric_limits<float>::quiet_NaN()

Seeding parameters used to define the cuts on space-point doublets.

Minimum radial distance between middle-outer doublet components

◆ deltaZMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::deltaZMax
Initial value:
=
std::numeric_limits<float>::infinity() * Acts::UnitConstants::mm
constexpr double mm
Millimeter - native unit for length.
Definition Units.hpp:88

Maximum value of z-distance between space-points in doublet.

◆ experimentCuts

template<typename SpacePoint>
Delegate<bool(float , float )> Acts::SeedFinderOrthogonalConfig< SpacePoint >::experimentCuts
Initial value:

Delegate to apply experiment specific cuts during seeding.

◆ forwardSeedConfirmationRange

template<typename SpacePoint>
SeedConfirmationRangeConfig Acts::SeedFinderOrthogonalConfig< SpacePoint >::forwardSeedConfirmationRange

Contains parameters for forward seed confirmation.

◆ helixCutTolerance

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::helixCutTolerance = 1.

Parameter which can loosen the tolerance of the track seed to form a helix.

This is useful for e.g. misaligned seeding.

◆ highland

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::highland = 0

Other parameters.

derived values, set on SeedFinder construction

◆ impactMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::impactMax = 20. * Acts::UnitConstants::mm

Maximum value of impact parameter estimation of the seed candidates.

◆ interactionPointCut

template<typename SpacePoint>
bool Acts::SeedFinderOrthogonalConfig< SpacePoint >::interactionPointCut = false

Enable cut on the compatibility between interaction point and doublet, this is an useful approximation to speed up the seeding.

◆ isInInternalUnits

template<typename SpacePoint>
bool Acts::SeedFinderOrthogonalConfig< SpacePoint >::isInInternalUnits = true

Flag indicating whether configuration uses ACTS internal units.

◆ maxPtScattering

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::maxPtScattering = 10 * Acts::UnitConstants::GeV

Maximum transverse momentum for scattering calculation.

◆ maxScatteringAngle2

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::maxScatteringAngle2 = 0

Squared maximum scattering angle for track validation.

◆ maxSeedsPerSpM

template<typename SpacePoint>
unsigned int Acts::SeedFinderOrthogonalConfig< SpacePoint >::maxSeedsPerSpM = 5

Maximum number (minus one) of accepted seeds per middle space-point.

◆ minPt

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::minPt = 400. * Acts::UnitConstants::MeV

Seeding parameters used to define the cuts on space-point triplets.

Minimum transverse momentum (pT) used to check the r-z slope compatibility of triplets with maximum multiple scattering effect (produced by the minimum allowed pT particle) + a certain uncertainty term. Check the documentation for more information https://acts.readthedocs.io/en/latest/core/reconstruction/pattern_recognition/seeding.html

◆ phiMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::phiMax = std::numbers::pi_v<float>

Maximum phi angle for space-point selection.

◆ phiMin

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::phiMin = -std::numbers::pi_v<float>

Seeding parameters for geometry settings and detector ROI.

◆ radLengthPerSeed

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::radLengthPerSeed = 0.05

Term that accounts for the thickness of scattering medium in radiation lengths in the Lynch & Dahl correction to the Highland equation default is 5% TODO: necessary to make amount of material dependent on detector region?

◆ rMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::rMax = 600 * Acts::UnitConstants::mm

Maximum radius for space-point selection.

◆ rMaxMiddle

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::rMaxMiddle = 120.f * Acts::UnitConstants::mm

Maximum radius for middle space-point selection.

◆ rMin

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::rMin = 33 * Acts::UnitConstants::mm
Warning
If rMin is smaller than impactMax, the bin size will be 2*pi, which will make seeding very slow!

◆ rMinMiddle

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::rMinMiddle = 60.f * Acts::UnitConstants::mm

Seeding parameters used to define the region of interest for middle space-point.

Radial range for middle space-point The range can be defined manually with (rMinMiddle, rMaxMiddle). If useVariableMiddleSPRange is set to false and the vector rRangeMiddleSP is empty, we use (rMinMiddle, rMaxMiddle) to cut the middle space-points

◆ rRangeMiddleSP

template<typename SpacePoint>
std::vector<std::vector<float> > Acts::SeedFinderOrthogonalConfig< SpacePoint >::rRangeMiddleSP

Range defined in vector for each z bin.

◆ seedConfirmation

template<typename SpacePoint>
bool Acts::SeedFinderOrthogonalConfig< SpacePoint >::seedConfirmation = false

Seeding parameters used for quality seed confirmation.

Enable quality seed confirmation, this is different than default seeding confirmation because it can also be defined for different (r, z) regions of the detector (e.g. forward or central region) by SeedConfirmationRange. Seeds are classified as "high-quality" seeds and normal quality seeds. Normal quality seeds are only selected if no other "high-quality" seeds has been found for that inner-middle doublet.

◆ seedFilter

template<typename SpacePoint>
std::shared_ptr<Acts::SeedFilter<SpacePoint> > Acts::SeedFinderOrthogonalConfig< SpacePoint >::seedFilter

Shared pointer to the seed filter for quality assessment.

◆ sigmaScattering

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::sigmaScattering = 5

Number of sigmas of scattering angle to be considered in the minimum pT scattering term.

◆ useVariableMiddleSPRange

template<typename SpacePoint>
bool Acts::SeedFinderOrthogonalConfig< SpacePoint >::useVariableMiddleSPRange = true

If useVariableMiddleSPRange is set to false, the vector rRangeMiddleSP can be used to define a fixed r range for each z bin: {{rMin, rMax}, ...}.

◆ zMax

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::zMax = 2800 * Acts::UnitConstants::mm

Maximum z coordinate for space-point selection.

◆ zMin

template<typename SpacePoint>
float Acts::SeedFinderOrthogonalConfig< SpacePoint >::zMin = -2800 * Acts::UnitConstants::mm

limiting location of measurements

◆ zOutermostLayers

template<typename SpacePoint>
std::pair<float, float> Acts::SeedFinderOrthogonalConfig< SpacePoint >::zOutermostLayers
Initial value:

Vector containing minimum and maximum z boundaries for cutting middle space-points.