ATLAS Offline Software
PRD_MultiTruthMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Algorithm producing truth info for PrepRawData, keeping all MC particles contributed to a PRD.
6 // A. Gaponenko, 2006
7 
8 #ifndef PRD_MULTITRUTHMAKER_H
9 #define PRD_MULTITRUTHMAKER_H
10 
11 #include <string>
12 
14 #include "GaudiKernel/ToolHandle.h"
15 
20 
26 
27 namespace InDet {
28 
30 
31 public:
32  PRD_MultiTruthMaker(const std::string &name,ISvcLocator *pSvcLocator);
33 
34  virtual StatusCode initialize();
35  virtual StatusCode execute(const EventContext &ctx) const;
36  virtual StatusCode finalize();
37 
38 private:
39 
46 
50 
51  // For P->T converter of PixelClusters
52  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey{this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
53  // For P->T converter of SCT_Clusters
54  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
55 
56  ToolHandle<InDet::IPRD_MultiTruthBuilder> m_PRDTruthTool;
57 
58  //----------------------------------------------------------------
59  template<class PRD_Container_Iterator>
61  PRD_Container_Iterator collections_begin,
62  PRD_Container_Iterator collections_end,
63  const InDetSimDataCollection* simDataMap,
64  bool pixels) const;
65 
66  template<class PRD_Collection_Iterator>
67  void addPRDRange (PRD_MultiTruthCollection* prdTruth,
68  PRD_Collection_Iterator range_begin,
69  PRD_Collection_Iterator range_end,
70  const InDetSimDataCollection* simDataMap,
71  bool pixels) const;
72 
73 };
74 
75 
76 } // namespace InDet
77 
78 
79 #endif //PRD_MULTITRUTHMAKER_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::PRD_MultiTruthMaker
Definition: PRD_MultiTruthMaker.h:29
InDet::PRD_MultiTruthMaker::initialize
virtual StatusCode initialize()
Definition: PRD_MultiTruthMaker.cxx:43
InDet::PRD_MultiTruthMaker::addPRDRange
void addPRDRange(PRD_MultiTruthCollection *prdTruth, PRD_Collection_Iterator range_begin, PRD_Collection_Iterator range_end, const InDetSimDataCollection *simDataMap, bool pixels) const
Definition: PRD_MultiTruthMaker.cxx:190
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
PRD_MultiTruthCollection
A PRD is mapped onto all contributing particles.
Definition: PRD_MultiTruthCollection.h:24
InDet::PRD_MultiTruthMaker::m_SCTClustersName
SG::ReadHandleKey< InDet::SiClusterContainer > m_SCTClustersName
Definition: PRD_MultiTruthMaker.h:41
InDet::PRD_MultiTruthMaker::PRD_MultiTruthMaker
PRD_MultiTruthMaker(const std::string &name, ISvcLocator *pSvcLocator)
Definition: PRD_MultiTruthMaker.cxx:16
InDet::PRD_MultiTruthMaker::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: PRD_MultiTruthMaker.h:52
InDet::PRD_MultiTruthMaker::m_PRDTruthNameTRT
SG::WriteHandleKey< PRD_MultiTruthCollection > m_PRDTruthNameTRT
Definition: PRD_MultiTruthMaker.h:49
InDetSimDataCollection
Definition: InDetSimDataCollection.h:25
InDet::PRD_MultiTruthMaker::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: PRD_MultiTruthMaker.h:54
InDet::PRD_MultiTruthMaker::m_simDataMapNameSCT
SG::ReadHandleKey< InDetSimDataCollection > m_simDataMapNameSCT
Definition: PRD_MultiTruthMaker.h:44
SG::ReadHandleKey< InDet::SiClusterContainer >
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
InDet::PRD_MultiTruthMaker::m_PixelClustersName
SG::ReadHandleKey< InDet::SiClusterContainer > m_PixelClustersName
Definition: PRD_MultiTruthMaker.h:40
IPRD_MultiTruthBuilder.h
InDet::PRD_MultiTruthMaker::execute
virtual StatusCode execute(const EventContext &ctx) const
Definition: PRD_MultiTruthMaker.cxx:85
SG::WriteHandleKey< PRD_MultiTruthCollection >
InDet::PRD_MultiTruthMaker::m_simDataMapNameTRT
SG::ReadHandleKey< InDetSimDataCollection > m_simDataMapNameTRT
Definition: PRD_MultiTruthMaker.h:45
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::PRD_MultiTruthMaker::m_PRDTruthNameSCT
SG::WriteHandleKey< PRD_MultiTruthCollection > m_PRDTruthNameSCT
Definition: PRD_MultiTruthMaker.h:48
ReadCondHandleKey.h
AthReentrantAlgorithm.h
InDet::PRD_MultiTruthMaker::m_PRDTruthTool
ToolHandle< InDet::IPRD_MultiTruthBuilder > m_PRDTruthTool
Definition: PRD_MultiTruthMaker.h:56
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TRT_DriftCircleContainer.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
SiDetectorElementCollection.h
InDet::PRD_MultiTruthMaker::m_TRTDriftCircleContainerName
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_TRTDriftCircleContainerName
Definition: PRD_MultiTruthMaker.h:42
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
SiClusterContainer.h
InDet::PRD_MultiTruthMaker::m_simDataMapNamePixel
SG::ReadHandleKey< InDetSimDataCollection > m_simDataMapNamePixel
Definition: PRD_MultiTruthMaker.h:43
InDetSimDataCollection.h
InDet::PRD_MultiTruthMaker::finalize
virtual StatusCode finalize()
Definition: PRD_MultiTruthMaker.cxx:78
PRD_MultiTruthCollection.h
InDet::PRD_MultiTruthMaker::m_PRDTruthNamePixel
SG::WriteHandleKey< PRD_MultiTruthCollection > m_PRDTruthNamePixel
Definition: PRD_MultiTruthMaker.h:47
InDet::PRD_MultiTruthMaker::addPRDCollections
void addPRDCollections(PRD_MultiTruthCollection *prdTruth, PRD_Container_Iterator collections_begin, PRD_Container_Iterator collections_end, const InDetSimDataCollection *simDataMap, bool pixels) const
Definition: PRD_MultiTruthMaker.cxx:176