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

#include <TrackParamsEstimationTool.h>

Inheritance diagram for ActsTrk::TrackParamsEstimationTool:
Collaboration diagram for ActsTrk::TrackParamsEstimationTool:

Public Member Functions

 TrackParamsEstimationTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~TrackParamsEstimationTool ()=default
virtual StatusCode initialize () override
virtual std::pair< std::optional< Acts::BoundTrackParameters >, EstimationStatus > estimateTrackParameters (const ActsTrk::Seed &seed, bool reverseSearch, const Acts::GeometryContext &geoContext, const Acts::MagneticFieldContext &magFieldContext, const Acts::CalibrationContext &calContext, std::function< const Acts::Surface &(const ActsTrk::Seed &seed, bool useTopSp)> retrieveSurface) const override
virtual std::pair< std::optional< Acts::BoundTrackParameters >, EstimationStatus > estimateTrackParameters (const ActsTrk::Seed &seed, bool reverseSearch, const Acts::GeometryContext &geoContext, const Acts::MagneticFieldContext &magFieldContext, const Acts::CalibrationContext &calContext, const Acts::Surface &surface, const Acts::Vector3 &bField) const override
SpacePointIndicesFun_t spacePointIndicesFun () const override
bool estimateFromTopSp (bool reverseSearch) const override

Private Types

using Stepper = Acts::SympyStepper
using Navigator = Acts::VoidNavigator
using Extrapolator = Acts::Propagator<Stepper>

Private Member Functions

std::optional< Acts::BoundTrackParameters > doRefit (const ActsTrk::Seed &measurement, const Acts::BoundTrackParameters &initialParameters, const Acts::GeometryContext &geometry, const Acts::MagneticFieldContext &magField, const Acts::CalibrationContext &calib, const bool paramsAtOutermostSurface) const
const Acts::Logger & logger () const
 Private access to the logger.

Private Attributes

ToolHandle< ActsTrk::IFitterToolm_fitterTool {this, "FitterTool", "", "Fitter Tool for Seeds"}
ServiceHandle< ActsTrk::ITrackingGeometrySvcm_trackingGeometrySvc {this, "TrackingGeometrySvc", "ActsTrackingGeometrySvc"}
Gaudi::Property< double > m_sigmaLoc0
Gaudi::Property< double > m_sigmaLoc1
Gaudi::Property< double > m_sigmaPhi
Gaudi::Property< double > m_sigmaTheta
Gaudi::Property< double > m_sigmaQOverP
Gaudi::Property< double > m_sigmaT0
Gaudi::Property< double > m_initialSigmaPtRel
Gaudi::Property< std::vector< double > > m_initialVarInflation
Gaudi::Property< std::vector< double > > m_refitErrInflation
Gaudi::Property< int > m_useLongSeeds
Gaudi::Property< int > m_bFieldMode
Gaudi::Property< std::size_t > m_firstSp
Gaudi::Property< bool > m_allowPropagatorFailure
Gaudi::Property< std::size_t > m_stripCalibrationIterations
Gaudi::Property< bool > m_refitSeeds {this, "refitSeeds", false, "Run KalmanFitter on seeds"}
detail::xAODUncalibMeasSurfAcc m_uncalibMeasSurfAcc {}
std::optional< Extrapolatorm_extrapolator
std::unique_ptr< const Acts::Logger > m_logger
 logging instance
SpacePointIndicesFun_t m_spacePointIndicesFun {}
bool m_doRefitErrInflation = false

Detailed Description

Definition at line 29 of file TrackParamsEstimationTool.h.

Member Typedef Documentation

◆ Extrapolator

using ActsTrk::TrackParamsEstimationTool::Extrapolator = Acts::Propagator<Stepper>
private

Definition at line 113 of file TrackParamsEstimationTool.h.

◆ Navigator

using ActsTrk::TrackParamsEstimationTool::Navigator = Acts::VoidNavigator
private

Definition at line 112 of file TrackParamsEstimationTool.h.

◆ Stepper

using ActsTrk::TrackParamsEstimationTool::Stepper = Acts::SympyStepper
private

Definition at line 111 of file TrackParamsEstimationTool.h.

