ATLAS Offline Software
Loading...
Searching...
No Matches
TruthClusterSplittingToolImpl.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRACKRECONSTRUCTION_TRUTHCLUSTERSPLITTINGTOOL_IMPL_H
6#define ACTSTRACKRECONSTRUCTION_TRUTHCLUSTERSPLITTINGTOOL_IMPL_H
7
13
16
19
20
21namespace ActsTrk::detail {
22
23 template <typename traj_t>
25
31
33 template <typename traj_t>
35 : public PixelClusterCalibratorBase<TruthClusterSplittingCalibrator<traj_t>, traj_t>
36 {
37 public:
39 friend BASE;
40
43 : BASE(std::move(base_options)),
44 m_options(std::move(options))
45 {}
46
47 std::tuple<typename TruthClusterSplittingCalibrator<traj_t>::BASE::Pos,
49 unsigned int>
50 calibrate(const EventContext& ctx,
51 const Acts::GeometryContext& gctx,
52 const Acts::CalibrationContext& cctx,
53 const xAOD::PixelCluster& cluster,
54 const InDetDD::SiDetectorElement& detElement,
55 const std::pair<float, float>& angles,
56 const Acts::Vector2& predicted_local_position) const;
57
58 protected:
60 };
61
67 template <typename traj_t>
69 : public PixelClusterCalibrationToolBase<traj_t> {
70 public:
72 using BASE::BASE;
73
74 virtual StatusCode initialize() override;
75
76 virtual std::unique_ptr<PixelOnBoundStateCalibratorBase > create(const EventContext &ctx) const override {
77 return createOnTrackCalibrator(ctx);
78 }
79
80 virtual std::unique_ptr<PixelOnTrackCalibratorBase<traj_t> > createOnTrackCalibrator(const EventContext &ctx) const override {
81 return std::make_unique<TruthClusterSplittingCalibrator<traj_t> >(this->createBaseOptions(ctx),
82 this->createOptions(ctx));
83 }
84
85 protected:
86
87 virtual TruthClusterSplittingCalibratorOptions createOptions(const EventContext &ctx) const {
89 .m_measToTruth=getAssociationMap(ctx),
90 .m_truthSelectionTool=getTruthSelectionTool()
91 };
92 return options;
93 }
94
95 // Read handle key and tool handles
97 {this,"AssociationMapOut","ITkPixelClustersToTruthParticles", "Association map between measurements and truth particles"};
99
100 ToolHandle<IAthSelectionTool> m_truthSelectionTool{this, "TruthSelectionTool","AthTruthSelectionTool", "Truth selection tool (for efficiencies and resolutions)"};
102 };
103
104} // namespace ActsTrk::detail
105
107
108#endif
header file for interface of selection tools in this package
This is an Identifier helper class for the Pixel subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
base class of a Pixel cluster calibration tool In addition to some common functionality provied by Pi...
PixelClusterCalibratorOptionsBase createBaseOptions(const EventContext &) const
create options needed by the calibrator base class.
TruthClusterSplittingCalibrator(PixelClusterCalibratorOptionsBase &&base_options, TruthClusterSplittingCalibratorOptions &&options)
PixelClusterCalibratorBase< TruthClusterSplittingCalibrator< traj_t >, traj_t > BASE
std::tuple< typename TruthClusterSplittingCalibrator< traj_t >::BASE::Pos, typename TruthClusterSplittingCalibrator< traj_t >::BASE::Cov, unsigned int > calibrate(const EventContext &ctx, const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const xAOD::PixelCluster &cluster, const InDetDD::SiDetectorElement &detElement, const std::pair< float, float > &angles, const Acts::Vector2 &predicted_local_position) const
the tool to create the truth clustering calibrator.
virtual StatusCode initialize() override
initializes this base class (must be called by the derived class)
virtual std::unique_ptr< PixelOnTrackCalibratorBase< traj_t > > createOnTrackCalibrator(const EventContext &ctx) const override
virtual TruthClusterSplittingCalibratorOptions createOptions(const EventContext &ctx) const
SG::ReadHandleKey< ActsTrk::MeasurementToTruthParticleAssociation > m_associationMap_key
virtual std::unique_ptr< PixelOnBoundStateCalibratorBase > create(const EventContext &ctx) const override
convenience class to create an OnBoundState calibrator from an OnTrack calibrator.
const IAthSelectionTool * getTruthSelectionTool() const
const ActsTrk::MeasurementToTruthParticleAssociation * getAssociationMap(const EventContext &ctx) const
IAthSelectionTool is a virtual baseclass for selection methods.
Class to hold geometrical description of a silicon detector element.
Property holding a SG store/key/clid from which a ReadHandle is made.
Hash functions to pack the source link into unordered_maps / unordered_sets.
STL namespace.
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.
the base options the options of the options of every PixelClusterCalibrator must be based on
Options for the truth cluster splitting calibrator.
const ActsTrk::MeasurementToTruthParticleAssociation * m_measToTruth