ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::OrthogonalSeedingTool Class Reference

#include <OrthogonalSeedingTool.h>

Inheritance diagram for ActsTrk::OrthogonalSeedingTool:
Collaboration diagram for ActsTrk::OrthogonalSeedingTool:

Public Types

using value_type = typename Acts::SpacePointContainer<ActsTrk::SpacePointCollector, Acts::detail::RefHolder>::SpacePointProxyType
using seed_type = Acts::Seed< value_type, 3ul >

Public Member Functions

 OrthogonalSeedingTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~OrthogonalSeedingTool ()=default
virtual StatusCode initialize () override
virtual StatusCode createSeeds (const EventContext &ctx, const Acts::SpacePointContainer< ActsTrk::SpacePointCollector, Acts::detail::RefHolder > &spContainer, const Acts::Vector3 &beamSpotPos, const Acts::Vector3 &bField, ActsTrk::SeedContainer &seedContainer) const override

Private Member Functions

StatusCode prepareConfiguration ()
const Acts::Logger & logger () const
 Private access to the logger.

Private Attributes

Acts::SeedFinderOrthogonal< value_typem_finder
Acts::SeedFinderOrthogonalConfig< value_typem_finderCfg
Gaudi::Property< float > m_minPt
Gaudi::Property< float > m_cotThetaMax
Gaudi::Property< float > m_deltaRMinTopSP
Gaudi::Property< float > m_deltaRMaxTopSP
Gaudi::Property< float > m_deltaRMinBottomSP
Gaudi::Property< float > m_deltaRMaxBottomSP
Gaudi::Property< float > m_impactMax
Gaudi::Property< float > m_sigmaScattering
Gaudi::Property< float > m_maxPtScattering
Gaudi::Property< unsigned int > m_maxSeedsPerSpM
Gaudi::Property< float > m_collisionRegionMin {this, "collisionRegionMin", -200 * Acts::UnitConstants::mm}
Gaudi::Property< float > m_collisionRegionMax {this, "collisionRegionMax", 200 * Acts::UnitConstants::mm}
Gaudi::Property< float > m_phiMin {this, "phiMin", -M_PI}
Gaudi::Property< float > m_phiMax {this, "phiMax", M_PI}
Gaudi::Property< float > m_zMin {this, "zMin", -3000 * Acts::UnitConstants::mm}
Gaudi::Property< float > m_zMax {this, "zMax", 3000 * Acts::UnitConstants::mm}
Gaudi::Property< float > m_rMax {this, "rMax", 320 * Acts::UnitConstants::mm}
Gaudi::Property< float > m_rMin {this, "rMin", 33 * Acts::UnitConstants::mm}
Gaudi::Property< float > m_rMinMiddle {this, "rMinMiddle", 60.f * Acts::UnitConstants::mm}
Gaudi::Property< float > m_rMaxMiddle {this, "rMaxMiddle", 120.f * Acts::UnitConstants::mm}
Gaudi::Property< float > m_deltaPhiMax {this, "deltaPhiMax", 0.085}
Gaudi::Property< float > m_deltaZMax
Gaudi::Property< bool > m_interactionPointCut
Gaudi::Property< bool > m_seedConfirmation
Gaudi::Property< float > m_radLengthPerSeed
Gaudi::Property< float > m_deltaInvHelixDiameter
Gaudi::Property< float > m_impactWeightFactor
Gaudi::Property< float > m_zOriginWeightFactor
Gaudi::Property< float > m_compatSeedWeight
Gaudi::Property< float > m_deltaRMin
Gaudi::Property< std::size_t > m_compatSeedLimit
Gaudi::Property< float > m_seedWeightIncrement {this, "seedWeightIncrement", 0}
Gaudi::Property< float > m_numSeedIncrement {this, "numSeedIncrement", 3.40282e+38}
Gaudi::Property< bool > m_seedConfirmationInFilter
Gaudi::Property< int > m_maxSeedsPerSpMConf
Gaudi::Property< int > m_maxQualitySeedsPerSpMConf
Gaudi::Property< bool > m_useDeltaRorTopRadius
Gaudi::Property< float > m_seedConfCentralZMin
Gaudi::Property< float > m_seedConfCentralZMax
Gaudi::Property< float > m_seedConfCentralRMax
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_seedConfCentralMinImpact
Gaudi::Property< float > m_seedConfForwardZMin
Gaudi::Property< float > m_seedConfForwardZMax
Gaudi::Property< float > m_seedConfForwardRMax
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
Gaudi::Property< float > m_seedConfForwardMinBottomRadius
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_seedConfForwardMinImpact
Gaudi::Property< bool > m_useExperimentCuts {this, "useExperimentCuts", false, ""}
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP
std::unique_ptr< const Acts::Logger > m_logger {nullptr}
 logging instance

Detailed Description

Definition at line 30 of file OrthogonalSeedingTool.h.

Member Typedef Documentation

◆ seed_type

Definition at line 35 of file OrthogonalSeedingTool.h.

◆ value_type

