ATLAS Offline Software
AmbiguityResolutionAlg.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 ACTSTRKFINDING_AMBIGUITYRESOLUTIONALG_H
6 #define ACTSTRKFINDING_AMBIGUITYRESOLUTIONALG_H 1
7 
8 // Base Class
10 
11 // Gaudi includes
12 #include "GaudiKernel/ToolHandle.h"
13 #include "Gaudi/Property.h"
14 
15 // ACTS
17 #include "Acts/Utilities/Logger.hpp"
18 #include "Acts/AmbiguityResolution/GreedyAmbiguityResolution.hpp"
19 
20 // Athena
26 
27 // Handle Keys
31 
32 #include <string>
33 #include <memory>
34 
35 namespace ActsTrk
36 {
37 
39  {
40  public:
41  AmbiguityResolutionAlg(const std::string &name,
42  ISvcLocator *pSvcLocator);
43 
44  virtual StatusCode initialize() override;
45  virtual StatusCode execute(const EventContext &ctx) const override;
46 
47  private:
48  ToolHandle< GenericMonitoringTool > m_monTool {this, "MonTool", "", "Monitoring tool"};
49  ToolHandle<IActsTrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", ""};
50 
52  {this, "TracksLocation", "", "Input track collection"};
55  {this, "ResolvedTracksLocation", "", "Ambiguity resolved output track collection"};
56 
57  Gaudi::Property<unsigned int> m_maximumSharedHits
58  {this, "MaximumSharedHits", 3u, "Maximum number of shared hits per track."};
59  Gaudi::Property<unsigned int> m_maximumIterations
60  {this, "MaximumIterations", 10000u, "Maximum number of iterations to resolve ambiguities among all tracks."};
61  Gaudi::Property<unsigned int> m_nMeasurementsMin
62  {this, "NMeasurementsMin", 7u, "Minimum number of measurements per track."};
63 
64  std::unique_ptr<Acts::GreedyAmbiguityResolution> m_ambi;
65 
66  };
67 
68 } // namespace
69 
70 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ActsTrk::AmbiguityResolutionAlg::m_maximumIterations
Gaudi::Property< unsigned int > m_maximumIterations
Definition: AmbiguityResolutionAlg.h:60
ActsTrk::AmbiguityResolutionAlg::m_resolvedTracksBackendHandles
ActsTrk::MutableTrackContainerHandlesHelper m_resolvedTracksBackendHandles
Definition: AmbiguityResolutionAlg.h:53
SG::ReadHandleKey< ActsTrk::TrackContainer >
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
ActsTrk::AmbiguityResolutionAlg::m_ambi
std::unique_ptr< Acts::GreedyAmbiguityResolution > m_ambi
Definition: AmbiguityResolutionAlg.h:64
GenericMonitoringTool.h
ActsTrk::AmbiguityResolutionAlg
Definition: AmbiguityResolutionAlg.h:39
SG::WriteHandleKey< ActsTrk::TrackContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelClusterContainer.h
ActsTrk::AmbiguityResolutionAlg::m_nMeasurementsMin
Gaudi::Property< unsigned int > m_nMeasurementsMin
Definition: AmbiguityResolutionAlg.h:62
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
ActsTrk::AmbiguityResolutionAlg::initialize
virtual StatusCode initialize() override
Definition: AmbiguityResolutionAlg.cxx:46
ActsTrk::AmbiguityResolutionAlg::AmbiguityResolutionAlg
AmbiguityResolutionAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: AmbiguityResolutionAlg.cxx:40
ActsTrk::AmbiguityResolutionAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: AmbiguityResolutionAlg.h:48
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ActsTrk::AmbiguityResolutionAlg::m_maximumSharedHits
Gaudi::Property< unsigned int > m_maximumSharedHits
Definition: AmbiguityResolutionAlg.h:58
SiDetectorElementCollection.h
ActsTrk::AmbiguityResolutionAlg::m_trackingGeometryTool
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
Definition: AmbiguityResolutionAlg.h:49
ActsTrk::AmbiguityResolutionAlg::m_resolvedTracksKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_resolvedTracksKey
Definition: AmbiguityResolutionAlg.h:55
StripClusterContainer.h
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:34
TrackContainerHandlesHelper.h
ActsTrk::AmbiguityResolutionAlg::m_tracksKey
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksKey
Definition: AmbiguityResolutionAlg.h:52
ActsTrk::AmbiguityResolutionAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: AmbiguityResolutionAlg.cxx:65
TrackContainer.h
IActsTrackingGeometryTool.h