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,
41  double bFieldMin) const override;
42 
43  // *********************************************************************
44  // *********************************************************************
45 
46  private:
47  // Properties
48  Gaudi::Property< double > m_bFieldMin {this, "bFieldMin", 0.1 * Acts::UnitConstants::T,
49  "The minimum magnetic field to trigger the track parameters estimation"};
50  Gaudi::Property< double > m_sigmaLoc0 {this, "sigmaLoc0", 1 * Acts::UnitConstants::mm,
51  "Constant term of the loc0 resolution"};
52  Gaudi::Property< double > m_sigmaLoc1 {this, "sigmaLoc1", 1 * Acts::UnitConstants::mm,
53  "Constant term of the loc1 resolution"};
54  Gaudi::Property< double > m_sigmaPhi {this, "sigmaPhi", 0.1 * Acts::UnitConstants::degree,
55  "Phi angular resolution"};
56  Gaudi::Property< double > m_sigmaTheta {this, "sigmaTheta", 0.1 * Acts::UnitConstants::degree,
57  "Theta angular resolution"};
58  Gaudi::Property< double > m_sigmaQOverP {this, "sigmaQOverP", 0.1 * Acts::UnitConstants::e / Acts::UnitConstants::GeV,
59  "q/p resolution"};
60  Gaudi::Property< double > m_sigmaT0 {this, "sigmaT0", 1 * Acts::UnitConstants::ns,
61  "Time resolution"};
62  Gaudi::Property< double > m_initialSigmaPtRel {this, "initialSigmaPtRel", 0.1,
63  "Initial relative pT resolution"};
64  Gaudi::Property< std::vector<double> > m_initialVarInflation {this, "initialVarInflation", {1., 1., 1., 1., 1., 1.},
65  "Inflate tracks"};
66  Gaudi::Property< bool > m_useTopSp {this, "useTopSp", false,
67  "Use top SP. By default, use bottom SP."};
68 
70  const Acts::Logger &logger() const { return *m_logger; }
72  std::unique_ptr<const Acts::Logger> m_logger {nullptr};
73 
74  };
75 
76 } // namespace
77 
78 #endif
79 
ActsTrk::TrackParamsEstimationTool::m_sigmaLoc0
Gaudi::Property< double > m_sigmaLoc0
Definition: TrackParamsEstimationTool.h:50
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:38
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
ActsTrk::TrackParamsEstimationTool::m_initialSigmaPtRel
Gaudi::Property< double > m_initialSigmaPtRel
Definition: TrackParamsEstimationTool.h:62
ActsTrk::TrackParamsEstimationTool::m_initialVarInflation
Gaudi::Property< std::vector< double > > m_initialVarInflation
Definition: TrackParamsEstimationTool.h:64
ActsTrk::TrackParamsEstimationTool::m_sigmaTheta
Gaudi::Property< double > m_sigmaTheta
Definition: TrackParamsEstimationTool.h:56
ActsTrk::TrackParamsEstimationTool::~TrackParamsEstimationTool
virtual ~TrackParamsEstimationTool()=default
ActsTrk::TrackParamsEstimationTool::m_sigmaLoc1
Gaudi::Property< double > m_sigmaLoc1
Definition: TrackParamsEstimationTool.h:52
ActsTrk::TrackParamsEstimationTool::m_sigmaPhi
Gaudi::Property< double > m_sigmaPhi
Definition: TrackParamsEstimationTool.h:54
ActsTrk::TrackParamsEstimationTool
Definition: TrackParamsEstimationTool.h:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ActsTrk::TrackParamsEstimationTool::m_bFieldMin
Gaudi::Property< double > m_bFieldMin
Definition: TrackParamsEstimationTool.h:48
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:66
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
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:72
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:60
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:49
ActsTrk::TrackParamsEstimationTool::logger
const Acts::Logger & logger() const
Private access to the logger.
Definition: TrackParamsEstimationTool.h:70
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:58
python.SystemOfUnits.degree
tuple degree
Definition: SystemOfUnits.py:106
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35