ATLAS Offline Software
Loading...
Searching...
No Matches
PixelPrepDataToxAOD.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
10
12// PixelPrepDataToxAOD.h
13// Header file for class PixelPrepDataToxAOD
15
16#ifndef PIXELPREPDATATOXAOD_H
17#define PIXELPREPDATATOXAOD_H
18
20#include "GaudiKernel/ServiceHandle.h"
28
30
39
41
43
44#include <string>
45
46class PixelID;
47class SiHit;
49
50class IdentifierHash;
51
52namespace InDet
53{
54 class PixelCluster;
55}
56
57namespace InDetDD
58{
59 class SiCellId;
60}
61
62
63
65
66public:
67 // Constructor with parameters:
69
70 // Basic algorithm methods:
71 virtual StatusCode initialize();
72 virtual StatusCode execute(const EventContext& ctx);
73 virtual StatusCode finalize();
74
75private:
76
77 std::vector< std::vector< int > > addSDOInformation( xAOD::TrackMeasurementValidation* xprd,
78 const InDet::PixelCluster* prd,
79 const InDetSimDataCollection& sdoCollection ) const;
80
81
83 const InDet::PixelCluster* prd,
84 const std::vector<SiHit> & matchingHits ) const;
85
86 std::vector<SiHit> findAllHitsCompatibleWithCluster(const InDet::PixelCluster* prd,
87 const std::vector<const SiHit*>* sihits,
88 std::vector< std::vector< int > > & trkBCs) const;
89
90
92 const InDet::PixelCluster* prd,
93 const std::vector<SiHit> & matchingHits ) const;
94
96 const InDet::PixelCluster* pixelCluster,
97 const unsigned int SizeX,
98 const unsigned int SizeY ) const;
99
101 const InDet::PixelCluster* pixelCluster,
102 const PixelChargeCalibCondData *calibData) const;
103
104
105
107 int *rrowMin = 0,
108 int *rrowMax = 0,
109 int *rcolMin = 0,
110 int *rcolMax = 0 ) const;
111
112 const PixelID *m_PixelHelper = nullptr;
113
114 Gaudi::Property<bool> m_useTruthInfo{this, "UseTruthInfo", false};
115 Gaudi::Property<bool> m_writeSDOs{this, "WriteSDOs", false};
116 Gaudi::Property<bool> m_writeSiHits{this, "WriteSiHits", false};
117 Gaudi::Property<bool> m_writeNNinformation{this, "WriteNNinformation", true};
118 Gaudi::Property<bool> m_writeRDOinformation{this, "WriteRDOinformation", true};
119 Gaudi::Property<bool> m_writeExtendedPRDinformation
120 {this, "WriteExtendedPRDinformation", false};
121 Gaudi::Property<bool> m_useSiHitsGeometryMatching
122 {this, "UseSiHitsGeometryMatching", true};
123
125 {this, "PixelReadoutManager", "PixelReadoutManager", "Pixel readout manager" };
126
128 {this, "PixelChargeCalibCondData", "PixelChargeCalibCondData", "Pixel charge calibration data"};
129
131 {this, "PixelDCSStateCondData", "PixelDCSStateCondData", "Pixel FSM state key"};
132
134 {this, "PixelDCSStatusCondData", "PixelDCSStatusCondData", "Pixel FSM status key"};
135
137 {this, "ReadKeyTemp", "PixelDCSTempCondData", "Key of input sensor temperature conditions folder"};
138
140 {this, "ReadKeyHV", "PixelDCSHVCondData", "Key of input bias voltage conditions folder"};
141
142 ToolHandle<IInDetConditionsTool> m_pixelSummary
143 {this, "PixelConditionsSummaryTool", "PixelConditionsSummaryTool", "Tool for PixelConditionsSummaryTool"};
144
145 ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool
146 {this, "LorentzAngleTool", "SiLorentzAngleTool", "Tool to retreive Lorentz angle"};
147
150
151 // -- Private members
152 mutable std::atomic<unsigned int> m_haveTruthLink {};
153 mutable std::atomic<unsigned int> m_missingTruthParticle {};
154 mutable std::atomic<unsigned int> m_missingParentParticle {};
156 bool m_need_sihits = false;
157
159 {this, "SiClusterContainer", "PixelClusters"};
161 {this, "MC_Hits", "PixelHits"};
163 {this, "MC_SDOs", "PixelSDO_Map"};
165 {this, "PRD_MultiTruth", "PRD_MultiTruthPixel"};
167 {this,"InputTruthParticleLinks","","The key for the truth particle link collection."};
168
170 {this, "OutputClusterContainer", "PixelClusters"};
172 {this, "PixelxAodOffset", "PixelClustersOffsets"};
173};
174
175
176#endif
Store pixel HV data in PixelDCSHVData.
Store pixel DCS module state in PixelDCSStateData.
Store pixel DCS module status in PixelDCSStatusData.
Store pixel temperature data in PixelDCSTempData.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
This is a "hash" representation of an Identifier.
Identifier for the strip or pixel cell.
Definition SiCellId.h:29
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:69
void addNNInformation(xAOD::TrackMeasurementValidation *xprd, const InDet::PixelCluster *pixelCluster, const unsigned int SizeX, const unsigned int SizeY) const
SG::WriteHandleKey< std::vector< unsigned int > > m_write_offsets
Gaudi::Property< bool > m_writeExtendedPRDinformation
void addRdoInformation(xAOD::TrackMeasurementValidation *xprd, const InDet::PixelCluster *pixelCluster, const PixelChargeCalibCondData *calibData) const
std::atomic< unsigned int > m_missingTruthParticle
const PixelID * m_PixelHelper
Gaudi::Property< bool > m_writeNNinformation
Gaudi::Property< bool > m_writeRDOinformation
SG::ReadCondHandleKey< PixelDCSHVData > m_readKeyHV
SG::ReadHandleKey< SiHitCollection > m_sihitContainer_key
SG::ReadCondHandleKey< PixelChargeCalibCondData > m_chargeDataKey
void addSiHitInformation(xAOD::TrackMeasurementValidation *xprd, const InDet::PixelCluster *prd, const std::vector< SiHit > &matchingHits) const
SG::ReadHandleKey< Trk::ClusterSplitProbabilityContainer > m_clusterSplitProbContainer
virtual StatusCode execute(const EventContext &ctx)
Execute method.
std::vector< SiHit > findAllHitsCompatibleWithCluster(const InDet::PixelCluster *prd, const std::vector< const SiHit * > *sihits, std::vector< std::vector< int > > &trkBCs) const
Gaudi::Property< bool > m_useSiHitsGeometryMatching
ToolHandle< IInDetConditionsTool > m_pixelSummary
Gaudi::Property< bool > m_useTruthInfo
SG::ReadHandleKey< xAODTruthParticleLinkVector > m_truthParticleLinks
SG::ReadCondHandleKey< PixelDCSTempData > m_readKeyTemp
InDetDD::SiCellId getCellIdWeightedPosition(const InDet::PixelCluster *pixelCluster, int *rrowMin=0, int *rrowMax=0, int *rcolMin=0, int *rcolMax=0) const
SG::ReadHandleKey< InDetSimDataCollection > m_SDOcontainer_key
Gaudi::Property< bool > m_writeSDOs
SG::ReadCondHandleKey< PixelDCSStatusData > m_condDCSStatusKey
std::atomic< unsigned int > m_missingParentParticle
void addNNTruthInfo(xAOD::TrackMeasurementValidation *xprd, const InDet::PixelCluster *prd, const std::vector< SiHit > &matchingHits) const
virtual StatusCode finalize()
SG::ReadHandleKey< InDet::PixelClusterContainer > m_clustercontainer_key
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
SG::ReadHandleKey< PRD_MultiTruthCollection > m_multiTruth_key
SG::ReadCondHandleKey< PixelDCSStateData > m_condDCSStateKey
SG::WriteHandleKey< xAOD::TrackMeasurementValidationContainer > m_write_xaod_key
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
std::vector< std::vector< int > > addSDOInformation(xAOD::TrackMeasurementValidation *xprd, const InDet::PixelCluster *prd, const InDetSimDataCollection &sdoCollection) const
virtual StatusCode initialize()
Gaudi::Property< bool > m_writeSiHits
std::atomic< unsigned int > m_haveTruthLink
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition SiHit.h:19
Message Stream Member.
Primary Vertex Finder.
TrackMeasurementValidation_v1 TrackMeasurementValidation
Reference the current persistent version: