ATLAS Offline Software
FPGAClusterConverter.h
Go to the documentation of this file.
1 
2 /*
3  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef FPGATrkConverter_FPGAClusterConverter_H
7 #define FPGATrkConverter_FPGAClusterConverter_H
8 
9 
20 
21 class AtlasDetectorID;
22 class PixelID;
23 class SCT_ID;
24 class Identifier;
25 
26 namespace InDetDD {
27  class PixelDetectorManager;
28  class SCT_DetectorManager;
29 }
30 
31 namespace InDet {
32  class PixelCluster;
33  class SCT_Cluster;
34 }
35 
36 class FPGATrackSimHit;
38 
39 
40 class FPGAClusterConverter : public extends<AthAlgTool,IFPGAClusterConverter>
41  {
42  public:
43 
44  FPGAClusterConverter(const std::string& type, const std::string& name, const IInterface*);
45  virtual ~FPGAClusterConverter() = default;
46  virtual StatusCode initialize() override final;
47 
49  InDet::PixelClusterCollection &,
50  InDet::SCT_ClusterCollection &) const override final;
52  InDet::PixelClusterCollection &,
53  InDet::SCT_ClusterCollection &) const override final;
55  xAOD::PixelClusterContainer& pixelCont,
56  xAOD::StripClusterContainer& SCTCont) const override final;
58  InDet::PixelClusterCollection &,
59  InDet::SCT_ClusterCollection &) const override final;
61  xAOD::PixelClusterContainer& pixelCont,
62  xAOD::StripClusterContainer& SCTCont) const override final;
64  const std::vector<FPGATrackSimCluster>& fpgaClusters,
65  xAOD::SpacePointContainer& SPStripCont,
66  xAOD::SpacePointContainer& SPPixelCont,
67  xAOD::StripClusterContainer& stripClusterCont,
68  xAOD::PixelClusterContainer& pixelClusterCont) const override final;
69 
70  virtual StatusCode createPixelCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, std::unique_ptr<InDet::PixelCluster>&) const override final;
71  virtual StatusCode createPixelCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, xAOD::PixelCluster &) const override final;
72  virtual StatusCode createSCTCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, std::unique_ptr<InDet::SCT_Cluster>&) const override final;
73  virtual StatusCode createSCTCluster(const FPGATrackSimHit& h, const std::vector<Identifier>& rdoList, xAOD::StripCluster&) const override final;
74  virtual StatusCode createPixelCluster(const FPGATrackSimCluster&, std::unique_ptr<InDet::PixelCluster>&) const override final;
76  virtual StatusCode createSCTCluster(const FPGATrackSimCluster&, std::unique_ptr<InDet::SCT_Cluster>&) const override final;
78  virtual StatusCode createSP(const FPGATrackSimCluster& cl, xAOD::SpacePoint& sp, xAOD::StripClusterContainer& clustersCont ) const override final;
79  virtual StatusCode createSP(const FPGATrackSimCluster& cl, xAOD::SpacePoint& sp, xAOD::PixelClusterContainer& clustersCont ) const override final;
80 
81  virtual StatusCode getRdoList(std::vector<Identifier> &rdoList, const FPGATrackSimCluster& cluster) const override final;
82  virtual StatusCode getRdoList(std::vector<Identifier> &rdoList, const FPGATrackSimHit& hit) const override final;
83  virtual StatusCode getStripsInfo(const xAOD::StripCluster& cl, float& halfStripLength, Amg::Vector3D& stripDirection, Amg::Vector3D& stripCenter) const override final;
84 
85  SG::ReadHandleKey<FPGATrackSimClusterCollection> m_FPGAClusterKey{this, "FPGATrackSimClusterKey","FPGAClusters","FPGATrackSim Clusters key"};
86  SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey{ this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
87 
88  bool m_doShift = true;
89 
90  private:
91 
92  const PixelID* m_pixelId{nullptr};
93  const SCT_ID* m_SCTId{nullptr};
96 
97  ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool {this, "LorentzAngleTool", "SiLorentzAngleTool/SCTLorentzAngleTool", "Tool to retrieve Lorentz angle of SCT"};
98 
99  };
100 
101 #endif
102 
FPGAClusterConverter::m_SCTManager
const InDetDD::SCT_DetectorManager * m_SCTManager
Definition: FPGAClusterConverter.h:95
PixelCluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/PixelCluster.h:8
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
FPGATrackSimCluster
Definition: FPGATrackSimCluster.h:24
FPGAClusterConverter::m_lorentzAngleTool
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
Definition: FPGAClusterConverter.h:97
FPGAClusterConverter::m_FPGAClusterKey
SG::ReadHandleKey< FPGATrackSimClusterCollection > m_FPGAClusterKey
Definition: FPGAClusterConverter.h:85
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
FPGAClusterConverter::convertHits
virtual StatusCode convertHits(const std::vector< FPGATrackSimHit > &, InDet::PixelClusterCollection &, InDet::SCT_ClusterCollection &) const override final
Definition: FPGAClusterConverter.cxx:43
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
ISiLorentzAngleTool.h
FPGAClusterConverter::convertSpacePoints
virtual StatusCode convertSpacePoints(const std::vector< FPGATrackSimCluster > &fpgaSPs, const std::vector< FPGATrackSimCluster > &fpgaClusters, xAOD::SpacePointContainer &SPStripCont, xAOD::SpacePointContainer &SPPixelCont, xAOD::StripClusterContainer &stripClusterCont, xAOD::PixelClusterContainer &pixelClusterCont) const override final
Definition: FPGAClusterConverter.cxx:224
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
SCT_Cluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/SCT_Cluster.h:8
FPGAClusterConverter
Definition: FPGAClusterConverter.h:41
FPGAClusterConverter::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition: FPGAClusterConverter.h:94
FPGAClusterConverter::getStripsInfo
virtual StatusCode getStripsInfo(const xAOD::StripCluster &cl, float &halfStripLength, Amg::Vector3D &stripDirection, Amg::Vector3D &stripCenter) const override final
Definition: FPGAClusterConverter.cxx:811
SpacePoint
Definition: Trigger/TrigAccel/TrigCudaFitter/src/SpacePoint.h:7
FPGATrackSimHit
Definition: FPGATrackSimHit.h:41
FPGAClusterConverter::m_SCTId
const SCT_ID * m_SCTId
Definition: FPGAClusterConverter.h:93
FPGAClusterConverter::m_pixelId
const PixelID * m_pixelId
Definition: FPGAClusterConverter.h:92
xAOD::StripCluster
StripCluster_v1 StripCluster
Define the version of the strip cluster class.
Definition: StripCluster.h:13
SCT_ClusterCollection.h
FPGATrackSimClusterCollection
std::vector< FPGATrackSimCluster > FPGATrackSimClusterCollection
Definition: FPGATrackSimClusterCollection.h:13
FPGAClusterConverter::FPGAClusterConverter
FPGAClusterConverter(const std::string &type, const std::string &name, const IInterface *)
Definition: FPGAClusterConverter.cxx:20
FPGAClusterConverter::createSCTCluster
virtual StatusCode createSCTCluster(const FPGATrackSimHit &h, const std::vector< Identifier > &rdoList, std::unique_ptr< InDet::SCT_Cluster > &) const override final
Definition: FPGAClusterConverter.cxx:410
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
FPGAClusterConverter::createSP
virtual StatusCode createSP(const FPGATrackSimCluster &cl, xAOD::SpacePoint &sp, xAOD::StripClusterContainer &clustersCont) const override final
Definition: FPGAClusterConverter.cxx:623
PixelClusterContainer.h
FPGAClusterConverter::getRdoList
virtual StatusCode getRdoList(std::vector< Identifier > &rdoList, const FPGATrackSimCluster &cluster) const override final
Definition: FPGAClusterConverter.cxx:765
AthAlgTool.h
FPGAClusterConverter::~FPGAClusterConverter
virtual ~FPGAClusterConverter()=default
PixelClusterCollection.h
FPGAClusterConverter::convertClusters
virtual StatusCode convertClusters(const std::vector< FPGATrackSimCluster > &, InDet::PixelClusterCollection &, InDet::SCT_ClusterCollection &) const override final
Definition: FPGAClusterConverter.cxx:161
FPGAClusterConverter::m_doShift
bool m_doShift
Definition: FPGAClusterConverter.h:88
SpacePointAuxContainer.h
FPGAClusterConverter::createPixelCluster
virtual StatusCode createPixelCluster(const FPGATrackSimHit &h, const std::vector< Identifier > &rdoList, std::unique_ptr< InDet::PixelCluster > &) const override final
Definition: FPGAClusterConverter.cxx:250
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
xAOD::PixelClusterContainer
PixelClusterContainer_v1 PixelClusterContainer
Define the version of the pixel cluster container.
Definition: Event/xAOD/xAODInDetMeasurement/xAODInDetMeasurement/PixelClusterContainer.h:14
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
FPGAClusterConverter::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: FPGAClusterConverter.h:86
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
xAOD::StripClusterContainer
StripClusterContainer_v1 StripClusterContainer
Define the version of the strip cluster container.
Definition: StripClusterContainer.h:14
SG::ReadCondHandleKey< InDet::BeamSpotData >
IFPGAClusterConverter.h
h
SpacePointContainer.h
SCT_ID
Definition: SCT_ID.h:68
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
StripClusterContainer.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SpacePointContainer
Definition: Tracking/TrkEvent/TrkSpacePoint/TrkSpacePoint/SpacePointContainer.h:29
BeamSpotData.h
PixelID
Definition: PixelID.h:67
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
FPGAClusterConverter::initialize
virtual StatusCode initialize() override final
Definition: FPGAClusterConverter.cxx:23
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
Identifier
Definition: IdentifierFieldParser.cxx:14