ATLAS Offline Software
StripCalibratorImpl.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ACTSTRACKRECONSTRUCTION_STRIPCALIBRATOR_IMPL_H
6 #define ACTSTRACKRECONSTRUCTION_STRIPCALIBRATOR_IMPL_H
7 
11 
14 
15 
16 namespace ActsTrk::detail {
17 
18  template <typename traj_t>
20  : public extends<AthAlgTool, IOnTrackCalibratorTool<traj_t>> {
21  public:
22  using base_class = typename extends<AthAlgTool, IOnTrackCalibratorTool<traj_t>>::base_class;
26 
27  StripCalibratorImpl(const std::string& type,
28  const std::string& name,
29  const IInterface* parent);
30 
31  virtual StatusCode initialize() override;
32 
33  std::pair<Pos, Cov> calibrate(const Acts::GeometryContext&,
34  const Acts::CalibrationContext&,
35  const xAOD::StripCluster&,
36  const TrackStateProxy&) const;
37 
38  std::pair<Pos, Cov> calibrate(const Acts::GeometryContext&,
39  const Acts::CalibrationContext&,
40  const xAOD::StripCluster&,
41  const Acts::BoundTrackParameters&) const;
42 
43  virtual void connect(OnTrackCalibrator<traj_t>& calibrator) const override;
44 
45  virtual void connectStripCalibrator(IOnBoundStateCalibratorTool::StripCalibrator& calibrator) const override;
46 
47  virtual bool calibrateAfterMeasurementSelection() const override;
48 
49  private:
50 
52 
53  std::pair<typename StripCalibratorImpl<traj_t>::Pos,
55  calibrate(const Acts::GeometryContext&,
56  const Acts::CalibrationContext&,
57  const xAOD::StripCluster&,
58  const InDetDD::SiDetectorElement&) const;
59 
60  std::optional<float> getCorrectedError(const xAOD::StripCluster& cluster) const;
61 
63  "Key of SiDetectorElementCollection for Strip"
64  };
65 
66  Gaudi::Property<bool> m_postCalibration{this, "CalibrateAfterMeasurementSelection", false};
67  Gaudi::Property<bool> m_correctCovariance{this, "PerformCovarianceCalibration", true};
68  Gaudi::Property<int> m_errorStrategy {this,"errorStrategy", 0, "Which error strategy to use for clusters on track: 0 - no correction, 1 - cluster size, 2 - from clustering tool"};
69 
70  };
71 
72 } // namespace ActsTrk::detail
73 
75 
76 #endif
77 
ActsTrk::detail::StripCalibratorImpl
Definition: StripCalibratorImpl.h:20
ActsTrk::detail::StripCalibratorImpl::initialize
virtual StatusCode initialize() override
IOnTrackCalibratorTool.h
ActsTrk::detail::StripCalibratorImpl::getCorrectedError
std::optional< float > getCorrectedError(const xAOD::StripCluster &cluster) const
ActsTrk::detail::StripCalibratorImpl::getDetectorElement
const InDetDD::SiDetectorElement & getDetectorElement(xAOD::DetectorIDHashType id) const
ActsTrk::detail::StripCalibratorImpl::m_stripDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_stripDetEleCollKey
Definition: StripCalibratorImpl.h:62
ActsTrk::detail::StripCalibratorImpl< detail::RecoTrackStateContainer >::Cov
typename OnTrackCalibrator< detail::RecoTrackStateContainer >::StripCov Cov
Definition: StripCalibratorImpl.h:24
ActsTrk::detail::StripCalibratorImpl::calibrateAfterMeasurementSelection
virtual bool calibrateAfterMeasurementSelection() const override
ActsTrk::detail::StripCalibratorImpl::calibrate
std::pair< Pos, Cov > calibrate(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::StripCluster &, const Acts::BoundTrackParameters &) const
ActsTrk::IOnBoundStateCalibratorTool::StripCalibrator
Acts::Delegate< std::pair< StripPos, StripCov >(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::StripCluster &, const Acts::BoundTrackParameters &)> StripCalibrator
Definition: IOnBoundStateCalibratorTool.h:39
ActsTrk::detail::StripCalibratorImpl::StripCalibratorImpl
StripCalibratorImpl(const std::string &type, const std::string &name, const IInterface *parent)
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ActsTrk::detail::StripCalibratorImpl::m_correctCovariance
Gaudi::Property< bool > m_correctCovariance
Definition: StripCalibratorImpl.h:67
ActsTrk::detail::StripCalibratorImpl::connectStripCalibrator
virtual void connectStripCalibrator(IOnBoundStateCalibratorTool::StripCalibrator &calibrator) const override
OnTrackCalibrator.h
StripCalibratorImpl.icc
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::StripCluster_v1
Definition: StripCluster_v1.h:17
ActsTrk::detail::OnTrackCalibrator::TrackStateProxy
typename Acts::MultiTrajectory< traj_t >::TrackStateProxy TrackStateProxy
Definition: OnTrackCalibrator.h:24
ActsTrk::detail::OnTrackCalibrator::StripCov
xAOD::MeasMatrix< 1 > StripCov
Definition: OnTrackCalibrator.h:35
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
xAOD::DetectorIDHashType
unsigned int DetectorIDHashType
@ detector ID element hash
Definition: MeasurementDefs.h:43
ActsTrk::detail::StripCalibratorImpl::calibrate
std::pair< Pos, Cov > calibrate(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::StripCluster &, const TrackStateProxy &) const
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SiDetectorElementCollection.h
ActsTrk::detail::StripCalibratorImpl::connect
virtual void connect(OnTrackCalibrator< traj_t > &calibrator) const override
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
ActsTrk::detail::StripCalibratorImpl< detail::RecoTrackStateContainer >::TrackStateProxy
typename OnTrackCalibrator< detail::RecoTrackStateContainer >::TrackStateProxy TrackStateProxy
Definition: StripCalibratorImpl.h:25
ActsTrk::detail::StripCalibratorImpl< detail::RecoTrackStateContainer >::base_class
typename extends< AthAlgTool, IOnTrackCalibratorTool< detail::RecoTrackStateContainer > >::base_class base_class
Definition: StripCalibratorImpl.h:22
ActsTrk::detail::StripCalibratorImpl< detail::RecoTrackStateContainer >::Pos
typename OnTrackCalibrator< detail::RecoTrackStateContainer >::StripPos Pos
Definition: StripCalibratorImpl.h:23
ActsTrk::detail::OnTrackCalibrator
Inner detector / ITk calibrator implementation used in the KalmanFilterTool.
Definition: IOnTrackCalibratorTool.h:14
ActsTrk::detail::OnTrackCalibrator::StripPos
xAOD::MeasVector< 1 > StripPos
Definition: OnTrackCalibrator.h:34
ActsTrk::detail
Athena definition of the Eigen plugin.
Definition: MeasurementCalibratorBase.h:19
ActsTrk::detail::StripCalibratorImpl::m_postCalibration
Gaudi::Property< bool > m_postCalibration
Definition: StripCalibratorImpl.h:66
ActsTrk::detail::StripCalibratorImpl::calibrate
std::pair< typename StripCalibratorImpl< traj_t >::Pos, typename StripCalibratorImpl< traj_t >::Cov > calibrate(const Acts::GeometryContext &, const Acts::CalibrationContext &, const xAOD::StripCluster &, const InDetDD::SiDetectorElement &) const
ActsTrk::detail::StripCalibratorImpl::m_errorStrategy
Gaudi::Property< int > m_errorStrategy
Definition: StripCalibratorImpl.h:68