using ActsTrk::OrthogonalSeedingTool::value_type = typename Acts::SpacePointContainer<ActsTrk::SpacePointCollector, Acts::detail::RefHolder>::SpacePointProxyType

Definition at line 34 of file OrthogonalSeedingTool.h.

Constructor & Destructor Documentation

◆ OrthogonalSeedingTool()

ActsTrk::OrthogonalSeedingTool::OrthogonalSeedingTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 15 of file OrthogonalSeedingTool.cxx.

18 : base_class(type, name, parent)
19 {}

◆ ~OrthogonalSeedingTool()

virtual ActsTrk::OrthogonalSeedingTool::~OrthogonalSeedingTool ( )
virtualdefault

Member Function Documentation

◆ createSeeds()

ATH_FLATTEN StatusCode ActsTrk::OrthogonalSeedingTool::createSeeds ( const EventContext & ctx,
const Acts::SpacePointContainer< ActsTrk::SpacePointCollector, Acts::detail::RefHolder > & spContainer,
const Acts::Vector3 & beamSpotPos,
const Acts::Vector3 & bField,
ActsTrk::SeedContainer & seedContainer ) const
overridevirtual

Definition at line 102 of file OrthogonalSeedingTool.cxx.

107 {
108 seedContainer.spacePoints().reserve(spContainer.size());
109 for (auto sp : spContainer) {
110 seedContainer.spacePoints().push_back(&sp.externalSpacePoint());
111 }
112
113 // Seed Finder Options
114 Acts::SeedFinderOptions finderOpts;
115 finderOpts.beamPos = Acts::Vector2(beamSpotPos[Amg::x],
116 beamSpotPos[Amg::y]);
117 finderOpts.bFieldInZ = bField[2];
118 finderOpts = finderOpts.toInternalUnits().calculateDerivedQuantities(m_finderCfg);
119
120 // Compute seeds
121 auto groupSeeds = m_finder.createSeeds(finderOpts, spContainer);
122
123 // Store seeds
124 seedContainer.reserve(groupSeeds.size());
125 for(const auto& seed: groupSeeds) {
126 seedContainer.push_back(&seed);
127 }
128
129 return StatusCode::SUCCESS;
130 }
static Double_t sp
Acts::SeedFinderOrthogonalConfig< value_type > m_finderCfg
Acts::SeedFinderOrthogonal< value_type > m_finder
Acts::MutableSeedProxy2 push_back(Acts::SpacePointIndexSubset2 sp)
const SpacePointContainer & spacePoints() const noexcept

◆ initialize()

StatusCode ActsTrk::OrthogonalSeedingTool::initialize ( )
overridevirtual

Definition at line 21 of file OrthogonalSeedingTool.cxx.

