4#include "Framework/Configure/Parameters.h"
13#include "Tracking/Reco/TrackingGeometryUser.h"
18#include "Acts/Definitions/Common.hpp"
19#include "Acts/Definitions/TrackParametrization.hpp"
20#include "Acts/Definitions/Units.hpp"
21#include "Acts/EventData/TrackParameters.hpp"
22#include "Acts/Utilities/Logger.hpp"
25#include "Acts/Geometry/GeometryContext.hpp"
28#include "Acts/MagneticField/MagneticFieldContext.hpp"
29#include "Acts/MagneticField/MagneticFieldProvider.hpp"
32#include <Acts/Geometry/TrackingGeometry.hpp>
35#include "Acts/MagneticField/ConstantBField.hpp"
36#include "Acts/Propagator/AbortList.hpp"
37#include "Acts/Propagator/ActionList.hpp"
38#include "Acts/Propagator/DenseEnvironmentExtension.hpp"
39#include "Acts/Propagator/EigenStepper.hpp"
40#include "Acts/Propagator/MaterialInteractor.hpp"
41#include "Acts/Propagator/Navigator.hpp"
42#include "Acts/Propagator/Propagator.hpp"
43#include "Acts/Propagator/StandardAborters.hpp"
44#include "Acts/Propagator/detail/SteppingLogger.hpp"
45#include "Acts/Surfaces/PerigeeSurface.hpp"
46#include "Acts/Utilities/Logger.hpp"
51#include "Acts/EventData/MultiTrajectory.hpp"
52#include "Acts/EventData/MultiTrajectoryHelpers.hpp"
53#include "Acts/EventData/VectorTrackContainer.hpp"
54#include "Acts/Geometry/GeometryIdentifier.hpp"
55#include "Acts/TrackFinding/CombinatorialKalmanFilter.hpp"
56#include "Acts/TrackFinding/MeasurementSelector.hpp"
57#include "Acts/TrackFitting/GainMatrixSmoother.hpp"
58#include "Acts/TrackFitting/GainMatrixUpdater.hpp"
59#include "Acts/Utilities/CalibrationContext.hpp"
62#include "Acts/TrackFitting/KalmanFitter.hpp"
65#include "Acts/Propagator/MultiEigenStepperLoop.hpp"
66#include "Acts/TrackFitting/BetheHeitlerApprox.hpp"
67#include "Acts/TrackFitting/GaussianSumFitter.hpp"
68#include "Acts/TrackFitting/GsfMixtureReduction.hpp"
71#include "Tracking/Event/Measurement.h"
72#include "Tracking/Event/Track.h"
73#include "Tracking/Reco/TrackExtrapolatorTool.h"
74#include "Tracking/Sim/IndexSourceLink.h"
75#include "Tracking/Sim/MeasurementCalibrator.h"
76#include "Tracking/Sim/TrackingUtils.h"
79#include "Tracking/Sim/BFieldXYZUtils.h"
82 Acts::ActionList<Acts::detail::SteppingLogger, Acts::MaterialInteractor>;
83using AbortList = Acts::AbortList<Acts::EndOfWorldReached>;
93using MultiStepper = Acts::MultiEigenStepperLoop<>;
94using Propagator = Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator>;
95using GsfPropagator = Acts::Propagator<MultiStepper, Acts::Navigator>;
96using BetheHeitlerApprox = Acts::AtlasBetheHeitlerApprox<6, 5>;
167 std::map<std::string, double> profiling_map_;
177 std::default_random_engine generator_;
178 std::shared_ptr<std::normal_distribution<float>> normal_;
196 std::vector<double> extrapolate_location_{0., 0., 0.};
200 std::string measurement_collection_{
"TaggerMeasurements"};
205 std::string out_trk_collection_{
"GSFTracks"};
216 std::string seed_coll_name_{
"seedTracks"};
219 std::unique_ptr<
const Acts::GaussianSumFitter<
220 GsfPropagator, BetheHeitlerApprox, Acts::VectorMultiTrajectory>>
225 std::string trackCollection_{
"TaggerTracks"};
226 std::string measCollection_{
"DigiTaggerSimHits"};
228 size_t maxComponents_{4};
229 bool abortOnError_{
false};
230 bool disableAllMaterialHandling_{
false};
231 double weightCutoff_{1.0e-4};
233 double propagator_step_size_{200.};
234 int propagator_maxSteps_{1000};
235 std::string field_map_{
""};
237 bool usePerigee_{
false};
241 bool taggerTracking_{
true};
244 std::unique_ptr<const Propagator> propagator_;
250 std::unordered_map<unsigned int, const Acts::Surface *> layer_surface_map_;
253 std::shared_ptr<tracking::reco::TrackExtrapolatorTool<Propagator>>
Base classes for all user event processing components to extend.
Conditions object for random number seeds.
Implements an event buffer system for storing event data.
Class which represents the process under execution.
Class encapsulating parameters for configuring a processor.
virtual ~GSFProcessor()=default
Destructor.
void produce(framework::Event &event) override
Run the processor.
void onProcessEnd() override
Callback for the EventProcessor to take any necessary action when the processing of events finishes,...
void configure(framework::config::Parameters ¶meters) override
Configure the processor using the given user specified parameters.
void onProcessStart() override
Callback for the EventProcessor to take any necessary action when the processing of events starts,...
void onNewRun(const ldmx::RunHeader &rh) override
onNewRun is the first function called for each processor after the conditions are fully configured an...
a helper base class providing some methods to shorten access to common conditions used within the tra...
The measurement calibrator can be a function or a class/struct able to retrieve the sim hits containe...