ATLAS Offline Software
ExtrapolatorComparisonTest.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ExtrapolatorComparisonTest.h, (c) ATLAS Detector software
8 
9 #ifndef TRKEXALGS_TRKEXTRAPOLATORCOMPARISONTEST_H
10 #define TRKEXALGS_TRKEXTRAPOLATORCOMPARISONTEST_H
11 
12 // Gaudi includes
14 
15 // ATHENA
16 #include "GaudiKernel/ServiceHandle.h"
17 #include "Gaudi/Property.h" /*no forward decl: typedef*/
18 #include "GaudiKernel/ISvcLocator.h"
19 #include "GaudiKernel/EventContext.h"
23 // ACTS
27 #include "Acts/EventData/TrackParameters.hpp"
28 // STL
29 #include <memory>
30 #include <vector>
31 #include <fstream>
32 #include <mutex>
33 
34 namespace Acts {
35  class TrackingGeometry;
36 
37  namespace detail {
38  struct Step;
39  }
40 }
41 
43  double m_d0 ;
44  double m_z0 ;
45  double m_phi ;
46  double m_eta ;
47  double m_pt ;
48  double m_charge;
49  perigeeParameters(double d0, double z0, double phi, double eta, double pt, double charge):
51 };
52 
53 namespace Trk
54 {
70  {
71  public:
72 
74  ExtrapolatorComparisonTest(const std::string& name, ISvcLocator* pSvcLocator);
77 
79  StatusCode initialize() override;
81  StatusCode execute(const EventContext& ctx) const override;
83  StatusCode finalize() override;
84 
85  private:
86 
92  {
94  ActsTrackWrapper(const Acts::BoundTrackParameters* trackParams, Acts::GeometryContext& ctx)
95  : m_params(trackParams)
96  , m_geometryContext(ctx) {};
97 
99  Acts::Vector3 position() const {return m_params->position(m_geometryContext);}
101  Acts::BoundVector parameters() const {return m_params->parameters();}
103  const std::optional<Acts::BoundSquareMatrix>& covariance() const {return m_params->covariance();}
104 
105  private:
107  const Acts::BoundTrackParameters* m_params;
109  Acts::GeometryContext m_geometryContext;
110  };
111 
112  void generatePerigee(std::vector<perigeeParameters>& parameters);
113 
115  ToolHandle<IActsExtrapolationTool> m_extrapolationTool{this, "ExtrapolationTool", "ActsExtrapolationTool"};
116 
118  ToolHandle<Trk::IExtrapolator> m_atlasExtrapolator {this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
119 
120 
121  double m_sigmaD0;
122  double m_sigmaZ0;
123  double m_minPhi;
124  double m_maxPhi;
125  double m_minEta;
126  double m_maxEta;
127  double m_minPt;
128  double m_maxPt;
129 
131 
133  unsigned int m_referenceSurfaces;
134 
135  std::vector<double> m_referenceSurfaceRadius;
136  std::vector<double> m_referenceSurfaceHalflength;
137 
140 
141  std::vector< std::vector<const Trk::Surface*> > m_atlasReferenceSurfaceTriples;
142  std::vector< std::vector< std::shared_ptr<const Acts::Surface> > > m_actsReferenceSurfaceTriples;
143 
145 
150  };
151 } // end of namespace
152 
153 #endif
Trk::ExtrapolatorComparisonTest::m_referenceSurfaceRadius
std::vector< double > m_referenceSurfaceRadius
Definition: ExtrapolatorComparisonTest.h:135
Trk::ExtrapolatorComparisonTest::m_atlasReferenceSurfaceTriples
std::vector< std::vector< const Trk::Surface * > > m_atlasReferenceSurfaceTriples
Definition: ExtrapolatorComparisonTest.h:141
Trk::ExtrapolatorComparisonTest::m_minPhi
double m_minPhi
Minimal phi value.
Definition: ExtrapolatorComparisonTest.h:123
Trk::ExtrapolatorComparisonTest::ActsTrackWrapper::parameters
Acts::BoundVector parameters() const
Parameter getter.
Definition: ExtrapolatorComparisonTest.h:101
Trk::ExtrapolatorComparisonTest::ActsTrackWrapper
Definition: ExtrapolatorComparisonTest.h:92
perigeeParameters
Definition: ExtrapolatorComparisonTest.h:42
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
Trk::ExtrapolatorComparisonTest::~ExtrapolatorComparisonTest
~ExtrapolatorComparisonTest()
Default Destructor.
Definition: ExtrapolatorComparisonTest.cxx:90
Trk::ExtrapolatorComparisonTest::m_minEta
double m_minEta
Minimal eta value.
Definition: ExtrapolatorComparisonTest.h:125
ActsGeometryContext.h
Trk::ExtrapolatorComparisonTest::m_eventsPerExecute
int m_eventsPerExecute
Definition: ExtrapolatorComparisonTest.h:144
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
perigeeParameters::m_pt
double m_pt
Definition: ExtrapolatorComparisonTest.h:47
perigeeParameters::m_charge
double m_charge
Definition: ExtrapolatorComparisonTest.h:48
Trk::ExtrapolatorComparisonTest::m_referenceSurfacePositiveBoundary
std::vector< double > m_referenceSurfacePositiveBoundary
Definition: ExtrapolatorComparisonTest.h:139
Trk::ExtrapolatorComparisonTest::ExtrapolatorComparisonTest
ExtrapolatorComparisonTest(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: ExtrapolatorComparisonTest.cxx:52
Trk::ExtrapolatorComparisonTest::m_atlasExtrapolator
ToolHandle< Trk::IExtrapolator > m_atlasExtrapolator
The ATLAS Extrapolator to be retrieved.
Definition: ExtrapolatorComparisonTest.h:118
test_pyathena.pt
pt
Definition: test_pyathena.py:11
Trk::ExtrapolatorComparisonTest::finalize
StatusCode finalize() override
standard Athena-Algorithm method
Definition: ExtrapolatorComparisonTest.cxx:168
Trk::ExtrapolatorComparisonTest::ActsTrackWrapper::m_geometryContext
Acts::GeometryContext m_geometryContext
The Acts geometry context.
Definition: ExtrapolatorComparisonTest.h:109
IExtrapolator.h
detail
Definition: extract_histogram_tag.cxx:14
Trk::ExtrapolatorComparisonTest::m_extrapolationTool
ToolHandle< IActsExtrapolationTool > m_extrapolationTool
The ACTS ExtrapolationTool to be retrieved.
Definition: ExtrapolatorComparisonTest.h:115
Trk::ExtrapolatorComparisonTest::m_referenceSurfaceNegativeBoundary
std::vector< double > m_referenceSurfaceNegativeBoundary
Definition: ExtrapolatorComparisonTest.h:138
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
Trk::ExtrapolatorComparisonTest::ActsTrackWrapper::m_params
const Acts::BoundTrackParameters * m_params
The Acts track parameters.
Definition: ExtrapolatorComparisonTest.h:107
Trk::ExtrapolatorComparisonTest::m_referenceSurfaceHalflength
std::vector< double > m_referenceSurfaceHalflength
Definition: ExtrapolatorComparisonTest.h:136
Trk::ExtrapolatorComparisonTest::initialize
StatusCode initialize() override
standard Athena-Algorithm method
Definition: ExtrapolatorComparisonTest.cxx:105
Acts
Definition: MultiTrajectory.h:45
perigeeParameters::perigeeParameters
perigeeParameters(double d0, double z0, double phi, double eta, double pt, double charge)
Definition: ExtrapolatorComparisonTest.h:49
Trk::ExtrapolatorComparisonTest::m_sigmaD0
double m_sigmaD0
Sigma of distribution for D0.
Definition: ExtrapolatorComparisonTest.h:121
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::ExtrapolatorComparisonTest::m_sigmaZ0
double m_sigmaZ0
Sigma of distribution for Z0.
Definition: ExtrapolatorComparisonTest.h:122
perigeeParameters::m_phi
double m_phi
Definition: ExtrapolatorComparisonTest.h:45
TRT::Track::d0
@ d0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:62
Trk::ExtrapolatorComparisonTest::execute
StatusCode execute(const EventContext &ctx) const override
standard Athena-Algorithm method
Definition: ExtrapolatorComparisonTest.cxx:176
Trk::ExtrapolatorComparisonTest::m_actsReferenceSurfaceTriples
std::vector< std::vector< std::shared_ptr< const Acts::Surface > > > m_actsReferenceSurfaceTriples
Definition: ExtrapolatorComparisonTest.h:142
Trk::ExtrapolatorComparisonTest::m_actsPropResultWriterSvc
ServiceHandle< PropResultRootWriterSvc > m_actsPropResultWriterSvc
Definition: ExtrapolatorComparisonTest.h:147
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
Trk::ExtrapolatorComparisonTest::m_randomEngine
ATHRNG::RNGWrapper * m_randomEngine
Definition: ExtrapolatorComparisonTest.h:149
Trk::ExtrapolatorComparisonTest::ActsTrackWrapper::position
Acts::Vector3 position() const
Position getter.
Definition: ExtrapolatorComparisonTest.h:99
AthReentrantAlgorithm.h
Trk::ExtrapolatorComparisonTest::m_referenceSurfaces
unsigned int m_referenceSurfaces
member variables for algorithm properties:
Definition: ExtrapolatorComparisonTest.h:133
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ATHRNG::RNGWrapper
A wrapper class for event-slot-local random engines.
Definition: RNGWrapper.h:56
charge
double charge(const T &p)
Definition: AtlasPID.h:494
PropResultRootWriterSvc.h
perigeeParameters::m_d0
double m_d0
Definition: ExtrapolatorComparisonTest.h:43
Trk::ExtrapolatorComparisonTest::m_maxPt
double m_maxPt
Maximal p value.
Definition: ExtrapolatorComparisonTest.h:128
RNGWrapper.h
Trk::ExtrapolatorComparisonTest::m_maxEta
double m_maxEta
Maximal eta value.
Definition: ExtrapolatorComparisonTest.h:126
Trk::ExtrapolatorComparisonTest::m_particleType
int m_particleType
the particle typre for the extrap.
Definition: ExtrapolatorComparisonTest.h:130
Trk::ExtrapolatorComparisonTest
Definition: ExtrapolatorComparisonTest.h:70
Trk::ExtrapolatorComparisonTest::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: ExtrapolatorComparisonTest.h:148
Trk::ExtrapolatorComparisonTest::ActsTrackWrapper::ActsTrackWrapper
ActsTrackWrapper(const Acts::BoundTrackParameters *trackParams, Acts::GeometryContext &ctx)
Constructor.
Definition: ExtrapolatorComparisonTest.h:94
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
Trk::ExtrapolatorComparisonTest::m_atlasPropResultWriterSvc
ServiceHandle< PropResultRootWriterSvc > m_atlasPropResultWriterSvc
Definition: ExtrapolatorComparisonTest.h:146
perigeeParameters::m_eta
double m_eta
Definition: ExtrapolatorComparisonTest.h:46
perigeeParameters::m_z0
double m_z0
Definition: ExtrapolatorComparisonTest.h:44
Trk::ExtrapolatorComparisonTest::ActsTrackWrapper::covariance
const std::optional< Acts::BoundSquareMatrix > & covariance() const
Covariance getter.
Definition: ExtrapolatorComparisonTest.h:103
Trk::ExtrapolatorComparisonTest::generatePerigee
void generatePerigee(std::vector< perigeeParameters > &parameters)
Trk::ExtrapolatorComparisonTest::m_minPt
double m_minPt
Minimal p value.
Definition: ExtrapolatorComparisonTest.h:127
IActsExtrapolationTool.h
IAthRNGSvc.h
ServiceHandle
Definition: ClusterMakerTool.h:37
Trk::ExtrapolatorComparisonTest::m_maxPhi
double m_maxPhi
Maximal phi value.
Definition: ExtrapolatorComparisonTest.h:124