21 {
22 ATH_MSG_DEBUG("Initializing " << name() << "...");
23
24 ATH_MSG_DEBUG("Properties Summary:");
25 ATH_MSG_DEBUG(" * Used by SeedFinderOrthogonalConfig");
26 ATH_MSG_DEBUG(" " << m_minPt);
32
37
40 ATH_MSG_DEBUG(" " << m_phiMin);
41 ATH_MSG_DEBUG(" " << m_phiMax);
42 ATH_MSG_DEBUG(" " << m_zMin);
43 ATH_MSG_DEBUG(" " << m_zMax);
44 ATH_MSG_DEBUG(" " << m_rMax);
45 ATH_MSG_DEBUG(" " << m_rMin);
46
51
55
56 ATH_MSG_DEBUG(" * Used by SeedFilterConfig" );
64
67
72
73 ATH_MSG_DEBUG(" * Used by SeedFilterConfig" );
82
91
92 // Make the logger And Propagate to ACTS routines
93 m_logger = makeActsAthenaLogger(this, "Acts");
94
96
97 return StatusCode::SUCCESS;
98 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Gaudi::Property< float > m_deltaRMinTopSP
Gaudi::Property< bool > m_interactionPointCut
Gaudi::Property< float > m_phiMax
Gaudi::Property< float > m_phiMin
Gaudi::Property< float > m_seedConfForwardRMax
Gaudi::Property< int > m_maxSeedsPerSpMConf
Gaudi::Property< float > m_radLengthPerSeed
Gaudi::Property< float > m_deltaInvHelixDiameter
Gaudi::Property< float > m_zOriginWeightFactor
Gaudi::Property< size_t > m_seedConfForwardNTopLargeR
Gaudi::Property< float > m_seedConfCentralZMin
Gaudi::Property< float > m_maxPtScattering
Gaudi::Property< float > m_seedConfCentralMinBottomRadius
Gaudi::Property< float > m_seedWeightIncrement
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Gaudi::Property< bool > m_seedConfirmation
Gaudi::Property< bool > m_useDeltaRorTopRadius
Gaudi::Property< float > m_deltaPhiMax
Gaudi::Property< float > m_deltaRMaxBottomSP
Gaudi::Property< float > m_cotThetaMax
Gaudi::Property< float > m_seedConfForwardZMin
Gaudi::Property< float > m_collisionRegionMax
Gaudi::Property< size_t > m_seedConfCentralNTopSmallR
Gaudi::Property< float > m_collisionRegionMin
Gaudi::Property< size_t > m_seedConfCentralNTopLargeR
Gaudi::Property< float > m_deltaRMin
Gaudi::Property< float > m_seedConfForwardZMax
Gaudi::Property< float > m_seedConfCentralZMax
Gaudi::Property< float > m_sigmaScattering
Gaudi::Property< float > m_rMaxMiddle
Gaudi::Property< float > m_seedConfForwardMinImpact
Gaudi::Property< float > m_deltaZMax
Gaudi::Property< float > m_seedConfCentralRMax
Gaudi::Property< float > m_rMinMiddle
Gaudi::Property< size_t > m_seedConfForwardNTopSmallR
Gaudi::Property< bool > m_seedConfirmationInFilter
Gaudi::Property< float > m_seedConfCentralMinImpact
Gaudi::Property< float > m_impactWeightFactor
Gaudi::Property< std::size_t > m_compatSeedLimit
Gaudi::Property< float > m_seedConfCentralMaxZOrigin
Gaudi::Property< float > m_deltaRMinBottomSP
Gaudi::Property< int > m_maxQualitySeedsPerSpMConf
Gaudi::Property< float > m_impactMax
Gaudi::Property< float > m_numSeedIncrement
Gaudi::Property< unsigned int > m_maxSeedsPerSpM
Gaudi::Property< float > m_seedConfForwardMaxZOrigin
Gaudi::Property< float > m_deltaRMaxTopSP
Gaudi::Property< float > m_compatSeedWeight
Gaudi::Property< float > m_seedConfForwardMinBottomRadius

◆ logger()

const Acts::Logger & ActsTrk::OrthogonalSeedingTool::logger ( ) const
inlineprivate

Private access to the logger.

Definition at line 188 of file OrthogonalSeedingTool.h.

188{ return *m_logger; }

◆ prepareConfiguration()

StatusCode ActsTrk::OrthogonalSeedingTool::prepareConfiguration ( )
private

Definition at line 133 of file OrthogonalSeedingTool.cxx.

134 {
135 // Configuration for Acts::SeedFilter
136 Acts::SeedFilterConfig filterCfg;
137 filterCfg.deltaInvHelixDiameter = m_deltaInvHelixDiameter;
138 filterCfg.impactWeightFactor = m_impactWeightFactor;
139 filterCfg.zOriginWeightFactor = m_zOriginWeightFactor;
140 filterCfg.compatSeedWeight = m_compatSeedWeight;
141 filterCfg.deltaRMin = m_deltaRMin;
142 filterCfg.maxSeedsPerSpM = m_maxSeedsPerSpM;
143 filterCfg.compatSeedLimit = m_compatSeedLimit;
144 filterCfg.seedWeightIncrement = m_seedWeightIncrement;
145 filterCfg.numSeedIncrement = m_numSeedIncrement;
146 filterCfg.seedConfirmation = m_seedConfirmationInFilter;
147 filterCfg.maxSeedsPerSpMConf = m_maxSeedsPerSpMConf;
148 filterCfg.maxQualitySeedsPerSpMConf = m_maxQualitySeedsPerSpMConf;
149 filterCfg.useDeltaRorTopRadius = m_useDeltaRorTopRadius;
150 filterCfg.centralSeedConfirmationRange.zMinSeedConf = m_seedConfCentralZMin;
151 filterCfg.centralSeedConfirmationRange.zMaxSeedConf = m_seedConfCentralZMax;
152 filterCfg.centralSeedConfirmationRange.rMaxSeedConf = m_seedConfCentralRMax;
153 filterCfg.centralSeedConfirmationRange.nTopForLargeR = m_seedConfCentralNTopLargeR;
154 filterCfg.centralSeedConfirmationRange.nTopForSmallR = m_seedConfCentralNTopSmallR;
155 filterCfg.centralSeedConfirmationRange.seedConfMinBottomRadius = m_seedConfCentralMinBottomRadius;
156 filterCfg.centralSeedConfirmationRange.seedConfMaxZOrigin = m_seedConfCentralMaxZOrigin;
157 filterCfg.centralSeedConfirmationRange.minImpactSeedConf = m_seedConfCentralMinImpact;
158 filterCfg.forwardSeedConfirmationRange.zMinSeedConf = m_seedConfForwardZMin;
159 filterCfg.forwardSeedConfirmationRange.zMaxSeedConf = m_seedConfForwardZMax;
160 filterCfg.forwardSeedConfirmationRange.rMaxSeedConf = m_seedConfForwardRMax;
161 filterCfg.forwardSeedConfirmationRange.nTopForLargeR = m_seedConfForwardNTopLargeR;
162 filterCfg.forwardSeedConfirmationRange.nTopForSmallR = m_seedConfForwardNTopSmallR;
163 filterCfg.forwardSeedConfirmationRange.seedConfMinBottomRadius = m_seedConfForwardMinBottomRadius;
164 filterCfg.forwardSeedConfirmationRange.seedConfMaxZOrigin = m_seedConfForwardMaxZOrigin;
165 filterCfg.forwardSeedConfirmationRange.minImpactSeedConf = m_seedConfForwardMinImpact;
166
167 // Configuration Acts::SeedFinderOrthogonal
168 m_finderCfg.seedFilter = std::make_shared<Acts::SeedFilter<value_type>>(filterCfg.toInternalUnits(), logger().cloneWithSuffix("Filter"));
169 m_finderCfg.cotThetaMax = m_cotThetaMax;
170 m_finderCfg.deltaRMinTopSP = m_deltaRMinTopSP;
171 m_finderCfg.deltaRMaxTopSP = m_deltaRMaxTopSP;
172 m_finderCfg.deltaRMinBottomSP = m_deltaRMinBottomSP;
173 m_finderCfg.deltaRMaxBottomSP = m_deltaRMaxBottomSP;
174 m_finderCfg.impactMax = m_impactMax;
175 m_finderCfg.sigmaScattering = m_sigmaScattering;
176 m_finderCfg.maxPtScattering = m_maxPtScattering;
177 m_finderCfg.maxSeedsPerSpM = m_maxSeedsPerSpM;
178 m_finderCfg.collisionRegionMin = m_collisionRegionMin;
179 m_finderCfg.collisionRegionMax = m_collisionRegionMax;
180 m_finderCfg.phiMin = m_phiMin;
181 m_finderCfg.phiMax = m_phiMax;
182 m_finderCfg.zMin = m_zMin;
183 m_finderCfg.zMax = m_zMax;
184 m_finderCfg.rMax = m_rMax;
185 m_finderCfg.rMin = m_rMin;
186 m_finderCfg.rMinMiddle = m_rMinMiddle;
187 m_finderCfg.rMaxMiddle = m_rMaxMiddle;
188 m_finderCfg.deltaPhiMax = m_deltaPhiMax;
189 m_finderCfg.deltaZMax = m_deltaZMax;
190 m_finderCfg.interactionPointCut = m_interactionPointCut;
191 m_finderCfg.seedConfirmation = m_seedConfirmation;
192 m_finderCfg.centralSeedConfirmationRange = filterCfg.centralSeedConfirmationRange;
193 m_finderCfg.forwardSeedConfirmationRange = filterCfg.forwardSeedConfirmationRange;
194 m_finderCfg.radLengthPerSeed = m_radLengthPerSeed;
195
196 // Fast tracking
197 // manually convert the two types
198 for (const auto& vec : m_rRangeMiddleSP) {
199 std::vector<float> convertedVec;
200
201 for (const auto& val : vec) {
202 convertedVec.push_back(static_cast<float>(val));
203 }
204
205 m_finderCfg.rRangeMiddleSP.push_back(convertedVec);
206 }
207 // define cuts used for fast tracking configuration
209 m_finderCfg.experimentCuts.connect(
210 [](const void*, float bottomRadius, float cotTheta) -> bool {
211
212 float fastTrackingRMin = 50.;
213 float fastTrackingCotThetaMax = 1.5;
214
215 if (bottomRadius < fastTrackingRMin and
216 (cotTheta > fastTrackingCotThetaMax or
217 cotTheta < -fastTrackingCotThetaMax)) {
218 return false;
219 }
220 return true;
221 });
222 }
223
224 m_finderCfg = m_finderCfg.toInternalUnits();
225
226 m_finder = Acts::SeedFinderOrthogonal<value_type>(m_finderCfg, logger().cloneWithSuffix("Finder"));
227
228 return StatusCode::SUCCESS;
229 }
std::vector< size_t > vec
const Acts::Logger & logger() const
Private access to the logger.
Gaudi::Property< bool > m_useExperimentCuts
Gaudi::Property< std::vector< std::vector< double > > > m_rRangeMiddleSP

