|
ACTS
Experiment-independent tracking
|
Typedefs | |
| using | ActsPlugins::EDM4hepUtil::TrackerHitLookup |
| Callback resolving the EDM4hep tracker hit associated with a measurement track state. | |
Functions | |
| template<template< typename... > class other_holder_t> requires std::is_constructible_v< holder_t<const ActsPodioEdm::TrackStateCollection>, const ActsPodioEdm::TrackStateCollection&> | |
| ActsPlugins::ConstPodioTrackStateContainer< holder_t >::ConstPodioTrackStateContainer (const MutablePodioTrackStateContainer< other_holder_t > &other) | |
| Construct a const track state container from a mutable (copy). | |
| template<template< typename... > class other_holder_t> requires std::is_same_v<holder_t<const ActsPodioEdm::TrackStateCollection>, other_holder_t<ActsPodioEdm::TrackStateCollection>> | |
| ActsPlugins::ConstPodioTrackStateContainer< holder_t >::ConstPodioTrackStateContainer (MutablePodioTrackStateContainer< other_holder_t > &&other) | |
| Construct a const track state container from a mutable (move). | |
| edm4hep::MCParticle | ActsPlugins::EDM4hepUtil::getParticle (const edm4hep::SimTrackerHit &hit) |
| Get the particle from a SimTrackerHit. | |
| ActsPlugins::MutablePodioTrackContainer (const PodioUtil::ConversionHelper &, ActsPodioEdm::TrackCollection &) -> MutablePodioTrackContainer< Acts::RefHolder > | |
| Deduction guide: when passing a collection reference, deduce RefHolder. | |
| ActsPlugins::MutablePodioTrackStateContainer (PodioUtil::ConversionHelper &, ActsPodioEdm::TrackStateCollection &, ActsPodioEdm::BoundParametersCollection &, ActsPodioEdm::JacobianCollection &, ActsPodioEdm::TrackStateHitLinkCollection *) -> MutablePodioTrackStateContainer< Acts::RefHolder > | |
| Deduction guide: when passing collection references, deduce RefHolder. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::readTrack (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const edm4hep::Track &from, track_proxy_t &track, const Acts::MagneticFieldProvider &magneticField, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Read an EDM4hep track into Acts format, using a magnetic field provider. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::readTrack (const Acts::GeometryContext &gctx, const edm4hep::Track &from, track_proxy_t &track, double Bz, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Read an EDM4hep track into Acts format, using a uniform magnetic field. | |
| Acts::BoundTrackParameters | ActsPlugins::EDM4hepUtil::readTrackState (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const edm4hep::TrackState &trackState, const Acts::MagneticFieldProvider &magneticField, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Convert a single EDM4hep track state into bound track parameters. | |
| Acts::BoundTrackParameters | ActsPlugins::EDM4hepUtil::readTrackState (const Acts::GeometryContext &gctx, const edm4hep::TrackState &trackState, const Acts::MagneticFieldProvider &magneticField, Acts::MagneticFieldProvider::Cache &fieldCache, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Convert a single EDM4hep track state into bound track parameters. | |
| void | ActsPlugins::EDM4hepUtil::setParticle (edm4hep::MutableSimTrackerHit &hit, const edm4hep::MCParticle &particle) |
| Set the particle for a MutableSimTrackerHit. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::writeTrack (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, track_proxy_t track, edm4hep::MutableTrack to, const Acts::MagneticFieldProvider &magneticField, const TrackerHitLookup &hitLookup={}, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Write an Acts track to EDM4hep format, using a magnetic field provider. | |
| template<Acts::TrackProxyConcept track_proxy_t> | |
| void | ActsPlugins::EDM4hepUtil::writeTrack (const Acts::GeometryContext &gctx, track_proxy_t track, edm4hep::MutableTrack to, double Bz, const TrackerHitLookup &hitLookup={}, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Write an Acts track to EDM4hep format, using a uniform magnetic field. | |
| edm4hep::TrackState | ActsPlugins::EDM4hepUtil::writeTrackState (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, std::int32_t location, const Acts::BoundTrackParameters ¶ms, const Acts::MagneticFieldProvider &magneticField, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Convert a single set of bound track parameters into an EDM4hep track state. | |
| edm4hep::TrackState | ActsPlugins::EDM4hepUtil::writeTrackState (const Acts::GeometryContext &gctx, std::int32_t location, const Acts::BoundTrackParameters ¶ms, const Acts::MagneticFieldProvider &magneticField, Acts::MagneticFieldProvider::Cache &fieldCache, const Acts::Logger &logger=Acts::getDummyLogger()) |
| Convert a single set of bound track parameters into an EDM4hep track state. | |
Callback resolving the EDM4hep tracker hit associated with a measurement track state.
It is invoked by writeTrack once per measurement track state and should return the associated edm4hep::TrackerHit (any of the interfaced hit types) or std::nullopt if there is none. The track state is passed type-erased, so this is a plain callable independent of the trajectory backend. An empty callback means no tracker hits are written.
|
explicit |
Construct a const track state container from a mutable (copy).
| other | The mutable container to construct from |
|
explicit |
Construct a const track state container from a mutable (move).
| other | The mutable container to move from |
| edm4hep::MCParticle ActsPlugins::EDM4hepUtil::getParticle | ( | const edm4hep::SimTrackerHit & | hit | ) |
Get the particle from a SimTrackerHit.
| hit | The SimTrackerHit |
| void ActsPlugins::EDM4hepUtil::readTrack | ( | const Acts::GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| const edm4hep::Track & | from, | ||
| track_proxy_t & | track, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Read an EDM4hep track into Acts format, using a magnetic field provider.
This is the general form of readTrack, and the inverse of the corresponding writeTrack overload. Each track state is converted with readTrackState, which evaluates the local field via magneticField, so spatially varying fields are supported.
| gctx | The geometry context |
| mctx | The magnetic field context |
| from | The EDM4hep track to read |
| track | The Acts track proxy to fill |
| magneticField | The magnetic field provider, evaluated at each state |
| logger | The logger instance |
| void ActsPlugins::EDM4hepUtil::readTrack | ( | const Acts::GeometryContext & | gctx, |
| const edm4hep::Track & | from, | ||
| track_proxy_t & | track, | ||
| double | Bz, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Read an EDM4hep track into Acts format, using a uniform magnetic field.
Convenience overload of readTrack for the common case of a constant solenoidal field. Delegates to the Acts::MagneticFieldProvider form with an Acts::ConstantBField.
| gctx | The geometry context |
| from | The EDM4hep track to read |
| track | The Acts track proxy to fill |
| Bz | The (uniform) magnetic field z-component in Acts native units |
| logger | The logger instance |
| Acts::BoundTrackParameters ActsPlugins::EDM4hepUtil::readTrackState | ( | const Acts::GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| const edm4hep::TrackState & | trackState, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Convert a single EDM4hep track state into bound track parameters.
Convenience overload of readTrackState that creates its own field cache from mctx. Prefer the cache-taking overload when converting many states in a row.
| gctx | The geometry context |
| mctx | The magnetic field context |
| trackState | The EDM4hep track state to convert |
| magneticField | The magnetic field provider |
| logger | The logger instance |
| Acts::BoundTrackParameters ActsPlugins::EDM4hepUtil::readTrackState | ( | const Acts::GeometryContext & | gctx, |
| const edm4hep::TrackState & | trackState, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| Acts::MagneticFieldProvider::Cache & | fieldCache, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Convert a single EDM4hep track state into bound track parameters.
This is the inverse of writeTrackState. The parameters are expressed on a perigee surface at the state's referencePoint. The curvature omega is converted to q/p with the local field at the point of closest approach (the reference point shifted by d0/z0), where writeTrackState samples it too.
This is the per-state building block used by readTrack. It is exposed so that clients needing only some states, e.g. the AtIP state as vertexing input, can convert them without filling an Acts track.
| gctx | The geometry context |
| trackState | The EDM4hep track state to convert |
| magneticField | The magnetic field provider |
| fieldCache | Field lookup cache, reused across calls |
| logger | The logger instance |
| void ActsPlugins::EDM4hepUtil::setParticle | ( | edm4hep::MutableSimTrackerHit & | hit, |
| const edm4hep::MCParticle & | particle ) |
Set the particle for a MutableSimTrackerHit.
| hit | The MutableSimTrackerHit |
| particle | The MCParticle to set |
| void ActsPlugins::EDM4hepUtil::writeTrack | ( | const Acts::GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| track_proxy_t | track, | ||
| edm4hep::MutableTrack | to, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| const TrackerHitLookup & | hitLookup = {}, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Write an Acts track to EDM4hep format, using a magnetic field provider.
This is the general form of writeTrack. In addition to the track summary quantities (chi2, ndf, number of holes) it writes one EDM4hep track state per measurement plus a dedicated AtIP state. The perigee conversion of each state evaluates the local field via magneticField at the global position of that state, which supports spatially varying fields
hitLookup callback. It is invoked exactly once per measurement track state, in the order the states are emitted, i.e. inside-out from AtFirstHit to AtLastHit, so a stateful callback sees the same order as the output. Returned hits are attached via addToTrackerHits.| gctx | The geometry context |
| mctx | The magnetic field context |
| track | The Acts track to convert |
| to | The EDM4hep track to write to |
| magneticField | The magnetic field provider, evaluated at each state |
| hitLookup | Optional callback mapping a measurement track state to its EDM4hep tracker hit (defaults to writing no tracker hits) |
| logger | The logger instance |
| void ActsPlugins::EDM4hepUtil::writeTrack | ( | const Acts::GeometryContext & | gctx, |
| track_proxy_t | track, | ||
| edm4hep::MutableTrack | to, | ||
| double | Bz, | ||
| const TrackerHitLookup & | hitLookup = {}, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Write an Acts track to EDM4hep format, using a uniform magnetic field.
Convenience overload of writeTrack for the common case of a constant solenoidal field. Delegates to the Acts::MagneticFieldProvider form with an Acts::ConstantBField.
| gctx | The geometry context |
| track | The Acts track to convert |
| to | The EDM4hep track to write to |
| Bz | The (uniform) magnetic field z-component in Acts native units |
| hitLookup | Optional callback mapping a measurement track state to its EDM4hep tracker hit (defaults to writing no tracker hits) |
| logger | The logger instance |
| edm4hep::TrackState ActsPlugins::EDM4hepUtil::writeTrackState | ( | const Acts::GeometryContext & | gctx, |
| const Acts::MagneticFieldContext & | mctx, | ||
| std::int32_t | location, | ||
| const Acts::BoundTrackParameters & | params, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Convert a single set of bound track parameters into an EDM4hep track state.
Convenience overload of writeTrackState that creates its own field cache from mctx. Prefer the cache-taking overload when converting many states in a row.
| gctx | The geometry context |
| mctx | The magnetic field context |
| location | The EDM4hep track state location, e.g. edm4hep::TrackState::AtIP |
| params | The bound track parameters to convert |
| magneticField | The magnetic field provider |
| logger | The logger instance |
| edm4hep::TrackState ActsPlugins::EDM4hepUtil::writeTrackState | ( | const Acts::GeometryContext & | gctx, |
| std::int32_t | location, | ||
| const Acts::BoundTrackParameters & | params, | ||
| const Acts::MagneticFieldProvider & | magneticField, | ||
| Acts::MagneticFieldProvider::Cache & | fieldCache, | ||
| const Acts::Logger & | logger = Acts::getDummyLogger() ) |
Convert a single set of bound track parameters into an EDM4hep track state.
The EDM4hep track state uses a perigee parametrization (D0, Z0, phi, tanLambda, omega, time) defined relative to a reference point. If params are not already expressed on a perigee surface they are re-expressed at an ad-hoc perigee created at their global position, transporting both parameters and covariance, and the state's referencePoint is set to that perigee centre. The curvature omega depends on the local field, which is evaluated at the position of params.
This is the per-state building block used by writeTrack. It is exposed so that track states which do not come from a fitted track - a seed, or an extrapolation to the calorimeter face - can be produced with exactly the same conversion instead of a private reimplementation.
| gctx | The geometry context |
| location | The EDM4hep track state location, e.g. edm4hep::TrackState::AtIP |
| params | The bound track parameters to convert |
| magneticField | The magnetic field provider |
| fieldCache | Field lookup cache, reused across calls |
| logger | The logger instance |