ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::DeviceTrackFindingAlg Class Reference

Algorithm executing traccc track finding on the GPU. More...

#include <DeviceTrackFindingAlg.h>

Inheritance diagram for ActsTrk::DeviceTrackFindingAlg:
Collaboration diagram for ActsTrk::DeviceTrackFindingAlg:

Public Member Functions

virtual StatusCode initialize () override
 Function initializing the algorithm.
virtual StatusCode execute (const EventContext &ctx) const override
 Function executing the algorithm.
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual bool isClonable () const override
 Specify if the algorithm is clonable.
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
virtual bool filterPassed (const EventContext &ctx) const
 Get filter decision:
virtual void setFilterPassed (bool state, const EventContext &ctx) const
 Set filter decision:
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvc > StoreGateSvc_t

Private Member Functions

virtual StatusCode configureTrackFinding ()
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

traccc::finding_config m_finding_cfg
const traccc::magnetic_field * m_deviceMagField {nullptr}
const traccc::detector_buffer * m_deviceDetector {nullptr}
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default).
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default).
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared
The tool that provides backend-specific traccc track parameter estimation algorithms
ToolHandle< IDeviceTrackFindingAlgProviderTool > m_trkFindingAlgProviderTool
The name of device resident input traccc measurement collection
SG::ReadHandleKey< traccc::edm::measurement_collection::const_view > m_inputMeasKey
The name of device resident input traccc inhom. mag. field
Gaudi::Property< std::string > m_inputMagFieldKey
The name of device resident input traccc detector geometry
Gaudi::Property< std::string > m_deviceDetectorObjectName
The name of device resident input traccc track parameter collection

