Analysis Software
Documentation for sPHENIX simulation software
|
Algorithm that turns simulated hits into measurements by truth smearing. More...
Classes | |
struct | CombinedDigitizer |
Public Member Functions | |
DigitizationAlgorithm (DigitizationConfig config, Acts::Logging::Level level) | |
ProcessCode | execute (const AlgorithmContext &ctx) const override |
const DigitizationConfig & | config () const |
Get const access to the config. | |
Public Member Functions inherited from ActsExamples::IAlgorithm | |
IAlgorithm (std::string name, Acts::Logging::Level level=Acts::Logging::INFO) | |
std::string | name () const override |
The algorithm name. | |
ProcessCode | internalExecute (const AlgorithmContext &context) final |
ProcessCode | initialize () override |
Initialize the algorithm. | |
ProcessCode | finalize () override |
Finalize the algorithm. | |
Private Types | |
using | Digitizer = std::variant< CombinedDigitizer< 0 >, CombinedDigitizer< 1 >, CombinedDigitizer< 2 >, CombinedDigitizer< 3 >, CombinedDigitizer< 4 >> |
Private Member Functions | |
std::vector < ActsFatras::Channelizer::ChannelSegment > | channelizing (const GeometricConfig &geoCfg, const SimHit &hit, const Acts::Surface &surface, const Acts::GeometryContext &gctx, RandomEngine &rng) const |
DigitizedParameters | localParameters (const GeometricConfig &geoCfg, const std::vector< ActsFatras::Channelizer::ChannelSegment > &channels, RandomEngine &rng) const |
Static Private Member Functions | |
template<size_t kSmearDIM> | |
static Digitizer | makeDigitizer (const DigiComponentsConfig &cfg) |
Private Attributes | |
DigitizationConfig | m_cfg |
Configuration of the Algorithm. | |
Acts::GeometryHierarchyMap < Digitizer > | m_digitizers |
Digitizers within geometry hierarchy. | |
ActsFatras::PlanarSurfaceDrift | m_surfaceDrift |
Geometric digtizers. | |
ActsFatras::PlanarSurfaceMask | m_surfaceMask |
ActsFatras::Channelizer | m_channelizer |
ReadDataHandle< SimHitContainer > | m_simContainerReadHandle |
WriteDataHandle < IndexSourceLinkContainer > | m_sourceLinkWriteHandle |
WriteDataHandle < MeasurementContainer > | m_measurementWriteHandle |
WriteDataHandle< ClusterContainer > | m_clusterWriteHandle {this, "Clusters"} |
WriteDataHandle< IndexMultimap < ActsFatras::Barcode > > | m_measurementParticlesMapWriteHandle {this, "MeasurementParticlesMap"} |
WriteDataHandle< IndexMultimap < Index > > | m_measurementSimHitsMapWriteHandle |
Additional Inherited Members | |
Protected Member Functions inherited from ActsExamples::IAlgorithm | |
const Acts::Logger & | logger () const |
Algorithm that turns simulated hits into measurements by truth smearing.
Definition at line 54 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 54 of file DigitizationAlgorithm.hpp
|
private |
Definition at line 110 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 110 of file DigitizationAlgorithm.hpp
ActsExamples::DigitizationAlgorithm::DigitizationAlgorithm | ( | DigitizationConfig | config, |
Acts::Logging::Level | level | ||
) |
Construct the smearing algorithm.
config | is the algorithm configuration |
level | is the logging level |
Definition at line 39 of file DigitizationAlgorithm.cpp.
View newest version in sPHENIX GitHub at line 39 of file DigitizationAlgorithm.cpp
References ActsExamples::DigitizationConfig::digitizationConfigs, Acts::GeometryHierarchyMap< value_t >::empty(), gcf, i, Acts::GeometryHierarchyMap< value_t >::idAt(), ActsExamples::GeometricConfig::indices, ActsExamples::WriteDataHandle< T >::initialize(), ActsExamples::ReadDataHandle< T >::initialize(), ActsExamples::DigitizationConfig::inputSimHits, m_cfg, m_clusterWriteHandle, m_digitizers, m_measurementParticlesMapWriteHandle, m_measurementSimHitsMapWriteHandle, m_measurementWriteHandle, m_simContainerReadHandle, m_sourceLinkWriteHandle, ActsExamples::DigitizationConfig::outputClusters, ActsExamples::DigitizationConfig::outputMeasurementParticlesMap, ActsExamples::DigitizationConfig::outputMeasurements, ActsExamples::DigitizationConfig::outputMeasurementSimHitsMap, ActsExamples::DigitizationConfig::outputSourceLinks, ActsExamples::DigitizationConfig::randomNumbers, Acts::GeometryHierarchyMap< value_t >::size(), Acts::Experimental::detail::BlueprintHelper::sort(), ActsExamples::DigitizationConfig::trackingGeometry, physmon_ckf_tracking::u, and Acts::GeometryHierarchyMap< value_t >::valueAt().
|
private |
Helper method for the geometric channelizing part
geoCfg | is the geometric digitization configuration |
hit | the Simultated hit |
surface | the Surface on which this is supposed to happen |
gctx | the Geometry context |
rng | the Random number engine for the drift smearing |
Definition at line 296 of file DigitizationAlgorithm.cpp.
View newest version in sPHENIX GitHub at line 296 of file DigitizationAlgorithm.cpp
References ActsFatras::Hit::direction(), ActsExamples::GeometricConfig::drift(), ActsFatras::Hit::position(), conftest::rng(), ActsExamples::GeometricConfig::segmentation, and ActsExamples::GeometricConfig::thickness.
|
inline |
Get const access to the config.
Definition at line 69 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 69 of file DigitizationAlgorithm.hpp
References m_cfg.
Referenced by Acts::Python::addDigitization().
|
overridevirtual |
Build measurement from simulation hits at input.
ctx | is the algorithm context with event information |
Implements ActsExamples::IAlgorithm.
Definition at line 132 of file DigitizationAlgorithm.cpp.
View newest version in sPHENIX GitHub at line 132 of file DigitizationAlgorithm.cpp
References ACTS_DEBUG, ACTS_ERROR, ACTS_VERBOSE, ACTS_WARNING, ActsExamples::ModuleClusters::add(), clusters, Acts::Test::cov, ActsExamples::createMeasurement(), ActsExamples::ModuleClusters::digitizedParameters(), ActsExamples::AlgorithmContext::geoContext, ActsExamples::groupByModule(), h, ActsExamples::DigitizedParameters::indices, m_cfg(), testing::internal::move(), conftest::rng(), SUCCESS, ActsExamples::DigitizedParameters::values, and ActsExamples::DigitizedParameters::variances.
|
private |
Helper method for creating digitized parameters from clusters
geoCfg | is the geometric digitization configuration |
channels | are the input channels |
rng | the Random number engine for the charge generation smearing |
Definition at line 316 of file DigitizationAlgorithm.cpp.
View newest version in sPHENIX GitHub at line 316 of file DigitizationAlgorithm.cpp
References b1, Acts::BinUtility::binningData(), ActsExamples::Cluster::channels, ActsExamples::GeometricConfig::charge(), charge(), ActsExamples::DigitizedParameters::cluster, ActsExamples::GeometricConfig::digital, ambiguity_solver_full_chain::idx, ActsExamples::DigitizedParameters::indices, ActsExamples::GeometricConfig::indices, Acts::UnitConstants::m, Acts::UnitConstants::min, ActsExamples::GeometricConfig::segmentation, ActsExamples::Cluster::sizeLoc0, ActsExamples::Cluster::sizeLoc1, ActsExamples::GeometricConfig::threshold, ActsExamples::DigitizedParameters::values, ActsExamples::DigitizedParameters::variances, ActsExamples::GeometricConfig::variances(), and width.
|
inlinestaticprivate |
Construct a fixed-size smearer from a configuration.
It's templated on the smearing dimension given by
kSmearDIM |
cfg | Is the digitization configuration input |
Definition at line 142 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 142 of file DigitizationAlgorithm.hpp
References ActsExamples::DigitizationAlgorithm::CombinedDigitizer< kSmearDIM >::geometric, ActsExamples::DigiComponentsConfig::geometricDigiConfig, i, ActsFatras::BoundParametersSmearer< generator_t, kSize >::indices, ActsFatras::BoundParametersSmearer< generator_t, kSize >::smearFunctions, ActsExamples::DigitizationAlgorithm::CombinedDigitizer< kSmearDIM >::smearing, and ActsExamples::DigiComponentsConfig::smearingDigiConfig.
|
private |
Configuration of the Algorithm.
Definition at line 113 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 113 of file DigitizationAlgorithm.hpp
Referenced by config(), and DigitizationAlgorithm().
|
private |
Definition at line 119 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 119 of file DigitizationAlgorithm.hpp
|
private |
Definition at line 128 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 128 of file DigitizationAlgorithm.hpp
Referenced by DigitizationAlgorithm().
|
private |
Digitizers within geometry hierarchy.
Definition at line 115 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 115 of file DigitizationAlgorithm.hpp
Referenced by DigitizationAlgorithm().
|
private |
Definition at line 130 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 130 of file DigitizationAlgorithm.hpp
Referenced by DigitizationAlgorithm().
|
private |
Definition at line 131 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 131 of file DigitizationAlgorithm.hpp
Referenced by DigitizationAlgorithm().
|
private |
Definition at line 126 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 126 of file DigitizationAlgorithm.hpp
Referenced by DigitizationAlgorithm().
|
private |
Definition at line 121 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 121 of file DigitizationAlgorithm.hpp
Referenced by DigitizationAlgorithm().
|
private |
Definition at line 124 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 124 of file DigitizationAlgorithm.hpp
Referenced by DigitizationAlgorithm().
|
private |
Geometric digtizers.
Definition at line 117 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 117 of file DigitizationAlgorithm.hpp
|
private |
Definition at line 118 of file DigitizationAlgorithm.hpp.
View newest version in sPHENIX GitHub at line 118 of file DigitizationAlgorithm.hpp