 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ACTSTRK_GRIDTRIPLETSEEDINGTOOL_GRIDTRIPLETSEEDINGTOOL_H
6 #define ACTSTRK_GRIDTRIPLETSEEDINGTOOL_GRIDTRIPLETSEEDINGTOOL_H
15 #include "Acts/EventData/SeedContainer2.hpp"
16 #include "Acts/EventData/SpacePointContainer2.hpp"
17 #include "Acts/Seeding2/BroadTripletSeedFilter.hpp"
18 #include "Acts/Seeding2/CylindricalSpacePointGrid2.hpp"
19 #include "Acts/Seeding2/TripletSeeder.hpp"
28 :
public extends<AthAlgTool, ActsTrk::ISeedingTool> {
36 const std::vector<const xAOD::SpacePointContainer*>&
37 spacePointCollections,
38 const Eigen::Vector3f& beamSpotPos,
float bFieldInZ,
43 this,
"doSeedQualitySelection",
true,
44 "Select seed according to quality criteria"};
49 "lower pT cutoff for seeds"};
51 "cot of maximum theta angle"};
53 "limiting location of measurements"};
55 "limiting location of measurements"};
58 "maximum distance in r between two measurements within one "
62 "maximum impact parameter"};
66 {-3000., -2700., -2500., -1400., -925., -500., -250., 250., 500., 925.,
67 1400., 2500., 2700, 3000.},
68 "enable non equidistant binning in z"};
73 "enable non equidistant binning in radius"};
76 "radial extension of subdetector to be used in grid building"};
78 -std::numbers::pi_v<float>,
79 "phi min for space point grid formation"};
81 std::numbers::pi_v<float>,
82 "phi max for space point grid formation"};
84 this,
"phiBinDeflectionCoverage", 3,
85 "sets of consecutive phi bins to cover full deflection of minimum pT "
88 "max number of bins"};
92 "limiting location of measurements"};
95 "defining radial bin for space point sorting"};
98 "minimum distance in r between two measurements within one "
102 "minimum distance in r between middle and top SP"};
105 "maximum distance in r between middle and top SP"};
108 "minimum distance in r between middle and top SP"};
111 "maximum distance in r between middle and top SP"};
113 this,
"deltaZMax", 600,
114 "maximum distance in z between two measurements within one seed"};
117 "limiting location of collision region in z"};
120 "limiting location of collision region in z"};
122 this,
"sigmaScattering", 2.,
123 "how many sigmas of scattering angle should be considered"};
125 this,
"maxPtScattering", 10e6,
126 "Upper pt limit for scattering calculation"};
128 this,
"radLengthPerSeed", 0.098045,
129 "average radiation lengths of material on the length of a seed. used for "
132 this,
"maxSeedsPerSpM", 4,
133 "In dense environments many seeds may be found per middle space point. "
134 "Only seeds with the highest weight will be kept if this limit is "
137 this,
"interactionPointCut",
true,
138 "Enable cut on the compatibility between interaction point and SPs"};
141 "zBinsCustomLooping",
142 {2, 3, 4, 5, 12, 11, 10, 9, 7, 6, 8},
143 "defines order of z bins for looping"};
145 this,
"rBinsCustomLooping", {1},
"defines order of r bins for looping"};
147 this,
"useVariableMiddleSPRange",
true,
148 "Enable variable range to search for middle SPs"};
165 "radial range for middle SP"};
167 this,
"deltaRMiddleMinSPRange", 10.,
"delta R for middle SP range (min)"};
169 this,
"deltaRMiddleMaxSPRange", 10.,
"delta R for middle SP range (max)"};
171 "run seed confirmation"};
174 "minimum z for central seed confirmation "};
177 "maximum z for central seed confirmation "};
180 "maximum r for central seed confirmation "};
182 this,
"seedConfCentralNTopLargeR", 1,
183 "nTop for large R central seed confirmation"};
185 this,
"seedConfCentralNTopSmallR", 2,
186 "nTop for small R central seed confirmation"};
189 "Minimum radius for bottom SP in seed confirmation"};
192 "Maximum zOrigin in seed confirmation"};
195 "Minimum impact parameter for seed confirmation"};
198 "minimum z for forward seed confirmation "};
201 "maximum z for forward seed confirmation "};
204 "maximum r for forward seed confirmation "};
206 this,
"seedConfForwardNTopLargeR", 1,
207 "nTop for large R forward seed confirmation"};
209 this,
"seedConfForwardNTopSmallR", 2,
210 "nTop for small R forward seed confirmation"};
213 "Minimum radius for bottom SP in seed confirmation"};
216 "Maximum zOrigin in seed confirmation"};
219 "Minimum impact parameter for seed confirmation"};
221 this,
"useDetailedDoubleMeasurementInfo",
false,
222 "enable use of double measurement details"};
226 "tolerance parameter used to check the compatibility of SPs coordinates "
228 Gaudi::Property<float>
m_phiMin{
this,
"phiMin", -std::numbers::pi_v<float>,
230 Gaudi::Property<float>
m_phiMax{
this,
"phiMax", std::numbers::pi_v<float>,
241 this,
"impactWeightFactor", 100.,
242 "the impact parameters (d0) is multiplied by this factor and subtracted "
246 this,
"compatSeedWeight", 100.,
247 "seed weight increased by this value if a compatible seed has been "
250 this,
"compatSeedLimit", 3,
251 "how often do you want to increase the weight of a seed for finding a "
254 this,
"seedWeightIncrement", 0.,
"increment in seed weight if needed"};
256 this,
"numSeedIncrement", 10e6,
257 "increment in seed weight is applied if the number of compatible seeds "
258 "is larger than numSeedIncrement"};
260 this,
"seedConfirmationInFilter",
true,
"run seed confirmation"};
262 this,
"maxSeedsPerSpMConf", 5,
263 "Maximum number of lower quality seeds in seed confirmation."};
265 this,
"maxQualitySeedsPerSpMConf", 5,
266 "Maximum number of quality seeds for each middle-bottom SP-duplet in "
267 "seed confirmation."};
269 this,
"useDeltaRorTopRadius",
true,
270 "use deltaR (top radius - middle radius) instead of top radius"};
273 "the allowed delta between two inverted seed radii for them to be "
274 "considered compatible"};
293 "vector containing the map of z bins in the top layers"};
296 "zBinNeighborsBottom",
310 "vector containing the map of z bins in the top layers"};
315 "vector containing the map of radius bins in the top layers"};
318 "rBinNeighborsBottom",
320 "vector containing the map of radius bins in the bottom layers"};
322 this,
"numPhiNeighbors", 1,
323 "number of phi bin neighbors at each side of the current bin that will "
324 "be used to search for SPs"};
330 this,
"stateVectorReserveSize", 500,
331 "Size of the initial Seeding State internal vectors"};
337 Acts::Experimental::CylindricalSpacePointGrid2::Config
m_gridCfg;
343 std::optional<Acts::Experimental::TripletSeeder>
m_finder;
358 const Acts::Experimental::ConstSpacePointProxy2& middle,
359 const Acts::Experimental::ConstSpacePointProxy2&
other,
float cotTheta,
360 bool isBottomCandidate)
const;
363 const Acts::Experimental::ConstSpacePointProxy2& spM,
364 const Acts::Range1D<float>& rMiddleSpRange)
const;
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
::StatusCode StatusCode
StatusCode definition for legacy code.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...