ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::Experimental Namespace Reference

Contains code that is not considered stable yet and might change. More...

Classes

class  Blueprint
 This class is the top-level entry point to build a tracking geometry using the blueprint building mechanism. More...
class  BlueprintNode
 Base class for all nodes in the blueprint tree. More...
struct  BlueprintOptions
 Options controlling blueprint navigation policies. More...
class  CompositeSpacePointLineFitter
 Generic Implementation to fit a straight line to set of composite space point measurements. More...
class  CompositeSpacePointLineSeeder
 Initial line parameters from a pattern recognition like the Hough transform are often not suitable for a line fit as the resolution of the hough bins usually exceeds the size of the straws. More...
class  ContainerBlueprintNode
 A blueprint node that can contain multiple child volumes. More...
class  CuboidContainerBlueprintNode
 Container blueprint node stacking cuboid volumes. More...
class  CylinderContainerBlueprintNode
 Container blueprint node stacking cylindrical volumes. More...
class  CylindricalSpacePointKDTree
 A cylindrical space point KD-tree used for seeding in a cylindrical detector geometry. More...
class  CylindricalSpacePointKDTreeBuilder
 Builder for cylindrical space point KD-trees. More...
class  Efficiency
 Multi-dimensional efficiency histogram using boost::histogram. More...
struct  GbtsEdge
 Edge between two GBTS nodes with fit parameters. More...
struct  GbtsEdgeState
 Per-edge tracking state used by the GBTS filter. More...
struct  GbtsEtaBin
 Eta-bin container for GBTS nodes and edge data. More...
class  GbtsGeometry
 Geometry helper built from layers and connectors. More...
class  GbtsLayer
 Layer helper with eta-bin access for GBTS seeding. More...
struct  GbtsLayerConnection
 Connection between two GBTS layers with binning information. More...
struct  GbtsLayerConnectionMap
 Loader and container for GBTS layer connection data. More...
struct  GbtsLayerDescription
 Lightweight layer description for GBTS geometry. More...
struct  GbtsNode
 GBTS graph node storing space point properties. More...
class  GbtsNodeStorage
 Storage container for GBTS nodes. More...
class  GbtsRoiDescriptor
 GBTS region-of-interest descriptor with eta/phi/zed bounds. More...
class  GbtsTrackingFilter
 Tracking filter operating on the GBTS edge graph. More...
class  GeometryIdentifierBlueprintNode
 Blueprint node for configuring and applying geometry identifiers to volumes. More...
class  GraphBasedTrackSeeder
 Seed finder implementing the GBTS seeding workflow. More...
class  Gx2Fitter
 Global Chi Square fitter (GX2F) implementation. More...
struct  Gx2FitterExtensions
 Extension struct which holds delegates to customise the GX2F behaviour. More...
struct  Gx2FitterOptions
 Combined options for the Global-Chi-Square fitter. More...
struct  Gx2FitterResult
 Result container for a global chi-square fit. More...
struct  Gx2fSystem
 A container to manage all properties of a gx2f system. More...
class  Histogram
 Multi-dimensional histogram wrapper using boost::histogram for data collection. More...
class  LayerBlueprintNode
 The layer node is essentially an auto-sizing wrapper around a set of surfaces. More...
class  MaterialDesignatorBlueprintNode
 This node type registers material proxies into its child volume during the blueprint construction. More...
class  MultiLayerNavigationPolicy
 A navigation policy that uses grid based navigation for indexed surfaces Navigate through a multilayer structure by creating an artificial path on the grid. More...
class  MultiWireVolumeBuilder
 A class to build multiwire tracking volumes (e.g wire chambers). More...
class  ProfileHistogram
 Multi-dimensional profile histogram using boost::histogram. More...
struct  ScatteringProperties
 A container to store scattering properties for each material surface. More...
class  StaticBlueprintNode
 The static blueprint node wraps a single already-constructred TrackingVolume. More...
class  TryAllNavigator
 Alternative Navigator which tries all possible intersections. More...

Concepts

concept  CompositeSpacePoint
 Concept definition of the station space points.
concept  CompositeSpacePointCalibrator
 Interface concept for a CompositeSpacePointCalibrator.
concept  CompositeSpacePointContainer
 A station space point container is any std::container over space points.
concept  CompositeSpacePointFastCalibrator
 Interface concept to define the straw measurement calibrator used by the FastStrawLineFitter.
concept  CompositeSpacePointPtr
 Define the space point pointer concept as an ordinary / smart pointer over space points.

Typedefs

using AxisVariant
 Boost axis variant supporting variable, regular, and log-scale axes with metadata.
