ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
Acts
ActsDataPreparation
src
details
DataPreparationAlg.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 ACTSTRK_DATA_PREPARATION_ALG_H
6
#define ACTSTRK_DATA_PREPARATION_ALG_H
7
8
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
9
#include "
AthenaMonitoringKernel/GenericMonitoringTool.h
"
10
#include "GaudiKernel/ToolHandle.h"
11
#include "
IRegionSelector/IRegSelTool.h
"
12
#include "
StoreGate/ReadHandleKey.h
"
13
#include "
StoreGate/ReadCondHandleKey.h
"
14
#include "
StoreGate/WriteHandleKey.h
"
15
#include "
TrigSteeringEvent/TrigRoiDescriptorCollection.h
"
16
#include "
xAODMeasurementBase/MeasurementDefs.h
"
17
#include "
ActsEvent/PrepRawDataAssociation.h
"
18
19
#include <set>
20
21
// Cache
22
#include "
EventContainers/IdentifiableContainer.h
"
23
#include "
EventContainers/IdentifiableCache.h
"
24
#include "
src/Cache.h
"
25
26
namespace
ActsTrk
{
27
28
template
<
typename
external_collection_t,
29
typename
external_detector_element_collection_t,
30
bool
useCache
>
31
class
DataPreparationAlg
32
:
public
AthReentrantAlgorithm
{
33
public
:
34
using
object_t
=
typename
external_collection_t::base_value_type;
35
using
input_collection_t
= external_collection_t;
36
using
output_collection_t
=
ConstDataVector<input_collection_t>
;
37
38
using
cache_read_handle_key_t
=
typename
ActsTrk::Cache::Handles<object_t>::ReadHandleKey
;
39
using
cache_read_handle_t
=
typename
ActsTrk::Cache::Handles<object_t>::ReadHandle
;
40
41
DataPreparationAlg
(
const
std::string& name, ISvcLocator* pSvcLocator);
42
virtual
~DataPreparationAlg
()
override
=
default
;
43
44
virtual
StatusCode
initialize
()
override
;
45
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
46
virtual
StatusCode
finalize
()
override
;
47
48
protected
:
49
virtual
inline
xAOD::DetectorIDHashType
retrieveDetectorIDHash
(
const
object_t
& obj)
const
;
50
51
// Common way of fetching the hash ids from the RoI(s)
52
virtual
StatusCode
fetchIdHashes
(
const
EventContext& ctx,
53
std::set<IdentifierHash>& hashes)
const
;
54
55
private
:
56
// Different ways of filling the output collection
57
StatusCode
fill
(
const
EventContext& ctx,
58
output_collection_t
& outputCollection)
const
;
59
60
StatusCode
fill
(
const
EventContext& ctx,
61
output_collection_t
& outputCollection)
const
62
requires
(useCache ==
true
);
63
64
protected
:
65
ToolHandle< GenericMonitoringTool >
m_monTool
{
this
,
"MonTool"
,
""
,
66
"Monitoring tool"
};
67
68
ToolHandle<IRegSelTool>
m_regionSelector
{
this
,
"RegSelTool"
,
""
,
69
"Region selector tool"
};
70
71
SG::ReadCondHandleKey< external_detector_element_collection_t >
m_detEleCollKey
{
this
,
"DetectorElements"
,
""
,
72
"Key of input DetectorElementCollection"
};
73
74
SG::ReadHandleKey< input_collection_t >
m_inputCollectionKey
{
this
,
"InputCollection"
,
""
,
75
"Input Collection that will go throug selection process"
};
76
77
SG::ReadHandleKey< TrigRoiDescriptorCollection >
m_roiCollectionKey
{
this
,
"RoIs"
,
""
,
78
"RoIs to read in"
};
79
80
SG::ReadHandleKey< ActsTrk::PrepRawDataAssociation >
m_inputPrdMap
{
this
,
"InputPrdMap"
,
""
,
81
"Map of used measurements from previous tracking pass"
};
82
83
SG::WriteHandleKey< output_collection_t >
m_outputCollectionKey
{
this
,
"OutputCollection"
,
""
,
84
"Output Collection - result of the selection process"
};
85
86
cache_read_handle_key_t
m_inputIdentifiableContainer
{
this
,
"InputIDC"
,
""
,
87
"The input IDC container"
};
88
89
private
:
90
enum
EStat
{
91
kNInputs
,
92
kNOutputs
,
93
kNStat
94
};
95
96
mutable
std::array<std::atomic<unsigned int>,
kNStat
> m_stat
ATLAS_THREAD_SAFE
{};
97
};
98
99
}
// namespace
100
101
#include "
DataPreparationAlg.icc
"
102
103
#endif
AthReentrantAlgorithm.h
Cache.h
DataPreparationAlg.icc
GenericMonitoringTool.h
IRegSelTool.h
IdentifiableCache.h
IdentifiableContainer.h
This class is a general container which can hold objects of accessed by an IdentifierHash For more in...
MeasurementDefs.h
PrepRawDataAssociation.h
ReadCondHandleKey.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TrigRoiDescriptorCollection.h
ActsTrk::Cache::Handles::ReadHandleKey
SG::ReadHandleKey< IDC > ReadHandleKey
Definition
Cache.h:51
ActsTrk::Cache::Handles::ReadHandle
SG::ReadHandle< IDC > ReadHandle
Definition
Cache.h:52
ActsTrk::DataPreparationAlg::output_collection_t
ConstDataVector< input_collection_t > output_collection_t
Definition
DataPreparationAlg.h:36
ActsTrk::DataPreparationAlg::m_inputCollectionKey
SG::ReadHandleKey< input_collection_t > m_inputCollectionKey
Definition
DataPreparationAlg.h:74
ActsTrk::DataPreparationAlg::fill
StatusCode fill(const EventContext &ctx, output_collection_t &outputCollection) const
ActsTrk::DataPreparationAlg::m_regionSelector
ToolHandle< IRegSelTool > m_regionSelector
Definition
DataPreparationAlg.h:68
ActsTrk::DataPreparationAlg::EStat
EStat
Definition
DataPreparationAlg.h:90
ActsTrk::DataPreparationAlg::kNOutputs
@ kNOutputs
Definition
DataPreparationAlg.h:92
ActsTrk::DataPreparationAlg::kNInputs
@ kNInputs
Definition
DataPreparationAlg.h:91
ActsTrk::DataPreparationAlg::kNStat
@ kNStat
Definition
DataPreparationAlg.h:93
ActsTrk::DataPreparationAlg::m_inputIdentifiableContainer
cache_read_handle_key_t m_inputIdentifiableContainer
Definition
DataPreparationAlg.h:86
ActsTrk::DataPreparationAlg::fill
StatusCode fill(const EventContext &ctx, output_collection_t &outputCollection) const
ActsTrk::DataPreparationAlg::ATLAS_THREAD_SAFE
std::array< std::atomic< unsigned int >, kNStat > m_stat ATLAS_THREAD_SAFE
Definition
DataPreparationAlg.h:96
ActsTrk::DataPreparationAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override
ActsTrk::DataPreparationAlg::object_t
typename external_collection_t::base_value_type object_t
Definition
DataPreparationAlg.h:34
ActsTrk::DataPreparationAlg::cache_read_handle_t
typename ActsTrk::Cache::Handles< object_t >::ReadHandle cache_read_handle_t
Definition
DataPreparationAlg.h:39
ActsTrk::DataPreparationAlg::m_detEleCollKey
SG::ReadCondHandleKey< external_detector_element_collection_t > m_detEleCollKey
Definition
DataPreparationAlg.h:71
ActsTrk::DataPreparationAlg::m_roiCollectionKey
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
Definition
DataPreparationAlg.h:77
ActsTrk::DataPreparationAlg::finalize
virtual StatusCode finalize() override
ActsTrk::DataPreparationAlg::cache_read_handle_key_t
typename ActsTrk::Cache::Handles< object_t >::ReadHandleKey cache_read_handle_key_t
Definition
DataPreparationAlg.h:38
ActsTrk::DataPreparationAlg::retrieveDetectorIDHash
virtual xAOD::DetectorIDHashType retrieveDetectorIDHash(const object_t &obj) const
ActsTrk::DataPreparationAlg::m_inputPrdMap
SG::ReadHandleKey< ActsTrk::PrepRawDataAssociation > m_inputPrdMap
Definition
DataPreparationAlg.h:80
ActsTrk::DataPreparationAlg::m_outputCollectionKey
SG::WriteHandleKey< output_collection_t > m_outputCollectionKey
Definition
DataPreparationAlg.h:83
ActsTrk::DataPreparationAlg::DataPreparationAlg
DataPreparationAlg(const std::string &name, ISvcLocator *pSvcLocator)
ActsTrk::DataPreparationAlg::fetchIdHashes
virtual StatusCode fetchIdHashes(const EventContext &ctx, std::set< IdentifierHash > &hashes) const
ActsTrk::DataPreparationAlg::input_collection_t
external_collection_t input_collection_t
Definition
DataPreparationAlg.h:35
ActsTrk::DataPreparationAlg::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
DataPreparationAlg.h:65
ActsTrk::DataPreparationAlg::initialize
virtual StatusCode initialize() override
ActsTrk::DataPreparationAlg::~DataPreparationAlg
virtual ~DataPreparationAlg() override=default
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition
ConstDataVector.h:76
SG::ReadCondHandleKey< external_detector_element_collection_t >
SG::ReadHandleKey< input_collection_t >
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition
MdtCalibInput.h:31
F100IntegrationConfig.useCache
useCache
Definition
F100IntegrationConfig.py:249
xAOD::DetectorIDHashType
unsigned int DetectorIDHashType
@ detector ID element hash
Definition
MeasurementDefs.h:48
Generated on
for ATLAS Offline Software by
1.17.0