ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
ActsPlugins Namespace Reference

The ACTS plugins namespace: All plugins go here. More...

Classes

class  AmbiguityTrackClassifier
 Onnx model implementation for track scoring and selection. More...
class  BoostTrackBuilding
 Track building implementation using Boost. More...
class  ConstPodioTrackContainer
 Read-only track container backend using podio for storage. More...
class  ConstPodioTrackStateContainer
 Read-only track state container backend using podio for storage. More...
class  CudaTrackBuilding
 Track building implementation using CUDA. More...
class  DD4hepDetectorElement
 DetectorElement class implementation for DD4hep geometry. More...
struct  DD4hepDetectorElementExtension
 This extension holds an ACTS detector element belonging to a DD4hep detector element, and synchronizes ownership. More...
class  DD4hepDetectorSurfaceFactory
 A factory to convert DD4hep DetectorElements into sensitive of passive surfaces which are filled into a Cache object, also the create DD4hepDetector elements are provided. More...
class  DD4hepFieldAdapter
 Adapter for DD4hep magnetic field to Acts magnetic field provider. More...
class  DD4hepLayerBuilder
 build layers of one cylinder-endcap setup from DD4hep input More...
class  DD4hepVolumeBuilder
 build confined TrackingVolumes of one cylinder setup from DD4hep input. More...
class  DetrayPayloadConverter
 Converter for ACTS geometry to Detray payload format. More...
class  DetrayUnsupportedMaterialException
 Exception thrown when encountering unsupported material types in Detray conversion. More...
struct  Device
 A simple device description struct. More...
class  EdgeClassificationBase
 Base class for edge classification stage in GNN pipeline. More...
struct  ExecutionContext
 Capture the context of the execution. More...
class  FpeMonitor
 Monitor for floating-point exceptions with stack trace capture. More...
struct  Geant4AlgebraConverter
 Converter for Geant4 algebra objects (transforms, vectors, rotations) to ACTS. More...
class  Geant4DetectorElement
 Detector element representative for Geant4 sensitive elements. More...
class  Geant4DetectorSurfaceFactory
 A factory to convert Geant4 physical volumes into Geant4 detector elements. More...
struct  Geant4MaterialConverter
 Converter for Geant4 materials to ACTS material description. More...
struct  Geant4PhysicalVolumeConverter
 Converter for Geant4 physical volumes to ACTS surfaces. More...
struct  Geant4ShapeConverter
 Converter for Geant4 shapes to ACTS surface bounds. More...
struct  Geant4VolumeConverter
 Converter for Geant4 volumes to ACTS volume bounds. More...
class  GeoModelDetectorElement
 Detector element representative for GeoModel based sensitive elements. More...
class  GeoModelDetectorElementITk
 Specialization of the GeoModelDetectorElement for the ITk. More...
class  GeoModelDetectorObjectFactory
 Factory class to convert GeoModel objects into Acts volumes and surfaces. More...
struct  GeoModelTree
 Holder struct to manage a GeoModel world. More...
class  GnnHook
 Hook interface for GNN pipeline callbacks. More...
class  GnnPipeline
 Graph Neural Network pipeline for track finding. More...
struct  GnnTiming
 Timing information for GNN pipeline execution. More...
class  GraphConstructionBase
 Base class for graph construction algorithms. More...
class  GraphStoreHook
 Hook for storing graph data during GNN pipeline execution. More...
class  IGeant4PhysicalVolumeSelector
 Interface class for selectors from physical volumes. More...
class  IGeoShapeConverter
 Interface for the conversion of GeoShapes to Acts surfaces. More...
class  ITGeoDetectorElementSplitter
 ITGeoElementSplitter. More...
class  ITGeoIdentifierProvider
 ITGeoIdentierProvider. More...
class  ITkIdentifier
 Identifier class for ITk detector elements. More...
class  MLTrackClassifier
 Specialized class that labels tracks as good/duplicate/fake using a deep neural network. More...
class  ModuleMapCuda
 CUDA-based module map for graph construction. More...