Constructor & Destructor Documentation

◆ TrackParamsEstimationTool()

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

Definition at line 86 of file TrackParamsEstimationTool.cxx.

89 : base_class(type, name, parent)
90 {}

◆ ~TrackParamsEstimationTool()

virtual ActsTrk::TrackParamsEstimationTool::~TrackParamsEstimationTool ( )
virtualdefault

Member Function Documentation

◆ doRefit()

std::optional< Acts::BoundTrackParameters > ActsTrk::TrackParamsEstimationTool::doRefit ( const ActsTrk::Seed & measurement,
const Acts::BoundTrackParameters & initialParameters,
const Acts::GeometryContext & geometry,
const Acts::MagneticFieldContext & magField,
const Acts::CalibrationContext & calib,
const bool paramsAtOutermostSurface ) const
private

Definition at line 298 of file TrackParamsEstimationTool.cxx.

304 {
305 // Perform KF before CKF
306 const Acts::Surface* targetSurface = nullptr;
307 // get the proper surface
308 if (not paramsAtOutermostSurface) {
309 // inner-most surface
310 targetSurface = m_uncalibMeasSurfAcc.get(measurement.sp().front()->measurements().front());
311 } else {
312 // outer-most surface
313 targetSurface = m_uncalibMeasSurfAcc.get(measurement.sp().back()->measurements().back());
314 }
315 if (not targetSurface) {
316 ATH_MSG_WARNING("Could not identify the target surface for fitting the provided seed");
317 return std::nullopt;
318 }
319 const auto fittedSeedCollection = m_fitterTool->fit(measurement, initialParameters,
320 geometry, magField, calib,
321 *targetSurface);
322 if (not fittedSeedCollection) {
323 ATH_MSG_VERBOSE("KF fit failure");
324 return std::nullopt;
325 }
326 if (fittedSeedCollection->size() != 1) {
327 ATH_MSG_WARNING("KF produced " << fittedSeedCollection->size() << " tracks but should produce 1!");
328 return std::nullopt;
329 }
330 const auto fittedSeed = fittedSeedCollection->getTrack(0);
331
332 // get the track state at the beginning of the track, where we started
333 std::optional<typename decltype(fittedSeed)::ConstTrackStateProxy> trackState {std::nullopt};
334 if (paramsAtOutermostSurface) {
335 trackState = fittedSeed.outermostTrackState();
336 } else {
337 trackState = fittedSeed.innermostTrackState();
338 if (!trackState) {
339 // if the track is not forward linked (fixed by #5666), then we need to search back to the innermost track state
340 for (auto st : fittedSeed.trackStatesReversed()) {
341 trackState = st;
342 }
343 }
344 }
345
346 if (!trackState) {
347 ATH_MSG_VERBOSE("Missing "
348 << (paramsAtOutermostSurface ? "outermost" : "innermost")
349 << " track state");
350 return std::nullopt;
351 }
352
353 // Return updated parameters
354 return fittedSeed.createParametersFromState(trackState.value());
355 };
#define ATH_MSG_WARNING(x,...)
#define ATH_MSG_VERBOSE(x,...)
ToolHandle< ActsTrk::IFitterTool > m_fitterTool
detail::xAODUncalibMeasSurfAcc m_uncalibMeasSurfAcc
SpacePointRange sp() const noexcept

◆ estimateFromTopSp()

bool ActsTrk::TrackParamsEstimationTool::estimateFromTopSp ( bool reverseSearch) const
inlineoverride

Definition at line 62 of file TrackParamsEstimationTool.h.

62{ return reverseSearch && !m_refitSeeds; }

◆ estimateTrackParameters() [1/2]

std::pair< std::optional< Acts::BoundTrackParameters >, TrackParamsEstimationTool::EstimationStatus > ActsTrk::TrackParamsEstimationTool::estimateTrackParameters ( const ActsTrk::Seed & seed,
bool reverseSearch,
const Acts::GeometryContext & geoContext,
const Acts::MagneticFieldContext & magFieldContext,
const Acts::CalibrationContext & calContext,
const Acts::Surface & surface,
const Acts::Vector3 & bField ) const
overridevirtual