{@

SG::ReadHandleKey< traccc::bound_track_parameters_collection_types::buffer > m_inputTrkParamKey
The name of device resident output traccc track collection

{@

SG::WriteHandleKey< traccc_track_container::buffer > m_outputTracksKey
Track finding properties

{@

Gaudi::Property< unsigned int > m_maxNumBranchesPerSeed
Gaudi::Property< unsigned int > m_maxNumBranchesPerSurface
Gaudi::Property< unsigned int > m_minTrackCandidatesPerTrack
Gaudi::Property< unsigned int > m_maxTrackCandidatesPerTrack
Gaudi::Property< unsigned int > m_maxNumSkippingPerCand
Gaudi::Property< unsigned int > m_maxNumConsecutiveSkipped
Gaudi::Property< float > m_chi2Max
Gaudi::Property< float > m_minPt
Gaudi::Property< float > m_minP
Gaudi::Property< unsigned int > m_maxNumTracksPerMeasurement
Gaudi::Property< unsigned int > m_initialLinksPerSeed
Gaudi::Property< float > m_minStepLengthForNextSurface
Gaudi::Property< unsigned int > m_maxStepCountsForNextSurface

Detailed Description

Algorithm executing traccc track finding on the GPU.

The backend-specific track finding algorithm is provided by a dedicated tool, together with the device memory resource.

The algorithm retrieves the device resident traccc track parameter and measurement collection from the event store, passes them to the device track reconstruction algorithm and records the resulting device resident traccc track and track states collections back into the event store.

Author
Neža Ribarič neza..nosp@m.riba.nosp@m.ric@c.nosp@m.ern..nosp@m.ch

Definition at line 38 of file DeviceTrackFindingAlg.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Function Documentation

◆ configureTrackFinding()

StatusCode ActsTrk::DeviceTrackFindingAlg::configureTrackFinding ( )
privatevirtual

Definition at line 41 of file DeviceTrackFindingAlg.cxx.

42{
43
44 ATH_MSG_INFO("Setting up configs");
45
46 m_finding_cfg.max_num_branches_per_seed = m_maxNumBranchesPerSeed;
47 m_finding_cfg.max_num_branches_per_surface = m_maxNumBranchesPerSurface;
48 m_finding_cfg.min_track_candidates_per_track = m_minTrackCandidatesPerTrack;
49 m_finding_cfg.max_track_candidates_per_track = m_maxTrackCandidatesPerTrack;
50 m_finding_cfg.min_step_length_for_next_surface =
51 m_minStepLengthForNextSurface * unit<float>::mm;
52 m_finding_cfg.max_step_counts_for_next_surface = m_maxStepCountsForNextSurface;
53 m_finding_cfg.chi2_max = m_chi2Max;
54 m_finding_cfg.max_num_skipping_per_cand = m_maxNumSkippingPerCand;
55 m_finding_cfg.max_num_consecutive_skipped = m_maxNumConsecutiveSkipped;
56 m_finding_cfg.min_pT = m_minPt * unit<float>::MeV;
57 m_finding_cfg.min_p = m_minP * unit<float>::MeV;
58
59 m_finding_cfg.propagation.stepping.min_stepsize = 1e-4f * unit<float>::mm;
60 m_finding_cfg.propagation.stepping.rk_error_tol = 1e-4f * unit<float>::mm;
61 m_finding_cfg.propagation.stepping.step_constraint =
62 std::numeric_limits<float>::max();
63 m_finding_cfg.propagation.stepping.path_limit = 5.f * unit<float>::m;
64 m_finding_cfg.propagation.stepping.max_rk_updates = 10000u;
65 m_finding_cfg.propagation.stepping.use_mean_loss = true;
66 m_finding_cfg.propagation.stepping.use_eloss_gradient = false;
67 m_finding_cfg.propagation.stepping.use_field_gradient = false;
68 m_finding_cfg.propagation.stepping.do_covariance_transport = true;
69 m_finding_cfg.propagation.navigation.intersection.overstep_tolerance =
70 -300.f * unit<float>::um;
71
72 m_finding_cfg.max_num_tracks_per_measurement = m_maxNumTracksPerMeasurement;
73 m_finding_cfg.initial_links_per_seed = m_initialLinksPerSeed;
74
75 return StatusCode::SUCCESS;
76
77}
#define ATH_MSG_INFO(x,...)
Gaudi::Property< unsigned int > m_maxNumBranchesPerSeed
Gaudi::Property< unsigned int > m_maxStepCountsForNextSurface
Gaudi::Property< unsigned int > m_maxNumSkippingPerCand
Gaudi::Property< unsigned int > m_maxNumBranchesPerSurface
Gaudi::Property< unsigned int > m_initialLinksPerSeed
Gaudi::Property< unsigned int > m_maxNumTracksPerMeasurement
Gaudi::Property< float > m_chi2Max
Gaudi::Property< unsigned int > m_maxNumConsecutiveSkipped
Gaudi::Property< float > m_minStepLengthForNextSurface
Gaudi::Property< unsigned int > m_maxTrackCandidatesPerTrack
Gaudi::Property< unsigned int > m_minTrackCandidatesPerTrack

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode ActsTrk::DeviceTrackFindingAlg::execute ( const EventContext & ctx) const
overridevirtual

Function executing the algorithm.

Definition at line 79 of file DeviceTrackFindingAlg.cxx.

80{
81 ATH_MSG_DEBUG("Executing device track finding.");
82
83 // ---- 1. Read traccc input from StoreGate --------------------------------
84 auto inputTracccMeasurements = SG::makeHandle(m_inputMeasKey, ctx);
85 ATH_CHECK(inputTracccMeasurements.isValid());
86 ATH_MSG_DEBUG("Read traccc measurements from '"
87 << inputTracccMeasurements.key() << "'");
88
89 auto inputTracccTrkParam = SG::makeHandle(m_inputTrkParamKey, ctx);
90 ATH_CHECK(inputTracccTrkParam.isValid());
91 ATH_MSG_DEBUG("Read traccc trk param from '"
92 << inputTracccTrkParam.key() << "'");
93
94 // ---- 2. Get traccc track finding alg ---------------------------------------------
95 auto trkfinding_alg = m_trkFindingAlgProviderTool->getAlgorithm(ctx, m_finding_cfg);
96
97 // ---- 3. Run traccc track finding ---------------------------------------------
98 auto tracks_container_buffer = (*trkfinding_alg)(*m_deviceDetector, *m_deviceMagField, *inputTracccMeasurements, *inputTracccTrkParam);
99 ATH_MSG_DEBUG("Reconstructed " << trkfinding_alg.copy().get_size(tracks_container_buffer.tracks) << " track parameters.");
100
101 // ---- 4. Write output traccc tracks and track states to StoreGate -------------------------
102 auto outputTracccTracks = SG::makeHandle(m_outputTracksKey, ctx);
103 ATH_CHECK(outputTracccTracks.record(
104 std::make_unique<traccc_track_container::buffer>(
105 std::move(tracks_container_buffer))));
106 ATH_MSG_DEBUG("Wrote tracks buffer to '" << m_outputTracksKey.key() << "'");
107
108 return StatusCode::SUCCESS;
109}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
SG::ReadHandleKey< traccc::edm::measurement_collection::const_view > m_inputMeasKey
const traccc::magnetic_field * m_deviceMagField
SG::ReadHandleKey< traccc::bound_track_parameters_collection_types::buffer > m_inputTrkParamKey
const traccc::detector_buffer * m_deviceDetector
ToolHandle< IDeviceTrackFindingAlgProviderTool > m_trkFindingAlgProviderTool
SG::WriteHandleKey< traccc_track_container::buffer > m_outputTracksKey
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthCommonAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 89 of file AthCommonAlgorithm.cxx.

54{
55 // If we didn't find any symlinks to add, just return the collection
56 // from the base class. Otherwise, return the extended collection.
57 if (!m_extendedExtraObjects.empty()) {
59 }
61}
Common base class for algorithms.

◆ filterPassed()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Get filter decision:

Definition at line 93 of file AthCommonAlgorithm.h.

93 {
94 return execState( ctx ).filterPassed();
95 }
virtual bool filterPassed(const EventContext &ctx) const
Get filter decision:

◆ initialize()

StatusCode ActsTrk::DeviceTrackFindingAlg::initialize ( )
overridevirtual

Function initializing the algorithm.

Definition at line 22 of file DeviceTrackFindingAlg.cxx.

23{
24 ATH_MSG_DEBUG("Initializing " << name());
25
27
28 ATH_CHECK(m_inputMeasKey.initialize());
29 ATH_CHECK(m_inputTrkParamKey.initialize());
30 ATH_CHECK(m_outputTracksKey.initialize());
31
34
36
37 ATH_MSG_DEBUG("Successfully initialized");
38 return StatusCode::SUCCESS;
39}
Gaudi::Property< std::string > m_deviceDetectorObjectName
Gaudi::Property< std::string > m_inputMagFieldKey
const ServiceHandle< StoreGateSvc > & detStore() const

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ isClonable()

virtual bool AthCommonAlgorithm< Gaudi::Algorithm >::isClonable ( ) const
inlineoverridevirtualinherited

Specify if the algorithm is clonable.

Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.

Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.

Definition at line 68 of file AthCommonAlgorithm.h.

68 {
69 return true;
70 }

◆ msg()

MsgStream & AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed()

virtual void AthCommonAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Set filter decision:

Definition at line 99 of file AthCommonAlgorithm.h.

99 {
101 }
virtual void setFilterPassed(bool state, const EventContext &ctx) const
Set filter decision:

◆ sysExecute()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Reimplemented in AthAnalysisAlgorithm.

Definition at line 80 of file AthCommonAlgorithm.cxx.

41{
42 return BaseAlg::sysExecute (ctx);
43}

◆ sysInitialize()

StatusCode AthCommonAlgorithm< Gaudi::Algorithm >::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.

Definition at line 60 of file AthCommonAlgorithm.cxx.

71 {
73
74 if (sc.isFailure()) {
75 return sc;
76 }
77
78 ServiceHandle<ICondSvc> cs("CondSvc",name());
79 for (auto h : outputHandles()) {
80 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
81 // do this inside the loop so we don't create the CondSvc until needed
82 if ( cs.retrieve().isFailure() ) {
83 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
85 }
86 if (cs->regHandle(this,*h).isFailure()) {
88 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
89 << " with CondSvc");
90 }
91 }
92 }
93 return sc;
94}
#define ATH_MSG_ERROR(x,...)
#define ATH_MSG_WARNING(x,...)
virtual StatusCode sysInitialize() override
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }

Member Data Documentation

◆ m_chi2Max

Gaudi::Property<float> ActsTrk::DeviceTrackFindingAlg::m_chi2Max
private
Initial value:
{this, "chi2Max", 30.f,
"maximum chi2 for a measurement to be added to a track candidate"}

Definition at line 98 of file DeviceTrackFindingAlg.h.

98 {this, "chi2Max", 30.f,
99 "maximum chi2 for a measurement to be added to a track candidate"};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default).

Definition at line 393 of file AthCommonDataStore.h.

◆ m_deviceDetector

const traccc::detector_buffer* ActsTrk::DeviceTrackFindingAlg::m_deviceDetector {nullptr}
private

Definition at line 116 of file DeviceTrackFindingAlg.h.

116{nullptr};

◆ m_deviceDetectorObjectName

Gaudi::Property<std::string> ActsTrk::DeviceTrackFindingAlg::m_deviceDetectorObjectName
private
Initial value:
{
this, "InputTracccDetectorGeometry", "",
"Input traccc detector geometry"}

Definition at line 66 of file DeviceTrackFindingAlg.h.

66 {
67 this, "InputTracccDetectorGeometry", "",
68 "Input traccc detector geometry"};

◆ m_deviceMagField

const traccc::magnetic_field* ActsTrk::DeviceTrackFindingAlg::m_deviceMagField {nullptr}
private