class  MutablePodioTrackContainer
 Mutable Podio-based track container implementation. More...
class  MutablePodioTrackStateContainer
 Mutable Podio-based track state container implementation. More...
struct  NoEdgesError
 Error that is thrown if no edges are found. More...
class  OnnxEdgeClassifier
 ONNX-based edge classifier for GNN pipeline. More...
class  OnnxRuntimeBase
 General class that sets up the ONNX runtime framework for loading an ML model and using it for inference. More...
struct  PipelineTensors
 Struct that ties together the tensors used in the GNN pipeline. More...
class  PodioTrackContainerBase
 Base class for PODIO track containers. More...
class  PodioTrackStateContainerBase
 Base class for PODIO track state containers. More...
class  RootMaterialDecorator
 Read the collection of SurfaceMaterial & VolumeMaterial. More...
class  RootMaterialMapIo
 Simple payload class that can be wrapped for reading and writing. More...
class  RootMaterialTrackIo
 Simple payload class that can be wrapped for reading and writing. More...
class  RootMeasurementIo
 Helper class to manage the I/O of measurements and associated clusters to and from ROOT files. More...
class  RootSpacePointIo
 Root space point reading and writing utility. More...
class  SeedClassifier
 Onnx model implementation for seed scoring and selection. More...
class  Tensor
 This is a very small, limited class that models a 2D tensor of arbitrary type. More...
class  TensorRTEdgeClassifier
 Edge classifier using TensorRT inference. More...
class  TGeoAxes
 Type-safe representation of TGeo surface axes. More...
class  TGeoCylinderDiscSplitter
 TGeoCylinderDiscSplitter. More...
class  TGeoDetectorElement
 DetectorElement plugin for ROOT TGeo shapes. More...
class  TGeoLayerBuilder
 This parses the gGeoManager and looks for a defined combination of volume with contained sensitive detector element. More...
struct  TGeoMaterialConverter
 Helper struct for converting TGeo materials to ACTS materials. More...
struct  TGeoParser
 TGeoParser is a helper struct that walks recursively through a TGeometry and selects by string comparison the TGeoNodes that match the criteria. More...
struct  TGeoPrimitivesHelper
 Helper struct for creating ACTS primitives from TGeo geometry. More...
struct  TGeoSurfaceConverter
 Helper struct to convert TGeoShapes into Surface or Volume Bounds. More...
class  TorchEdgeClassifier
 Edge classifier using PyTorch inference. More...
class  TorchMetricLearning
 Graph construction using PyTorch metric learning. More...
class  TrackBuildingBase
 Base class for track building implementations. More...
class  TruthGraphMetricsHook
 Hook for calculating metrics using truth graph information. More...

Typedefs

using DetrayHostDetector = detray::detector<DetrayMetaData>
 Detray host detector type.
using DetrayMetaData = detray::default_metadata<detray::array<double>>
 Detray metadata type.
using GeoBoxConverter
 The GeoBox converter.
using GeoIntersectionAnnulusConverter
 A dedicated converter for GeoInterseciton that describe annulus bounds.
using GeoModelSensitiveSurface
 Collect the sensitive surface & detector element.
using GeoPolygonConverter
 Converter for GeoSimplePolygonBrep shapes.
using GeoShiftConverter
 The GeoShift + Trd/Box/Tube converter.
using GeoSubtractionConverter
 Converter for GeoShapeSubtraction shapes.
using GeoTrdConverter
 The GeoTrd converter.
using GeoTubeConverter
 The GeoTube converter.
using GeoUnionDoubleTrdConverter
 The GeoTube converter.
using NetworkBatchInput
 Type alias for network batch input data structure.

Enumerations

enum class  FpeType : std::uint32_t {
  INTDIV = FPE_INTDIV , INTOVF = FPE_INTOVF , FLTDIV = FPE_FLTDIV , FLTOVF = FPE_FLTOVF ,
  FLTUND = FPE_FLTUND , FLTRES = FPE_FLTRES , FLTINV = FPE_FLTINV , FLTSUB = FPE_FLTSUB
}
 Floating-point exception types.
