ATLAS Offline Software
AtlasMeasurementSelector.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3  */
6 
10 
11 #include "Acts/Definitions/Common.hpp"
12 #include "Acts/Definitions/Algebra.hpp"
13 #include "Acts/Utilities/VectorHelpers.hpp"
14 #include "Acts/Utilities/Delegate.hpp"
15 #include "Acts/Utilities/Result.hpp"
16 #include "Acts/Geometry/GeometryContext.hpp"
17 #include "Acts/Utilities/CalibrationContext.hpp"
18 #include "Acts/EventData/TrackParameters.hpp"
19 #include "Acts/Surfaces/Surface.hpp"
20 #include "Acts/Utilities/Logger.hpp"
21 
22 #include "MeasurementSelector.h"
26 
28 
30 #include "IMeasurementSelector.h"
31 #include "CalibratorRegistry.h"
32 #include "MeasurementCalibrator2.h"
33 
34 #include "boost/container/small_vector.hpp"
35 
36 #include <tuple>
37 #include <type_traits>
38 
39 template <std::size_t NMeasMax, typename traj_t, typename measurement_container_variant_t>
41 
42 static constexpr bool s_fullPreCalibration=true;
43 
44 // need an "Eigen Map" which is default constructable and assignable
45 // and where an assignment changes the data pointer not the contents of
46 // the data it was pointing to.
47 template <std::size_t DIM>
51  this->m_data = a.m_data;
52  return *this;
53  }
55  this->m_data = a.m_data;
56  return *this;
57  }
59  this->m_data = a.data();
60  return *this;
61  }
63 };
64 
65 // see above
66 template <std::size_t DIM>
70  this->m_data = a.m_data;
71  return *this;
72  }
74  this->m_data = a.m_data;
75  return *this;
76  }
78  this->m_data = a.data();
79  return *this;
80  }
82 };
83 
88 template <std::size_t NMeasMax, typename traj_t, typename measurement_container_variant_t>
89 struct MeasurementSelectorTraits< AtlasMeasurementSelector<NMeasMax, traj_t, measurement_container_variant_t> >
90 {
91  // the measurement type after the selection e.g. a Matrix<N,1>
92  template <std::size_t N>
94 
95  // the measurement covariance type after the selection e.g. a Matrix<N,N>
96  template <std::size_t N>
98 
99  // the measurement type before the selection e.g. an Eigen::Map< Matrix<N,1> > if
100  // the calibration is performed after the selection
101  template <std::size_t N>
102  using PreSelectionMeasurement = std::conditional< s_fullPreCalibration,
105 
106  // the measurement covariance type before the selection e.g. an Eigen::Map<Matrix<N,N> > if
107  // the calibration is performed after the selection
108  template <std::size_t N>
109  using PreSelectionMeasurementCovariance = std::conditional< s_fullPreCalibration,
112  // e.g. the same as CalibratedMeasurement
113  template <std::size_t N>
115 
116  // e.g. the same as CalibratedMeasurementCovariance
117  template <std::size_t N>
119 
120  // e.g. helper template to get the value_type from the container type
121  template <typename T_Container>
122  struct MeasurementContainerTraits {
123  using value_type = typename T_Container::const_value_type;
124  };
125 
126  // the trajectory type to which states for selected measurements are to be added
127  using trajectory_t = traj_t;
128  // the track state type for new track states
129  using TrackStateProxy = typename traj_t::TrackStateProxy;
130 
131  // the value type usd for matrices
132  using MatrixFloatType = Acts::ActsScalar;
133  using BoundTrackParameters = Acts::BoundTrackParameters;
134  using BoundMatrix = Acts::BoundMatrix;
135 
136  using BoundState = std::tuple<BoundTrackParameters, BoundMatrix, double>;
137 
138  // maximum dimension of measurements determined from the measurement "container" variant
140 
141  // must be the same as what is used for the CKF
142  static constexpr std::size_t s_maxBranchesPerSurface = 10;
143 };
144 
146 template <std::size_t NMeasMax, typename traj_t, typename measurement_container_variant_t>
148  : public MeasurementSelectorBaseImpl<NMeasMax,
149  AtlasMeasurementSelector<NMeasMax, traj_t, measurement_container_variant_t> ,
150  measurement_container_variant_t >
151 {
152  // @TODO can these redundent definitions been avoided ?
155  measurement_container_variant_t >;
156  // BASE::trats are MeasurementSelectorTraits< ... decltype(*this) >
157  using traits = typename BASE::traits;
158 
159  template <std::size_t DIM>
160  using Measurement = typename traits::template CalibratedMeasurement<DIM>;
161 
162  // the delegate used for the final calibration
163  template <std::size_t DIM, typename measurement_t>
164  using Calibrator = Acts::Delegate<
165  std::pair < typename traits::template CalibratedMeasurement<DIM>,
166  typename traits::template CalibratedMeasurementCovariance<DIM> >
167  (const Acts::GeometryContext&,
168  const Acts::CalibrationContext&,
169  const measurement_t &,
170  const typename traits::BoundTrackParameters &)>;
171 
172  // helper to determine the calibrator type from the measurement container tyoe
173  // and to define the types used for the calibrated measurement and covariance
175  // the types used for the calibrated measurement and covariance
176  template <std::size_t DIM>
177  using Measurement = typename traits::template CalibratedMeasurement<DIM>;
178  template <std::size_t DIM>
179  using MeasurementCovariance = typename traits::template CalibratedMeasurementCovariance<DIM>;
180 
181  // helper to determine the measurement value type from the container type
182  template <typename T_Container>
183  using MeassurementContainerValueType = typename traits::template MeasurementContainerTraits<T_Container>::value_type;
184  };
185 
186  // Helper to provide the mapping between bound parameters and coordinates
187  // @TODO is the default projector always good enough or is there some dependency
188  // on the geoemtry ?
191  struct Empty {};
192  std::conditional<s_fullPreCalibration,
195 
196  // register a calibrator for the given measurement type and the measurement dimension i.e. number of coordinates
197  template <std::size_t DIM, typename T_ValueType>
198  void setCalibrator(const Calibrator<DIM, T_ValueType> &calibrator) {
199  m_calibrators.template setCalibrator<DIM, T_ValueType>(calibrator);
200  }
201 
202  template <std::size_t DIM>
203  static constexpr bool s_CanPreCalibrate = std::is_same< typename traits::template PreSelectionMeasurement<DIM>,
204  typename traits::template CalibratedMeasurement<DIM> >::value
205  && std::is_same< typename traits::template PreSelectionMeasurementCovariance<DIM>,
206  typename traits::template CalibratedMeasurementCovariance<DIM> >::value;
207 
208  template < std::size_t DIM, typename T_ValueType >
209  void setPreCalibrator(typename std::enable_if<s_CanPreCalibrate<DIM>, const Calibrator<DIM, T_ValueType> &>::type calibrator) {
210  m_preCalibrators.template setCalibrator<DIM, T_ValueType>(calibrator);
211  }
212 
213  // helper to create a Acts::SourceLink from an uncalibrated measurement pointer
214  template <typename T_Value>
215  static Acts::SourceLink makeSourceLink(T_Value &&value) {
216  // value is pointer
217  static_assert( !std::is_same<std::remove_pointer_t<T_Value>, T_Value>::value );
218  // ... and pointer to xAOD::UncalibgratedMeasurement
219  static_assert(std::is_base_of_v< xAOD::UncalibratedMeasurement, std::remove_cv_t<std::remove_pointer_t<T_Value> > > );
220  return Acts::SourceLink{ ActsTrk::makeATLASUncalibSourceLink(value) };
221  }
222 
223  // helper to provide a map from bound parameters to coordinates
224  template <std::size_t DIM>
226  parameterMap(const Acts::GeometryContext& geometryContext,
227  const Acts::CalibrationContext& calibrationContext,
228  const Acts::Surface& surface) const {
229  return m_projector.parameterMap<DIM>(geometryContext,calibrationContext,surface);
230  }
231 
232  // helper which returns a delegate to perform the post calibration for the given measurement type and dimension
233  template <std::size_t DIM, typename measurement_t>
235  postCalibrator() const {
236  return m_calibrators.template calibrator<DIM,measurement_t>();
237  }
238 
239  // helper which returns a delegate or lambda to get the measurement and covariance used during the selection
240  template <std::size_t DIM, typename measurement_t>
241  auto
242  preCalibrator() const {
243  if constexpr(s_fullPreCalibration) {
244  // full calibration during selection
245  return m_preCalibrators.template calibrator<DIM,measurement_t>();
246  }
247  else {
248  // no calibration is performed before the measurement selection, so just Eigen maps to the stored location
249  // and covariance are returned.
250  // @TODO unfortunately the Eigen Maps cannot be used directly because they are incompatible with the
251  // temporary measurement storage used in the measurement selector, so need to convert to the
252  // above ConstVectorMapWithInvalidDef etc. Does this introduce some overhead ?
253  return []( [[maybe_unused]] const Acts::GeometryContext&,
254  [[maybe_unused]] const Acts::CalibrationContext&,
255  const measurement_t &measurement,
256  [[maybe_unused]] const typename traits::BoundTrackParameters &) {
257  return std::make_pair( measurement.template localPosition<DIM>(), measurement.template localCovariance<DIM>() );
258  };
259  }
260  }
261 };
262 
263 namespace {
264  using RecoTrackStateContainer = Acts::VectorMultiTrajectory; // the track back-end used during track finding:
265 
266  static constexpr std::size_t gAbsoluteMaxBranchesPerSurface = 3; // the absolute maximum number of branches per surface
267  // the actual value is configurable up to this number
268 
269 
270  // Wrapper class which provides the actual measurement selector and
271  // allows to connect it to the delegate used by the track finder
272  template <typename source_link_iterator_t, typename traj_t>
273  class AtlasActsMeasurmentSelector : public ActsTrk::IMeasurementSelector {
274  public:
275  using TheAtlasMeasurementSelector
277  gAbsoluteMaxBranchesPerSurface,
278  traj_t,
280  // where measurement_container_variant_t is e.g.
281  // variant< ContainerRefWithDim<xAOD::PixelClusterContainer,2>, ... >
282  >;
283 
284  using BoundState = std::tuple<Acts::BoundTrackParameters, Acts::BoundMatrix, double>;
285  // the delegate used by the track finder to which the measurement selector needs to be connected to
286  using TrackStateCandidateCreator =
287  Acts::Delegate<Acts::Result<boost::container::small_vector<
289  TheAtlasMeasurementSelector::traits::s_maxBranchesPerSurface>>(
290  const Acts::GeometryContext& geoContext,
291  const Acts::CalibrationContext& calibrationContext, const Acts::Surface& surface,
292  const BoundState& boundState, source_link_iterator_t slBegin,
293  source_link_iterator_t slEnd, std::size_t prevTip,
294  traj_t& bufferTrajectory,
295  std::vector<typename traj_t::TrackStateProxy>& trackStateCandidates,
296  traj_t& trajectory, const Acts::Logger& logger)>;
297 
298  AtlasActsMeasurmentSelector(ActsTrk::MeasurementCalibrator2 &&calibrator,
299  TheAtlasMeasurementSelector::Config &&config)
300  : m_calibrator( std::move(calibrator)),
301  m_measurementSelector{ {std::move(config)} }
302  {
303  // have to register one calibrator per measurement container type and associated dimension.
304  // @TODO unfortunately automatic type deduction does not work, so have to provide the type
305  // additionally
306  if constexpr( s_fullPreCalibration) {
307  m_measurementSelector.template setPreCalibrator<2,xAOD::PixelCluster>(m_calibrator.pixelPreCalibrator());
308  m_measurementSelector.template setPreCalibrator<1,xAOD::StripCluster>(m_calibrator.stripPreCalibrator());
309  m_measurementSelector.template setCalibrator<2,xAOD::PixelCluster>(m_calibrator.pixelPostCalibrator());
310  m_measurementSelector.template setCalibrator<1,xAOD::StripCluster>(m_calibrator.stripPostCalibrator());
311  }
312  else {
313  m_measurementSelector.template setCalibrator<2,xAOD::PixelCluster>(m_calibrator.pixelPostCalibrator());
314  m_measurementSelector.template setCalibrator<1,xAOD::StripCluster>(m_calibrator.stripPostCalibrator());
315  }
316  }
317 
318  // called by the track finder to connect this measurement selector to the ckf.
319  void connect(std::any delegate_ptr) const override {
320  auto delegate = std::any_cast< TrackStateCandidateCreator *>(delegate_ptr);
321  delegate->template connect< & TheAtlasMeasurementSelector::template createSourceLinkTrackStates<source_link_iterator_t> >(&m_measurementSelector);
322  }
323 
324  // provides the calibrators
325  ActsTrk::MeasurementCalibrator2 m_calibrator;
326 
327  // the actual measurement selector
328  TheAtlasMeasurementSelector m_measurementSelector;
329  };
330 }
331 
332 namespace ActsTrk {
333 // return a configured, wrapper for the measurement selector
334 std::unique_ptr<ActsTrk::IMeasurementSelector> getMeasurementSelector([[maybe_unused]] const ActsTrk::IActsToTrkConverterTool &ATLASConverterTool,
335  const ActsTrk::IOnBoundStateCalibratorTool *onTrackCalibratorTool,
336  const std::vector<float> &etaBinsf,
337  const std::vector<std::pair<float, float> > &chi2CutOffOutlier,
338  const std::vector<size_t> &numMeasurementsCutOff) {
339 
340  // set calibrators per measurement container type (order does not matter);
341  ActsTrk::MeasurementCalibrator2 atl_measurement_calibrator(onTrackCalibratorTool); // *m_ATLASConverterTool,
342  using AtlMeasurementSelectorCuts = AtlasMeasurementSelectorCuts;
343 
344  using AtlMeasurementSelector = AtlasActsMeasurmentSelector<ActsTrk::UncalibSourceLinkAccessor::Iterator, RecoTrackStateContainer>;
345  using AtlMeasurementSelectorConfig = AtlMeasurementSelector::TheAtlasMeasurementSelector::Config;
346 
347  std::unique_ptr<ActsTrk::IMeasurementSelector>
348  selector(new AtlMeasurementSelector(
349  std::move(atl_measurement_calibrator),
350  AtlMeasurementSelectorConfig{ {Acts::GeometryIdentifier(),
351  AtlMeasurementSelectorCuts{ etaBinsf,
352  chi2CutOffOutlier,
353  numMeasurementsCutOff} }}));
354  return selector;
355 
356 }
357 }
MeasurementSelector.h
ConstVectorMapWithInvalidDef::operator=
ConstVectorMapWithInvalidDef< DIM > & operator=(ConstVectorMapWithInvalidDef< DIM > &&a)
Definition: AtlasMeasurementSelector.cxx:50
ActsTrk::IOnBoundStateCalibratorTool
Definition: IOnBoundStateCalibratorTool.h:18
ConstMatrixMapWithInvalidDef::operator=
ConstMatrixMapWithInvalidDef< DIM > & operator=(const xAOD::ConstMatrixMap< DIM > &a)
Definition: AtlasMeasurementSelector.cxx:77
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::MatrixFloatType
Acts::ActsScalar MatrixFloatType
Definition: AtlasMeasurementSelector.cxx:132
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::PreSelectionMeasurementCovariance
std::conditional< s_fullPreCalibration, CalibratedMeasurementCovariance< N >, ConstMatrixMapWithInvalidDef< N > >::type PreSelectionMeasurementCovariance
Definition: AtlasMeasurementSelector.cxx:111
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::BoundTrackParameters
Acts::BoundTrackParameters BoundTrackParameters
Definition: AtlasMeasurementSelector.cxx:133
ConstMatrixMapWithInvalidDef
Definition: AtlasMeasurementSelector.cxx:67
AtlasMeasurementSelector::CalibratedMeasurementTraits::Measurement
typename traits::template CalibratedMeasurement< DIM > Measurement
Definition: AtlasMeasurementSelector.cxx:177
ParameterMapping::type
std::array< unsigned char, N > type
Definition: MeasurementSelector.h:127
MeasurementSelectorBase< NMeasMax, MeasurementSelectorTraits< derived_t >::s_dimMax, derived_t >::traits
MeasurementSelectorTraits< derived_t > traits
Definition: MeasurementSelector.h:303
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::BoundState
std::tuple< BoundTrackParameters, BoundMatrix, double > BoundState
Definition: AtlasMeasurementSelector.cxx:136
CalibratorRegistry.h
ActsTrk::IMeasurementSelector::connect
virtual void connect(std::any delegate_wrap) const =0
MeasurementSelectorTraits::s_dimMax
static const std::size_t s_dimMax
Definition: MeasurementSelector.h:90
TrackParameters.h
AtlasMeasurementSelector::CalibratedMeasurementTraits::MeassurementContainerValueType
typename traits::template MeasurementContainerTraits< T_Container >::value_type MeassurementContainerValueType
Definition: AtlasMeasurementSelector.cxx:183
AtlasMeasurementSelector::makeSourceLink
static Acts::SourceLink makeSourceLink(T_Value &&value)
Definition: AtlasMeasurementSelector.cxx:215
m_data
std::vector< T > m_data
Definition: TrackTruthMatchingBaseAlg.cxx:660
Calibrator
A structure to contain data associated with the calibration of a certain sub-module.
Definition: Calibrator.h:178
MeasurementContainerWithDimension< AtlasMeasurementContainerList, T_Container... >::measurement_container_variant_t
std::variant< T_Container... > measurement_container_variant_t
Definition: MeasurementContainerWithDimension.h:40
xAOD::ConstMatrixMap
Eigen::Map< const MeasMatrix< N > > ConstMatrixMap
Definition: MeasurementDefs.h:64
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::PredictedCovariance
CalibratedMeasurementCovariance< N > PredictedCovariance
Definition: AtlasMeasurementSelector.cxx:118
AtlasUncalibSourceLinkAccessor.h
taskman.template
dictionary template
Definition: taskman.py:317
athena.value
value
Definition: athena.py:122
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
AtlasMeasurementSelector::Measurement
typename traits::template CalibratedMeasurement< DIM > Measurement
Definition: AtlasMeasurementSelector.cxx:160
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::CalibratedMeasurement
xAOD::MeasVector< N > CalibratedMeasurement
Definition: AtlasMeasurementSelector.cxx:93
AtlasMeasurementSelector::m_preCalibrators
std::conditional< s_fullPreCalibration, CalibratorRegistry< CalibratedMeasurementTraits, typename traits::BoundTrackParameters, measurement_container_variant_t >, Empty >::type m_preCalibrators
Definition: AtlasMeasurementSelector.cxx:194
AtlasMeasurementSelector::postCalibrator
const Calibrator< DIM, measurement_t > & postCalibrator() const
Definition: AtlasMeasurementSelector.cxx:235
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
ConstVectorMapWithInvalidDef::operator=
ConstVectorMapWithInvalidDef< DIM > & operator=(const ConstVectorMapWithInvalidDef< DIM > &a)
Definition: AtlasMeasurementSelector.cxx:54
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::BoundMatrix
Acts::BoundMatrix BoundMatrix
Definition: AtlasMeasurementSelector.cxx:134
ActsTrk::IndexType
std::uint32_t IndexType
Definition: Decoration.h:13
ActsTrk::MeasurementParameterMap
Definition: MeasurementCalibrator2.h:35
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
AtlasMeasurementSelector::s_CanPreCalibrate
static constexpr bool s_CanPreCalibrate
Definition: AtlasMeasurementSelector.cxx:203
ActsTrk::makeATLASUncalibSourceLink
ATLASUncalibSourceLink makeATLASUncalibSourceLink(const xAOD::UncalibratedMeasurementContainer *container, std::size_t index, [[maybe_unused]] const EventContext &ctx)
Definition: ATLASSourceLink.h:31
AtlasMeasurementSelectorCuts
Definition: MeasurementSelector.h:282
Result
ICscStripFitter::Result Result
Definition: CalibCscStripFitter.cxx:13
AtlasMeasurementSelector::CalibratedMeasurementTraits::MeasurementCovariance
typename traits::template CalibratedMeasurementCovariance< DIM > MeasurementCovariance
Definition: AtlasMeasurementSelector.cxx:179
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::PreSelectionMeasurement
std::conditional< s_fullPreCalibration, CalibratedMeasurement< N >, ConstVectorMapWithInvalidDef< N > >::type PreSelectionMeasurement
Definition: AtlasMeasurementSelector.cxx:104
PixelClusterContainer.h
ActsTrk::IActsToTrkConverterTool
Definition: IActsToTrkConverterTool.h:43
CalibratorRegistry
Definition: CalibratorRegistry.h:15
MeasurementSelectorTraits::s_maxBranchesPerSurface
static constexpr std::size_t s_maxBranchesPerSurface
Definition: MeasurementSelector.h:94
AtlasMeasurementSelector::m_calibrators
CalibratorRegistry< CalibratedMeasurementTraits, typename traits::BoundTrackParameters, measurement_container_variant_t > m_calibrators
Definition: AtlasMeasurementSelector.cxx:190
ConstVectorMapWithInvalidDef::operator=
ConstVectorMapWithInvalidDef< DIM > & operator=(const xAOD::ConstVectorMap< DIM > &a)
Definition: AtlasMeasurementSelector.cxx:58
MeasurementCalibrator2.h
AtlasMeasurementSelector::setCalibrator
void setCalibrator(const Calibrator< DIM, T_ValueType > &calibrator)
Definition: AtlasMeasurementSelector.cxx:198
AtlasMeasurementSelector::Empty
Definition: AtlasMeasurementSelector.cxx:191
AtlasMeasurementSelector::m_projector
ActsTrk::MeasurementParameterMap m_projector
Definition: AtlasMeasurementSelector.cxx:189
ActsTrk::MeasurementCalibrator2
Definition: MeasurementCalibrator2.h:108
AtlasMeasurementSelector::traits
typename BASE::traits traits
Definition: AtlasMeasurementSelector.cxx:157
xAOD::MeasVector
Eigen::Matrix< float, N, 1 > MeasVector
Abrivation of the Matrix & Covariance definitions.
Definition: MeasurementDefs.h:52
AtlasMeasurementSelector::preCalibrator
auto preCalibrator() const
Definition: AtlasMeasurementSelector.cxx:242
ConstMatrixMapWithInvalidDef::operator=
ConstMatrixMapWithInvalidDef< DIM > & operator=(ConstMatrixMapWithInvalidDef< DIM > &&a)
Definition: AtlasMeasurementSelector.cxx:69
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::trajectory_t
traj_t trajectory_t
Definition: AtlasMeasurementSelector.cxx:127
AtlasMeasurementSelector::parameterMap
ParameterMapping::type< DIM > parameterMap(const Acts::GeometryContext &geometryContext, const Acts::CalibrationContext &calibrationContext, const Acts::Surface &surface) const
Definition: AtlasMeasurementSelector.cxx:226
ActsTrk::getMeasurementSelector
std::unique_ptr< ActsTrk::IMeasurementSelector > getMeasurementSelector([[maybe_unused]] const ActsTrk::IActsToTrkConverterTool &ATLASConverterTool, const ActsTrk::IOnBoundStateCalibratorTool *onTrackCalibratorTool, const std::vector< float > &etaBinsf, const std::vector< std::pair< float, float > > &chi2CutOffOutlier, const std::vector< size_t > &numMeasurementsCutOff)
Definition: AtlasMeasurementSelector.cxx:334
AtlasMeasurementSelector
ATALS specific Implementation of the member functions needed by the measurement selector.
Definition: AtlasMeasurementSelector.cxx:40
ConstVectorMapWithInvalidDef
Definition: AtlasMeasurementSelector.cxx:48
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::TrackStateProxy
typename traj_t::TrackStateProxy TrackStateProxy
Definition: AtlasMeasurementSelector.cxx:129
ActsTrk::MeasurementParameterMap::parameterMap
ParameterMap< DIM > parameterMap([[maybe_unused]] const Acts::GeometryContext &, [[maybe_unused]] const Acts::CalibrationContext &, const Acts::Surface &surface) const
Definition: MeasurementCalibrator2.h:84
ConstMatrixMapWithInvalidDef::operator=
ConstMatrixMapWithInvalidDef< DIM > & operator=(const ConstMatrixMapWithInvalidDef< DIM > &a)
Definition: AtlasMeasurementSelector.cxx:73
MeasurementSelectorTraits
Definition: MeasurementSelector.h:44
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::Predicted
CalibratedMeasurement< N > Predicted
Definition: AtlasMeasurementSelector.cxx:114
a
TList * a
Definition: liststreamerinfos.cxx:10
python.selector.AtlRunQuerySelectorLhcOlc.selector
selector
Definition: AtlRunQuerySelectorLhcOlc.py:611
StripClusterContainer.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
MeasurementSelectorBaseImpl
Definition: MeasurementSelector.h:786
IActsToTrkConverterTool.h
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:34
xAOD::MeasMatrix
Eigen::Matrix< float, N, N > MeasMatrix
Definition: MeasurementDefs.h:54
IMeasurementSelector.h
ActsTrk::IMeasurementSelector
Definition: IMeasurementSelector.h:10
MeasurementSelectorTraits< AtlasMeasurementSelector< NMeasMax, traj_t, measurement_container_variant_t > >::CalibratedMeasurementCovariance
xAOD::MeasMatrix< N > CalibratedMeasurementCovariance
Definition: AtlasMeasurementSelector.cxx:97
value_type
Definition: EDM_MasterSearch.h:11
AtlasMeasurementSelector::CalibratedMeasurementTraits
Definition: AtlasMeasurementSelector.cxx:174
AtlasMeasurementSelector::setPreCalibrator
void setPreCalibrator(typename std::enable_if< s_CanPreCalibrate< DIM >, const Calibrator< DIM, T_ValueType > & >::type calibrator)
Definition: AtlasMeasurementSelector.cxx:209
ConstVectorMapWithInvalidDef::ConstVectorMapWithInvalidDef
ConstVectorMapWithInvalidDef()
Definition: AtlasMeasurementSelector.cxx:49
TrackContainer.h
xAOD::ConstVectorMap
Eigen::Map< const MeasVector< N > > ConstVectorMap
Definition: MeasurementDefs.h:59
python.iconfTool.gui.pad.logger
logger
Definition: pad.py:14
IActsTrackingGeometryTool.h
ConstMatrixMapWithInvalidDef::ConstMatrixMapWithInvalidDef
ConstMatrixMapWithInvalidDef()
Definition: AtlasMeasurementSelector.cxx:68
IActsExtrapolationTool.h
MeasurementContainerListWithDimension< AtlasMeasurementContainerList, ContainerRefWithDim< xAOD::PixelClusterContainer, 2 >, ContainerRefWithDim< xAOD::StripClusterContainer, 1 > >::getMeasurementDimMax
static constexpr std::size_t getMeasurementDimMax()
Definition: MeasurementContainerWithDimension.h:266