ATLAS Offline Software
MSTrackFindingAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef MUONTRACKFINIDNGALGS_MSTRACKFINIDNGALG_H
5 #define MUONTRACKFINIDNGALGS_MSTRACKFINIDNGALG_H
6 
8 
9 
13 
17 
20 
25 
29 
31 
32 #include "GaudiKernel/SystemOfUnits.h"
33 
34 
35 namespace MuonR4{
37  public:
38  using AthReentrantAlgorithm::AthReentrantAlgorithm;
39 
40  virtual ~MSTrackFindingAlg();
43  virtual StatusCode initialize() override final;
45  virtual StatusCode execute(const EventContext& ctx) const override final;
46  private:
51  std::unique_ptr<MsTrackSeedContainer> findTrackSeeds(const EventContext& ctx,
53 
54 
55  void fitSeedCandidate(const Acts::GeometryContext& gCtx,
56  const Acts::MagneticFieldContext& mCtx,
57  const Acts::CalibrationContext& cCtx,
58  const MsTrackSeed& seed,
59  ActsTrk::MutableTrackContainer& outContainer) const;
62  SG::ReadHandleKeyArray<xAOD::MuonSegmentContainer> m_segmentKeys{this, "SegmentContainer", {} };
64  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "IdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
67 
69  SG::WriteHandleKey<MsTrackSeedContainer> m_msTrkSeedKey{this, "MsTrkSeedKey", "MsTrackSeeds"};
71  ToolHandle<ISegmentSelectionTool> m_segSelector{this, "SegmentSelectionTool" , "" };
73  ToolHandle<ActsTrk::IFitterTool> m_trackFitTool{this, "FittingTool", ""};
75  PublicToolHandle<ActsTrk::ITrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", ""};
77  ToolHandle<IActsExtrapolationTool> m_extrapolationTool{this, "ExtrapolationTool" ,"" };
79  ToolHandle<MuonValR4::ITrackVisualizationTool> m_visualizationTool{this, "VisualizationTool", ""};
81  Gaudi::Property<double> m_seedHalfLength{this, "SeedHalfLength", 50.*Gaudi::Units::cm};
83  Gaudi::Property<std::string> m_writePrefix{this, "WritePrefix", "MuonSA"};
85  };
86 }
87 
88 #endif
ReadHandleKeyArray.h
MuonR4::MSTrackFindingAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
IdHelperSvc to decode the Identifiers.
Definition: MSTrackFindingAlg.h:64
MuonR4::MSTrackFindingAlg::m_seedHalfLength
Gaudi::Property< double > m_seedHalfLength
Maximum search window to search segments for.
Definition: MSTrackFindingAlg.h:81
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
MuonR4::MSTrackFindingAlg::m_writePrefix
Gaudi::Property< std::string > m_writePrefix
Output track container prefix.
Definition: MSTrackFindingAlg.h:83
MuonR4::MsTrackSeed
Definition: MsTrackSeed.h:18
MuonR4::MSTrackFindingAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Standard algorithm execution hook.
Definition: MSTrackFindingAlg.cxx:38
ActsTrk::MutableTrackContainer
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
Definition: TrackContainer.h:26
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
MuonR4::MSTrackFindingAlg::m_detMgr
const MuonGMR4::MuonDetectorManager * m_detMgr
Pointer to the MuonDetectorManager.
Definition: MSTrackFindingAlg.h:66
ITrackVisualizationTool.h
MuonSegmentContainer.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
MuonR4::MSTrackFindingAlg::initialize
virtual StatusCode initialize() override final
Standard algorithm hook to setup the extrapolator, retrieve the tools and declare algorithm's data de...
Definition: MSTrackFindingAlg.cxx:20
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
MuonR4::MSTrackFindingAlg::m_extrapolationTool
ToolHandle< IActsExtrapolationTool > m_extrapolationTool
Track extrapolation tool.
Definition: MSTrackFindingAlg.h:77
SG::WriteHandleKey< MsTrackSeedContainer >
MuonR4::MSTrackFindingAlg::m_trackFitTool
ToolHandle< ActsTrk::IFitterTool > m_trackFitTool
Track fitting tool.
Definition: MSTrackFindingAlg.h:73
Acts
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:17
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonR4::MSTrackFindingAlg::m_trackingGeometryTool
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
Tracking geometry tool.
Definition: MSTrackFindingAlg.h:75
ISegmentSelectionTool.h
MuonPatternContainer.h
SG::ReadHandleKeyArray
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Definition: StoreGate/StoreGate/ReadHandleKeyArray.h:32
MuonR4::MSTrackFindingAlg::m_trackContKeys
ActsTrk::MutableTrackContainerHandlesHelper m_trackContKeys
Definition: MSTrackFindingAlg.h:84
MsTrackSeed.h
MuonDetectorManager.h
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
MuonR4::MSTrackFindingAlg::m_segSelector
ToolHandle< ISegmentSelectionTool > m_segSelector
Segment selection tool to pick the good quality segments.
Definition: MSTrackFindingAlg.h:71
xAOD::MuonSegmentContainer
MuonSegmentContainer_v1 MuonSegmentContainer
Definition of the current "MuonSegment container version".
Definition: MuonSegmentContainer.h:14
ReadCondHandleKey.h
MuonR4::MSTrackFindingAlg
Definition: MSTrackFindingAlg.h:36
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
MuonR4::MSTrackFindingAlg::m_msTrkSeedKey
SG::WriteHandleKey< MsTrackSeedContainer > m_msTrkSeedKey
Temporary container write handle to push the seeds to store gate for later efficiency analysis.
Definition: MSTrackFindingAlg.h:69
IFitterTool.h
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
MuonR4::MsTrackSeedContainer
std::vector< MsTrackSeed > MsTrackSeedContainer
Definition: MsTrackSeed.h:61
ITrackingGeometryTool.h
private
#define private
Definition: xAODTruthCnvAlg.h:20
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MSTrackingVolumeBuilder.cxx:24
TrackContainerHandlesHelper.h
MuonR4::MSTrackFindingAlg::findTrackSeeds
std::unique_ptr< MsTrackSeedContainer > findTrackSeeds(const EventContext &ctx, const xAOD::MuonSegmentContainer &segments) const
Iterates over the search tree and combines close-by segments to a track seed.
Definition: MSTrackFindingAlg.cxx:72
MuonR4::MSTrackFindingAlg::m_segmentKeys
SG::ReadHandleKeyArray< xAOD::MuonSegmentContainer > m_segmentKeys
Declare the data dependency on the standard Mdt+Rpc+Tgc segment container & on the NSW segment contai...
Definition: MSTrackFindingAlg.h:62
MuonR4::MSTrackFindingAlg::m_visualizationTool
ToolHandle< MuonValR4::ITrackVisualizationTool > m_visualizationTool
Visualization tool to debug the track finding.
Definition: MSTrackFindingAlg.h:79
TrackContainer.h
TrackParticleContainer.h
IMuonIdHelperSvc.h
IActsExtrapolationTool.h
MuonR4::MSTrackFindingAlg::~MSTrackFindingAlg
virtual ~MSTrackFindingAlg()
MuonR4::MSTrackFindingAlg::fitSeedCandidate
void fitSeedCandidate(const Acts::GeometryContext &gCtx, const Acts::MagneticFieldContext &mCtx, const Acts::CalibrationContext &cCtx, const MsTrackSeed &seed, ActsTrk::MutableTrackContainer &outContainer) const
Definition: MSTrackFindingAlg.cxx:88
ServiceHandle< Muon::IMuonIdHelperSvc >