enum class  GeoModelConversionError { GeoModelConversionError::WrongShapeForConverter = 1 , GeoModelConversionError::InvalidShapeParameters , GeoModelConversionError::UnkownShape , GeoModelConversionError::MissingLogicalVolume }
 Error codes for GeoModel conversion operations. More...

Functions

void addCylinderLayerProtoMaterial (dd4hep::DetElement detElement, Acts::Layer &cylinderLayer, const Acts::Logger &logger=Acts::getDummyLogger())
 Helper method to translate DD4hep material to Acts::ISurfaceMaterial.
void addDiscLayerProtoMaterial (dd4hep::DetElement detElement, Acts::Layer &discLayer, const Acts::Logger &logger=Acts::getDummyLogger())
 Helper method to translate DD4hep material to Acts::ISurfaceMaterial.
void addLayerProtoMaterial (const dd4hep::rec::VariantParameters &params, Acts::Layer &layer, const std::vector< std::pair< const std::string, Acts::BinningOption > > &binning, const Acts::Logger &logger=Acts::getDummyLogger())
 Helper method to be called for Cylinder and Disc Proto material.
std::pair< Tensor< std::int64_t >, std::optional< Tensor< float > > > applyEdgeLimit (const Tensor< std::int64_t > &edgeIndex, const std::optional< Tensor< float > > &edgeFeatures, std::size_t maxEdges, std::optional< cudaStream_t > stream)
 Apply a limit on the number of edges consistently on edgeIndex and edgeFeatures.
std::pair< Tensor< float >, Tensor< std::int64_t > > applyScoreCut (const Tensor< float > &scores, const Tensor< std::int64_t > &edgeIndex, float cut, std::optional< cudaStream_t > stream={})
 Apply a score cut to the tensor and return a new tensor with the values that satisfy the cut.
void collectCompounds_dd4hep (dd4hep::DetElement &detElement, std::vector< dd4hep::DetElement > &compounds)
 Method internally used by convertDD4hepDetector to collect all volumes of a compound detector.
void collectLayers_dd4hep (dd4hep::DetElement &detElement, std::vector< dd4hep::DetElement > &layers, const Acts::Logger &logger)
 Method internally used by convertDD4hepDetector.
void collectSubDetectors_dd4hep (dd4hep::DetElement &detElement, std::vector< dd4hep::DetElement > &subdetectors, const Acts::Logger &logger)
 Method internally used by convertDD4hepDetector to collect all sub detectors Sub detector means each 'compound' DetElement or DetElements which are declared as 'isBarrel' or 'isBeampipe' by their extension.
std::unique_ptr< const Acts::TrackingGeometryconvertDD4hepDetector (dd4hep::DetElement worldDetElement, const Acts::Logger &logger, Acts::BinningType bTypePhi=Acts::equidistant, Acts::BinningType bTypeR=Acts::equidistant, Acts::BinningType bTypeZ=Acts::equidistant, double layerEnvelopeR=Acts::UnitConstants::mm, double layerEnvelopeZ=Acts::UnitConstants::mm, double defaultLayerThickness=Acts::UnitConstants::fm, const std::function< void(std::vector< dd4hep::DetElement > &detectors)> &sortSubDetectors=sortDetElementsByID, const Acts::GeometryContext &gctx=Acts::GeometryContext::dangerouslyDefaultConstruct(), std::shared_ptr< const Acts::IMaterialDecorator > matDecorator=nullptr, std::shared_ptr< const Acts::GeometryIdentifierHook > geometryIdentifierHook=std::make_shared< Acts::GeometryIdentifierHook >(), const DD4hepLayerBuilder::ElementFactory &detectorElementFactory=DD4hepLayerBuilder::defaultDetectorElementFactory)
 Global method which creates the TrackingGeometry from DD4hep input.