Member Data Documentation

◆ m_collisionRegionMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_collisionRegionMax {this, "collisionRegionMax", 200 * Acts::UnitConstants::mm}
private

Definition at line 91 of file OrthogonalSeedingTool.h.

91{this, "collisionRegionMax", 200 * Acts::UnitConstants::mm};

◆ m_collisionRegionMin

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_collisionRegionMin {this, "collisionRegionMin", -200 * Acts::UnitConstants::mm}
private

Definition at line 90 of file OrthogonalSeedingTool.h.

90{this, "collisionRegionMin", -200 * Acts::UnitConstants::mm};

◆ m_compatSeedLimit

Gaudi::Property<std::size_t> ActsTrk::OrthogonalSeedingTool::m_compatSeedLimit
private
Initial value:
{this, "compatSeedLimit", 3,
"How often do you want to increase the weight of a seed for finding a compatible seed"}

Definition at line 128 of file OrthogonalSeedingTool.h.

128 {this, "compatSeedLimit", 3,
129 "How often do you want to increase the weight of a seed for finding a compatible seed"};

◆ m_compatSeedWeight

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_compatSeedWeight
private
Initial value:
{this, "compatSeedWeight", 100.,
"Seed weight increased by this value if a compatible seed has been found."}

Definition at line 124 of file OrthogonalSeedingTool.h.

