|
|
|||
File indexing completed on 2026-08-26 08:20:24
0001 // This file is part of the ACTS project. 0002 // 0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project 0004 // 0005 // This Source Code Form is subject to the terms of the Mozilla Public 0006 // License, v. 2.0. If a copy of the MPL was not distributed with this 0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/. 0008 0009 #pragma once 0010 0011 #include "Acts/EventData/BoundTrackParameters.hpp" 0012 #include "Acts/Geometry/GeometryContext.hpp" 0013 #include "Acts/Utilities/Logger.hpp" 0014 #include "ActsExamples/EventData/Index.hpp" 0015 #include "ActsExamples/EventData/SimHit.hpp" 0016 #include "ActsExamples/EventData/SimParticle.hpp" 0017 #include "ActsExamples/EventData/Track.hpp" 0018 #include "ActsExamples/EventData/TruthMatching.hpp" 0019 0020 #include <optional> 0021 0022 namespace Acts { 0023 class Surface; 0024 } 0025 0026 namespace ActsExamples { 0027 0028 /// The track-state parameters to extract. 0029 enum class TrackParameterType { 0030 /// Parameters before the measurement update 0031 Predicted, 0032 /// Parameters after the measurement update 0033 Filtered, 0034 /// Smoothed parameters 0035 Smoothed, 0036 /// Smoothed parameters with the state's own measurement removed 0037 Unbiased, 0038 }; 0039 0040 /// Compute the truth bound track parameters on a surface from the simulated 0041 /// hits of a measurement. 0042 /// 0043 /// Position, direction, and time are averaged over the simulated hits, the 0044 /// momentum is taken from the first one, and charge and hypothesis from the 0045 /// given particle. 0046 /// 0047 /// @note The hits are averaged regardless of which particle produced them, so 0048 /// a merged cluster gives a mixture. Same as `RootTrackParameterWriter`. 0049 /// 0050 /// @param gctx The geometry context 0051 /// @param surface The surface to express the truth parameters on 0052 /// @param measurementIndex The index of the measurement on the surface 0053 /// @param particle The truth particle 0054 /// @param simHits The simulated hits container 0055 /// @param measurementSimHitsMap Map from measurement index to simulated hits 0056 /// @param logger A logger for messages 0057 /// @return The parameters without covariance, or nullopt without truth hits 0058 std::optional<Acts::BoundTrackParameters> truthParametersOnSurface( 0059 const Acts::GeometryContext& gctx, const Acts::Surface& surface, 0060 Index measurementIndex, const SimParticle& particle, 0061 const SimHitContainer& simHits, 0062 const MeasurementSimHitsMap& measurementSimHitsMap, 0063 const Acts::Logger& logger); 0064 0065 /// Extract the reconstructed bound track parameters on the reference surface 0066 /// of a track state. 0067 /// 0068 /// @param state The track state to extract the parameters from 0069 /// @param parameterType Which parameters; if not set, the best available ones 0070 /// (smoothed, filtered, or predicted). `Unbiased` is never picked 0071 /// implicitly and has to be requested 0072 /// @param hypothesis The particle hypothesis for the parameters 0073 /// @return The parameters with covariance, or nullopt without a reference 0074 /// surface or matching parameters 0075 std::optional<Acts::BoundTrackParameters> recoParametersOnSurface( 0076 const ConstTrackStateProxy& state, 0077 std::optional<TrackParameterType> parameterType, 0078 const Acts::ParticleHypothesis& hypothesis); 0079 0080 } // namespace ActsExamples
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|