ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetEventCnv
InDetPrepRawDataToxAOD
src
SCT_PrepDataToxAOD.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5
*/
6
8
// SCT_PrepDataToxAOD.h
9
// Header file for class SCT_PrepDataToxAOD
11
12
#ifndef SCT_PREPDATATOXAOD_H
13
#define SCT_PREPDATATOXAOD_H
14
15
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
16
17
#include "
InDetPrepRawData/SCT_ClusterContainer.h
"
18
#include "
InDetRawData/SCT_RDO_Container.h
"
19
#include "
InDetReadoutGeometry/SiDetectorElementCollection.h
"
20
#include "
InDetSimData/InDetSimDataCollection.h
"
21
#include "
InDetSimEvent/SiHitCollection.h
"
22
#include "
StoreGate/ReadCondHandleKey.h
"
23
#include "
StoreGate/ReadHandleKey.h
"
24
#include "
StoreGate/WriteHandleKey.h
"
25
#include "
TrkTruthData/PRD_MultiTruthCollection.h
"
26
#include "
xAODTracking/TrackMeasurementValidation.h
"
27
#include "
xAODTracking/TrackMeasurementValidationContainer.h
"
28
29
#include "
GeneratorObjects/xAODTruthParticleLink.h
"
30
31
#include <atomic>
32
#include <string>
33
34
class
Identifier
;
35
class
SCT_ID
;
36
class
SCT_RDORawData
;
37
class
SiHit
;
38
39
namespace
InDet
40
{
41
class
SCT_Cluster
;
42
}
43
44
class
SCT_PrepDataToxAOD
:
public
AthReentrantAlgorithm
{
45
46
public
:
47
// Constructor with parameters:
48
using
AthReentrantAlgorithm::AthReentrantAlgorithm;
49
50
// Basic algorithm methods:
51
virtual
StatusCode
initialize
()
override
;
52
virtual
StatusCode
execute
(
const
EventContext& ctx)
const override
;
53
virtual
StatusCode
finalize
()
override
;
55
virtual
bool
isClonable
()
const override
{
return
true
; };
56
57
private
:
58
59
void
addSDOInformation
(
xAOD::TrackMeasurementValidation
* xprd,
60
const
InDet::SCT_Cluster
* prd,
61
const
InDetSimDataCollection
* sdoCollection)
const
;
62
63
64
void
addSiHitInformation
(
xAOD::TrackMeasurementValidation
* xprd,
65
const
InDet::SCT_Cluster
* prd,
66
const
std::vector<const SiHit*>* siHits)
const
;
67
68
void
findAllHitsCompatibleWithCluster
(
const
InDet::SCT_Cluster
* prd,
69
const
std::vector<const SiHit*>* siHits,
70
std::vector<SiHit>& matchingHits)
const
;
71
72
void
addRDOInformation
(
xAOD::TrackMeasurementValidation
*,
73
const
InDet::SCT_Cluster
*,
74
const
std::map<
Identifier
,
75
const
SCT_RDORawData
*>& idToRAWDataMap)
const
;
76
77
const
SCT_ID
*
m_SCTHelper
{
nullptr
};
78
SG::ReadHandleKey<InDet::SCT_ClusterContainer>
m_clustercontainer
{
this
,
"SiClusterContainer"
,
"SCT_Clusters"
};
79
SG::ReadHandleKey<InDetSimDataCollection>
m_SDOcontainer
{
this
,
"MC_SDOs"
,
"SCT_SDO_Map"
};
80
SG::ReadHandleKey<SiHitCollection>
m_sihitContainer
{
this
,
"MC_Hits"
,
"SCT_Hits"
};
81
SG::ReadHandleKey<PRD_MultiTruthCollection>
m_multiTruth
{
this
,
"PRD_MultiTruth"
,
"PRD_MultiTruthSCT"
};
82
SG::ReadHandleKey<xAODTruthParticleLinkVector>
m_truthParticleLinks
83
{
this
,
"InputTruthParticleLinks"
,
""
,
"The key for the truth particle link collection."
};
84
85
SG::ReadHandleKey<SCT_RDO_Container>
m_rdoContainer
{
this
,
"SctRdoContainer"
,
"SCT_RDOs"
};
86
SG::WriteHandleKey<xAOD::TrackMeasurementValidationContainer>
m_xAodContainer
{
this
,
"SctxAodContainer"
,
"SCT_Clusters"
};
87
SG::WriteHandleKey<std::vector<unsigned int>
>
m_xAodOffset
{
this
,
"SctxAodOffset"
,
"SCT_ClustersOffsets"
};
88
89
// For P->T converter of SCT_Clusters
90
SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection>
m_SCTDetEleCollKey
{
this
,
"SCTDetEleCollKey"
,
"SCT_DetectorElementCollection"
,
"Key of SiDetectorElementCollection for SCT"
};
91
92
BooleanProperty
m_useTruthInfo
{
this
,
"UseTruthInfo"
,
false
};
93
BooleanProperty
m_writeRDOinformation
{
this
,
"WriteRDOinformation"
,
true
};
94
BooleanProperty
m_writeSDOs
{
this
,
"WriteSDOs"
,
false
};
95
BooleanProperty
m_writeSiHits
{
this
,
"WriteSiHits"
,
false
};
96
97
// --- private members
98
mutable
std::atomic<unsigned int>
m_haveTruthLink
{};
99
mutable
std::atomic<unsigned int>
m_missingTruthParticle
{};
100
mutable
std::atomic<unsigned int>
m_missingParentParticle
{};
101
mutable
std::atomic_bool
m_firstEventWarnings
{
false
};
102
};
103
104
#endif
// SCT_PREPDATATOXAOD_H
AthReentrantAlgorithm.h
InDetSimDataCollection.h
PRD_MultiTruthCollection.h
ReadCondHandleKey.h
SCT_ClusterContainer.h
SCT_RDO_Container.h
SiDetectorElementCollection.h
SiHitCollection.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.
TrackMeasurementValidationContainer.h
TrackMeasurementValidation.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
InDetSimDataCollection
Definition
InDetSimDataCollection.h:25
InDet::SCT_Cluster
Definition
SCT_Cluster.h:34
SCT_ID
This is an Identifier helper class for the SCT subdetector.
Definition
SCT_ID.h:68
SCT_PrepDataToxAOD
Definition
SCT_PrepDataToxAOD.h:44
SCT_PrepDataToxAOD::addSiHitInformation
void addSiHitInformation(xAOD::TrackMeasurementValidation *xprd, const InDet::SCT_Cluster *prd, const std::vector< const SiHit * > *siHits) const
Definition
SCT_PrepDataToxAOD.cxx:323
SCT_PrepDataToxAOD::m_missingParentParticle
std::atomic< unsigned int > m_missingParentParticle
Definition
SCT_PrepDataToxAOD.h:100
SCT_PrepDataToxAOD::addSDOInformation
void addSDOInformation(xAOD::TrackMeasurementValidation *xprd, const InDet::SCT_Cluster *prd, const InDetSimDataCollection *sdoCollection) const
Definition
SCT_PrepDataToxAOD.cxx:293
SCT_PrepDataToxAOD::m_sihitContainer
SG::ReadHandleKey< SiHitCollection > m_sihitContainer
Definition
SCT_PrepDataToxAOD.h:80
SCT_PrepDataToxAOD::m_multiTruth
SG::ReadHandleKey< PRD_MultiTruthCollection > m_multiTruth
Definition
SCT_PrepDataToxAOD.h:81
SCT_PrepDataToxAOD::m_rdoContainer
SG::ReadHandleKey< SCT_RDO_Container > m_rdoContainer
Definition
SCT_PrepDataToxAOD.h:85
SCT_PrepDataToxAOD::isClonable
virtual bool isClonable() const override
Make this algorithm clonable.
Definition
SCT_PrepDataToxAOD.h:55
SCT_PrepDataToxAOD::m_writeSDOs
BooleanProperty m_writeSDOs
Definition
SCT_PrepDataToxAOD.h:94
SCT_PrepDataToxAOD::m_SDOcontainer
SG::ReadHandleKey< InDetSimDataCollection > m_SDOcontainer
Definition
SCT_PrepDataToxAOD.h:79
SCT_PrepDataToxAOD::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition
SCT_PrepDataToxAOD.h:90
SCT_PrepDataToxAOD::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition
SCT_PrepDataToxAOD.cxx:64
SCT_PrepDataToxAOD::m_firstEventWarnings
std::atomic_bool m_firstEventWarnings
Definition
SCT_PrepDataToxAOD.h:101
SCT_PrepDataToxAOD::m_writeSiHits
BooleanProperty m_writeSiHits
Definition
SCT_PrepDataToxAOD.h:95
SCT_PrepDataToxAOD::m_xAodContainer
SG::WriteHandleKey< xAOD::TrackMeasurementValidationContainer > m_xAodContainer
Definition
SCT_PrepDataToxAOD.h:86
SCT_PrepDataToxAOD::finalize
virtual StatusCode finalize() override
Definition
SCT_PrepDataToxAOD.cxx:522
SCT_PrepDataToxAOD::m_xAodOffset
SG::WriteHandleKey< std::vector< unsigned int > > m_xAodOffset
Definition
SCT_PrepDataToxAOD.h:87
SCT_PrepDataToxAOD::m_writeRDOinformation
BooleanProperty m_writeRDOinformation
Definition
SCT_PrepDataToxAOD.h:93
SCT_PrepDataToxAOD::m_SCTHelper
const SCT_ID * m_SCTHelper
Definition
SCT_PrepDataToxAOD.h:77
SCT_PrepDataToxAOD::m_truthParticleLinks
SG::ReadHandleKey< xAODTruthParticleLinkVector > m_truthParticleLinks
Definition
SCT_PrepDataToxAOD.h:83
SCT_PrepDataToxAOD::m_missingTruthParticle
std::atomic< unsigned int > m_missingTruthParticle
Definition
SCT_PrepDataToxAOD.h:99
SCT_PrepDataToxAOD::findAllHitsCompatibleWithCluster
void findAllHitsCompatibleWithCluster(const InDet::SCT_Cluster *prd, const std::vector< const SiHit * > *siHits, std::vector< SiHit > &matchingHits) const
Definition
SCT_PrepDataToxAOD.cxx:382
SCT_PrepDataToxAOD::m_clustercontainer
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_clustercontainer
Definition
SCT_PrepDataToxAOD.h:78
SCT_PrepDataToxAOD::addRDOInformation
void addRDOInformation(xAOD::TrackMeasurementValidation *, const InDet::SCT_Cluster *, const std::map< Identifier, const SCT_RDORawData * > &idToRAWDataMap) const
Definition
SCT_PrepDataToxAOD.cxx:488
SCT_PrepDataToxAOD::m_haveTruthLink
std::atomic< unsigned int > m_haveTruthLink
Definition
SCT_PrepDataToxAOD.h:98
SCT_PrepDataToxAOD::m_useTruthInfo
BooleanProperty m_useTruthInfo
Definition
SCT_PrepDataToxAOD.h:92
SCT_PrepDataToxAOD::initialize
virtual StatusCode initialize() override
Definition
SCT_PrepDataToxAOD.cxx:35
SCT_RDORawData
Definition
SCT_RDORawData.h:24
SG::ReadCondHandleKey
Definition
ReadCondHandleKey.h:21
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
SiHit
Definition
SiHit.h:19
Identifier
Definition
IdentifierFieldParser.cxx:14
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
xAOD::TrackMeasurementValidation
TrackMeasurementValidation_v1 TrackMeasurementValidation
Reference the current persistent version:
Definition
TrackMeasurementValidation.h:13
xAODTruthParticleLink.h
Generated on
for ATLAS Offline Software by
1.17.0