Definition at line 166 of file TrackParamsEstimationTool.cxx.

174 {
175 bool useTopSp = estimateFromTopSp(reverseSearch);
176
177 // Get SPs
178 const auto& sp_collection = seed.sp();
179 const std::size_t nSp = sp_collection.size();
180 if (nSp < 3) return {std::nullopt, kNoSeedRefit};
181
182 // Function to extract the values from sp_collection
183 const auto sp_collection_extract = std::views::transform([&sp_collection, useTopSp](std::size_t i) {
184 return sp_collection.at(useTopSp ? sp_collection.size() - i - 1 : i);
185 });
186
187 // Compute free parameters
188 Acts::FreeVector freeParams = estimateTrackParamsFromSeed(m_spacePointIndicesFun(nSp) | sp_collection_extract, bField, m_stripCalibrationIterations);
189
190 if (m_useLongSeeds == 1 && nSp > 3ul) {
191 const auto spacePointIndicesFun2 = [](std::size_t nSp) -> std::array<std::size_t, 3> {
192 return {0, nSp / 2ul, nSp - 1};
193 };
194 const Acts::FreeVector freeParams2 = estimateTrackParamsFromSeed(spacePointIndicesFun2(nSp) | sp_collection_extract, bField, m_stripCalibrationIterations);
195 ATH_MSG_DEBUG("update seed p = " << 1.0 / freeParams[Acts::eFreeQOverP] << " to " << 1.0 / freeParams2[Acts::eFreeQOverP]);
196 freeParams[Acts::eFreeQOverP] = freeParams2[Acts::eFreeQOverP];
197 }
198
199 if (useTopSp) {
200 // reverse direction so momentum vector pointing outwards
201 freeParams = Acts::reflectFreeParameters(freeParams);
202 }
203
204 // Convert free params to curvilinear params for extrapolation
205 Acts::BoundTrackParameters curvilinearParams = Acts::BoundTrackParameters::createCurvilinear(
206 freeParams.segment<4>(Acts::eFreePos0),
207 freeParams.segment<3>(Acts::eFreeDir0),
208 freeParams[Acts::eFreeQOverP],
209 std::nullopt,
210 Acts::ParticleHypothesis::pion());
211
212 // Extrapolate to surface
213 Acts::PropagatorPlainOptions propOptions(geoContext, magFieldContext);
214 propOptions.direction = Acts::Direction::fromScalarZeroAsPositive(
215 surface.intersect(
216 geoContext,
217 freeParams.segment<3>(Acts::eFreePos0),
218 freeParams.segment<3>(Acts::eFreeDir0)
219 ).closest().pathLength());
220
221 std::optional<Acts::BoundTrackParameters> boundParams;
222 auto boundParamsResult =
223 m_extrapolator->propagateToSurface(curvilinearParams, surface, propOptions);
224
225 if (!boundParamsResult.ok()) {
226 ATH_MSG_DEBUG("Extrapolation from " << seed.sp().size() << "-SP seed (" << (useTopSp ? "top" : "bottom") << " start) failed - "
227 << (m_allowPropagatorFailure ? "use curvilinear parameters" : "skip seed"));
229 // Fallback: use curvilinear parameters instead of failing
230 boundParams = curvilinearParams;
231 } else {
232 return {std::nullopt, kNoSeedRefit};
233 }
234 } else {
235 boundParams = *boundParamsResult;
236 }
237
238 // Estimate covariance
239 Acts::EstimateTrackParamCovarianceConfig covarianceEstimationConfig = {
241 .initialSigmaPtRel = m_initialSigmaPtRel,
242 .initialVarInflation = Eigen::Map<const Acts::BoundVector>(m_initialVarInflation.value().data()),
243 .noTimeVarInflation = 1.0,
244 };
245 boundParams->covariance() = Acts::estimateTrackParamCovariance(
246 covarianceEstimationConfig,
247 boundParams->parameters(),
248 false);
249
250 if (!m_refitSeeds) {
251 ATH_MSG_DEBUG("estimateTrackParams from " << seed.sp().size() << "-SP seed (" << (useTopSp ? "top" : "bottom") << " start) succeeded");
252 return {boundParams, kNoSeedRefit};
253 }
254
255 auto refitResult = doRefit(seed, *boundParams, geoContext, magFieldContext, calContext, reverseSearch);
256 ATH_MSG_DEBUG("Refit " << seed.sp().size() << "-SP seed (" << (reverseSearch ? "top" : "bottom") << " start) " << (refitResult ? "succeeded" : "failed"));
257 if (refitResult) {
259 // scale r_i * C_ij * r_j -> C_ij
260 const auto refitErrInflation = Eigen::Map<const Acts::BoundVector>(m_refitErrInflation.value().data());
261 refitResult->covariance()->array().colwise() *= refitErrInflation.array();
262 refitResult->covariance()->array().rowwise() *= refitErrInflation.transpose().array();
263 }
264 return {refitResult, kSeedRefitSuccess};
265 } else {
266 return {boundParams, kSeedRefitFailed};
267 }
268
269 }
#define ATH_MSG_DEBUG(x,...)
bool estimateFromTopSp(bool reverseSearch) const override
Gaudi::Property< std::vector< double > > m_refitErrInflation
std::optional< Acts::BoundTrackParameters > doRefit(const ActsTrk::Seed &measurement, const Acts::BoundTrackParameters &initialParameters, const Acts::GeometryContext &geometry, const Acts::MagneticFieldContext &magField, const Acts::CalibrationContext &calib, const bool paramsAtOutermostSurface) const
Gaudi::Property< std::vector< double > > m_initialVarInflation
std::optional< Extrapolator > m_extrapolator
Gaudi::Property< std::size_t > m_stripCalibrationIterations