std::shared_ptr< Acts::ProtoSurfaceMaterialcreateProtoMaterial (const dd4hep::rec::VariantParameters &params, const std::string &valueTag, const std::vector< std::pair< const std::string, Acts::BinningOption > > &binning, const Acts::Logger &logger=Acts::getDummyLogger())
 Helper method to create proto material - to be called from the addProto(...) methods.
std::shared_ptr< const Acts::CylinderVolumeHelpercylinderVolumeHelper_dd4hep (const Acts::Logger &logger)
 Helper method internally used to create a default Acts::CylinderVolumeBuilder.
std::tuple< std::unique_ptr< TH1F >, std::unique_ptr< TH1F >, double > extractMeanWidthProfiles (const TH2F &hist2d, const std::string &meanName, const std::string &widthName, int minEntriesForFit=5, const std::string &fitOption="QS0", const Acts::Logger &logger=Acts::getDummyLogger())
 Helper function to extract 1D mean/width profiles from a 2D histogram.
std::tuple< std::unique_ptr< TH2F >, std::unique_ptr< TH2F >, double > extractMeanWidthProfiles (const TH3F &hist3d, const std::string &meanName, const std::string &widthName, int minEntriesForFit=5, const std::string &fitOption="QS0", const Acts::Logger &logger=Acts::getDummyLogger())
 Helper function to extract 2D mean/width profiles from a 3D histogram.
template<typename value_type>
std::vector< value_type > extractSeries (const dd4hep::DetElement &dd4hepElement, const std::string &bname, const value_type &unitConversion=1)
 A simple helper function to extract a series.
Acts::Transform3 extractTransform (const dd4hep::DetElement &dd4hepElement, const std::string &bname, const double unitConversion=1.)
 A simple helper function to extract a transform.
std::shared_ptr< const IGeoShapeConvertergeoShapesConverters (int geoShapeId)
 Get the converter for a given GeoShape ID.
template<typename value_type>
value_type getAttrValueOr (const dd4hep::xml::Component &node, const std::string &attrName, const value_type &fallbackValue)
 Helper method to get an attribute with fallback.
template<typename T>
getParam (const std::string &key, dd4hep::DetElement &elt)
 Helper function to extract a parameter value from a dd4hep detector element from VariantParameters.
template<typename T>
getParamOr (const std::string &key, const dd4hep::DetElement &elt, T alternative)
 Get a parameter value or an alternative value if either the VariantParameters extension isn't set, or it doesn't contain the demanded key.
const dd4hep::rec::VariantParameters & getParams (const dd4hep::DetElement &elt)
 Helper function to extract a VariantParameters instance, const version.
dd4hep::rec::VariantParameters & getParams (dd4hep::DetElement &elt)
 Helper function to extract a VariantParameters instance.
bool hasParam (const std::string &key, dd4hep::DetElement &elt)
 Check if a detector element has a key set in its VariantParameters.
bool hasParams (dd4hep::DetElement &elt)
 Check if a detector element has VariantParameters set.
std::error_code make_error_code (GeoModelConversionError e)
 Create error code from GeoModelConversionError.
Acts::InterpolatedBFieldMap< Acts::Grid< Acts::Vector2, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant > > > makeMagneticFieldMapRzFromRoot (const std::function< std::size_t(std::array< std::size_t, 2 > binsRZ, std::array< std::size_t, 2 > nBinsRZ)> &localToGlobalBin, const std::string &fieldMapFile, const std::string &treeName, double lengthUnit, double BFieldUnit, bool firstQuadrant=false)
 Method to set up the FieldMap.
