ATLAS Offline Software
TrackParamsEstimationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRACKRECONSTRUCTION_TRACKPARAMSESTIMATIONTOOL_H
6 #define ACTSTRACKRECONSTRUCTION_TRACKPARAMSESTIMATIONTOOL_H
7 
8 // ATHENA
11 #include "ActsInterop/Logger.h"
12 
13 namespace ActsTrk {
14 
16  public extends<AthAlgTool, ActsTrk::ITrackParamsEstimationTool> {
17 
18  public:
19  TrackParamsEstimationTool(const std::string& type, const std::string& name,
20  const IInterface* parent);
21  virtual ~TrackParamsEstimationTool() = default;
22 
23  virtual StatusCode initialize() override;
24 
25  // Interface
26  virtual
27  std::optional<Acts::BoundTrackParameters>
28  estimateTrackParameters(const EventContext& ctx,
29  const ActsTrk::Seed& seed,
30  const Acts::GeometryContext& geoContext,
31  const Acts::MagneticFieldContext& magFieldContext,
32  std::function<const Acts::Surface&(const ActsTrk::Seed&)> retrieveSurface) const override;
33 
34  virtual
35  std::optional<Acts::BoundTrackParameters>
36  estimateTrackParameters(const EventContext& ctx,
37  const ActsTrk::Seed& seed,
38  const Acts::GeometryContext& geoContext,
39  const Acts::Surface& surface,
40  const Acts::Vector3& bField) const override;
41 
42  // *********************************************************************
43  // *********************************************************************
44 
45  private:
46  // Properties
47  Gaudi::Property< double > m_sigmaLoc0 {this, "sigmaLoc0", 1 * Acts::UnitConstants::mm,
48  "Constant term of the loc0 resolution"};
49  Gaudi::Property< double > m_sigmaLoc1 {this, "sigmaLoc1", 1 * Acts::UnitConstants::mm,
50  "Constant term of the loc1 resolution"};
51  Gaudi::Property< double > m_sigmaPhi {this, "sigmaPhi", 0.1 * Acts::UnitConstants::degree,
52  "Phi angular resolution"};
53  Gaudi::Property< double > m_sigmaTheta {this, "sigmaTheta", 0.1 * Acts::UnitConstants::degree,
54  "Theta angular resolution"};
55  Gaudi::Property< double > m_sigmaQOverP {this, "sigmaQOverP", 0.1 * Acts::UnitConstants::e / Acts::UnitConstants::GeV,
56  "q/p resolution"};
57  Gaudi::Property< double > m_sigmaT0 {this, "sigmaT0", 1 * Acts::UnitConstants::ns,
58  "Time resolution"};
59  Gaudi::Property< double > m_initialSigmaPtRel {this, "initialSigmaPtRel", 0.1,
60  "Initial relative pT resolution"};
61  Gaudi::Property< std::vector<double> > m_initialVarInflation {this, "initialVarInflation", {1., 1., 1., 1., 1., 1.},
62  "Inflate tracks"};
63  Gaudi::Property< bool > m_useTopSp {this, "useTopSp", false,
64  "Use top SP. By default, use bottom SP."};
65 
67  const Acts::Logger &logger() const { return *m_logger; }
69  std::unique_ptr<const Acts::Logger> m_logger {nullptr};
70 
71  };
72 
73 } // namespace
74 
75 #endif
76 
ActsTrk::TrackParamsEstimationTool::m_sigmaLoc0
Gaudi::Property< double > m_sigmaLoc0
Definition: TrackParamsEstimationTool.h:47
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
ActsTrk::TrackParamsEstimationTool::estimateTrackParameters
virtual std::optional< Acts::BoundTrackParameters > estimateTrackParameters(const EventContext &ctx, const ActsTrk::Seed &seed, const Acts::GeometryContext &geoContext, const Acts::MagneticFieldContext &magFieldContext, std::function< const Acts::Surface &(const ActsTrk::Seed &)> retrieveSurface) const override
Definition: TrackParamsEstimationTool.cxx:37
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
ActsTrk::TrackParamsEstimationTool::m_initialSigmaPtRel
Gaudi::Property< double > m_initialSigmaPtRel
Definition: TrackParamsEstimationTool.h:59
ActsTrk::TrackParamsEstimationTool::m_initialVarInflation
Gaudi::Property< std::vector< double > > m_initialVarInflation
Definition: TrackParamsEstimationTool.h:61
ActsTrk::TrackParamsEstimationTool::m_sigmaTheta
Gaudi::Property< double > m_sigmaTheta
Definition: TrackParamsEstimationTool.h:53
ActsTrk::TrackParamsEstimationTool::~TrackParamsEstimationTool
virtual ~TrackParamsEstimationTool()=default
ActsTrk::TrackParamsEstimationTool::m_sigmaLoc1
Gaudi::Property< double > m_sigmaLoc1
Definition: TrackParamsEstimationTool.h:49
ActsTrk::TrackParamsEstimationTool::m_sigmaPhi
Gaudi::Property< double > m_sigmaPhi
Definition: TrackParamsEstimationTool.h:51
ActsTrk::TrackParamsEstimationTool
Definition: TrackParamsEstimationTool.h:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ActsTrk::Seed
Acts::Seed< xAOD::SpacePoint, 3ul > Seed
Definition: Seed.h:12
ActsTrk::TrackParamsEstimationTool::m_useTopSp
Gaudi::Property< bool > m_useTopSp
Definition: TrackParamsEstimationTool.h:63
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
ActsTrk::TrackParamsEstimationTool::TrackParamsEstimationTool
TrackParamsEstimationTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrackParamsEstimationTool.cxx:11
ActsTrk::TrackParamsEstimationTool::m_logger
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Definition: TrackParamsEstimationTool.h:69
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ActsTrk::TrackParamsEstimationTool::m_sigmaT0
Gaudi::Property< double > m_sigmaT0
Definition: TrackParamsEstimationTool.h:57
ITrackParamsEstimationTool.h
python.SystemOfUnits.ns
int ns
Definition: SystemOfUnits.py:130
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:54
ActsTrk::TrackParamsEstimationTool::logger
const Acts::Logger & logger() const
Private access to the logger.
Definition: TrackParamsEstimationTool.h:67
ActsTrk::TrackParamsEstimationTool::initialize
virtual StatusCode initialize() override
Definition: TrackParamsEstimationTool.cxx:17
Logger.h
ActsTrk::TrackParamsEstimationTool::m_sigmaQOverP
Gaudi::Property< double > m_sigmaQOverP
Definition: TrackParamsEstimationTool.h:55
python.SystemOfUnits.degree
tuple degree
Definition: SystemOfUnits.py:106