Definition at line 115 of file DeviceTrackFindingAlg.h.

115{nullptr};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default).

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 108 of file AthCommonAlgorithm.h.

◆ m_finding_cfg

traccc::finding_config ActsTrk::DeviceTrackFindingAlg::m_finding_cfg
private

Definition at line 114 of file DeviceTrackFindingAlg.h.

◆ m_initialLinksPerSeed

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_initialLinksPerSeed
private
Initial value:
{this, "initialLinksPerSeed", 20,
"initial number of links reserved per seed"}

Definition at line 106 of file DeviceTrackFindingAlg.h.

106 {this, "initialLinksPerSeed", 20,
107 "initial number of links reserved per seed"};

◆ m_inputMagFieldKey

Gaudi::Property<std::string> ActsTrk::DeviceTrackFindingAlg::m_inputMagFieldKey
private
Initial value:
{
this, "InputTracccMagField", "",
"Input traccc inhom. mag. field"}

Definition at line 62 of file DeviceTrackFindingAlg.h.

62 {
63 this, "InputTracccMagField", "",
64 "Input traccc inhom. mag. field"};

◆ m_inputMeasKey

SG::ReadHandleKey<traccc::edm::measurement_collection::const_view> ActsTrk::DeviceTrackFindingAlg::m_inputMeasKey
private
Initial value:
{
this, "InputTracccMeasurements", "",
"Input traccc measurements collection buffer"}

Definition at line 57 of file DeviceTrackFindingAlg.h.

57 {
58 this, "InputTracccMeasurements", "",
59 "Input traccc measurements collection buffer"};

◆ m_inputTrkParamKey

SG::ReadHandleKey<traccc::bound_track_parameters_collection_types::buffer> ActsTrk::DeviceTrackFindingAlg::m_inputTrkParamKey
private
Initial value:
{
this, "InputTracccTrackParameters", "",
"Input traccc track parameter collection buffer"}

Definition at line 72 of file DeviceTrackFindingAlg.h.

72 {
73 this, "InputTracccTrackParameters", "",
74 "Input traccc track parameter collection buffer"};

◆ m_maxNumBranchesPerSeed

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_maxNumBranchesPerSeed
private
Initial value:
{this, "maxNumBranchesPerSeed", 3,
"maximum number of branches per seed"}

Definition at line 86 of file DeviceTrackFindingAlg.h.

86 {this, "maxNumBranchesPerSeed", 3,
87 "maximum number of branches per seed"};

◆ m_maxNumBranchesPerSurface

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_maxNumBranchesPerSurface
private
Initial value:
{this, "maxNumBranchesPerSurface", 1,
"maximum number of branches per surface"}

Definition at line 88 of file DeviceTrackFindingAlg.h.

88 {this, "maxNumBranchesPerSurface", 1,
89 "maximum number of branches per surface"};

◆ m_maxNumConsecutiveSkipped

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_maxNumConsecutiveSkipped
private
Initial value:
{this, "maxNumConsecutiveSkipped", 1,
"maximum number of consecutive holes per track candidate"}

Definition at line 96 of file DeviceTrackFindingAlg.h.

96 {this, "maxNumConsecutiveSkipped", 1,
97 "maximum number of consecutive holes per track candidate"};