◆ estimateTrackParameters() [2/2]

std::pair< std::optional< Acts::BoundTrackParameters >, TrackParamsEstimationTool::EstimationStatus > ActsTrk::TrackParamsEstimationTool::estimateTrackParameters ( const ActsTrk::Seed & seed,
bool reverseSearch,
const Acts::GeometryContext & geoContext,
const Acts::MagneticFieldContext & magFieldContext,
const Acts::CalibrationContext & calContext,
std::function< const Acts::Surface &(const ActsTrk::Seed &seed, bool useTopSp)> retrieveSurface ) const
overridevirtual

Definition at line 128 of file TrackParamsEstimationTool.cxx.

135 {
136 bool useTopSp = estimateFromTopSp(reverseSearch);
137
138 const auto& sp_collection = seed.sp();
139 if ( sp_collection.size() < 3 ) return {std::nullopt, kNoSeedRefit};
140 const xAOD::SpacePoint* bottom_sp = (useTopSp && m_bFieldMode != 2) ? sp_collection.back() : sp_collection.front();
141
142 // Magnetic Field
143 ATLASMagneticFieldWrapper magneticField;
144 Acts::MagneticFieldProvider::Cache magFieldCache = magneticField.makeCache( magFieldContext );
145 Acts::Vector3 bField = *magneticField.getField( Acts::Vector3(bottom_sp->x(), bottom_sp->y(), bottom_sp->z()),
146 magFieldCache );
147 if (m_bFieldMode == 1) {
148 bField[0] = 0.0;
149 bField[1] = 0.0;
150 }
151
152 // Get the surface
153 const Acts::Surface& surface = retrieveSurface(seed, useTopSp);
154
156 seed,
157 reverseSearch,
158 geoContext,
159 magFieldContext,
160 calContext,
161 surface,
162 bField);
163 }
Acts::Result< Acts::Vector3 > getField(const Acts::Vector3 &position, Acts::MagneticFieldProvider::Cache &gcache) const override
MagneticFieldProvider::Cache makeCache(const Acts::MagneticFieldContext &mctx) const override
virtual std::pair< std::optional< Acts::BoundTrackParameters >, EstimationStatus > estimateTrackParameters(const ActsTrk::Seed &seed, bool reverseSearch, const Acts::GeometryContext &geoContext, const Acts::MagneticFieldContext &magFieldContext, const Acts::CalibrationContext &calContext, std::function< const Acts::Surface &(const ActsTrk::Seed &seed, bool useTopSp)> retrieveSurface) const override
float z() const
float y() const
float x() const