124 {this, "compatSeedWeight", 100.,
125 "Seed weight increased by this value if a compatible seed has been found."};

◆ m_cotThetaMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_cotThetaMax
private
Initial value:
{this, "cotThetaMax", 27.2899,
"Cot of maximum theta angle"}

Definition at line 65 of file OrthogonalSeedingTool.h.

65 {this, "cotThetaMax", 27.2899,
66 "Cot of maximum theta angle"};

◆ m_deltaInvHelixDiameter

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaInvHelixDiameter
private
Initial value:
{this, "deltaInvHelixDiameter", 0.00003 * 1. / Acts::UnitConstants::mm,
"The allowed delta between two inverted seed radii for them to be considered compatible"}

Definition at line 118 of file OrthogonalSeedingTool.h.

118 {this, "deltaInvHelixDiameter", 0.00003 * 1. / Acts::UnitConstants::mm,
119 "The allowed delta between two inverted seed radii for them to be considered compatible"};

◆ m_deltaPhiMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaPhiMax {this, "deltaPhiMax", 0.085}
private

Definition at line 103 of file OrthogonalSeedingTool.h.

103{this, "deltaPhiMax", 0.085};

◆ m_deltaRMaxBottomSP

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMaxBottomSP
private
Initial value:
{this, "deltaRMaxBottomSP", 120 * Acts::UnitConstants::mm,
"maximum distance in r between middle and bottom SP in one seed"}

Definition at line 73 of file OrthogonalSeedingTool.h.

73 {this, "deltaRMaxBottomSP", 120 * Acts::UnitConstants::mm,
74 "maximum distance in r between middle and bottom SP in one seed"};

◆ m_deltaRMaxTopSP

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMaxTopSP
private
Initial value:
{this, "deltaRMaxTopSP", 280 * Acts::UnitConstants::mm,
"maximum distance in r between middle and top SP in one seed"}

Definition at line 69 of file OrthogonalSeedingTool.h.

69 {this, "deltaRMaxTopSP", 280 * Acts::UnitConstants::mm,
70 "maximum distance in r between middle and top SP in one seed"};

◆ m_deltaRMin

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMin
private
Initial value:
{this, "deltaRMin", 20. * Acts::UnitConstants::mm,
"Minimum distance between compatible seeds to be considered for weight boost"}

Definition at line 126 of file OrthogonalSeedingTool.h.

126 {this, "deltaRMin", 20. * Acts::UnitConstants::mm,
127 "Minimum distance between compatible seeds to be considered for weight boost"};

◆ m_deltaRMinBottomSP

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMinBottomSP
private
Initial value:
{this, "deltaRMinBottomSP", 6 * Acts::UnitConstants::mm,
"minimum distance in r between middle and bottom SP in one seed"}

Definition at line 71 of file OrthogonalSeedingTool.h.

71 {this, "deltaRMinBottomSP", 6 * Acts::UnitConstants::mm,
72 "minimum distance in r between middle and bottom SP in one seed"};

◆ m_deltaRMinTopSP

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMinTopSP
private
Initial value:
{this, "deltaRMinTopSP", 6 * Acts::UnitConstants::mm,
"minimum distance in r between middle and top SP in one seed"}

Definition at line 67 of file OrthogonalSeedingTool.h.

67 {this, "deltaRMinTopSP", 6 * Acts::UnitConstants::mm,
68 "minimum distance in r between middle and top SP in one seed"};

◆ m_deltaZMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaZMax
private
Initial value:
{this, "deltaZMax", 600 * Acts::UnitConstants::mm,
"Cut to the maximum value of delta z between SPs"}

Definition at line 105 of file OrthogonalSeedingTool.h.

105 {this, "deltaZMax", 600 * Acts::UnitConstants::mm,
106 "Cut to the maximum value of delta z between SPs"};

◆ m_finder

Acts::SeedFinderOrthogonal<value_type> ActsTrk::OrthogonalSeedingTool::m_finder
private

Definition at line 58 of file OrthogonalSeedingTool.h.

◆ m_finderCfg

Acts::SeedFinderOrthogonalConfig<value_type> ActsTrk::OrthogonalSeedingTool::m_finderCfg
private

Definition at line 59 of file OrthogonalSeedingTool.h.

◆ m_impactMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_impactMax
private
Initial value:
{this, "impactMax", 2. * Acts::UnitConstants::mm,
"impact parameter"}

Definition at line 76 of file OrthogonalSeedingTool.h.

76 {this, "impactMax", 2. * Acts::UnitConstants::mm,
77 "impact parameter"};

◆ m_impactWeightFactor

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_impactWeightFactor
private
Initial value:
{this, "impactWeightFactor", 100.,
"The transverse impact parameters (d0) is multiplied by this factor and subtracted from weight"}

Definition at line 120 of file OrthogonalSeedingTool.h.

120 {this, "impactWeightFactor", 100.,
121 "The transverse impact parameters (d0) is multiplied by this factor and subtracted from weight"};

◆ m_interactionPointCut

Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_interactionPointCut
private
Initial value:
{this, "interactionPointCut", true,
"Enable cut on the compatibility between interaction point and SPs"}

Definition at line 108 of file OrthogonalSeedingTool.h.

108 {this, "interactionPointCut", true,
109 "Enable cut on the compatibility between interaction point and SPs"};

◆ m_logger

std::unique_ptr<const Acts::Logger> ActsTrk::OrthogonalSeedingTool::m_logger {nullptr}
private

logging instance

Definition at line 190 of file OrthogonalSeedingTool.h.

190{nullptr};

◆ m_maxPtScattering

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_maxPtScattering
private
Initial value:
{this, "maxPtScattering", 10e6,
"Upper pt limit for scattering calculation"}

Definition at line 81 of file OrthogonalSeedingTool.h.

81 {this, "maxPtScattering", 10e6,
82 "Upper pt limit for scattering calculation"};

◆ m_maxQualitySeedsPerSpMConf

Gaudi::Property<int> ActsTrk::OrthogonalSeedingTool::m_maxQualitySeedsPerSpMConf
private
Initial value:
{this, "maxQualitySeedsPerSpMConf", 5,
"maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation if the limit is reached we check if there is a lower quality seed to be replaced"}

Definition at line 139 of file OrthogonalSeedingTool.h.

139 {this, "maxQualitySeedsPerSpMConf", 5,
140 "maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation if the limit is reached we check if there is a lower quality seed to be replaced"};

◆ m_maxSeedsPerSpM

Gaudi::Property<unsigned int> ActsTrk::OrthogonalSeedingTool::m_maxSeedsPerSpM
private
Initial value:
{this, "maxSeedsPerSpM", 5,
"For how many seeds can one SpacePoint be the middle SpacePoint"}

Definition at line 84 of file OrthogonalSeedingTool.h.

84 {this, "maxSeedsPerSpM", 5, // also used by SeedFilterConfig
85 "For how many seeds can one SpacePoint be the middle SpacePoint"};

◆ m_maxSeedsPerSpMConf

Gaudi::Property<int> ActsTrk::OrthogonalSeedingTool::m_maxSeedsPerSpMConf
private
Initial value:
{this, "maxSeedsPerSpMConf", 5,
"maximum number of lower quality seeds in seed confirmation"}

Definition at line 137 of file OrthogonalSeedingTool.h.

137 {this, "maxSeedsPerSpMConf", 5,
138 "maximum number of lower quality seeds in seed confirmation"};

◆ m_minPt

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_minPt
private
Initial value:
{this, "minPt", 900. * Acts::UnitConstants::MeV,
"Lower cutoff for seeds"}

Definition at line 63 of file OrthogonalSeedingTool.h.

63 {this, "minPt", 900. * Acts::UnitConstants::MeV,
64 "Lower cutoff for seeds"};

◆ m_numSeedIncrement

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_numSeedIncrement {this, "numSeedIncrement", 3.40282e+38}
private

Definition at line 132 of file OrthogonalSeedingTool.h.

132{this, "numSeedIncrement", 3.40282e+38}; // cannot use std::numeric_limits<float>::infinity()

◆ m_phiMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_phiMax {this, "phiMax", M_PI}
private

Definition at line 93 of file OrthogonalSeedingTool.h.

93{this, "phiMax", M_PI};
#define M_PI

◆ m_phiMin

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_phiMin {this, "phiMin", -M_PI}
private

Definition at line 92 of file OrthogonalSeedingTool.h.

92{this, "phiMin", -M_PI};

◆ m_radLengthPerSeed

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_radLengthPerSeed
private
Initial value:
{this, "radLengthPerSeed", 0.1,
"average radiation lengths of material on the length of a seed. used for scattering"}

Definition at line 114 of file OrthogonalSeedingTool.h.

114 {this, "radLengthPerSeed", 0.1,
115 "average radiation lengths of material on the length of a seed. used for scattering"};

◆ m_rMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMax {this, "rMax", 320 * Acts::UnitConstants::mm}
private

Definition at line 97 of file OrthogonalSeedingTool.h.

97{this, "rMax", 320 * Acts::UnitConstants::mm};

◆ m_rMaxMiddle

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMaxMiddle {this, "rMaxMiddle", 120.f * Acts::UnitConstants::mm}
private

Definition at line 101 of file OrthogonalSeedingTool.h.

101{this, "rMaxMiddle", 120.f * Acts::UnitConstants::mm};

◆ m_rMin

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMin {this, "rMin", 33 * Acts::UnitConstants::mm}
private

Definition at line 98 of file OrthogonalSeedingTool.h.

98{this, "rMin", 33 * Acts::UnitConstants::mm};

◆ m_rMinMiddle

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMinMiddle {this, "rMinMiddle", 60.f * Acts::UnitConstants::mm}
private

Definition at line 100 of file OrthogonalSeedingTool.h.

100{this, "rMinMiddle", 60.f * Acts::UnitConstants::mm};

◆ m_rRangeMiddleSP