Acts::InterpolatedBFieldMap< Acts::Grid< Acts::Vector3, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant >, Acts::Axis< Acts::AxisType::Equidistant > > > makeMagneticFieldMapXyzFromRoot (const std::function< std::size_t(std::array< std::size_t, 3 > binsXYZ, std::array< std::size_t, 3 > nBinsXYZ)> &localToGlobalBin, const std::string &fieldMapFile, const std::string &treeName, double lengthUnit, double BFieldUnit, bool firstOctant=false)
 Method to set up the FieldMap.
 MutablePodioTrackContainer (const PodioUtil::ConversionHelper &, ActsPodioEdm::TrackCollection &) -> MutablePodioTrackContainer< Acts::RefHolder >
 Deduction guide: when passing a collection reference, deduce RefHolder.
 MutablePodioTrackStateContainer (PodioUtil::ConversionHelper &, ActsPodioEdm::TrackStateCollection &, ActsPodioEdm::BoundParametersCollection &, ActsPodioEdm::JacobianCollection &) -> MutablePodioTrackStateContainer< Acts::RefHolder >
 Deduction guide: when passing collection references, deduce RefHolder.
std::ostream & operator<< (std::ostream &os, const ITkIdentifier &id)
 Output stream operator for ITkIdentifier.
std::ostream & operator<< (std::ostream &os, Device device)
 Stream operator for Device.
std::ostream & operator<< (std::ostream &os, FpeType type)
 Output stream operator for FpeType.
void sigmoid (Tensor< float > &tensor, std::optional< cudaStream_t > stream={})
 Element-wise sigmoid function for float cpu tensors.
void sortDetElementsByID (std::vector< dd4hep::DetElement > &det)
 Sort function which sorts dd4hep::DetElement by their ID.
Acts::AxisDirection stringToAxisDirection (const std::string &binningString)
 Helper method to convert the string to binning value.
std::vector< Acts::AxisDirectionstringToAxisDirections (const std::string &binningString, const char &del=',')
 Helper method to cenvert a binning list string to a vector of binning values e.g.
std::unique_ptr< TEfficiency > toRoot (const Acts::Experimental::Efficiency1 &boostEff)
 Convert Efficiency1 to ROOT TEfficiency.
std::unique_ptr< TEfficiency > toRoot (const Acts::Experimental::Efficiency2 &boostEff)
 Convert Efficiency2 to ROOT TEfficiency.
std::unique_ptr< TH1F > toRoot (const Acts::Experimental::Histogram1 &boostHist)
 Convert Histogram1 to ROOT TH1F.
std::unique_ptr< TH2F > toRoot (const Acts::Experimental::Histogram2 &boostHist)
 Convert Histogram2 to ROOT TH2F.
std::unique_ptr< TH3F > toRoot (const Acts::Experimental::Histogram3 &boostHist)
 Convert Histogram3 to ROOT TH3F.
std::unique_ptr< TProfile > toRoot (const Acts::Experimental::ProfileHistogram1 &boostProfile)
 Convert ProfileHistogram1 to ROOT TProfile.
std::shared_ptr< const Acts::CylinderVolumeBuildervolumeBuilder_dd4hep (dd4hep::DetElement subDetector, const Acts::Logger &logger, Acts::BinningType bTypePhi=Acts::equidistant, Acts::BinningType bTypeR=Acts::equidistant, Acts::BinningType bTypeZ=Acts::equidistant, double layerEnvelopeR=Acts::UnitConstants::mm, double layerEnvelopeZ=Acts::UnitConstants::mm, double defaultLayerThickness=Acts::UnitConstants::fm, const DD4hepLayerBuilder::ElementFactory &detectorElementFactory=DD4hepLayerBuilder::defaultDetectorElementFactory)
 Method internally used to create an Acts::CylinderVolumeBuilder.

Variables

static const std::vector< std::tuple< std::string, Acts::AxisDirection > > allowedBinnings
 Allowed binning directions for DD4hep conversion.

Detailed Description

The ACTS plugins namespace: All plugins go here.

Function Documentation

◆ extractMeanWidthProfiles() [1/2]

std::tuple< std::unique_ptr< TH1F >, std::unique_ptr< TH1F >, double > ActsPlugins::extractMeanWidthProfiles ( const TH2F & hist2d,
const std::string & meanName,
const std::string & widthName,
int minEntriesForFit = 5,
const std::string & fitOption = "QS0",
const Acts::Logger & logger = Acts::getDummyLogger() )

Helper function to extract 1D mean/width profiles from a 2D histogram.

Parameters
hist2dThe input 2D histogram to analyze
meanNameThe name for the output mean profile histogram
widthNameThe name for the output width profile histogram
minEntriesForFitMinimum number of entries in a projection to attempt a fit
fitOptionThe option string to use for the fit
loggerLogger for debug messages
Returns
pair of unique pointers to the mean and width TH1F histograms and a fit failure fraction

◆ extractMeanWidthProfiles() [2/2]

std::tuple< std::unique_ptr< TH2F >, std::unique_ptr< TH2F >, double > ActsPlugins::extractMeanWidthProfiles ( const TH3F & hist3d,
const std::string & meanName,
const std::string & widthName,
int minEntriesForFit = 5,
const std::string & fitOption = "QS0",
const Acts::Logger & logger = Acts::getDummyLogger() )

Helper function to extract 2D mean/width profiles from a 3D histogram.

Parameters
hist3dThe input 3D histogram to analyze
meanNameThe name for the output mean profile histogram
widthNameThe name for the output width profile histogram
minEntriesForFitMinimum number of entries in a projection to attempt a fit
fitOptionThe option string to use for the fit
loggerLogger for debug messages
Returns
pair of unique pointers to the mean and width TH2F histograms and a fit failure fraction

◆ make_error_code()

std::error_code ActsPlugins::make_error_code ( GeoModelConversionError e)

Create error code from GeoModelConversionError.

Parameters
eError code enum value
Returns
Error code

◆ toRoot() [1/6]

std::unique_ptr< TEfficiency > ActsPlugins::toRoot ( const Acts::Experimental::Efficiency1 & boostEff)

Convert Efficiency1 to ROOT TEfficiency.

Creates a new ROOT TEfficiency object with the same binning, passed counts, and total counts as the input boost efficiency histogram.

Parameters
boostEffThe boost 1D efficiency histogram to convert
Returns
unique pointer to new TEfficiency

◆ toRoot() [2/6]

std::unique_ptr< TEfficiency > ActsPlugins::toRoot ( const Acts::Experimental::Efficiency2 & boostEff)

Convert Efficiency2 to ROOT TEfficiency.

Creates a new ROOT TEfficiency object (2D) with the same binning, passed counts, and total counts as the input boost efficiency histogram.

Parameters
boostEffThe boost 2D efficiency histogram to convert
Returns
unique pointer to new TEfficiency

◆ toRoot() [3/6]

std::unique_ptr< TH1F > ActsPlugins::toRoot ( const Acts::Experimental::Histogram1 & boostHist)

Convert Histogram1 to ROOT TH1F.

Creates a new ROOT TH1F histogram with the same binning, content, and errors as the input boost histogram.

Parameters
boostHistThe boost 1D histogram to convert
Returns
unique pointer to new TH1F

◆ toRoot() [4/6]

std::unique_ptr< TH2F > ActsPlugins::toRoot ( const Acts::Experimental::Histogram2 & boostHist)

Convert Histogram2 to ROOT TH2F.

Creates a new ROOT TH2F histogram with the same binning, content, and errors as the input boost histogram.

Parameters
boostHistThe boost 2D histogram to convert
Returns
unique pointer to new TH2F

◆ toRoot() [5/6]

std::unique_ptr< TH3F > ActsPlugins::toRoot ( const Acts::Experimental::Histogram3 & boostHist)

Convert Histogram3 to ROOT TH3F.

Creates a new ROOT TH3F histogram with the same binning, content, and errors as the input boost histogram.

Parameters
boostHistThe boost 3D histogram to convert
Returns
unique pointer to new TH3F

◆ toRoot() [6/6]

std::unique_ptr< TProfile > ActsPlugins::toRoot ( const Acts::Experimental::ProfileHistogram1 & boostProfile)

Convert ProfileHistogram1 to ROOT TProfile.

Creates a new ROOT TProfile histogram with the same binning and mean values as the input boost profile histogram.

Parameters
boostProfileThe boost profile histogram to convert
Returns
unique pointer to new TProfile