◆ initialize()

StatusCode ActsTrk::TrackParamsEstimationTool::initialize ( )
overridevirtual

Definition at line 92 of file TrackParamsEstimationTool.cxx.

93 {
94 ATH_MSG_INFO( "Initializing " << name() << "..." );
95
96 ATH_MSG_DEBUG( "Properties Summary:" );
97 ATH_MSG_DEBUG( " " << m_sigmaLoc0 );
98 ATH_MSG_DEBUG( " " << m_sigmaLoc1 );
99 ATH_MSG_DEBUG( " " << m_sigmaPhi );
100 ATH_MSG_DEBUG( " " << m_sigmaTheta );
102 ATH_MSG_DEBUG( " " << m_sigmaT0 );
105 ATH_MSG_DEBUG( " " << m_bFieldMode );
106 ATH_MSG_DEBUG( " " << m_firstSp );
108 ATH_MSG_DEBUG( " " << m_refitSeeds );
109
110 ATH_CHECK(m_fitterTool.retrieve(EnableTool{m_refitSeeds}));
111
112 m_logger = makeActsAthenaLogger(this, "Acts");
113
114 m_extrapolator = Extrapolator(Stepper(std::make_shared<ATLASMagneticFieldWrapper>()), Navigator(), logger().cloneWithSuffix("Prop"));
115
117
118 if (m_refitSeeds) {
120 m_uncalibMeasSurfAcc = detail::xAODUncalibMeasSurfAcc {m_trackingGeometrySvc.get()};
121 m_doRefitErrInflation = (m_refitErrInflation.value() != std::vector<double>{1., 1., 1., 1., 1., 1.});
122 }
123
124 return StatusCode::SUCCESS;
125 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_INFO(x,...)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Definition Logger.cxx:64
const Acts::Logger & logger() const
Private access to the logger.
std::unique_ptr< const Acts::Logger > m_logger
logging instance
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
SpacePointIndicesFun_t spacePointIndicesFun() const override
Gaudi::Property< std::size_t > m_firstSp

◆ logger()

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

Private access to the logger.

Definition at line 118 of file TrackParamsEstimationTool.h.

119 {
120 return *m_logger;
121 }

◆ spacePointIndicesFun()

ITrackParamsEstimationTool::SpacePointIndicesFun_t ActsTrk::TrackParamsEstimationTool::spacePointIndicesFun ( ) const
override

Definition at line 272 of file TrackParamsEstimationTool.cxx.

272 {
273 if (m_useLongSeeds == 2) {
274 return [](std::size_t nSp) -> std::array<std::size_t, 3> {
275 if (nSp > 3ul)
276 return {0, nSp / 2ul, nSp - 1};
277 else
278 return {0, 1, 2};
279 };
280 } else if (m_firstSp > 0ul) {
281 std::size_t firstSp = m_firstSp;
282 return [firstSp](std::size_t nSp) -> std::array<std::size_t, 3> {
283 if (nSp > 3ul) {
284 std::size_t first = std::min(firstSp, nSp - 3ul);
285 return {first, first + 1, first + 2};
286 } else
287 return {0, 1, 2};
288 };
289 } else {
290 return [](std::size_t) -> std::array<std::size_t, 3> {
291 return {0, 1, 2};
292 };
293 }
294 };
bool first
Definition DeMoScan.py:534

Member Data Documentation

◆ m_allowPropagatorFailure

Gaudi::Property<bool> ActsTrk::TrackParamsEstimationTool::m_allowPropagatorFailure
private
Initial value:
{this, "allowPropagatorFailure", false,
"Use curvilinear parameters when propagation fails instead of returning null"}

Definition at line 95 of file TrackParamsEstimationTool.h.

95 {this, "allowPropagatorFailure", false,
96 "Use curvilinear parameters when propagation fails instead of returning null"};

◆ m_bFieldMode

Gaudi::Property<int> ActsTrk::TrackParamsEstimationTool::m_bFieldMode
private
Initial value:
{this, "bFieldMode", 0,
"B-field mode: 0=B-field at first SP in search order; 1=z-component of B-field; 2=B-field at innermost SP, regardless of search direction"}

Definition at line 91 of file TrackParamsEstimationTool.h.

91 {this, "bFieldMode", 0,
92 "B-field mode: 0=B-field at first SP in search order; 1=z-component of B-field; 2=B-field at innermost SP, regardless of search direction"};

◆ m_doRefitErrInflation

bool ActsTrk::TrackParamsEstimationTool::m_doRefitErrInflation = false
private

Definition at line 128 of file TrackParamsEstimationTool.h.

◆ m_extrapolator

std::optional<Extrapolator> ActsTrk::TrackParamsEstimationTool::m_extrapolator
private

Definition at line 115 of file TrackParamsEstimationTool.h.

◆ m_firstSp

Gaudi::Property<std::size_t> ActsTrk::TrackParamsEstimationTool::m_firstSp
private
Initial value:
{this, "firstSp", 0ul,
"Index of first SP to use"}

Definition at line 93 of file TrackParamsEstimationTool.h.

93 {this, "firstSp", 0ul,
94 "Index of first SP to use"};
unsigned long ul

◆ m_fitterTool

ToolHandle<ActsTrk::IFitterTool> ActsTrk::TrackParamsEstimationTool::m_fitterTool {this, "FitterTool", "", "Fitter Tool for Seeds"}
private

Definition at line 67 of file TrackParamsEstimationTool.h.

67{this, "FitterTool", "", "Fitter Tool for Seeds"};

◆ m_initialSigmaPtRel

Gaudi::Property< double > ActsTrk::TrackParamsEstimationTool::m_initialSigmaPtRel
private
Initial value:
{this, "initialSigmaPtRel", 0.1,
"Initial relative pT resolution"}

Definition at line 83 of file TrackParamsEstimationTool.h.

83 {this, "initialSigmaPtRel", 0.1,
84 "Initial relative pT resolution"};

◆ m_initialVarInflation

Gaudi::Property< std::vector<double> > ActsTrk::TrackParamsEstimationTool::m_initialVarInflation
private
Initial value:
{this, "initialVarInflation", {1., 1., 1., 1., 1., 1.},
"Inflate track variances"}

Definition at line 85 of file TrackParamsEstimationTool.h.

85 {this, "initialVarInflation", {1., 1., 1., 1., 1., 1.},
86 "Inflate track variances"};

◆ m_logger

std::unique_ptr<const Acts::Logger> ActsTrk::TrackParamsEstimationTool::m_logger
private

logging instance

Definition at line 124 of file TrackParamsEstimationTool.h.

◆ m_refitErrInflation

Gaudi::Property< std::vector<double> > ActsTrk::TrackParamsEstimationTool::m_refitErrInflation
private
Initial value:
{this, "refitErrInflation", {1., 1., 1., 1., 1., 1.},
"Inflate refit track errors"}

Definition at line 87 of file TrackParamsEstimationTool.h.

87 {this, "refitErrInflation", {1., 1., 1., 1., 1., 1.},
88 "Inflate refit track errors"};

◆ m_refitSeeds

Gaudi::Property<bool> ActsTrk::TrackParamsEstimationTool::m_refitSeeds {this, "refitSeeds", false, "Run KalmanFitter on seeds"}
private

Definition at line 99 of file TrackParamsEstimationTool.h.

99{this, "refitSeeds", false, "Run KalmanFitter on seeds"};

◆ m_sigmaLoc0

Gaudi::Property< double > ActsTrk::TrackParamsEstimationTool::m_sigmaLoc0
private
Initial value:
{this, "sigmaLoc0", 1 * Acts::UnitConstants::mm,
"Constant term of the loc0 resolution"}

Definition at line 71 of file TrackParamsEstimationTool.h.

71 {this, "sigmaLoc0", 1 * Acts::UnitConstants::mm,
72 "Constant term of the loc0 resolution"};

◆ m_sigmaLoc1

Gaudi::Property< double > ActsTrk::TrackParamsEstimationTool::m_sigmaLoc1
private
Initial value:
{this, "sigmaLoc1", 1 * Acts::UnitConstants::mm,
"Constant term of the loc1 resolution"}

Definition at line 73 of file TrackParamsEstimationTool.h.

73 {this, "sigmaLoc1", 1 * Acts::UnitConstants::mm,
74 "Constant term of the loc1 resolution"};

◆ m_sigmaPhi

Gaudi::Property< double > ActsTrk::TrackParamsEstimationTool::m_sigmaPhi
private
Initial value:
{this, "sigmaPhi", 0.1 * Acts::UnitConstants::degree,
"Phi angular resolution"}

Definition at line 75 of file TrackParamsEstimationTool.h.

75 {this, "sigmaPhi", 0.1 * Acts::UnitConstants::degree,
76 "Phi angular resolution"};

◆ m_sigmaQOverP

Gaudi::Property< double > ActsTrk::TrackParamsEstimationTool::m_sigmaQOverP
private
Initial value:
{this, "sigmaQOverP", 0.1 * Acts::UnitConstants::e / Acts::UnitConstants::GeV,
"q/p resolution"}

Definition at line 79 of file TrackParamsEstimationTool.h.

79 {this, "sigmaQOverP", 0.1 * Acts::UnitConstants::e / Acts::UnitConstants::GeV,
80 "q/p resolution"};

◆ m_sigmaT0

Gaudi::Property< double > ActsTrk::TrackParamsEstimationTool::m_sigmaT0
private
Initial value:
{this, "sigmaT0", 1 * Acts::UnitConstants::ns,
"Time resolution"}

Definition at line 81 of file TrackParamsEstimationTool.h.

81 {this, "sigmaT0", 1 * Acts::UnitConstants::ns,
82 "Time resolution"};

◆ m_sigmaTheta

Gaudi::Property< double > ActsTrk::TrackParamsEstimationTool::m_sigmaTheta
private
Initial value:
{this, "sigmaTheta", 0.1 * Acts::UnitConstants::degree,
"Theta angular resolution"}

Definition at line 77 of file TrackParamsEstimationTool.h.

77 {this, "sigmaTheta", 0.1 * Acts::UnitConstants::degree,
78 "Theta angular resolution"};

◆ m_spacePointIndicesFun

SpacePointIndicesFun_t ActsTrk::TrackParamsEstimationTool::m_spacePointIndicesFun {}
private

Definition at line 126 of file TrackParamsEstimationTool.h.

126{};

◆ m_stripCalibrationIterations

Gaudi::Property<std::size_t> ActsTrk::TrackParamsEstimationTool::m_stripCalibrationIterations
private
Initial value:
{this, "stripCalibrationIterations", 1ul,
"Number of strip calibration iterations"}

Definition at line 97 of file TrackParamsEstimationTool.h.

97 {this, "stripCalibrationIterations", 1ul,
98 "Number of strip calibration iterations"};

◆ m_trackingGeometrySvc

ServiceHandle<ActsTrk::ITrackingGeometrySvc> ActsTrk::TrackParamsEstimationTool::m_trackingGeometrySvc {this, "TrackingGeometrySvc", "ActsTrackingGeometrySvc"}
private

Definition at line 68 of file TrackParamsEstimationTool.h.

68{this, "TrackingGeometrySvc", "ActsTrackingGeometrySvc"};

◆ m_uncalibMeasSurfAcc

detail::xAODUncalibMeasSurfAcc ActsTrk::TrackParamsEstimationTool::m_uncalibMeasSurfAcc {}
private

Definition at line 109 of file TrackParamsEstimationTool.h.

109{};

◆ m_useLongSeeds

Gaudi::Property< int > ActsTrk::TrackParamsEstimationTool::m_useLongSeeds
private
Initial value:
{this, "useLongSeeds", 2,
"0=use 1st 3 SPs, 1=use first,middle,last SPs to improve pT measurement, 2=use for all parameters"}

Definition at line 89 of file TrackParamsEstimationTool.h.

89 {this, "useLongSeeds", 2,
90 "0=use 1st 3 SPs, 1=use first,middle,last SPs to improve pT measurement, 2=use for all parameters"};

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