using BoostHist
 Underlying Boost type for histograms.
using BoostLogAxis
 Logarithmic-scale histogram axis with string metadata.
using BoostProfileHist
 Underlying Boost type for ProfileHistogram.
using BoostRegularAxis
 Regular-width histogram axis with string metadata.
using BoostVariableAxis = boost::histogram::axis::variable<double, std::string>
 Variable-width histogram axis with string metadata.
using Efficiency1 = Efficiency<1>
 Type aliases for common dimensions.
using Efficiency2 = Efficiency<2>
 2D efficiency histogram
using GbtsMlLookupTable = std::vector<std::array<float, 5>>
 Machine learning lookup table for Gbts seeding.
using Histogram1 = Histogram<1>
 Type aliases for common dimensions.
using Histogram2 = Histogram<2>
 2D histogram
using Histogram3 = Histogram<3>
 3D histogram
using ProfileHistogram1 = ProfileHistogram<1>
 Type aliases for common dimensions.

Enumerations

enum class  GbtsLayerType { Barrel = 0 , Endcap = 1 }
 GBTS layer types.
enum class  GlobalChiSquareFitterError { GlobalChiSquareFitterError::AIsNotInvertible = 1 , GlobalChiSquareFitterError::DidNotConverge = 2 , GlobalChiSquareFitterError::NotEnoughMeasurements = 3 , GlobalChiSquareFitterError::UpdatePushedToNewVolume = 4 }
 Error codes for global chi-square fitter operations. More...

Functions

template<typename track_state_t>
void addMaterialToGx2fSums (Gx2fSystem &extendedSystem, const std::size_t nMaterialsHandled, const std::unordered_map< GeometryIdentifier, ScatteringProperties > &scatteringMap, const track_state_t &trackState, const Logger &logger)
 Process material and fill the aMatrix and bVector.
template<std::size_t kMeasDim, typename track_state_t>
void addMeasurementToGx2fSums (Gx2fSystem &extendedSystem, const std::vector< BoundMatrix > &jacobianFromStart, const track_state_t &trackState, const Logger &logger)
 Process measurements and fill the aMatrix and bVector.
void addMeasurementToGx2fSumsBackend (Gx2fSystem &extendedSystem, const std::vector< BoundMatrix > &jacobianFromStart, const Eigen::MatrixXd &covarianceMeasurement, const BoundVector &predicted, const Eigen::VectorXd &measurement, const Eigen::MatrixXd &projector, const Logger &logger)
 Adds a measurement to the GX2F equation system in a modular backend function.
Eigen::VectorXd computeGx2fDeltaParams (const Gx2fSystem &extendedSystem)
 Solve the gx2f system to get the delta parameters for the update.
template<TrackProxyConcept track_proxy_t>
std::size_t countMaterialStates (const track_proxy_t track, const std::unordered_map< GeometryIdentifier, ScatteringProperties > &scatteringMap, const Logger &logger)
 Count the valid material states in a track for scattering calculations.
std::vector< double > extractBinEdges (const AxisVariant &axis)
 Extract bin edges from an AxisVariant.
template<TrackProxyConcept track_proxy_t>
void fillGx2fSystem (const track_proxy_t track, Gx2fSystem &extendedSystem, const bool multipleScattering, const std::unordered_map< GeometryIdentifier, ScatteringProperties > &scatteringMap, std::vector< GeometryIdentifier > &geoIdVector, const Logger &logger)
 Fill the GX2F system with data from a track.
std::error_code make_error_code (Acts::Experimental::GlobalChiSquareFitterError e)
 Converts error code to std::error_code.
Histogram1 projectionX (const Histogram2 &hist2d)
 Project a 2D histogram onto the X axis (axis 0).
Histogram1 projectionY (const Histogram2 &hist2d)
 Project a 2D histogram onto the Y axis (axis 1).
void updateGx2fCovarianceParams (BoundMatrix &fullCovariancePredicted, Gx2fSystem &extendedSystem)
 Calculate and update the covariance of the fitted parameters.
void updateGx2fParams (BoundTrackParameters &params, const Eigen::VectorXd &deltaParamsExtended, const std::size_t nMaterialSurfaces, std::unordered_map< GeometryIdentifier, ScatteringProperties > &scatteringMap, const std::vector< GeometryIdentifier > &geoIdVector)
 Update parameters (and scattering angles if applicable).
void to_json (nlohmann::json &j, const DoubletSeedFinder::Config &config)
 Convert DoubletSeedFinder::Config to JSON.
