4#include "Framework/Configure/Parameters.h"
9#include "Tracking/Sim/LdmxSpacePoint.h"
10#include "Tracking/Sim/SeedToTrackParamMaker.h"
11#include "Tracking/Sim/TrackingUtils.h"
21#include "Acts/Definitions/Algebra.hpp"
22#include "Acts/MagneticField/MagneticFieldContext.hpp"
23#include "Acts/Seeding/EstimateTrackParamsFromSeed.hpp"
24#include "Acts/Seeding/Seed.hpp"
25#include "Acts/Seeding/SeedFilter.hpp"
26#include "Acts/Seeding/SpacePointGrid.hpp"
27#include "Acts/Utilities/CalibrationContext.hpp"
28#include "Acts/Utilities/Intersection.hpp"
33#include "Tracking/Event/Measurement.h"
34#include "Tracking/Reco/TrackingGeometryUser.h"
35#include "Tracking/Reco/TruthMatchingTool.h"
78 bool GroupStrips(
const std::vector<ldmx::Measurement>& measurements,
79 const std::vector<int> strategy);
81 void FindSeedsFromMap(ldmx::Tracks& seeds,
const ldmx::Measurements& pmeas);
84 ldmx::Track SeedTracker(
const ldmx::Measurements& vmeas,
double xOrigin,
85 const Acts::Vector3& perigee_location,
86 const ldmx::Measurements& pmeas_tgt);
88 void LineParabolaToHelix(
const Acts::ActsVector<5> parameters,
89 Acts::ActsVector<5>& helix_parameters,
92 Acts::Vector3 bField_;
99 std::shared_ptr<tracking::sim::SeedToTrackParamMaker> seed_to_track_maker_;
101 double processing_time_{0.};
103 unsigned int ntracks_{0};
105 std::vector<double> inflate_factors_{1., 1., 1., 1., 1.};
130 double piover2_{1.5708};
140 double loc1cut_{0.3};
146 std::vector<float> xhit_;
147 std::vector<float> yhit_;
148 std::vector<float> zhit_;
150 std::vector<float> b0_;
151 std::vector<float> b1_;
152 std::vector<float> b2_;
153 std::vector<float> b3_;
154 std::vector<float> b4_;
168 std::map<int, std::vector<const ldmx::Measurement*>> groups_map;
171 std::shared_ptr<tracking::sim::TruthMatchingTool> truthMatchingTool_ =
Base classes for all user event processing components to extend.
Class implementing an event buffer system for storing event data.
Class which encapsulates information from a hit in a simulated tracking detector.
Implements an event buffer system for storing event data.
Class which represents the process under execution.
Class encapsulating parameters for configuring a processor.
Implementation of a track object.
double thetacut_
ThetaRange.
~SeedFinderProcessor()
Destructor.
double loc0cut_
loc0 / loc1 cuts
std::string out_seed_collection_
The name of the output collection of seeds to be stored.
double pmax_
Maximum cut on the momentum of the seeds.
std::vector< std::string > strategies_
List of stragies for seed finding.
std::string input_hits_collection_
The name of the input hits collection to use in finding seeds..
void onProcessEnd() override
Callback for the EventProcessor to take any necessary action when the processing of events finishes,...
void produce(framework::Event &event) override
Run the processor and create a collection of results which indicate if a charge particle can be found...
void onProcessStart() override
Callback for the EventProcessor to take any necessary action when the processing of events starts,...
double pmin_
Minimum cut on the momentum of the seeds.
std::string tagger_trks_collection_
The name of the tagger Tracks (only for Recoil Seeding)
std::vector< double > perigee_location_
Location of the perigee for the helix track parameters.
double d0max_
Max d0 allowed for the seeds.
void configure(framework::config::Parameters ¶meters) override
Configure the processor using the given user specified parameters.
double d0min_
Min d0 allowed for the seeds.
double z0max_
Max z0 allowed for the seeds.
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...