ATLAS Offline Software
ScoreBasedAmbiguityResolutionAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H
6 #define ACTSTRKFINDING_SCOREBASEDAMBIGUITYRESOLUTIONALG_H 1
7 
8 // Base Class
10 
11 // Gaudi includes
12 #include "Gaudi/Property.h"
13 #include "GaudiKernel/ToolHandle.h"
14 
15 // ACTS
16 #include "Acts/AmbiguityResolution/ScoreBasedAmbiguityResolution.hpp"
17 #include "Acts/Definitions/Units.hpp"
18 #include "Acts/Utilities/Logger.hpp"
20 
21 // Athena
27 
28 // Handle Keys
29 #include <memory>
30 #include <string>
31 
35 
36 namespace ActsTrk {
37 
39  public:
40  ScoreBasedAmbiguityResolutionAlg(const std::string &name,
41  ISvcLocator *pSvcLocator);
42 
43  virtual StatusCode initialize() override;
44  virtual StatusCode execute(const EventContext &ctx) const override;
45 
46  private:
47  ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "",
48  "Monitoring tool"};
49  ToolHandle<IActsTrackingGeometryTool> m_trackingGeometryTool{
50  this, "TrackingGeometryTool", ""};
51 
53  this, "TracksLocation", "", "Input track collection"};
56  this, "ResolvedTracksLocation", "",
57  "Ambiguity resolved output track collection"};
58 
59  Gaudi::Property<double> m_minScore{this, "MinScore", 0.0,
60  "Minimum score for track selection."};
61  Gaudi::Property<double> m_minScoreSharedTracks{
62  this, "MinScoreSharedTracks", 0.0,
63  "Minimum score for shared track selection."};
64  Gaudi::Property<std::size_t> m_maxSharedTracksPerMeasurement{
65  this, "MaxSharedTracksPerMeasurement", 10,
66  "Maximum number of shared tracks per measurement."};
67  Gaudi::Property<std::size_t> m_maxShared{
68  this, "MaxShared", 5, "Maximum number of shared hit per track."};
69 
70  Gaudi::Property<double> m_pTMin{this, "PTMin", 0 * Acts::UnitConstants::GeV,
71  "Minimum transverse momentum."};
72  Gaudi::Property<double> m_pTMax{this, "PTMax", 1e5 * Acts::UnitConstants::GeV,
73  "Maximum transverse momentum."};
74 
75  Gaudi::Property<double> m_phiMin{this, "PhiMin",
77  "Minimum azimuthal angle."};
78  Gaudi::Property<double> m_phiMax{this, "PhiMax",
80  "Maximum azimuthal angle."};
81 
82  Gaudi::Property<double> m_etaMin{this, "EtaMin", -5,
83  "Minimum pseudorapidity."};
84  Gaudi::Property<double> m_etaMax{this, "EtaMax", 5,
85  "Maximum pseudorapidity."};
86 
87  Gaudi::Property<bool> m_useAmbiguityFunction{
88  this, "UseAmbiguityFunction", false,
89  "Flag to enable/disable ambiguity function."};
90 
91  Gaudi::Property<std::string> m_jsonFileName{
92  this, "jsonFileName", "ScoreBasedAmbiguity_Config.json",
93  "Name of the JSON file that contains the config file."};
94 
95  std::unique_ptr<Acts::ScoreBasedAmbiguityResolution> m_ambi {nullptr};
96 };
97 
98 } // namespace ActsTrk
99 
100 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: ScoreBasedAmbiguityResolutionAlg.h:47
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_jsonFileName
Gaudi::Property< std::string > m_jsonFileName
Definition: ScoreBasedAmbiguityResolutionAlg.h:91
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_etaMax
Gaudi::Property< double > m_etaMax
Definition: ScoreBasedAmbiguityResolutionAlg.h:84
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_phiMax
Gaudi::Property< double > m_phiMax
Definition: ScoreBasedAmbiguityResolutionAlg.h:78
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_phiMin
Gaudi::Property< double > m_phiMin
Definition: ScoreBasedAmbiguityResolutionAlg.h:75
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_useAmbiguityFunction
Gaudi::Property< bool > m_useAmbiguityFunction
Definition: ScoreBasedAmbiguityResolutionAlg.h:87
ActsTrk::ScoreBasedAmbiguityResolutionAlg::ScoreBasedAmbiguityResolutionAlg
ScoreBasedAmbiguityResolutionAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ScoreBasedAmbiguityResolutionAlg.cxx:49
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_resolvedTracksBackendHandles
ActsTrk::MutableTrackContainerHandlesHelper m_resolvedTracksBackendHandles
Definition: ScoreBasedAmbiguityResolutionAlg.h:54
M_PI
#define M_PI
Definition: ActiveFraction.h:11
ActsTrk::ScoreBasedAmbiguityResolutionAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: ScoreBasedAmbiguityResolutionAlg.cxx:101
SG::ReadHandleKey< ActsTrk::TrackContainer >
ActsTrk::ScoreBasedAmbiguityResolutionAlg
Definition: ScoreBasedAmbiguityResolutionAlg.h:38
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_tracksKey
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksKey
Definition: ScoreBasedAmbiguityResolutionAlg.h:52
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_ambi
std::unique_ptr< Acts::ScoreBasedAmbiguityResolution > m_ambi
Definition: ScoreBasedAmbiguityResolutionAlg.h:95
GenericMonitoringTool.h
SG::WriteHandleKey< ActsTrk::TrackContainer >
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_minScore
Gaudi::Property< double > m_minScore
Definition: ScoreBasedAmbiguityResolutionAlg.h:59
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelClusterContainer.h
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
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:221
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_trackingGeometryTool
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
Definition: ScoreBasedAmbiguityResolutionAlg.h:49
SiDetectorElementCollection.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_pTMin
Gaudi::Property< double > m_pTMin
Definition: ScoreBasedAmbiguityResolutionAlg.h:70
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_minScoreSharedTracks
Gaudi::Property< double > m_minScoreSharedTracks
Definition: ScoreBasedAmbiguityResolutionAlg.h:61
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_maxShared
Gaudi::Property< std::size_t > m_maxShared
Definition: ScoreBasedAmbiguityResolutionAlg.h:67
StripClusterContainer.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_etaMin
Gaudi::Property< double > m_etaMin
Definition: ScoreBasedAmbiguityResolutionAlg.h:82
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:49
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_maxSharedTracksPerMeasurement
Gaudi::Property< std::size_t > m_maxSharedTracksPerMeasurement
Definition: ScoreBasedAmbiguityResolutionAlg.h:64
TrackContainerHandlesHelper.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_resolvedTracksKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_resolvedTracksKey
Definition: ScoreBasedAmbiguityResolutionAlg.h:55
TrackContainer.h
IActsTrackingGeometryTool.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::initialize
virtual StatusCode initialize() override
Definition: ScoreBasedAmbiguityResolutionAlg.cxx:53
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_pTMax
Gaudi::Property< double > m_pTMax
Definition: ScoreBasedAmbiguityResolutionAlg.h:72
python.SystemOfUnits.rad
int rad
Definition: SystemOfUnits.py:111