ATLAS Offline Software
Loading...
Searching...
No Matches
ActsMuonTrackingGeometryTest.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSMUONTRACKINGGEOMETRYTEST_ACTSMUONTRACKINGGEOMETRYTEST_H
6#define ACTSMUONTRACKINGGEOMETRYTEST_ACTSMUONTRACKINGGEOMETRYTEST_H
7
10
19
24
25
29
30class IAthRNGSvc;
31
32
33namespace ActsTrk {
34
36
38
39 public:
41
43
44 StatusCode initialize() override;
45 StatusCode execute() override;
46 StatusCode finalize() override;
47
48 private:
49
51
52 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "IdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
53
54 ServiceHandle<IAthRNGSvc> m_rndmGenSvc{this, "AthRNGSvc", "AthRNGSvc"};
55
56 PublicToolHandle<ActsTrk::ITrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", "ActsTrackingGeometryTool"};
57
59 "MuonDetectorManager", "MuonManager ReadKey for IOV Range intersection"};
60
62 "fieldCondObj", "Name of the Magnetic Field conditions object key"};
63
64 SG::ReadHandleKey<ActsTrk::GeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
65
67
68 SG::ReadDecorHandleKey<xAOD::TruthParticleContainer> m_truthSegLinkKey{this, "TruthKeyToSeg", m_truthParticleKey, "truthSegmentLinks", "TruthParticle to TruthSegment link"};
69
70 UnsignedIntegerProperty m_nEvents{this, "nEvents", 100};
71
72 DoubleProperty m_pathLimit{this, "PathLimit", 30.*Gaudi::Units::m};
73
74 DoubleProperty m_maxStepSize{this, "MaxStepSize", 1*Gaudi::Units::m};
75
76 UnsignedIntegerProperty m_maxSteps{this, "MaxSteps", 100000};
77
78 UnsignedIntegerProperty m_maxTargetSkipping{this, "MaxTargetSkipping", 10000};
79
80 DoubleProperty m_stepTolerance{this, "StepTolerance", 1e-10};
81
82 Gaudi::Property<bool> m_startFromFirstHit{this, "StartFromFirstHit", false, "Start from first hit"};
83
84 Amg::Transform3D toLocalTrf(const ActsTrk::GeometryContext& gctx, const Identifier& hitId) const;
85
86 Amg::Transform3D toGlobalTrf(const ActsTrk::GeometryContext& gctx, const Identifier& hitId) const;
87
88 IdentifierHash layerHash(const Identifier& id) const;
89
90 Gaudi::Property<std::vector<double>> m_etaRange{this, "EtaRange", {-3, 3}, "The eta range for particles"};
91
92 MuonVal::MuonTesterTree m_tree{"MuonNavigationTestGen3R4", "MuonNavigationTestGen3R4"};
94 MuonVal::VectorBranch<unsigned short>& m_techIdx{m_tree.newVector<unsigned short>("detId_techIdx")};
95 MuonVal::VectorBranch<unsigned short>& m_gasGapId{m_tree.newVector<unsigned short>("detId_gasGap")};
99 MuonVal::ScalarBranch<float>& m_truthPt{m_tree.newScalar<float>("truthPt")};
100 MuonVal::ScalarBranch<float>& m_truthP{m_tree.newScalar<float>("truthP")};
102 MuonVal::VectorBranch<float>& m_actsPropabsMomentum{m_tree.newVector<float>("actsPropabsMomentum")};
106 MuonVal::VectorBranch<float>& m_actsHitWireDist{m_tree.newVector<float>("actsHitWireDist")};
107 MuonVal::VectorBranch<float>& m_actsStepSize{m_tree.newVector<float>("actsStepSize")};
108 MuonVal::ScalarBranch<float>& m_propLength{m_tree.newScalar<float>("propLength")};
109 MuonVal::VectorBranch<unsigned short>& m_isPropagated{m_tree.newVector<unsigned short>("isPropagated")};
110 MuonVal::ScalarBranch<unsigned int>& m_propSteps{m_tree.newScalar<unsigned int>("propSteps")};
111 MuonVal::ScalarBranch<unsigned int>& m_event{m_tree.newScalar<unsigned int>("event")};
112
113
114 };
115}
116
117#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
Extrapolation test for the ActsMuonTrackingGeometry for gen3.
MuonVal::ScalarBranch< unsigned int > & m_propSteps
MuonVal::VectorBranch< unsigned short > & m_isPropagated
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
MuonVal::VectorBranch< unsigned short > & m_gasGapId
MuonVal::VectorBranch< float > & m_actsHitWireDist
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_truthParticleKey
const MuonGMR4::MuonDetectorManager * m_r4DetMgr
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Amg::Transform3D toGlobalTrf(const ActsTrk::GeometryContext &gctx, const Identifier &hitId) const
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_truthSegLinkKey
MuonVal::VectorBranch< float > & m_actsPropabsMomentum
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
IdentifierHash layerHash(const Identifier &id) const
MuonVal::ScalarBranch< unsigned int > & m_event
Amg::Transform3D toLocalTrf(const ActsTrk::GeometryContext &gctx, const Identifier &hitId) const
MuonVal::VectorBranch< unsigned short > & m_techIdx
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_detMgrKey
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
MuonVal::VectorBranch< float > & m_actsStepSize
Gaudi::Property< std::vector< double > > m_etaRange
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
AthHistogramAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
manage multiple RandomEngines in thread-safe way.
Definition IAthRNGSvc.h:28
This is a "hash" representation of an Identifier.
Class to dump the basic properties of an Identifier into an n-tuple StationName -> BIS,...
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Eigen::Affine3d Transform3D