ATLAS Offline Software
SeedingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRKSEEDINGTOOL_SEEDINGTOOL_H
6 #define ACTSTRKSEEDINGTOOL_SEEDINGTOOL_H
7 
8 
9 // gcc12 gives false positive warnings from copying boost::small_vector.
10 #if __GNUC__ >= 12
11 # pragma GCC diagnostic ignored "-Wstringop-overread"
12 #endif
13 
14 
15 // ATHENA
18 
19 // ACTS CORE
20 #include "Acts/Definitions/Units.hpp"
21 #include "Acts/Definitions/Common.hpp"
22 #include "Acts/Definitions/Algebra.hpp"
23 #include "Acts/Seeding/SpacePointGrid.hpp"
24 #include "Acts/Utilities/GridBinFinder.hpp"
25 #include "Acts/Seeding/BinnedGroup.hpp"
26 #include "Acts/Seeding/SeedFinderConfig.hpp"
27 #include "Acts/Seeding/SeedFilterConfig.hpp"
28 #include "Acts/Seeding/SeedFilter.hpp"
29 #include "Acts/Seeding/SeedFinder.hpp"
30 #include "Acts/Seeding/Seed.hpp"
31 
32 #include <cmath> //for M_PI
33 
34 namespace ActsTrk {
35 
36  class SeedingTool :
37  public extends<AthAlgTool, ActsTrk::ISeedingTool> {
38  public:
40  using seed_type = Acts::Seed< xAOD::SpacePoint >;
41 
42  SeedingTool(const std::string& type,
43  const std::string& name,
44  const IInterface* parent);
45  virtual ~SeedingTool() = default;
46 
47  virtual StatusCode initialize() override;
48 
49  // Interface
50  virtual StatusCode
51  createSeeds(const EventContext& ctx,
52  const std::vector<const xAOD::SpacePoint*>& spContainer,
53  const Acts::Vector3& beamSpotPos,
54  const Acts::Vector3& bField,
55  ActsTrk::SeedContainer& seedContainer) const override;
56 
57  protected:
58  // metafunction to obtain correct type in iterated container given the iterator type
59  template<typename spacepoint_iterator_t>
61  using type = typename std::conditional<
65  >::type;
66  };
67 
68  template< typename external_iterator_t >
70  createSeeds( external_iterator_t spBegin,
71  external_iterator_t spEnd,
72  const Acts::Vector3& beamSpotPos,
73  const Acts::Vector3& bField,
74  std::vector< seed_type >& seeds) const;
75 
77 
78  // *********************************************************************
79  // *********************************************************************
80 
81  protected:
82  Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid<value_type> > m_finder;
83  Acts::SeedFinderConfig< value_type > m_finderCfg;
84  Acts::CylindricalSpacePointGridConfig m_gridCfg;
85 
86  // See quality selection
87  Gaudi::Property< bool > m_seedQualitySelection {this, "doSeedQualitySelection", true,
88  "Select seed according to quality criteria"};
89 
90  // Properties to set SpacePointGridConfig
91  Gaudi::Property< float > m_minPt {this, "minPt", 900. * Acts::UnitConstants::MeV,
92  "lower pT cutoff for seeds"}; // Used in SeedfinderConfig as well
93  Gaudi::Property< float > m_cotThetaMax {this, "cotThetaMax", 27.2899,
94  "cot of maximum theta angle"}; // Used in SeedfinderConfig as well
95  Gaudi::Property< float > m_zMin {this, "zMin", -3000. * Acts::UnitConstants::mm,
96  "limiting location of measurements"}; // Used in SeedfinderConfig as well
97  Gaudi::Property< float > m_zMax {this, "zMax", 3000. * Acts::UnitConstants::mm,
98  "limiting location of measurements"}; // Used in SeedfinderConfig as well
99  Gaudi::Property< float > m_deltaRMax {this, "deltaRMax", 280. * Acts::UnitConstants::mm,
100  "maximum distance in r between two measurements within one seed"}; // Used in SeedfinderConfig as well
101  Gaudi::Property< float > m_impactMax {this, "impactMax", 2. * Acts::UnitConstants::mm,
102  "maximum impact parameter"}; // Used in SeedfinderConfig as well
103  Gaudi::Property< std::vector< float > > m_zBinEdges {this, "zBinEdges",
104  {-3000., -2500., -1400., -925., -500., -250., 250., 500., 925., 1400., 2500., 3000.},
105  "enable non equidistant binning in z"}; // Used in SeedfinderConfig as well
106  Gaudi::Property< float > m_gridRMax {this, "gridRMax", 320. * Acts::UnitConstants::mm,
107  "radial extension of subdetector to be used in grid building"};
108  Gaudi::Property< float > m_gridPhiMin {this, "gridPhiMin", -M_PI,
109  "phi min for space point grid formation"};
110  Gaudi::Property< float > m_gridPhiMax {this, "gridPhiMax", M_PI,
111  "phi max for space point grid formation"};
112  Gaudi::Property< int > m_phiBinDeflectionCoverage {this, "phiBinDeflectionCoverage", 3,
113  "sets of consecutive phi bins to cover full deflection of minimum pT particle"};
114  Gaudi::Property< int > m_maxPhiBins {this, "maxPhiBins", 200, "max number of bins"};
115 
116  // Properties to set SeedfinderConfig
117  Gaudi::Property< float > m_rMax {this, "rMax", 320. * Acts::UnitConstants::mm,
118  "limiting location of measurements"};
119  Gaudi::Property< float > m_binSizeR {this, "binSizeR", 1. * Acts::UnitConstants::mm,
120  "defining radial bin for space point sorting"};
121  Gaudi::Property< float > m_deltaRMin {this, "deltaRMin", 20. * Acts::UnitConstants::mm,
122  "minimum distance in r between two measurements within one seed"}; // Used in SeedFilterConfig as well
123  Gaudi::Property< float > m_deltaRMinTopSP {this, "deltaRMinTopSP", 6. * Acts::UnitConstants::mm,
124  "minimum distance in r between middle and top SP"};
125  Gaudi::Property< float > m_deltaRMaxTopSP {this, "deltaRMaxTopSP", 280. * Acts::UnitConstants::mm,
126  "maximum distance in r between middle and top SP"};
127  Gaudi::Property< float > m_deltaRMinBottomSP {this, "deltaRMinBottomSP", 6. * Acts::UnitConstants::mm,
128  "minimum distance in r between middle and top SP"};
129  Gaudi::Property< float > m_deltaRMaxBottomSP {this, "deltaRMaxBottomSP", 150. * Acts::UnitConstants::mm,
130  "maximum distance in r between middle and top SP"};
131  Gaudi::Property< float > m_deltaZMax {this, "deltaZMax", 600,
132  "maximum distance in z between two measurements within one seed"};
133  Gaudi::Property< float > m_collisionRegionMin {this, "collisionRegionMin", -200. * Acts::UnitConstants::mm,
134  "limiting location of collision region in z"};
135  Gaudi::Property< float > m_collisionRegionMax {this, "collisionRegionMax", 200. * Acts::UnitConstants::mm,
136  "limiting location of collision region in z"};
137  Gaudi::Property< float > m_sigmaScattering {this, "sigmaScattering", 2.,
138  "how many sigmas of scattering angle should be considered"};
139  Gaudi::Property< float > m_maxPtScattering {this, "maxPtScattering", 10e6,
140  "Upper pt limit for scattering calculation"};
141  Gaudi::Property< float > m_radLengthPerSeed {this, "radLengthPerSeed", 0.098045,
142  "average radiation lengths of material on the length of a seed. used for scattering"};
143  Gaudi::Property< int > m_maxSeedsPerSpM {this, "maxSeedsPerSpM", 4,
144  "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."}; // Used in SeedFilterConfig as well
145  Gaudi::Property< bool > m_interactionPointCut {this, "interactionPointCut", true,
146  "Enable cut on the compatibility between interaction point and SPs"};
147  Gaudi::Property< std::vector< size_t > > m_zBinsCustomLooping {this, "zBinsCustomLooping",
148  {1, 2, 3, 4, 11, 10, 9, 8, 6, 5, 7} , "defines order of z bins for looping"};
149  Gaudi::Property< bool > m_useVariableMiddleSPRange {this, "useVariableMiddleSPRange", true,
150  "Enable variable range to search for middle SPs"};
151  Gaudi::Property< std::vector<std::vector<double>> > m_rRangeMiddleSP {this, "rRangeMiddleSP",
152  {{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}},
153  "radial range for middle SP"};
154  Gaudi::Property< float > m_deltaRMiddleMinSPRange {this, "deltaRMiddleMinSPRange", 10.,
155  "delta R for middle SP range (min)"};
156  Gaudi::Property< float > m_deltaRMiddleMaxSPRange {this, "deltaRMiddleMaxSPRange", 10.,
157  "delta R for middle SP range (max)"};
158  Gaudi::Property< bool > m_seedConfirmation {this, "seedConfirmation", true,
159  "run seed confirmation"};
160  Gaudi::Property< float > m_seedConfCentralZMin {this, "seedConfCentralZMin", -250. * Acts::UnitConstants::mm,
161  "minimum z for central seed confirmation "};
162  // Used in SeedFilterConfig as well
163  Gaudi::Property< float > m_seedConfCentralZMax {this, "seedConfCentralZMax", 250. * Acts::UnitConstants::mm,
164  "maximum z for central seed confirmation "};
165  // Used in SeedFilterConfig as well
166  Gaudi::Property< float > m_seedConfCentralRMax {this, "seedConfCentralRMax", 140. * Acts::UnitConstants::mm,
167  "maximum r for central seed confirmation "};
168  // Used in SeedFilterConfig as well
169  Gaudi::Property< size_t > m_seedConfCentralNTopLargeR {this, "seedConfCentralNTopLargeR", 1,
170  "nTop for large R central seed confirmation"};
171  // Used in SeedFilterConfig as well
172  Gaudi::Property< size_t > m_seedConfCentralNTopSmallR {this, "seedConfCentralNTopSmallR", 2,
173  "nTop for small R central seed confirmation"};
174  // Used in SeedFilterConfig as well
175  Gaudi::Property< float > m_seedConfCentralMinBottomRadius {this, "seedConfCentralMinBottomRadius", 60 * Acts::UnitConstants::mm,
176  "Minimum radius for bottom SP in seed confirmation"};
177  // Used in SeedFilterConfig as well
178  Gaudi::Property< float > m_seedConfCentralMaxZOrigin {this, "seedConfCentralMaxZOrigin", 150 * Acts::UnitConstants::mm,
179  "Maximum zOrigin in seed confirmation"};
180  // Used in SeedFilterConfig as well
181  Gaudi::Property< float > m_seedConfCentralMinImpact {this, "seedConfCentralMinImpact", 1. * Acts::UnitConstants::mm,
182  "Minimum impact parameter for seed confirmation"};
183  // Used in SeedFilterConfig as well
184  Gaudi::Property< float > m_seedConfForwardZMin {this, "seedConfForwardZMin", -3000. * Acts::UnitConstants::mm,
185  "minimum z for forward seed confirmation "};
186  // Used in SeedFilterConfig as well
187  Gaudi::Property< float > m_seedConfForwardZMax {this, "seedConfForwardZMax", 3000. * Acts::UnitConstants::mm,
188  "maximum z for forward seed confirmation "};
189  // Used in SeedFilterConfig as well
190  Gaudi::Property< float > m_seedConfForwardRMax {this, "seedConfForwardRMax", 140. * Acts::UnitConstants::mm,
191  "maximum r for forward seed confirmation "};
192  // Used in SeedFilterConfig as well
193  Gaudi::Property< size_t > m_seedConfForwardNTopLargeR {this, "seedConfForwardNTopLargeR", 1,
194  "nTop for large R forward seed confirmation"};
195  // Used in SeedFilterConfig as well
196  Gaudi::Property< size_t > m_seedConfForwardNTopSmallR {this, "seedConfForwardNTopSmallR", 2,
197  "nTop for small R forward seed confirmation"};
198  // Used in SeedFilterConfig as well
199  Gaudi::Property< float > m_seedConfForwardMinBottomRadius {this, "seedConfForwardMinBottomRadius", 60 * Acts::UnitConstants::mm,
200  "Minimum radius for bottom SP in seed confirmation"};
201  // Used in SeedFilterConfig as well
202  Gaudi::Property< float > m_seedConfForwardMaxZOrigin {this, "seedConfForwardMaxZOrigin", 150 * Acts::UnitConstants::mm,
203  "Maximum zOrigin in seed confirmation"};
204  // Used in SeedFilterConfig as well
205  Gaudi::Property< float > m_seedConfForwardMinImpact {this, "seedConfForwardMinImpact", 1. * Acts::UnitConstants::mm,
206  "Minimum impact parameter for seed confirmation"};
207  // Used in SeedFilterConfig as well
208  Gaudi::Property< bool > m_useDetailedDoubleMeasurementInfo {this, "useDetailedDoubleMeasurementInfo", false,
209  "enable use of double measurement details"};
210 
211  Gaudi::Property<float> m_toleranceParam {this, "toleranceParam", 1.1 * Acts::UnitConstants::mm,
212  "tolerance parameter used to check the compatibility of SPs coordinates in xyz"};
213  Gaudi::Property<float> m_phiMin {this, "phiMin", -M_PI, ""};
214  Gaudi::Property<float> m_phiMax {this, "phiMax", M_PI, ""};
215  Gaudi::Property<float> m_rMin {this, "rMin", 0 * Acts::UnitConstants::mm, ""};
216  Gaudi::Property<float> m_zAlign {this, "zAlign", 0 * Acts::UnitConstants::mm, ""};
217  Gaudi::Property<float> m_rAlign {this, "rAlign", 0 * Acts::UnitConstants::mm, ""};
218  Gaudi::Property<float> m_sigmaError {this, "sigmaError", 5, ""};
219 
220  // Properties to set SeedFilterConfig
221  Gaudi::Property< float > m_impactWeightFactor {this, "impactWeightFactor", 100.,
222  "the impact parameters (d0) is multiplied by this factor and subtracted from weight"};
223  Gaudi::Property< float > m_zOriginWeightFactor {this, "zOriginWeightFactor", 1.};
224  Gaudi::Property< float > m_compatSeedWeight {this, "compatSeedWeight", 100.,
225  "seed weight increased by this value if a compatible seed has been found"};
226  Gaudi::Property< std::size_t > m_compatSeedLimit {this, "compatSeedLimit", 3,
227  "how often do you want to increase the weight of a seed for finding a compatible seed"};
228  Gaudi::Property< float > m_seedWeightIncrement {this, "seedWeightIncrement", 0.,
229  "increment in seed weight if needed"};
230  Gaudi::Property< float > m_numSeedIncrement {this, "numSeedIncrement", 10e6,
231  "increment in seed weight is applied if the number of compatible seeds is larger than numSeedIncrement"};
232  Gaudi::Property< bool > m_seedConfirmationInFilter {this, "seedConfirmationInFilter", true,
233  "run seed confirmation"};
234  Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf {this, "maxSeedsPerSpMConf", 5,
235  "Maximum number of lower quality seeds in seed confirmation."};
236  Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf {this, "maxQualitySeedsPerSpMConf", 5,
237  "Maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation."};
238  Gaudi::Property< bool > m_useDeltaRorTopRadius {this, "useDeltaRorTopRadius", true,
239  "use deltaR (top radius - middle radius) instead of top radius"};
240  Gaudi::Property<float> m_deltaInvHelixDiameter {this, "deltaInvHelixDiameter", 0.00003 * 1. / Acts::UnitConstants::mm,
241  "the allowed delta between two inverted seed radii for them to be considered compatible"};
242 
243  // Properties to set other objects used in
244  // seeding algorithm
245  Gaudi::Property< std::vector<std::pair<int, int>> > m_zBinNeighborsTop{this,
246  "zBinNeighborsTop",
247  {{0, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}},
248  "vector containing the map of z bins in the top layers"};
249  Gaudi::Property< std::vector<std::pair<int, int>> > m_zBinNeighborsBottom{this, "zBinNeighborsBottom",
250  {{0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}, {-1, 0}},
251  "vector containing the map of z bins in the top layers"};
252  Gaudi::Property< int > m_numPhiNeighbors {this, "numPhiNeighbors", 1,
253  "number of phi bin neighbors at each side of the current bin that will be used to search for SPs"};
254 
255  Gaudi::Property< bool > m_useExperimentCuts {this, "useExperimentCuts", false, ""};
256 
257  private:
258  std::unique_ptr< Acts::GridBinFinder< 2ul > > m_bottomBinFinder{nullptr};
259  std::unique_ptr< Acts::GridBinFinder< 2ul > > m_topBinFinder{nullptr};
260 
261  std::array<std::vector<std::size_t>, 2ul> m_navigation{};
262  };
263 
264 } // namespace
265 
266 #endif
267 
ActsTrk::SeedingTool::m_deltaRMaxTopSP
Gaudi::Property< float > m_deltaRMaxTopSP
Definition: SeedingTool.h:125
ActsTrk::SeedingTool::m_gridPhiMax
Gaudi::Property< float > m_gridPhiMax
Definition: SeedingTool.h:110
ActsTrk::SeedingTool::m_compatSeedLimit
Gaudi::Property< std::size_t > m_compatSeedLimit
Definition: SeedingTool.h:226
ActsTrk::SeedingTool::m_bottomBinFinder
std::unique_ptr< Acts::GridBinFinder< 2ul > > m_bottomBinFinder
Definition: SeedingTool.h:258
ActsTrk::SeedingTool::m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Definition: SeedingTool.h:178
ActsTrk::SeedingTool::~SeedingTool
virtual ~SeedingTool()=default
ActsTrk::SeedingTool::m_finderCfg
Acts::SeedFinderConfig< value_type > m_finderCfg
Definition: SeedingTool.h:83
ActsTrk::SeedingTool::m_seedConfCentralMinBottomRadius
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
Definition: SeedingTool.h:175
ActsTrk::SeedingTool::m_compatSeedWeight
Gaudi::Property< float > m_compatSeedWeight
Definition: SeedingTool.h:224
ActsTrk::SeedingTool::m_sigmaScattering
Gaudi::Property< float > m_sigmaScattering
Definition: SeedingTool.h:137
ActsTrk::SeedingTool::m_maxSeedsPerSpM
Gaudi::Property< int > m_maxSeedsPerSpM
Definition: SeedingTool.h:143
ActsTrk::SeedingTool::m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Definition: SeedingTool.h:202
ActsTrk::SeedingTool::m_maxQualitySeedsPerSpMConf
Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf
Definition: SeedingTool.h:236
ActsTrk::SeedingTool::m_seedConfirmation
Gaudi::Property< bool > m_seedConfirmation
Definition: SeedingTool.h:158
ActsTrk::SeedingTool::m_phiBinDeflectionCoverage
Gaudi::Property< int > m_phiBinDeflectionCoverage
Definition: SeedingTool.h:112
ActsTrk::SeedingTool::m_phiMin
Gaudi::Property< float > m_phiMin
Definition: SeedingTool.h:213
ActsTrk::SeedingTool::m_deltaRMinTopSP
Gaudi::Property< float > m_deltaRMinTopSP
Definition: SeedingTool.h:123
ActsTrk::SeedingTool::m_deltaRMaxBottomSP
Gaudi::Property< float > m_deltaRMaxBottomSP
Definition: SeedingTool.h:129
ActsTrk::SeedingTool
Definition: SeedingTool.h:37
ActsTrk::SeedingTool::m_useVariableMiddleSPRange
Gaudi::Property< bool > m_useVariableMiddleSPRange
Definition: SeedingTool.h:149
ISeedingTool.h
python.SystemOfUnits.MeV
int MeV
Definition: SystemOfUnits.py:154
ActsTrk::SeedingTool::external_spacepoint::type
typename std::conditional< std::is_pointer< typename spacepoint_iterator_t::value_type >::value, typename std::remove_const< typename std::remove_pointer< typename spacepoint_iterator_t::value_type >::type >::type, typename std::remove_const< typename spacepoint_iterator_t::value_type >::type >::type type
Definition: SeedingTool.h:65
ActsTrk::SeedingTool::m_rMin
Gaudi::Property< float > m_rMin
Definition: SeedingTool.h:215
M_PI
#define M_PI
Definition: ActiveFraction.h:11
ActsTrk::SeedingTool::m_rAlign
Gaudi::Property< float > m_rAlign
Definition: SeedingTool.h:217
ActsTrk::SeedingTool::m_seedConfCentralNTopLargeR
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Definition: SeedingTool.h:169
athena.value
value
Definition: athena.py:122
xAOD::SpacePoint_v1
Definition: SpacePoint_v1.h:29
ActsTrk::SeedingTool::SeedingTool
SeedingTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SeedingTool.cxx:17
ActsTrk::SeedingTool::m_deltaRMax
Gaudi::Property< float > m_deltaRMax
Definition: SeedingTool.h:99
ActsTrk::SeedingTool::m_deltaRMinBottomSP
Gaudi::Property< float > m_deltaRMinBottomSP
Definition: SeedingTool.h:127
xAOD::SpacePoint
SpacePoint_v1 SpacePoint
Definition: Event/xAOD/xAODInDetMeasurement/xAODInDetMeasurement/SpacePoint.h:12
ActsTrk::SeedingTool::m_finder
Acts::SeedFinder< value_type, Acts::CylindricalSpacePointGrid< value_type > > m_finder
Definition: SeedingTool.h:82
ActsTrk::SeedingTool::m_useExperimentCuts
Gaudi::Property< bool > m_useExperimentCuts
Definition: SeedingTool.h:255
ActsTrk::SeedingTool::m_rMax
Gaudi::Property< float > m_rMax
Definition: SeedingTool.h:117
ActsTrk::SeedingTool::m_zAlign
Gaudi::Property< float > m_zAlign
Definition: SeedingTool.h:216
ActsTrk::SeedingTool::m_seedConfCentralZMax
Gaudi::Property< float > m_seedConfCentralZMax
Definition: SeedingTool.h:163
ActsTrk::SeedingTool::m_zBinNeighborsTop
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsTop
Definition: SeedingTool.h:245
ActsTrk::SeedingTool::m_impactMax
Gaudi::Property< float > m_impactMax
Definition: SeedingTool.h:101
ActsTrk::SeedingTool::m_impactWeightFactor
Gaudi::Property< float > m_impactWeightFactor
Definition: SeedingTool.h:221
ActsTrk::SeedingTool::m_seedQualitySelection
Gaudi::Property< bool > m_seedQualitySelection
Definition: SeedingTool.h:87
ActsTrk::SeedingTool::m_zBinEdges
Gaudi::Property< std::vector< float > > m_zBinEdges
Definition: SeedingTool.h:103
ActsTrk::SeedingTool::m_zMax
Gaudi::Property< float > m_zMax
Definition: SeedingTool.h:97
ActsTrk::SeedingTool::m_seedConfForwardZMax
Gaudi::Property< float > m_seedConfForwardZMax
Definition: SeedingTool.h:187
ActsTrk::SeedingTool::m_minPt
Gaudi::Property< float > m_minPt
Definition: SeedingTool.h:91
ActsTrk::SeedingTool::m_deltaZMax
Gaudi::Property< float > m_deltaZMax
Definition: SeedingTool.h:131
ActsTrk::SeedingTool::m_maxSeedsPerSpMConf
Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf
Definition: SeedingTool.h:234
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ActsTrk::SeedingTool::m_binSizeR
Gaudi::Property< float > m_binSizeR
Definition: SeedingTool.h:119
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ActsTrk::SeedingTool::m_seedConfForwardRMax
Gaudi::Property< float > m_seedConfForwardRMax
Definition: SeedingTool.h:190
ActsTrk::SeedingTool::m_seedConfCentralMinImpact
Gaudi::Property< float > m_seedConfCentralMinImpact
Definition: SeedingTool.h:181
ActsTrk::SeedingTool::m_seedConfForwardMinImpact
Gaudi::Property< float > m_seedConfForwardMinImpact
Definition: SeedingTool.h:205
ActsTrk::SeedingTool::m_gridRMax
Gaudi::Property< float > m_gridRMax
Definition: SeedingTool.h:106
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
ActsTrk::SeedingTool::m_topBinFinder
std::unique_ptr< Acts::GridBinFinder< 2ul > > m_topBinFinder
Definition: SeedingTool.h:259
ActsTrk::SeedingTool::m_radLengthPerSeed
Gaudi::Property< float > m_radLengthPerSeed
Definition: SeedingTool.h:141
ActsTrk::SeedingTool::m_deltaInvHelixDiameter
Gaudi::Property< float > m_deltaInvHelixDiameter
Definition: SeedingTool.h:240
ActsTrk::SeedingTool::m_seedConfCentralRMax
Gaudi::Property< float > m_seedConfCentralRMax
Definition: SeedingTool.h:166
ActsTrk::SeedingTool::m_collisionRegionMax
Gaudi::Property< float > m_collisionRegionMax
Definition: SeedingTool.h:135
ActsTrk::SeedingTool::createSeeds
virtual StatusCode createSeeds(const EventContext &ctx, const std::vector< const xAOD::SpacePoint * > &spContainer, const Acts::Vector3 &beamSpotPos, const Acts::Vector3 &bField, ActsTrk::SeedContainer &seedContainer) const override
Definition: SeedingTool.cxx:171
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ActsTrk::SeedingTool::m_deltaRMiddleMaxSPRange
Gaudi::Property< float > m_deltaRMiddleMaxSPRange
Definition: SeedingTool.h:156
ActsTrk::SeedingTool::m_deltaRMiddleMinSPRange
Gaudi::Property< float > m_deltaRMiddleMinSPRange
Definition: SeedingTool.h:154
ActsTrk::SeedingTool::m_seedConfCentralZMin
Gaudi::Property< float > m_seedConfCentralZMin
Definition: SeedingTool.h:160
ActsTrk::SeedingTool::m_zBinsCustomLooping
Gaudi::Property< std::vector< size_t > > m_zBinsCustomLooping
Definition: SeedingTool.h:147
ActsTrk::SeedingTool::prepareConfiguration
StatusCode prepareConfiguration()
Definition: SeedingTool.cxx:340
ActsTrk::SeedingTool::m_phiMax
Gaudi::Property< float > m_phiMax
Definition: SeedingTool.h:214
ActsTrk::SeedingTool::m_collisionRegionMin
Gaudi::Property< float > m_collisionRegionMin
Definition: SeedingTool.h:133
ActsTrk::SeedingTool::m_seedConfCentralNTopSmallR
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Definition: SeedingTool.h:172
ActsTrk::SeedingTool::m_cotThetaMax
Gaudi::Property< float > m_cotThetaMax
Definition: SeedingTool.h:93
ActsTrk::SeedingTool::m_maxPhiBins
Gaudi::Property< int > m_maxPhiBins
Definition: SeedingTool.h:114
ActsTrk::SeedingTool::m_navigation
std::array< std::vector< std::size_t >, 2ul > m_navigation
Definition: SeedingTool.h:261
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
ActsTrk::SeedingTool::initialize
virtual StatusCode initialize() override
Definition: SeedingTool.cxx:23
ActsTrk::SeedingTool::m_toleranceParam
Gaudi::Property< float > m_toleranceParam
Definition: SeedingTool.h:211
ActsTrk::SeedingTool::external_spacepoint
Definition: SeedingTool.h:60
ActsTrk::SeedingTool::m_deltaRMin
Gaudi::Property< float > m_deltaRMin
Definition: SeedingTool.h:121
ActsTrk::SeedingTool::m_seedWeightIncrement
Gaudi::Property< float > m_seedWeightIncrement
Definition: SeedingTool.h:228
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ActsTrk::SeedingTool::m_numPhiNeighbors
Gaudi::Property< int > m_numPhiNeighbors
Definition: SeedingTool.h:252
ActsTrk::SeedingTool::m_seedConfForwardNTopLargeR
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
Definition: SeedingTool.h:193
ActsTrk::SeedingTool::m_seedConfForwardZMin
Gaudi::Property< float > m_seedConfForwardZMin
Definition: SeedingTool.h:184
ActsTrk::SeedingTool::m_seedConfirmationInFilter
Gaudi::Property< bool > m_seedConfirmationInFilter
Definition: SeedingTool.h:232
ActsTrk::SeedingTool::m_interactionPointCut
Gaudi::Property< bool > m_interactionPointCut
Definition: SeedingTool.h:145
ActsTrk::SeedingTool::m_rRangeMiddleSP
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP
Definition: SeedingTool.h:151
ActsTrk::SeedingTool::m_useDeltaRorTopRadius
Gaudi::Property< bool > m_useDeltaRorTopRadius
Definition: SeedingTool.h:238
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:34
ActsTrk::SeedingTool::m_seedConfForwardNTopSmallR
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
Definition: SeedingTool.h:196
ActsTrk::SeedingTool::m_gridCfg
Acts::CylindricalSpacePointGridConfig m_gridCfg
Definition: SeedingTool.h:84
ActsTrk::SeedingTool::m_zOriginWeightFactor
Gaudi::Property< float > m_zOriginWeightFactor
Definition: SeedingTool.h:223
ActsTrk::SeedingTool::m_useDetailedDoubleMeasurementInfo
Gaudi::Property< bool > m_useDetailedDoubleMeasurementInfo
Definition: SeedingTool.h:208
ActsTrk::SeedingTool::m_zBinNeighborsBottom
Gaudi::Property< std::vector< std::pair< int, int > > > m_zBinNeighborsBottom
Definition: SeedingTool.h:249
ActsTrk::SeedingTool::m_gridPhiMin
Gaudi::Property< float > m_gridPhiMin
Definition: SeedingTool.h:108
ActsTrk::SeedingTool::m_sigmaError
Gaudi::Property< float > m_sigmaError
Definition: SeedingTool.h:218
ActsTrk::SeedingTool::m_maxPtScattering
Gaudi::Property< float > m_maxPtScattering
Definition: SeedingTool.h:139
ActsTrk::SeedingTool::seed_type
Acts::Seed< xAOD::SpacePoint > seed_type
Definition: SeedingTool.h:40
ActsTrk::SeedingTool::m_numSeedIncrement
Gaudi::Property< float > m_numSeedIncrement
Definition: SeedingTool.h:230
ActsTrk::SeedingTool::m_seedConfForwardMinBottomRadius
Gaudi::Property< float > m_seedConfForwardMinBottomRadius
Definition: SeedingTool.h:199
ActsTrk::SeedingTool::m_zMin
Gaudi::Property< float > m_zMin
Definition: SeedingTool.h:95