Gaudi::Property< std::vector<std::vector<double> > > ActsTrk::OrthogonalSeedingTool::m_rRangeMiddleSP
private
Initial value:
{this, "rRangeMiddleSP",
{{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}},
"radial range for middle SP"}

Definition at line 183 of file OrthogonalSeedingTool.h.

183 {this, "rRangeMiddleSP",
184 {{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}},
185 "radial range for middle SP"};

◆ m_seedConfCentralMaxZOrigin

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralMaxZOrigin
private
Initial value:
{this, "seedConfCentralMaxZOrigin", 150 * Acts::UnitConstants::mm,
"Maximum zOrigin in seed confirmation"}

Definition at line 158 of file OrthogonalSeedingTool.h.

158 {this, "seedConfCentralMaxZOrigin", 150 * Acts::UnitConstants::mm,
159 "Maximum zOrigin in seed confirmation"};

◆ m_seedConfCentralMinBottomRadius

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralMinBottomRadius
private
Initial value:
{this, "seedConfCentralMinBottomRadius", 60 * Acts::UnitConstants::mm,
"Minimum radius for bottom SP in seed confirmation"}

Definition at line 156 of file OrthogonalSeedingTool.h.

156 {this, "seedConfCentralMinBottomRadius", 60 * Acts::UnitConstants::mm,
157 "Minimum radius for bottom SP in seed confirmation"};

◆ m_seedConfCentralMinImpact

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralMinImpact
private
Initial value:
{this, "seedConfCentralMinImpact", 1. * Acts::UnitConstants::mm,
"Minimum impact parameter for seed confirmation"}

Definition at line 160 of file OrthogonalSeedingTool.h.

160 {this, "seedConfCentralMinImpact", 1. * Acts::UnitConstants::mm,
161 "Minimum impact parameter for seed confirmation"};

◆ m_seedConfCentralNTopLargeR

Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralNTopLargeR
private
Initial value:
{this, "seedConfCentralNTopLargeR", 1,
"nTop for large R central seed confirmation"}

Definition at line 152 of file OrthogonalSeedingTool.h.

152 {this, "seedConfCentralNTopLargeR", 1,
153 "nTop for large R central seed confirmation"};

◆ m_seedConfCentralNTopSmallR

Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralNTopSmallR
private
Initial value:
{this, "seedConfCentralNTopSmallR", 2,
"nTop for small R central seed confirmation"}

Definition at line 154 of file OrthogonalSeedingTool.h.

154 {this, "seedConfCentralNTopSmallR", 2,
155 "nTop for small R central seed confirmation"};

◆ m_seedConfCentralRMax

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralRMax
private
Initial value:
{this, "seedConfCentralRMax", 140. * Acts::UnitConstants::mm,
"maximum r for central seed confirmation "}

Definition at line 150 of file OrthogonalSeedingTool.h.

150 {this, "seedConfCentralRMax", 140. * Acts::UnitConstants::mm,
151 "maximum r for central seed confirmation "};

◆ m_seedConfCentralZMax

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralZMax
private
Initial value:
{this, "seedConfCentralZMax", 250. * Acts::UnitConstants::mm,
"maximum z for central seed confirmation "}

Definition at line 148 of file OrthogonalSeedingTool.h.

148 {this, "seedConfCentralZMax", 250. * Acts::UnitConstants::mm,
149 "maximum z for central seed confirmation "};

◆ m_seedConfCentralZMin

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralZMin
private
Initial value:
{this, "seedConfCentralZMin", -250. * Acts::UnitConstants::mm,
"minimum z for central seed confirmation "}

Definition at line 146 of file OrthogonalSeedingTool.h.

146 {this, "seedConfCentralZMin", -250. * Acts::UnitConstants::mm,
147 "minimum z for central seed confirmation "};

◆ m_seedConfForwardMaxZOrigin

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardMaxZOrigin
private
Initial value:
{this, "seedConfForwardMaxZOrigin", 150 * Acts::UnitConstants::mm,
"Maximum zOrigin in seed confirmation"}

Definition at line 175 of file OrthogonalSeedingTool.h.

175 {this, "seedConfForwardMaxZOrigin", 150 * Acts::UnitConstants::mm,
176 "Maximum zOrigin in seed confirmation"};

◆ m_seedConfForwardMinBottomRadius

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardMinBottomRadius
private
Initial value:
{this, "seedConfForwardMinBottomRadius", 60 * Acts::UnitConstants::mm,
"Minimum radius for bottom SP in seed confirmation"}

Definition at line 173 of file OrthogonalSeedingTool.h.

173 {this, "seedConfForwardMinBottomRadius", 60 * Acts::UnitConstants::mm,
174 "Minimum radius for bottom SP in seed confirmation"};

◆ m_seedConfForwardMinImpact

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardMinImpact
private
Initial value:
{this, "seedConfForwardMinImpact", 1. * Acts::UnitConstants::mm,
"Minimum impact parameter for seed confirmation"}

Definition at line 177 of file OrthogonalSeedingTool.h.