void to_json (nlohmann::json &j, const DoubletSeedFinder::DerivedConfig &config)
 Convert DoubletSeedFinder::DerivedConfig to JSON.
void to_json (nlohmann::json &j, const TripletSeedFinder::Config &config)
 Convert TripletSeedFinder::Config to JSON.
void to_json (nlohmann::json &j, const TripletSeedFinder::DerivedConfig &config)
 Convert TripletSeedFinder::DerivedConfig to JSON.
void to_json (nlohmann::json &j, const BroadTripletSeedFilter::Config &config)
 Convert BroadTripletSeedFilter::Config to JSON.
void to_json (nlohmann::json &j, const CylindricalSpacePointGrid2::Config &config)
 Convert CylindricalSpacePointGrid2::Config to JSON.
void from_json (const nlohmann::json &j, DoubletSeedFinder::Config &config)
 Convert JSON to DoubletSeedFinder::Config.
void from_json (const nlohmann::json &j, DoubletSeedFinder::DerivedConfig &config)
 Convert JSON to DoubletSeedFinder::DerivedConfig.
void from_json (const nlohmann::json &j, TripletSeedFinder::Config &config)
 Convert JSON to TripletSeedFinder::Config.
void from_json (const nlohmann::json &j, TripletSeedFinder::DerivedConfig &config)
 Convert JSON to TripletSeedFinder::DerivedConfig.
void from_json (const nlohmann::json &j, BroadTripletSeedFilter::Config &config)
 Convert JSON to BroadTripletSeedFilter::Config.
void from_json (const nlohmann::json &j, CylindricalSpacePointGrid2::Config &config)
 Convert JSON to CylindricalSpacePointGrid2::Config.

Variables

constexpr std::uint32_t gbtsNumSegConns = 6
 Number of segment connections.

Detailed Description

Contains code that is not considered stable yet and might change.

Longer desc

Typedef Documentation

◆ AxisVariant

Initial value:
boost::histogram::axis::variant<BoostVariableAxis, BoostRegularAxis,
boost::histogram::axis::regular< double, boost::histogram::axis::transform::log, std::string > BoostLogAxis
Logarithmic-scale histogram axis with string metadata.
Definition Histogram.hpp:28
boost::histogram::axis::variable< double, std::string > BoostVariableAxis
Variable-width histogram axis with string metadata.
Definition Histogram.hpp:22
boost::histogram::axis::regular< double, boost::histogram::use_default, std::string > BoostRegularAxis
Regular-width histogram axis with string metadata.
Definition Histogram.hpp:24

Boost axis variant supporting variable, regular, and log-scale axes with metadata.

Note
It seems not to be possible to combine compile-time fixed number of axes with boost::histogram::axis::variant. Therefore we use std::vector<AxisVariant> internally.

◆ BoostHist

Initial value:
decltype(boost::histogram::make_histogram(
std::declval<std::vector<AxisVariant>>()))

Underlying Boost type for histograms.

◆ BoostLogAxis

Initial value:
boost::histogram::axis::regular<
double, boost::histogram::axis::transform::log, std::string>

Logarithmic-scale histogram axis with string metadata.

◆ BoostProfileHist

Initial value:
decltype(boost::histogram::make_profile(
std::declval<std::vector<AxisVariant>>()))

Underlying Boost type for ProfileHistogram.

◆ BoostRegularAxis

Initial value:
boost::histogram::axis::regular<double, boost::histogram::use_default,
std::string>

Regular-width histogram axis with string metadata.

Function Documentation

◆ extractBinEdges()

std::vector< double > Acts::Experimental::extractBinEdges ( const AxisVariant & axis)

Extract bin edges from an AxisVariant.

Works with all axis types (regular, variable, log) in the variant by accessing the generic axis interface.

Parameters
axisThe axis variant to extract edges from
Returns
Vector of bin edges (size = nBins + 1)

◆ make_error_code()

std::error_code Acts::Experimental::make_error_code ( Acts::Experimental::GlobalChiSquareFitterError e)

Converts error code to std::error_code.

Parameters
eError code to convert
Returns
std::error_code for the given error

◆ projectionX()

Histogram1 Acts::Experimental::projectionX ( const Histogram2 & hist2d)

Project a 2D histogram onto the X axis (axis 0).

Parameters
hist2dThe 2D histogram to project
Returns
A 1D histogram containing the projection

◆ projectionY()

Histogram1 Acts::Experimental::projectionY ( const Histogram2 & hist2d)

Project a 2D histogram onto the Y axis (axis 1).

Parameters
hist2dThe 2D histogram to project
Returns
A 1D histogram containing the projection