ATLAS Offline Software
XAODToInDetClusterConversion.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 INDETRIOMAKER_XAODTOINDETCLUSTERCONVERSION_H
6 #define INDETRIOMAKER_XAODTOINDETCLUSTERCONVERSION_H
7 
8 //STL
9 #include <string>
10 
11 //Gaudi
12 #include "GaudiKernel/ToolHandle.h"
13 
14 // Base class
18 
19 //InDet
20 //can't fwd declare this, needed for typedef to Pixel_RDO_Container
23 
26 
29 
32 
35 
36 class PixelID;
37 class SCT_ID;
38 class HGTD_ID;
39 
40 namespace InDet {
41 
43  : public AthReentrantAlgorithm {
44  public:
45 
47  XAODToInDetClusterConversion(const std::string &name,ISvcLocator *pSvcLocator);
48 
49  //@name Usual algorithm methods
51  virtual StatusCode initialize() override;
52  virtual StatusCode execute(const EventContext& ctx) const override;
55 
60 
61  private:
62  StatusCode convertPixelClusters(const EventContext& ctx) const;
63  StatusCode convertStripClusters(const EventContext& ctx) const;
64  StatusCode convertHgtdClusters(const EventContext& ctx) const;
65 
66  private:
67  const PixelID* m_pixelID {};
68  const SCT_ID* m_stripID {};
69  const HGTD_ID* m_hgtdID {};
70 
71  ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool {this, "LorentzAngleTool", "SiLorentzAngleTool/SCTLorentzAngleTool", "Tool to retrieve Lorentz angle of SCT"};
72 
73  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey {this, "PixelDetEleCollKey", "ITkPixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
74  SG::ReadHandleKey<xAOD::PixelClusterContainer> m_inputPixelClusterContainerKey {this, "InputPixelClustersName", "ITkPixelClusters", "name of the input xAOD pixel cluster container"};
75 
76  SG::WriteHandleKey<InDet::PixelClusterContainer> m_outputPixelClusterContainerKey {this, "OutputPixelClustersName", "ITkPixelClusters", "name of the output InDet pixel cluster container"};
77  SG::WriteHandleKey< InDet::SiClusterContainer > m_pixelClusterContainerLinkKey {this, "PixelClustersLinkName", "ITkPixelClusters"};
78 
79  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_stripDetEleCollKey {this, "StripDetEleCollKey", "ITkStripDetectorElementCollection", "Key of SiDetectorElementCollection for Strip"};
80  SG::ReadHandleKey<xAOD::StripClusterContainer> m_inputStripClusterContainerKey {this, "InputStripClustersName", "ITkStripClusters", "name of the input xAOD strip cluster container"};
81 
82  SG::WriteHandleKey<InDet::SCT_ClusterContainer> m_outputStripClusterContainerKey {this, "OutputStripClustersName", "ITkStripClusters", "name of the output InDet pixel cluster container"};
83  SG::WriteHandleKey< InDet::SiClusterContainer > m_stripClusterContainerLinkKey {this, "StripClustersLinkName", "ITkStripClusters"};
84 
85  SG::ReadCondHandleKey<InDetDD::HGTD_DetectorElementCollection> m_HGTDDetEleCollKey{this, "HGTDDetEleCollKey", "HGTD_DetectorElementCollection", "Key of HGTD_DetectorElementCollection for HGTD"};
86 
87  SG::ReadHandleKey<xAOD::HGTDClusterContainer> m_inputHgtdClusterContainerKey {this, "InputHGTDClustersName", "HGTD_Clusters", "name of the input xAOD hgtd cluster container"};
88  SG::WriteHandleKey<::HGTD_ClusterContainer> m_outputHgtdClusterContainerKey {this, "OutputHGTDClustersName", "HGTD_Clusters", "name of the output InDet hgtd cluster container"};
89 
90  Gaudi::Property<bool> m_processPixel {this, "ProcessPixel", false};
91  Gaudi::Property<bool> m_processStrip {this, "ProcessStrip", false};
92  Gaudi::Property<bool> m_processHgtd {this, "ProcessHgtd", false};
93 };
94 
95 }
96 
97 #endif // INDETRIOMAKER_XAODTOINDETCLUSTERCONVERSION_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::XAODToInDetClusterConversion::m_pixelID
const PixelID * m_pixelID
Definition: XAODToInDetClusterConversion.h:67
InDet::XAODToInDetClusterConversion::convertStripClusters
StatusCode convertStripClusters(const EventContext &ctx) const
Definition: XAODToInDetClusterConversion.cxx:141
InDet::XAODToInDetClusterConversion::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: XAODToInDetClusterConversion.cxx:57
InDet::XAODToInDetClusterConversion::m_inputStripClusterContainerKey
SG::ReadHandleKey< xAOD::StripClusterContainer > m_inputStripClusterContainerKey
Definition: XAODToInDetClusterConversion.h:80
InDet::XAODToInDetClusterConversion::m_HGTDDetEleCollKey
SG::ReadCondHandleKey< InDetDD::HGTD_DetectorElementCollection > m_HGTDDetEleCollKey
Definition: XAODToInDetClusterConversion.h:85
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
ISiLorentzAngleTool.h
InDet::XAODToInDetClusterConversion::operator=
XAODToInDetClusterConversion & operator=(const XAODToInDetClusterConversion &)=delete
SG::ReadHandleKey< xAOD::PixelClusterContainer >
InDet::XAODToInDetClusterConversion::convertHgtdClusters
StatusCode convertHgtdClusters(const EventContext &ctx) const
Definition: XAODToInDetClusterConversion.cxx:212
InDet::XAODToInDetClusterConversion::m_stripID
const SCT_ID * m_stripID
Definition: XAODToInDetClusterConversion.h:68
InDet::XAODToInDetClusterConversion::m_pixelClusterContainerLinkKey
SG::WriteHandleKey< InDet::SiClusterContainer > m_pixelClusterContainerLinkKey
Definition: XAODToInDetClusterConversion.h:77
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
InDet::XAODToInDetClusterConversion::XAODToInDetClusterConversion
XAODToInDetClusterConversion()=delete
InDet::XAODToInDetClusterConversion::m_stripDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_stripDetEleCollKey
Definition: XAODToInDetClusterConversion.h:79
InDet::XAODToInDetClusterConversion::m_processStrip
Gaudi::Property< bool > m_processStrip
Definition: XAODToInDetClusterConversion.h:91
InDet::XAODToInDetClusterConversion::m_inputPixelClusterContainerKey
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_inputPixelClusterContainerKey
Definition: XAODToInDetClusterConversion.h:74
SG::WriteHandleKey< InDet::PixelClusterContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelClusterContainer.h
InDet::XAODToInDetClusterConversion::m_lorentzAngleTool
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
Definition: XAODToInDetClusterConversion.h:71
HGTDClusterContainer.h
InDet::XAODToInDetClusterConversion::convertPixelClusters
StatusCode convertPixelClusters(const EventContext &ctx) const
Definition: XAODToInDetClusterConversion.cxx:79
HGTD_ID
Definition: HGTD_ID.h:47
InDet::XAODToInDetClusterConversion::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: XAODToInDetClusterConversion.h:73
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PixelClusterContainer.h
HGTD_DetectorElementCollection.h
SiDetectorElementCollection.h
InDet::XAODToInDetClusterConversion::initialize
virtual StatusCode initialize() override
Definition: XAODToInDetClusterConversion.cxx:25
InDet::XAODToInDetClusterConversion::m_processHgtd
Gaudi::Property< bool > m_processHgtd
Definition: XAODToInDetClusterConversion.h:92
InDet::XAODToInDetClusterConversion::XAODToInDetClusterConversion
XAODToInDetClusterConversion(const XAODToInDetClusterConversion &)=delete
InDet::XAODToInDetClusterConversion::m_outputStripClusterContainerKey
SG::WriteHandleKey< InDet::SCT_ClusterContainer > m_outputStripClusterContainerKey
Definition: XAODToInDetClusterConversion.h:82
InDet::XAODToInDetClusterConversion::m_processPixel
Gaudi::Property< bool > m_processPixel
Definition: XAODToInDetClusterConversion.h:90
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
InDet::XAODToInDetClusterConversion::m_hgtdID
const HGTD_ID * m_hgtdID
Definition: XAODToInDetClusterConversion.h:69
SiClusterContainer.h
SCT_ID
Definition: SCT_ID.h:68
InDet::XAODToInDetClusterConversion::m_inputHgtdClusterContainerKey
SG::ReadHandleKey< xAOD::HGTDClusterContainer > m_inputHgtdClusterContainerKey
Definition: XAODToInDetClusterConversion.h:87
StripClusterContainer.h
SCT_ClusterContainer.h
InDet::XAODToInDetClusterConversion::m_stripClusterContainerLinkKey
SG::WriteHandleKey< InDet::SiClusterContainer > m_stripClusterContainerLinkKey
Definition: XAODToInDetClusterConversion.h:83
InDet::XAODToInDetClusterConversion
Definition: XAODToInDetClusterConversion.h:43
InDet::XAODToInDetClusterConversion::m_outputPixelClusterContainerKey
SG::WriteHandleKey< InDet::PixelClusterContainer > m_outputPixelClusterContainerKey
Definition: XAODToInDetClusterConversion.h:76
PixelID
Definition: PixelID.h:67
InDet::XAODToInDetClusterConversion::m_outputHgtdClusterContainerKey
SG::WriteHandleKey<::HGTD_ClusterContainer > m_outputHgtdClusterContainerKey
Definition: XAODToInDetClusterConversion.h:88
HGTD_ClusterContainer.h
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.