ATLAS Offline Software
Loading...
Searching...
No Matches
GridTripletSeedingTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRK_GRIDTRIPLETSEEDINGTOOL_GRIDTRIPLETSEEDINGTOOL_H
6#define ACTSTRK_GRIDTRIPLETSEEDINGTOOL_GRIDTRIPLETSEEDINGTOOL_H
7
8// ATHENA
15
16// ACTS CORE
17#include "Acts/EventData/SeedContainer.hpp"
18#include "Acts/EventData/SpacePointContainer.hpp"
19#include "Acts/Seeding/BroadTripletSeedFilter.hpp"
20#include "Acts/Seeding/CylindricalSpacePointGrid.hpp"
21#include "Acts/Seeding/TripletSeeder.hpp"
22
23// Other
24#include <memory>
25#include <optional>
26#include <vector>
27
28namespace ActsTrk {
29
31 : public extends<AthAlgTool, ActsTrk::ISeedingTool> {
32 public:
33 GridTripletSeedingTool(const std::string& type, const std::string& name,
34 const IInterface* parent);
35
36 virtual StatusCode initialize() override;
37
38 StatusCode createSeeds(const EventContext& ctx,
39 const std::vector<const xAOD::SpacePointContainer*>&
40 spacePointCollections,
41 const Eigen::Vector3f& beamSpotPos, float bFieldInZ,
42 ActsTrk::SeedContainer& seedContainer) const override;
43
44 protected:
45 Gaudi::Property<bool> m_seedQualitySelection{
46 this, "doSeedQualitySelection", true,
47 "Select seed according to quality criteria"};
48
49 // Cylindrical space point grid properties. Some are also used for the seed
50 // finder.
51 Gaudi::Property<float> m_minPt{this, "minPt", 900. * Acts::UnitConstants::MeV,
52 "lower pT cutoff for seeds"};
53 Gaudi::Property<float> m_cotThetaMax{this, "cotThetaMax", 27.2899,
54 "cot of maximum theta angle"};
55 Gaudi::Property<float> m_zMin{this, "zMin", -3000. * Acts::UnitConstants::mm,
56 "limiting location of measurements"};
57 Gaudi::Property<float> m_zMax{this, "zMax", 3000. * Acts::UnitConstants::mm,
58 "limiting location of measurements"};
59 Gaudi::Property<float> m_deltaRMax{
60 this, "deltaRMax", 280. * Acts::UnitConstants::mm,
61 "maximum distance in r between two measurements within one "
62 "seed"};
63 Gaudi::Property<float> m_impactMax{this, "impactMax",
64 2. * Acts::UnitConstants::mm,
65 "maximum impact parameter"};
66 Gaudi::Property<std::vector<float>> m_zBinEdges{
67 this,
68 "zBinEdges",
69 {-3000., -2700., -2500., -1400., -925., -500., -250., 250., 500., 925.,
70 1400., 2500., 2700, 3000.},
71 "enable non equidistant binning in z"};
72 Gaudi::Property<std::vector<float>> m_rBinEdges{
73 this,
74 "rBinEdges",
75 {0., 1100 * Acts::UnitConstants::mm},
76 "enable non equidistant binning in radius"};
77 Gaudi::Property<float> m_gridRMax{
78 this, "gridRMax", 320. * Acts::UnitConstants::mm,
79 "radial extension of subdetector to be used in grid building"};
80 Gaudi::Property<float> m_gridPhiMin{this, "gridPhiMin",
81 -std::numbers::pi_v<float>,
82 "phi min for space point grid formation"};
83 Gaudi::Property<float> m_gridPhiMax{this, "gridPhiMax",
84 std::numbers::pi_v<float>,
85 "phi max for space point grid formation"};
86 Gaudi::Property<int> m_phiBinDeflectionCoverage{
87 this, "phiBinDeflectionCoverage", 3,
88 "sets of consecutive phi bins to cover full deflection of minimum pT "
89 "particle"};
90 Gaudi::Property<int> m_maxPhiBins{this, "maxPhiBins", 200,
91 "max number of bins"};
92
93 // Seed finder properties. Some are also used for the seed filter.
94 Gaudi::Property<float> m_rMax{this, "rMax", 320. * Acts::UnitConstants::mm,
95 "limiting location of measurements"};
96 Gaudi::Property<float> m_binSizeR{
97 this, "binSizeR", 1. * Acts::UnitConstants::mm,
98 "defining radial bin for space point sorting"};
99 Gaudi::Property<float> m_deltaRMin{
100 this, "deltaRMin", 20. * Acts::UnitConstants::mm,
101 "minimum distance in r between two measurements within one "
102 "seed"};
103 Gaudi::Property<float> m_deltaRMinTopSP{
104 this, "deltaRMinTopSP", 6. * Acts::UnitConstants::mm,
105 "minimum distance in r between middle and top SP"};
106 Gaudi::Property<float> m_deltaRMaxTopSP{
107 this, "deltaRMaxTopSP", 280. * Acts::UnitConstants::mm,
108 "maximum distance in r between middle and top SP"};
109 Gaudi::Property<float> m_deltaRMinBottomSP{
110 this, "deltaRMinBottomSP", 6. * Acts::UnitConstants::mm,
111 "minimum distance in r between middle and top SP"};
112 Gaudi::Property<float> m_deltaRMaxBottomSP{
113 this, "deltaRMaxBottomSP", 150. * Acts::UnitConstants::mm,
114 "maximum distance in r between middle and top SP"};
115 Gaudi::Property<float> m_deltaZMax{
116 this, "deltaZMax", 600,
117 "maximum distance in z between two measurements within one seed"};
118 Gaudi::Property<float> m_collisionRegionMin{
119 this, "collisionRegionMin", -200. * Acts::UnitConstants::mm,
120 "limiting location of collision region in z"};
121 Gaudi::Property<float> m_collisionRegionMax{
122 this, "collisionRegionMax", 200. * Acts::UnitConstants::mm,
123 "limiting location of collision region in z"};
124 Gaudi::Property<bool> m_useHVCollisionRegion{
125 this, "useHVCollisionRegion", false,
126 "restrict collision region by Hough vertex position"};
127 Gaudi::Property<float> m_hvCollisionRegionTolerance{
128 this, "hvCollisionRegionTolerance", 10. * Acts::UnitConstants::mm,
129 "size of collision region when using Hough vertex"};
130 Gaudi::Property<float> m_sigmaScattering{
131 this, "sigmaScattering", 2.,
132 "how many sigmas of scattering angle should be considered"};
133 Gaudi::Property<float> m_maxPtScattering{
134 this, "maxPtScattering", 10e6,
135 "Upper pt limit for scattering calculation"};
136 Gaudi::Property<float> m_radLengthPerSeed{
137 this, "radLengthPerSeed", 0.098045,
138 "average radiation lengths of material on the length of a seed. used for "
139 "scattering"};
140 Gaudi::Property<int> m_maxSeedsPerSpM{
141 this, "maxSeedsPerSpM", 4,
142 "In dense environments many seeds may be found per middle space point. "
143 "Only seeds with the highest weight will be kept if this limit is "
144 "reached."};
145 Gaudi::Property<bool> m_interactionPointCut{
146 this, "interactionPointCut", true,
147 "Enable cut on the compatibility between interaction point and SPs"};
148 Gaudi::Property<std::vector<size_t>> m_zBinsCustomLooping{
149 this,
150 "zBinsCustomLooping",
151 {2, 3, 4, 5, 12, 11, 10, 9, 7, 6, 8},
152 "defines order of z bins for looping; entries are 1-based local bin "
153 "indices, i.e. within 1..(zBinEdges.size()-1), and must not repeat. "
154 "Listing a subset skips the remaining bins, empty means all bins in "
155 "their natural order"};
156 Gaudi::Property<std::vector<std::size_t>> m_rBinsCustomLooping{
157 this,
158 "rBinsCustomLooping",
159 {},
160 "defines order of r bins for looping; entries are 1-based local bin "
161 "indices, i.e. within 1..(rBinEdges.size()-1), and must not repeat. "
162 "Listing a subset skips the remaining bins, empty means all bins in "
163 "their natural order"};
164 Gaudi::Property<bool> m_useVariableMiddleSPRange{
165 this, "useVariableMiddleSPRange", true,
166 "Enable variable range to search for middle SPs"};
167 Gaudi::Property<std::vector<std::vector<double>>> m_rRangeMiddleSP{
168 this,
169 "rRangeMiddleSP",
170 {{40.0, 90.0},
171 {40.0, 90.0},
172 {40.0, 200.0},
173 {46.0, 200.0},
174 {46.0, 200.0},
175 {46.0, 250.0},
176 {46.0, 250.0},
177 {46.0, 250.0},
178 {46.0, 200.0},
179 {46.0, 200.0},
180 {40.0, 200.0},
181 {40.0, 90.0},
182 {40.0, 90.0}},
183 "radial range for middle SP"};
184 Gaudi::Property<float> m_deltaRMiddleMinSPRange{
185 this, "deltaRMiddleMinSPRange", 10., "delta R for middle SP range (min)"};
186 Gaudi::Property<float> m_deltaRMiddleMaxSPRange{
187 this, "deltaRMiddleMaxSPRange", 10., "delta R for middle SP range (max)"};
188 Gaudi::Property<bool> m_seedConfirmation{this, "seedConfirmation", true,
189 "run seed confirmation"};
190 Gaudi::Property<float> m_seedConfCentralZMin{
191 this, "seedConfCentralZMin", -250. * Acts::UnitConstants::mm,
192 "minimum z for central seed confirmation "};
193 Gaudi::Property<float> m_seedConfCentralZMax{
194 this, "seedConfCentralZMax", 250. * Acts::UnitConstants::mm,
195 "maximum z for central seed confirmation "};
196 Gaudi::Property<float> m_seedConfCentralRMax{
197 this, "seedConfCentralRMax", 140. * Acts::UnitConstants::mm,
198 "maximum r for central seed confirmation "};
199 Gaudi::Property<size_t> m_seedConfCentralNTopLargeR{
200 this, "seedConfCentralNTopLargeR", 1,
201 "nTop for large R central seed confirmation"};
202 Gaudi::Property<size_t> m_seedConfCentralNTopSmallR{
203 this, "seedConfCentralNTopSmallR", 2,
204 "nTop for small R central seed confirmation"};
205 Gaudi::Property<float> m_seedConfCentralMinBottomRadius{
206 this, "seedConfCentralMinBottomRadius", 60 * Acts::UnitConstants::mm,
207 "Minimum radius for bottom SP in seed confirmation"};
208 Gaudi::Property<float> m_seedConfCentralMaxZOrigin{
209 this, "seedConfCentralMaxZOrigin", 150 * Acts::UnitConstants::mm,
210 "Maximum zOrigin in seed confirmation"};
211 Gaudi::Property<float> m_seedConfCentralMinImpact{
212 this, "seedConfCentralMinImpact", 1. * Acts::UnitConstants::mm,
213 "Minimum impact parameter for seed confirmation"};
214 Gaudi::Property<float> m_seedConfForwardZMin{
215 this, "seedConfForwardZMin", -3000. * Acts::UnitConstants::mm,
216 "minimum z for forward seed confirmation "};
217 Gaudi::Property<float> m_seedConfForwardZMax{
218 this, "seedConfForwardZMax", 3000. * Acts::UnitConstants::mm,
219 "maximum z for forward seed confirmation "};
220 Gaudi::Property<float> m_seedConfForwardRMax{
221 this, "seedConfForwardRMax", 140. * Acts::UnitConstants::mm,
222 "maximum r for forward seed confirmation "};
223 Gaudi::Property<size_t> m_seedConfForwardNTopLargeR{
224 this, "seedConfForwardNTopLargeR", 1,
225 "nTop for large R forward seed confirmation"};
226 Gaudi::Property<size_t> m_seedConfForwardNTopSmallR{
227 this, "seedConfForwardNTopSmallR", 2,
228 "nTop for small R forward seed confirmation"};
229 Gaudi::Property<float> m_seedConfForwardMinBottomRadius{
230 this, "seedConfForwardMinBottomRadius", 60 * Acts::UnitConstants::mm,
231 "Minimum radius for bottom SP in seed confirmation"};
232 Gaudi::Property<float> m_seedConfForwardMaxZOrigin{
233 this, "seedConfForwardMaxZOrigin", 150 * Acts::UnitConstants::mm,
234 "Maximum zOrigin in seed confirmation"};
235 Gaudi::Property<float> m_seedConfForwardMinImpact{
236 this, "seedConfForwardMinImpact", 1. * Acts::UnitConstants::mm,
237 "Minimum impact parameter for seed confirmation"};
239 this, "useDetailedDoubleMeasurementInfo", false,
240 "enable use of double measurement details"};
241
242 Gaudi::Property<float> m_toleranceParam{
243 this, "toleranceParam", 1.1 * Acts::UnitConstants::mm,
244 "tolerance parameter used to check the compatibility of SPs coordinates "
245 "in xyz"};
246 Gaudi::Property<float> m_maxStripDeltaCotTheta{
247 this, "maxStripDeltaCotTheta", 1e10f,
248 "maximum allowed |cotTheta_bottom - cotTheta_top| pre-filter for strip "
249 "triplets before expensive coordinate checks"};
250
251 Gaudi::Property<float> m_phiMin{this, "phiMin", -std::numbers::pi_v<float>,
252 ""};
253 Gaudi::Property<float> m_phiMax{this, "phiMax", std::numbers::pi_v<float>,
254 ""};
255 Gaudi::Property<float> m_rMin{this, "rMin", 0 * Acts::UnitConstants::mm, ""};
256 Gaudi::Property<float> m_zAlign{this, "zAlign", 0 * Acts::UnitConstants::mm,
257 ""};
258 Gaudi::Property<float> m_rAlign{this, "rAlign", 0 * Acts::UnitConstants::mm,
259 ""};
260 Gaudi::Property<float> m_sigmaError{this, "sigmaError", 5, ""};
261
262 // Seed filter properties
263 Gaudi::Property<float> m_impactWeightFactor{
264 this, "impactWeightFactor", 100.,
265 "the impact parameters (d0) is multiplied by this factor and subtracted "
266 "from weight"};
267 Gaudi::Property<float> m_zOriginWeightFactor{this, "zOriginWeightFactor", 1.};
268 Gaudi::Property<float> m_compatSeedWeight{
269 this, "compatSeedWeight", 100.,
270 "seed weight increased by this value if a compatible seed has been "
271 "found"};
272 Gaudi::Property<std::size_t> m_compatSeedLimit{
273 this, "compatSeedLimit", 3,
274 "how often do you want to increase the weight of a seed for finding a "
275 "compatible seed"};
276 Gaudi::Property<float> m_seedWeightIncrement{
277 this, "seedWeightIncrement", 0., "increment in seed weight if needed"};
278 Gaudi::Property<float> m_numSeedIncrement{
279 this, "numSeedIncrement", 10e6,
280 "increment in seed weight is applied if the number of compatible seeds "
281 "is larger than numSeedIncrement"};
282 Gaudi::Property<bool> m_seedConfirmationInFilter{
283 this, "seedConfirmationInFilter", true, "run seed confirmation"};
284 Gaudi::Property<std::size_t> m_maxSeedsPerSpMConf{
285 this, "maxSeedsPerSpMConf", 5,
286 "Maximum number of lower quality seeds in seed confirmation."};
287 Gaudi::Property<std::size_t> m_maxQualitySeedsPerSpMConf{
288 this, "maxQualitySeedsPerSpMConf", 5,
289 "Maximum number of quality seeds for each middle-bottom SP-duplet in "
290 "seed confirmation."};
291 Gaudi::Property<bool> m_useDeltaRorTopRadius{
292 this, "useDeltaRorTopRadius", true,
293 "use deltaR (top radius - middle radius) instead of top radius"};
294 Gaudi::Property<float> m_deltaInvHelixDiameter{
295 this, "deltaInvHelixDiameter", 0.00003 * 1. / Acts::UnitConstants::mm,
296 "the allowed delta between two inverted seed radii for them to be "
297 "considered compatible"};
298 Gaudi::Property<float> m_absDeltaEtaWeightFactor{
299 this, "absDeltaEtaWeightFactor", 0.,
300 "weight factor for abs(delta-eta) penalty between seed direction and "
301 "beamspot-to-PCA direction (0 = disabled, typical LRT value: 10)"};
302 Gaudi::Property<float> m_absDeltaEtaMinImpact{
303 this, "absDeltaEtaMinImpact", 2. * Acts::UnitConstants::mm,
304 "minimum impact parameter to apply abs(delta-eta) weight"};
305
306
307 // Properties to set other objects used in seeding algorithm
308 Gaudi::Property<std::vector<std::pair<int, int>>> m_zBinNeighborsTop{
309 this,
310 "zBinNeighborsTop",
311 {{0, 0},
312 {-1, 0},
313 {-2, 0},
314 {-1, 0},
315 {-1, 0},
316 {-1, 0},
317 {-1, 1},
318 {0, 1},
319 {0, 1},
320 {0, 1},
321 {0, 2},
322 {0, 1},
323 {0, 0}},
324 "vector containing the map of z bins in the top layers"};
325 Gaudi::Property<std::vector<std::pair<int, int>>> m_zBinNeighborsBottom{
326 this,
327 "zBinNeighborsBottom",
328 {{0, 0},
329 {0, 1},
330 {0, 1},
331 {0, 1},
332 {0, 1},
333 {0, 1},
334 {0, 0},
335 {-1, 0},
336 {-1, 0},
337 {-1, 0},
338 {-1, 0},
339 {-1, 0},
340 {0, 0}},
341 "vector containing the map of z bins in the top layers"};
342 Gaudi::Property<std::vector<std::pair<int, int>>> m_rBinNeighborsTop{
343 this,
344 "rBinNeighborsTop",
345 {{0, 0}},
346 "vector containing the map of radius bins in the top layers"};
347 Gaudi::Property<std::vector<std::pair<int, int>>> m_rBinNeighborsBottom{
348 this,
349 "rBinNeighborsBottom",
350 {{0, 0}},
351 "vector containing the map of radius bins in the bottom layers"};
352 Gaudi::Property<int> m_numPhiNeighbors{
353 this, "numPhiNeighbors", 1,
354 "number of phi bin neighbors at each side of the current bin that will "
355 "be used to search for SPs"};
356
357 Gaudi::Property<bool> m_useExperimentCuts{this, "useExperimentCuts", false,
358 ""};
359
360 // per-pair azimuthal-swing doublet cut (displaced-aware, same physics as
361 // the GBTS phi window): independent of useExperimentCuts so that the
362 // pixel-specific experiment cuts stay off for strip instances
363 Gaudi::Property<bool> m_doubletDPhiCut{this, "doubletDPhiCut", false,
364 "apply the per-pair azimuthal-swing doublet cut"};
365 Gaudi::Property<float> m_doubletDPhiD0Max{this, "doubletDPhiD0Max", -1.,
366 "impact parameter bounding the doublet phi swing; negative uses impactMax"};
367 Gaudi::Property<float> m_doubletDPhiCap{this, "doubletDPhiCap", 10.,
368 "cap on the displaced phi-swing term [rad]"};
369 Gaudi::Property<float> m_doubletDPhiConst{this, "doubletDPhiConst", 0.015,
370 "constant term of the prompt doublet phi window [rad]"};
371 Gaudi::Property<float> m_doubletDPhiSlope{this, "doubletDPhiSlope", 2.0e-4,
372 "curvature term of the prompt doublet phi window [rad/mm]"};
373
374 Gaudi::Property<int> m_stateVectorReserveSize{
375 this, "stateVectorReserveSize", 500,
376 "Size of the initial Seeding State internal vectors"};
377
378 Gaudi::Property<float> m_expCutrMin{this, "SpSelectionExpCutrMin",
379 45. * Acts::UnitConstants::mm};
380
381 private:
382 Acts::CylindricalSpacePointGrid::Config m_gridCfg;
383 Acts::DoubletSeedFinder::Config m_bottomDoubletFinderCfg;
384 Acts::DoubletSeedFinder::Config m_topDoubletFinderCfg;
385 Acts::TripletSeedFinder::Config m_tripletFinderCfg;
386 Acts::BroadTripletSeedFilter::Config m_filterCfg;
387
388 std::optional<Acts::TripletSeeder> m_finder;
389
391 std::unique_ptr<const Acts::Logger> m_logger;
392 std::unique_ptr<const Acts::Logger> m_loggerFilter;
393
394 const PixelID* m_pixelId{nullptr};
395
397 const Acts::Logger& logger() const { return *m_logger; }
398
399 bool spacePointSelectionFunction(const xAOD::SpacePoint* sp, float r) const;
400
402 bool doubletSelectionFunction(const std::vector<float>& spPhi,
403 const std::vector<float>& spAsinD0OverR,
404 const Acts::ConstSpacePointProxy& middle,
405 const Acts::ConstSpacePointProxy& other,
406 float cotTheta, bool isBottomCandidate) const;
407
408 std::pair<float, float> retrieveRadiusRangeForMiddle(
409 const Acts::ConstSpacePointProxy& spM,
410 const Acts::Range1D<float>& rMiddleSpRange) const;
411
412 SG::ReadHandleKey<xAOD::VertexContainer> m_inputHoughVtxKey{this, "inputHoughVtx", "", "input vertex container"};
413};
414
415} // namespace ActsTrk
416
417#endif
static Double_t sp
This is an Identifier helper class for the Pixel subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
bool spacePointSelectionFunction(const xAOD::SpacePoint *sp, float r) const
Acts::TripletSeedFinder::Config m_tripletFinderCfg
Gaudi::Property< bool > m_useDeltaRorTopRadius
Gaudi::Property< bool > m_seedQualitySelection
Gaudi::Property< float > m_seedConfForwardMinImpact
Acts::DoubletSeedFinder::Config m_bottomDoubletFinderCfg
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsTop
Gaudi::Property< float > m_impactWeightFactor
Acts::DoubletSeedFinder::Config m_topDoubletFinderCfg
Gaudi::Property< float > m_collisionRegionMax
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
std::optional< Acts::TripletSeeder > m_finder
Gaudi::Property< int > m_phiBinDeflectionCoverage
Gaudi::Property< float > m_zOriginWeightFactor
Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf
Gaudi::Property< float > m_maxPtScattering
Gaudi::Property< bool > m_useVariableMiddleSPRange
Gaudi::Property< float > m_toleranceParam
Gaudi::Property< float > m_maxStripDeltaCotTheta
StatusCode createSeeds(const EventContext &ctx, const std::vector< const xAOD::SpacePointContainer * > &spacePointCollections, const Eigen::Vector3f &beamSpotPos, float bFieldInZ, ActsTrk::SeedContainer &seedContainer) const override
Gaudi::Property< float > m_deltaRMaxBottomSP
Gaudi::Property< float > m_seedConfForwardMinBottomRadius
Gaudi::Property< float > m_compatSeedWeight
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP
Gaudi::Property< float > m_deltaRMinTopSP
Gaudi::Property< float > m_seedConfForwardZMin
Gaudi::Property< float > m_doubletDPhiSlope
Acts::BroadTripletSeedFilter::Config m_filterCfg
Gaudi::Property< std::vector< std::pair< int, int > > > m_rBinNeighborsBottom
Gaudi::Property< bool > m_useDetailedDoubleMeasurementInfo
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsBottom
Gaudi::Property< float > m_gridPhiMin
std::pair< float, float > retrieveRadiusRangeForMiddle(const Acts::ConstSpacePointProxy &spM, const Acts::Range1D< float > &rMiddleSpRange) const
Gaudi::Property< bool > m_interactionPointCut
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Gaudi::Property< std::vector< float > > m_rBinEdges
Gaudi::Property< float > m_seedConfForwardRMax
Gaudi::Property< float > m_doubletDPhiCap
Gaudi::Property< float > m_deltaRMiddleMaxSPRange
GridTripletSeedingTool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< bool > m_useHVCollisionRegion
Acts::CylindricalSpacePointGrid::Config m_gridCfg
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsTop
Gaudi::Property< float > m_deltaInvHelixDiameter
Gaudi::Property< float > m_collisionRegionMin
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_seedConfCentralMinImpact
Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf
Gaudi::Property< float > m_gridPhiMax
Gaudi::Property< std::vector< float > > m_zBinEdges
Gaudi::Property< bool > m_seedConfirmation
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_hvCollisionRegionTolerance
Gaudi::Property< float > m_doubletDPhiD0Max
Gaudi::Property< float > m_seedWeightIncrement
Gaudi::Property< float > m_radLengthPerSeed
Gaudi::Property< float > m_absDeltaEtaMinImpact
Gaudi::Property< float > m_absDeltaEtaWeightFactor
Gaudi::Property< float > m_cotThetaMax
Gaudi::Property< float > m_deltaRMinBottomSP
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Gaudi::Property< int > m_stateVectorReserveSize
virtual StatusCode initialize() override
Gaudi::Property< float > m_deltaRMiddleMinSPRange
Gaudi::Property< float > m_seedConfForwardZMax
Gaudi::Property< bool > m_seedConfirmationInFilter
Gaudi::Property< std::vector< std::size_t > > m_rBinsCustomLooping
const Acts::Logger & logger() const
Private access to the logger.
Gaudi::Property< float > m_seedConfCentralRMax
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Gaudi::Property< float > m_sigmaScattering
std::unique_ptr< const Acts::Logger > m_loggerFilter
Gaudi::Property< std::vector< size_t > > m_zBinsCustomLooping
Gaudi::Property< float > m_seedConfCentralZMax
bool doubletSelectionFunction(const std::vector< float > &spPhi, const std::vector< float > &spAsinD0OverR, const Acts::ConstSpacePointProxy &middle, const Acts::ConstSpacePointProxy &other, float cotTheta, bool isBottomCandidate) const
doublet selection which caches per SP phi and asin(d0/r) values for the middle and other SPs
Gaudi::Property< float > m_deltaRMaxTopSP
Gaudi::Property< std::size_t > m_compatSeedLimit
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
SG::ReadHandleKey< xAOD::VertexContainer > m_inputHoughVtxKey
Gaudi::Property< float > m_seedConfCentralZMin
Gaudi::Property< bool > m_useExperimentCuts
Gaudi::Property< float > m_numSeedIncrement
Gaudi::Property< float > m_doubletDPhiConst
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:69
Property holding a SG store/key/clid from which a ReadHandle is made.
int r
Definition globals.cxx:22
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...