◆ m_maxNumSkippingPerCand

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_maxNumSkippingPerCand
private
Initial value:
{this, "maxNumSkippingPerCand", 2,
"maximum number of holes per track candidate"}

Definition at line 94 of file DeviceTrackFindingAlg.h.

94 {this, "maxNumSkippingPerCand", 2,
95 "maximum number of holes per track candidate"};

◆ m_maxNumTracksPerMeasurement

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_maxNumTracksPerMeasurement
private
Initial value:
{this, "maxNumTracksPerMeasurement", 1,
"maximum number of tracks sharing a measurement, 0 for no limit"}

Definition at line 104 of file DeviceTrackFindingAlg.h.

104 {this, "maxNumTracksPerMeasurement", 1,
105 "maximum number of tracks sharing a measurement, 0 for no limit"};

◆ m_maxStepCountsForNextSurface

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_maxStepCountsForNextSurface
private
Initial value:
{this, "maxStepCountsForNextSurface", 100,
"maximum number of steps to the next surface"}

Definition at line 110 of file DeviceTrackFindingAlg.h.

110 {this, "maxStepCountsForNextSurface", 100,
111 "maximum number of steps to the next surface"};

◆ m_maxTrackCandidatesPerTrack

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_maxTrackCandidatesPerTrack
private
Initial value:
{this, "maxTrackCandidatesPerTrack", 20,
"maximum number of measurements per track"}

Definition at line 92 of file DeviceTrackFindingAlg.h.

92 {this, "maxTrackCandidatesPerTrack", 20,
93 "maximum number of measurements per track"};

◆ m_minP

Gaudi::Property<float> ActsTrk::DeviceTrackFindingAlg::m_minP
private
Initial value:
{this, "minP", 100.f,
"minimum momentum of a track candidate [MeV]"}

Definition at line 102 of file DeviceTrackFindingAlg.h.

102 {this, "minP", 100.f,
103 "minimum momentum of a track candidate [MeV]"};

◆ m_minPt

Gaudi::Property<float> ActsTrk::DeviceTrackFindingAlg::m_minPt
private
Initial value:
{this, "minPt", 600.f,
"minimum transverse momentum of a track candidate [MeV]"}

Definition at line 100 of file DeviceTrackFindingAlg.h.

100 {this, "minPt", 600.f,
101 "minimum transverse momentum of a track candidate [MeV]"};

◆ m_minStepLengthForNextSurface

Gaudi::Property<float> ActsTrk::DeviceTrackFindingAlg::m_minStepLengthForNextSurface
private
Initial value:
{this, "minStepLengthForNextSurface", 0.5f,
"minimum step length to the next surface [mm]"}

Definition at line 108 of file DeviceTrackFindingAlg.h.

108 {this, "minStepLengthForNextSurface", 0.5f,
109 "minimum step length to the next surface [mm]"};

◆ m_minTrackCandidatesPerTrack

Gaudi::Property<unsigned int> ActsTrk::DeviceTrackFindingAlg::m_minTrackCandidatesPerTrack
private
Initial value:
{this, "minTrackCandidatesPerTrack", 7,
"minimum number of measurements per track"}

Definition at line 90 of file DeviceTrackFindingAlg.h.

90 {this, "minTrackCandidatesPerTrack", 7,
91 "minimum number of measurements per track"};

◆ m_outputTracksKey

SG::WriteHandleKey<traccc_track_container::buffer> ActsTrk::DeviceTrackFindingAlg::m_outputTracksKey
private
Initial value:
{
this, "OutputTracccTracks", "",
"Output traccc tracks collection buffer"}

Definition at line 79 of file DeviceTrackFindingAlg.h.

79 {
80 this, "OutputTracccTracks", "",
81 "Output traccc tracks collection buffer"};

◆ m_trkFindingAlgProviderTool

ToolHandle<IDeviceTrackFindingAlgProviderTool> ActsTrk::DeviceTrackFindingAlg::m_trkFindingAlgProviderTool
private
Initial value:
{
this, "TrackFindingAlgProviderTool", "",
"Tool providing the appropriate backend device track finding algorithm"}

Definition at line 52 of file DeviceTrackFindingAlg.h.

52 {
53 this, "TrackFindingAlgProviderTool", "",
54 "Tool providing the appropriate backend device track finding algorithm"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: