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"
66#include "Acts/Propagator/MultiEigenStepperLoop.hpp"
69#include "Tracking/Event/Measurement.h"
70#include "Tracking/Event/Track.h"
71#include "Tracking/Reco/TrackExtrapolatorTool.h"
72#include "Tracking/Sim/IndexSourceLink.h"
73#include "Tracking/Sim/MeasurementCalibrator.h"
74#include "Tracking/Sim/TrackingUtils.h"
77#include "Tracking/Sim/BFieldXYZUtils.h"
79using Updater = Acts::GainMatrixUpdater;
80using Smoother = Acts::GainMatrixSmoother;
83 Acts::ActionList<Acts::detail::SteppingLogger, Acts::MaterialInteractor>;
84using AbortList = Acts::AbortList<Acts::EndOfWorldReached>;
86using CkfPropagator = Acts::Propagator<Acts::EigenStepper<>, Acts::Navigator>;
87using TrackContainer = Acts::TrackContainer<Acts::VectorTrackContainer,
88 Acts::VectorMultiTrajectory>;
141 const std::vector<ldmx::Measurement> &ldmxsps)
142 -> std::unordered_multimap<Acts::GeometryIdentifier,
146 bool dumpobj_{
false};
153 double processing_time_{0.};
156 std::map<std::string, double> profiling_map_;
158 bool debug_acts_{
false};
160 std::shared_ptr<Acts::PlaneSurface> target_surface;
161 Acts::RotationMatrix3 surf_rotation;
165 bool const_b_field_{
true};
168 bool remove_stereo_{
false};
171 bool use1Dmeasurements_{
true};
177 double propagator_step_size_{200.};
178 int propagator_maxSteps_{1000};
181 bool use_extrapolate_location_{
true};
182 std::vector<double> extrapolate_location_{0., 0., 0.};
183 bool use_seed_perigee_{
false};
186 std::string measurement_collection_{
"TaggerMeasurements"};
193 double outlier_pval_{3.84};
196 std::string out_trk_collection_{
"Tracks"};
199 std::string seed_coll_name_{
"seedTracks"};
202 std::string field_map_{
""};
205 std::unique_ptr<const CkfPropagator> propagator_;
209 const Acts::CombinatorialKalmanFilter<CkfPropagator, TrackContainer>>
213 std::shared_ptr<tracking::reco::TrackExtrapolatorTool<CkfPropagator>>
222 std::vector<double> map_offset_{
229 bool taggerTracking_{
true};
Base classes for all user event processing components to extend.
Conditions object for random number seeds.
A source link that stores just an index.
Implements an event buffer system for storing event data.
Class which represents the process under execution.
Class encapsulating parameters for configuring a processor.
void produce(framework::Event &event) override
Run the processor.
void configure(framework::config::Parameters ¶meters) override
Configure the processor using the given user specified parameters.
void onNewRun(const ldmx::RunHeader &rh) override
onNewRun is the first function called for each processor after the conditions are fully configured an...
int nseeds_
n seeds and n tracks
void onProcessStart() override
Callback for the EventProcessor to take any necessary action when the processing of events starts,...
~CKFProcessor()
Destructor.
void onProcessEnd() override
Callback for the EventProcessor to take any necessary action when the processing of events finishes,...
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...