177 {this, "seedConfForwardMinImpact", 1. * Acts::UnitConstants::mm,
178 "Minimum impact parameter for seed confirmation"};

◆ m_seedConfForwardNTopLargeR

Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardNTopLargeR
private
Initial value:
{this, "seedConfForwardNTopLargeR", 1,
"nTop for large R forward seed confirmation"}

Definition at line 169 of file OrthogonalSeedingTool.h.

169 {this, "seedConfForwardNTopLargeR", 1,
170 "nTop for large R forward seed confirmation"};

◆ m_seedConfForwardNTopSmallR

Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardNTopSmallR
private
Initial value:
{this, "seedConfForwardNTopSmallR", 2,
"nTop for small R forward seed confirmation"}

Definition at line 171 of file OrthogonalSeedingTool.h.

171 {this, "seedConfForwardNTopSmallR", 2,
172 "nTop for small R forward seed confirmation"};

◆ m_seedConfForwardRMax

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardRMax
private
Initial value:
{this, "seedConfForwardRMax", 140. * Acts::UnitConstants::mm,
"maximum r for forward seed confirmation "}

Definition at line 167 of file OrthogonalSeedingTool.h.

167 {this, "seedConfForwardRMax", 140. * Acts::UnitConstants::mm,
168 "maximum r for forward seed confirmation "};

◆ m_seedConfForwardZMax

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardZMax
private
Initial value:
{this, "seedConfForwardZMax", 3000. * Acts::UnitConstants::mm,
"maximum z for forward seed confirmation "}

Definition at line 165 of file OrthogonalSeedingTool.h.

165 {this, "seedConfForwardZMax", 3000. * Acts::UnitConstants::mm,
166 "maximum z for forward seed confirmation "};

◆ m_seedConfForwardZMin

Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardZMin
private
Initial value:
{this, "seedConfForwardZMin", -3000. * Acts::UnitConstants::mm,
"minimum z for forward seed confirmation "}

Definition at line 163 of file OrthogonalSeedingTool.h.

163 {this, "seedConfForwardZMin", -3000. * Acts::UnitConstants::mm,
164 "minimum z for forward seed confirmation "};

◆ m_seedConfirmation

Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_seedConfirmation
private
Initial value:
{this, "seedConfirmation", true,
"Seed Confirmation"}

Definition at line 111 of file OrthogonalSeedingTool.h.

111 {this, "seedConfirmation", true,
112 "Seed Confirmation"};

◆ m_seedConfirmationInFilter

Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_seedConfirmationInFilter
private
Initial value:
{this, "seedConfirmationInFilter", true,
"Seed Confirmation"}

Definition at line 134 of file OrthogonalSeedingTool.h.

134 {this, "seedConfirmationInFilter", true,
135 "Seed Confirmation"};

◆ m_seedWeightIncrement

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_seedWeightIncrement {this, "seedWeightIncrement", 0}
private

Definition at line 131 of file OrthogonalSeedingTool.h.

131{this, "seedWeightIncrement", 0};

◆ m_sigmaScattering

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_sigmaScattering
private
Initial value:
{this, "sigmaScattering", 2,
"how many sigmas of scattering angle should be considered"}

Definition at line 79 of file OrthogonalSeedingTool.h.

79 {this, "sigmaScattering", 2,
80 "how many sigmas of scattering angle should be considered"};

◆ m_useDeltaRorTopRadius

Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_useDeltaRorTopRadius
private
Initial value:
{this, "useDeltaRorTopRadius", true,
"use deltaR between top and middle SP instead of top radius to search for compatible SPs"}

Definition at line 142 of file OrthogonalSeedingTool.h.

142 {this, "useDeltaRorTopRadius", true,
143 "use deltaR between top and middle SP instead of top radius to search for compatible SPs"};

◆ m_useExperimentCuts

Gaudi::Property< bool > ActsTrk::OrthogonalSeedingTool::m_useExperimentCuts {this, "useExperimentCuts", false, ""}
private

Definition at line 181 of file OrthogonalSeedingTool.h.

181{this, "useExperimentCuts", false, ""};

◆ m_zMax

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_zMax {this, "zMax", 3000 * Acts::UnitConstants::mm}
private

Definition at line 96 of file OrthogonalSeedingTool.h.

96{this, "zMax", 3000 * Acts::UnitConstants::mm};

◆ m_zMin

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_zMin {this, "zMin", -3000 * Acts::UnitConstants::mm}
private

Definition at line 95 of file OrthogonalSeedingTool.h.

95{this, "zMin", -3000 * Acts::UnitConstants::mm};

◆ m_zOriginWeightFactor

Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_zOriginWeightFactor
private
Initial value:
{this, "zOriginWeightFactor", 1.,
"The logitudinal impact parameters (z0) is multiplied by this factor and subtracted from weight"}

Definition at line 122 of file OrthogonalSeedingTool.h.

122 {this, "zOriginWeightFactor", 1.,
123"The logitudinal impact parameters (z0) is multiplied by this factor and subtracted from weight"};

The documentation for this class was generated from the following files: