|
ATLAS Offline Software
|
Go to the documentation of this file.
18 m_PixelClustersName(
"PixelClusters"),
19 m_SCTClustersName(
"SCT_Clusters"),
20 m_TRTDriftCircleContainerName(
"TRT_DriftCircles"),
21 m_simDataMapNamePixel(
"PixelSDO_Map"),
22 m_simDataMapNameSCT(
"SCT_SDO_Map"),
23 m_simDataMapNameTRT(
"TRT_SDO_Map"),
24 m_PRDTruthNamePixel(
"PRD_MultiTruthPixel"),
25 m_PRDTruthNameSCT(
"PRD_MultiTruthSCT"),
26 m_PRDTruthNameTRT(
"PRD_MultiTruthTRT"),
27 m_PRDTruthTool(
"InDet::PRD_MultiTruthBuilder")
49 return StatusCode::FAILURE;
74 return StatusCode::SUCCESS;
81 return StatusCode::SUCCESS;
96 return StatusCode::FAILURE;
104 return StatusCode::FAILURE;
110 if (prdt_pixels.
record(std::make_unique<PRD_MultiTruthCollection>()).isFailure()) {
112 return StatusCode::FAILURE;
114 addPRDCollections(&(*prdt_pixels), prdContainer->begin(), prdContainer->end(), &(*simDataMap),
true);
122 if (not simDataMap.
isValid()) {
124 return StatusCode::FAILURE;
130 if (not prdContainer.
isValid()){
132 return StatusCode::FAILURE;
138 ATH_CHECK(prdt_sct.
record(std::make_unique<PRD_MultiTruthCollection>()));
149 return StatusCode::FAILURE;
157 return StatusCode::FAILURE;
163 if (prdt_trt.
record(std::make_unique<PRD_MultiTruthCollection>()).isFailure()) {
165 return StatusCode::FAILURE;
167 addPRDCollections(&(*prdt_trt), trtContainer->begin(), trtContainer->end(), &(*simDataMap),
false);
171 return StatusCode::SUCCESS;
175 template<
class PRD_Container_Iterator>
177 PRD_Container_Iterator collections_begin,
178 PRD_Container_Iterator collections_end,
182 for (PRD_Container_Iterator colNext=collections_begin; colNext != collections_end; ++colNext) {
183 addPRDRange(prdTruth, (*colNext)->begin(), (*colNext)->end(), simDataMap, pixels);
189 template<
class PRD_Collection_Iterator>
191 PRD_Collection_Iterator range_begin,
192 PRD_Collection_Iterator range_end,
196 for (PRD_Collection_Iterator nextDatum = range_begin; nextDatum != range_end; nextDatum++){
197 m_PRDTruthTool->addPrepRawDatum(prdTruth, *nextDatum, simDataMap, pixels);
virtual StatusCode initialize()
void addPRDRange(PRD_MultiTruthCollection *prdTruth, PRD_Collection_Iterator range_begin, PRD_Collection_Iterator range_end, const InDetSimDataCollection *simDataMap, bool pixels) const
const_pointer_type cptr()
Dereference the pointer.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
A PRD is mapped onto all contributing particles.
SG::ReadHandleKey< InDet::SiClusterContainer > m_SCTClustersName
PRD_MultiTruthMaker(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
SG::WriteHandleKey< PRD_MultiTruthCollection > m_PRDTruthNameTRT
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
SG::ReadHandleKey< InDetSimDataCollection > m_simDataMapNameSCT
const std::string & key() const
Return the StoreGate ID for the referenced object.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadHandleKey< InDet::SiClusterContainer > m_PixelClustersName
virtual StatusCode execute(const EventContext &ctx) const
SG::ReadHandleKey< InDetSimDataCollection > m_simDataMapNameTRT
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
SG::WriteHandleKey< PRD_MultiTruthCollection > m_PRDTruthNameSCT
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ToolHandle< InDet::IPRD_MultiTruthBuilder > m_PRDTruthTool
StatusCode initialize(bool used=true)
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_TRTDriftCircleContainerName
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
SG::ReadHandleKey< InDetSimDataCollection > m_simDataMapNamePixel
virtual StatusCode finalize()
SG::WriteHandleKey< PRD_MultiTruthCollection > m_PRDTruthNamePixel
void addPRDCollections(PRD_MultiTruthCollection *prdTruth, PRD_Container_Iterator collections_begin, PRD_Container_Iterator collections_end, const InDetSimDataCollection *simDataMap, bool pixels) const