ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::Experimental::GraphBasedTrackSeeder::Config Struct Reference

Configuration struct for the GBTS seeding algorithm. More...

#include <Acts/Seeding/GraphBasedTrackSeeder.hpp>

Inheritance diagram for Acts::Experimental::GraphBasedTrackSeeder::Config:
[legend]

Public Attributes

bool addTriplets = false
 optionally add 3 sp seeds within a certain eta range
bool beamSpotCorrection = false
 Enable beam spot correction.
bool calibrateStrips = true
 Resolve a doublet's strip endpoints against its own direction before cutting on them.
std::uint32_t ccaMaxIterations = 15
 Maximum number of connected-component iterations.
float curvatureSplitAbsTau = 4.0f
 |cot(theta)| separating the two curvature cuts, |eta| of about 2.1.
float cutDCurvMax = 0.001f
 Maximum allowed curvature tolerance for candidate edge connections.
float cutDPhiMax = 0.012f
 Maximum difference in allowed tangent between candidate edge connection.
float d0Max = 3.0 * UnitConstants::mm
 Maximum d0 impact parameter when validating edge connection triplet.
bool doubletFilterRZ = true
 Apply RZ cuts on doublets.
float edgeMaskMinEta = 1.5
 Minimum eta for edge masking.
float hitShareThreshold = 0.49
 Threshold for hit sharing between seeds.
bool matchBeforeCreate = false
 Match seeds before creating them.
std::int32_t matchBeforeCreateMaxBarrelOrder = 1
 Highest pixel barrel layer, counted inside out, matchBeforeCreate applies to when it is enabled.
std::uint32_t matchBeforeCreateMaxEdges = 2
 Incoming edge count below which a node is accepted without a tau match.
float maxAbsEtaAddTriplets = 1.5
 the maximum allowed eta value in which three spacepoint seeds are passed through
float maxAbsTau = 36.0f
 Largest |cot(theta)| accepted for a doublet.
float maxCurvatureHighEta = 4.75e-4f / UnitConstants::mm
 Maximum |curvature| above curvatureSplitAbsTau, before that scaling.
float maxCurvatureLowEta = 3.75e-4f / UnitConstants::mm
 Maximum |curvature| below curvatureSplitAbsTau, before that scaling.
float maxEndcapClusterWidth = 0.35f * Acts::UnitConstants::mm
 Maximum endcap cluster width.
float maxInvRadDiff = 0.7e-2 / UnitConstants::m
 Max allowed curvature for seed self consistency check.
float maxOuterRadius = 550.0f
 Maximum radius of pixel detector.
float maxSeedSplitEta = 0.6
 Max seed eta value considered for splitting.
std::uint32_t maxSplitSeedSize = 5
 Largest seed size that is split.
float maxStripLengthFraction = 1.1f
 How far along a strip a crossing may land and still be recovered, as a multiple of the strip half-length, so 1 is the strip itself.
float maxZ0 = 600
 Maximum z0 value. In pixel mode the value is picked from the RoI.
float minDeltaRadius = 2.0 * Acts::UnitConstants::mm
 Minimum delta radius between layers.
float minPt = 1.0f * UnitConstants::GeV
 Minimum transverse momentum.
std::uint32_t minSeedLevel = 3
 Chain length a seed candidate must reach: a triplet plus one confirmation.
std::uint32_t minSplitSeedSize = 4
 Smallest seed size that is split into drop-out candidates.
float minZ0 = -600
 Minimum z0 value. In pixel mode the value is picked from the RoI.
float moduleEdgeTolerance = 0.3f * Acts::UnitConstants::mm
 Distance to the module edge below which a cluster may be shortened, which switches to the tau lookup table's near-edge bounds.
float moduleHalfLengthY = 10.0f * Acts::UnitConstants::mm
 Half-length in local y of a pixel module, against which the distance of a cluster to the module edge is measured.
std::uint32_t nMaxEdges = 2000000
 Maximum number of Gbts edges/doublets.
float nMaxPhiSlice = 53
 Maximum number of phi slices.
float phiIndexMargin = 1.5f
 Multiples of the phi slice width duplicated either side of the wrap-around, so a sliding window never has to wrap.
std::uint32_t phiSortBuckets = 31
 Buckets used to sort an eta bin by phi, at most GbtsNodeStorage::kMaxPhiSortBuckets.
float phiWindowFarOffset = 0.015f
 Phi window above phiWindowSplitDeltaRadius, in the same form.
float phiWindowFarSlope = 2.2e-4f / UnitConstants::mm
 Slope of the far phi window, per unit radial separation.
float phiWindowNearOffset = 0.002f
 Phi window below phiWindowSplitDeltaRadius, as offset plus slope times the radial separation.
float phiWindowNearSlope = 4.33e-4f / UnitConstants::mm
 Slope of the near phi window, per unit radial separation.
float phiWindowSplitDeltaRadius = 60.0f * UnitConstants::mm
 Radial separation splitting the two phi window slopes below.
detail::GbtsTauLookupTable tauLookupTable
 Accepted tau range per cluster width bin, needed by the cluster width cuts and ignored without them.
float tauLutBinWidth = 0.05f * Acts::UnitConstants::mm
 Cluster width covered by one bin of the tau lookup table.
float tauRatioCorr = 0.006
 correction applied to tau acceptance if a layer is missed during edge connecting
float tauRatioCorrStrip = 0.03f
 The same for a triplet any of whose three nodes a strip module made, whose two doublets resolved the shared node's along-strip coordinate separately.
float tauRatioCut = 0.007
 Tau ratio cut threshold.
float tauRatioPrecut = 0.009f
 Tau ratio precut threshold.
float tripletPtFraction = 0.8f
 Fraction of minPt a triplet may fall to, allowing for three-point pT resolution.
float tuningPt = 0.9f * UnitConstants::GeV
 pT the default cut coefficients were tuned at; they scale by tuningPt / minPt.
bool useAdaptiveCuts = true
 widens allowed variation in tau ratio if layer is missed in edge connecting
bool useClusterWidthCuts = false
 Enable the cluster width cuts: wide endcap rejection and tau narrowing.
bool useEtaBinning = true
 Use eta binning from geometry structure.
bool useStripConnections = false
 Take the strip-to-strip layer connections from the connector file instead of the pixel-to-pixel ones.
bool validateTriplets = true
 optional validation for barrel triplets
std::int32_t z0HistogramMaxBarrelOrder = 0
 Highest pixel barrel layer, counted inside out, whose nodes are cut against the z0 histogram of their outer neighbourhood and whose isolated nodes are skipped.
float z0Resolution = 2.5f * UnitConstants::mm
 Half-width of the z0 window a node is matched against in the histogram.

Detailed Description

Configuration struct for the GBTS seeding algorithm.

Member Data Documentation

◆ addTriplets

bool Acts::Experimental::GraphBasedTrackSeeder::Config::addTriplets = false

optionally add 3 sp seeds within a certain eta range

Note
Worth little until maxAbsEtaAddTriplets is opened past edgeMaskMinEta; matters most where there are few layers.

◆ calibrateStrips

bool Acts::Experimental::GraphBasedTrackSeeder::Config::calibrateStrips = true

Resolve a doublet's strip endpoints against its own direction before cutting on them.

Nothing is written back; the correction is the pair's.

◆ matchBeforeCreateMaxBarrelOrder

std::int32_t Acts::Experimental::GraphBasedTrackSeeder::Config::matchBeforeCreateMaxBarrelOrder = 1

Highest pixel barrel layer, counted inside out, matchBeforeCreate applies to when it is enabled.

Negative disables it.

◆ maxAbsTau

float Acts::Experimental::GraphBasedTrackSeeder::Config::maxAbsTau = 36.0f

Largest |cot(theta)| accepted for a doublet.

The default corresponds to |eta| of about 4.3, beyond the acceptance of any current tracker.

◆ maxStripLengthFraction

float Acts::Experimental::GraphBasedTrackSeeder::Config::maxStripLengthFraction = 1.1f

How far along a strip a crossing may land and still be recovered, as a multiple of the strip half-length, so 1 is the strip itself.

The same quantity as TripletSeedFinder::Config::toleranceParam.

◆ phiWindowFarSlope

float Acts::Experimental::GraphBasedTrackSeeder::Config::phiWindowFarSlope = 2.2e-4f / UnitConstants::mm

Slope of the far phi window, per unit radial separation.

Scaled by tuningPt / minPt.

◆ phiWindowNearSlope

float Acts::Experimental::GraphBasedTrackSeeder::Config::phiWindowNearSlope = 4.33e-4f / UnitConstants::mm

Slope of the near phi window, per unit radial separation.

Scaled by tuningPt / minPt.

◆ tauRatioCorrStrip

float Acts::Experimental::GraphBasedTrackSeeder::Config::tauRatioCorrStrip = 0.03f

The same for a triplet any of whose three nodes a strip module made, whose two doublets resolved the shared node's along-strip coordinate separately.

Reaches nothing without a strip in the triplet.

◆ useStripConnections

bool Acts::Experimental::GraphBasedTrackSeeder::Config::useStripConnections = false

Take the strip-to-strip layer connections from the connector file instead of the pixel-to-pixel ones.

Read where the file is loaded, not by the seeder itself.

◆ z0HistogramMaxBarrelOrder

std::int32_t Acts::Experimental::GraphBasedTrackSeeder::Config::z0HistogramMaxBarrelOrder = 0

Highest pixel barrel layer, counted inside out, whose nodes are cut against the z0 histogram of their outer neighbourhood and whose isolated nodes are skipped.

Negative disables the cut.