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
28 
29 
30 // Handle Keys
31 #include <memory>
32 #include <string>
33 
37 
38 namespace ActsTrk {
39 
41  public:
42  ScoreBasedAmbiguityResolutionAlg(const std::string &name,
43  ISvcLocator *pSvcLocator);
44 
45  virtual StatusCode initialize() override;
46  virtual StatusCode execute(const EventContext &ctx) const override;
47 
48  private:
49  ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "",
50  "Monitoring tool"};
51  ToolHandle<IActsTrackingGeometryTool> m_trackingGeometryTool{
52  this, "TrackingGeometryTool", ""};
53 
55  this, "TracksLocation", "", "Input track collection"};
58  this, "ResolvedTracksLocation", "",
59  "Ambiguity resolved output track collection"};
60 
61  Gaudi::Property<double> m_minScore{this, "MinScore", 0.0,
62  "Minimum score for track selection."};
63  Gaudi::Property<double> m_minScoreSharedTracks{
64  this, "MinScoreSharedTracks", 0.0,
65  "Minimum score for shared track selection."};
66  Gaudi::Property<std::size_t> m_maxSharedTracksPerMeasurement{
67  this, "MaxSharedTracksPerMeasurement", 10,
68  "Maximum number of shared tracks per measurement."};
69  Gaudi::Property<std::size_t> m_maxShared{
70  this, "MaxShared", 5, "Maximum number of shared hit per track."};
71 
72  Gaudi::Property<double> m_pTMin{this, "PTMin", 0 * Acts::UnitConstants::GeV,
73  "Minimum transverse momentum."};
74  Gaudi::Property<double> m_pTMax{this, "PTMax", 1e5 * Acts::UnitConstants::GeV,
75  "Maximum transverse momentum."};
76 
77  Gaudi::Property<double> m_phiMin{this, "PhiMin",
79  "Minimum azimuthal angle."};
80  Gaudi::Property<double> m_phiMax{this, "PhiMax",
82  "Maximum azimuthal angle."};
83 
84  Gaudi::Property<double> m_etaMin{this, "EtaMin", -5,
85  "Minimum pseudorapidity."};
86  Gaudi::Property<double> m_etaMax{this, "EtaMax", 5,
87  "Maximum pseudorapidity."};
88 
89  Gaudi::Property<bool> m_useAmbiguityFunction{
90  this, "UseAmbiguityFunction", false,
91  "Flag to enable/disable ambiguity function."};
92 
93  Gaudi::Property<std::string> m_jsonFileName{
94  this, "jsonFileName", "ScoreBasedAmbiguity_Config.json",
95  "Name of the JSON file that contains the config file."};
96 
97  std::unique_ptr<Acts::ScoreBasedAmbiguityResolution> m_ambi{nullptr};
98 
101  this, "InDetEtaDependentCutsSvc", ""};
102 };
103 
104 } // namespace ActsTrk
105 
106 #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:49
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_jsonFileName
Gaudi::Property< std::string > m_jsonFileName
Definition: ScoreBasedAmbiguityResolutionAlg.h:93
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_etaMax
Gaudi::Property< double > m_etaMax
Definition: ScoreBasedAmbiguityResolutionAlg.h:86
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_phiMax
Gaudi::Property< double > m_phiMax
Definition: ScoreBasedAmbiguityResolutionAlg.h:80
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_phiMin
Gaudi::Property< double > m_phiMin
Definition: ScoreBasedAmbiguityResolutionAlg.h:77
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_useAmbiguityFunction
Gaudi::Property< bool > m_useAmbiguityFunction
Definition: ScoreBasedAmbiguityResolutionAlg.h:89
ActsTrk::ScoreBasedAmbiguityResolutionAlg::ScoreBasedAmbiguityResolutionAlg
ScoreBasedAmbiguityResolutionAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ScoreBasedAmbiguityResolutionAlg.cxx:51
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_resolvedTracksBackendHandles
ActsTrk::MutableTrackContainerHandlesHelper m_resolvedTracksBackendHandles
Definition: ScoreBasedAmbiguityResolutionAlg.h:56
M_PI
#define M_PI
Definition: ActiveFraction.h:11
ActsTrk::ScoreBasedAmbiguityResolutionAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: ScoreBasedAmbiguityResolutionAlg.cxx:104
SG::ReadHandleKey< ActsTrk::TrackContainer >
ActsTrk::ScoreBasedAmbiguityResolutionAlg
Definition: ScoreBasedAmbiguityResolutionAlg.h:40
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_tracksKey
SG::ReadHandleKey< ActsTrk::TrackContainer > m_tracksKey
Definition: ScoreBasedAmbiguityResolutionAlg.h:54
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:97
GenericMonitoringTool.h
SG::WriteHandleKey< ActsTrk::TrackContainer >
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_minScore
Gaudi::Property< double > m_minScore
Definition: ScoreBasedAmbiguityResolutionAlg.h:61
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
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_etaDependentCutsSvc
ServiceHandle< InDet::IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
ITk eta-dependent cuts.
Definition: ScoreBasedAmbiguityResolutionAlg.h:100
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:228
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_trackingGeometryTool
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
Definition: ScoreBasedAmbiguityResolutionAlg.h:51
SiDetectorElementCollection.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_pTMin
Gaudi::Property< double > m_pTMin
Definition: ScoreBasedAmbiguityResolutionAlg.h:72
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_minScoreSharedTracks
Gaudi::Property< double > m_minScoreSharedTracks
Definition: ScoreBasedAmbiguityResolutionAlg.h:63
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_maxShared
Gaudi::Property< std::size_t > m_maxShared
Definition: ScoreBasedAmbiguityResolutionAlg.h:69
StripClusterContainer.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_etaMin
Gaudi::Property< double > m_etaMin
Definition: ScoreBasedAmbiguityResolutionAlg.h:84
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:54
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_maxSharedTracksPerMeasurement
Gaudi::Property< std::size_t > m_maxSharedTracksPerMeasurement
Definition: ScoreBasedAmbiguityResolutionAlg.h:66
TrackContainerHandlesHelper.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_resolvedTracksKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_resolvedTracksKey
Definition: ScoreBasedAmbiguityResolutionAlg.h:57
IInDetEtaDependentCutsSvc.h
TrackContainer.h
IActsTrackingGeometryTool.h
ActsTrk::ScoreBasedAmbiguityResolutionAlg::initialize
virtual StatusCode initialize() override
Definition: ScoreBasedAmbiguityResolutionAlg.cxx:55
ActsTrk::ScoreBasedAmbiguityResolutionAlg::m_pTMax
Gaudi::Property< double > m_pTMax
Definition: ScoreBasedAmbiguityResolutionAlg.h:74
python.SystemOfUnits.rad
int rad
Definition: SystemOfUnits.py:111
ServiceHandle< InDet::IInDetEtaDependentCutsSvc >