ATLAS Offline Software
TrackParamsEstimationTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRACKRECONSTRUCTION_TRACKPARAMSESTIMATIONTOOL_H
6 #define ACTSTRACKRECONSTRUCTION_TRACKPARAMSESTIMATIONTOOL_H
7 
8 // ATHENA
11 
12 namespace ActsTrk {
13 
15  public extends<AthAlgTool, ActsTrk::ITrackParamsEstimationTool> {
16 
17  public:
18  TrackParamsEstimationTool(const std::string& type, const std::string& name,
19  const IInterface* parent);
20  virtual ~TrackParamsEstimationTool() = default;
21 
22  virtual StatusCode initialize() override;
23 
24  // Interface
25  virtual
26  std::optional<Acts::BoundTrackParameters>
27  estimateTrackParameters(const EventContext& ctx,
28  const ActsTrk::Seed& seed,
29  const Acts::GeometryContext& geoContext,
30  const Acts::MagneticFieldContext& magFieldContext,
31  std::function<const Acts::Surface&(const ActsTrk::Seed&)> retrieveSurface) const override;
32 
33  virtual
34  std::optional<Acts::BoundTrackParameters>
35  estimateTrackParameters(const EventContext& ctx,
36  const ActsTrk::Seed& seed,
37  const Acts::GeometryContext& geoContext,
38  const Acts::Surface& surface,
39  const Acts::BoundSquareMatrix& covariance,
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", 25 * Acts::UnitConstants::um,
51  "Constant term of the loc0 resolution"};
52  Gaudi::Property< double > m_sigmaLoc1 {this, "sigmaLoc1", 100 * Acts::UnitConstants::um,
53  "Constant term of the loc1 resolution"};
54  Gaudi::Property< double > m_sigmaPhi {this, "sigmaPhi", 0.02 * Acts::UnitConstants::degree,
55  "Phi angular resolution"};
56  Gaudi::Property< double > m_sigmaTheta {this, "sigmaTheta", 0.02 * Acts::UnitConstants::degree,
57  "Theta angular resolution"};
58  Gaudi::Property< double > m_sigmaQOverP {this, "sigmaQOverP", 0.1 / 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< std::vector<double> > m_initialVarInflation {this, "initialVarInflation", {1., 1., 1., 1., 1., 1.},
63  "Inflate tracks"};
64 
67  Acts::BoundSquareMatrix m_covariance = Acts::BoundSquareMatrix::Zero();
68  };
69 
70 } // namespace
71 
72 #endif
73 
ActsTrk::TrackParamsEstimationTool::m_sigmaLoc0
Gaudi::Property< double > m_sigmaLoc0
Definition: TrackParamsEstimationTool.h:50
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:47
ActsTrk::TrackParamsEstimationTool::m_initialVarInflation
Gaudi::Property< std::vector< double > > m_initialVarInflation
Definition: TrackParamsEstimationTool.h:62
ActsTrk::TrackParamsEstimationTool::m_sigmaTheta
Gaudi::Property< double > m_sigmaTheta
Definition: TrackParamsEstimationTool.h:56
ActsTrk::Seed
Acts::Seed< xAOD::SpacePoint > Seed
Definition: Seed.h:13
ActsTrk::TrackParamsEstimationTool::~TrackParamsEstimationTool
virtual ~TrackParamsEstimationTool()=default
ActsTrk::TrackParamsEstimationTool::m_covariance
Acts::BoundSquareMatrix m_covariance
The track parameters covariance (assumed to be the same for all estimated track parameters for the mo...
Definition: TrackParamsEstimationTool.h:67
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:15
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
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ActsTrk::TrackParamsEstimationTool::TrackParamsEstimationTool
TrackParamsEstimationTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrackParamsEstimationTool.cxx:10
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:34
ActsTrk::TrackParamsEstimationTool::initialize
virtual StatusCode initialize() override
Definition: TrackParamsEstimationTool.cxx:16
ActsTrk::TrackParamsEstimationTool::m_sigmaQOverP
Gaudi::Property< double > m_sigmaQOverP
Definition: TrackParamsEstimationTool.h:58
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
python.SystemOfUnits.degree
tuple degree
Definition: SystemOfUnits.py:106
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32