61 std::optional<ldmx::Measurement>>
64 std::optional<ldmx::Measurement>>
66 const std::array<double, 3> ecal_one);
70 std::tuple<double, double, double, double, std::vector<double>> fit3DLine(
71 const std::array<double, 3>& first_recoil,
72 const std::array<double, 3>& second_recoil,
73 const std::array<double, 3>& ecal);
76 double calculateDistance(
const std::array<double, 3>& point1,
77 const std::array<double, 3>& point2);
82 const Acts::Surface& axial_surface,
84 const Acts::Surface& stereo_surface,
86 std::vector<ldmx::SimTrackerHit> pair_sim_hits);
89 std::vector<std::tuple<
90 std::array<double, 3>,
91 std::tuple<ldmx::Measurement, ldmx::SimTrackerHit, ldmx::SimTrackerHit>,
100 double globalChiSquare(
const std::array<double, 3>& first_sensor,
101 const std::array<double, 3>& second_sensor,
102 const std::array<double, 3>& ecal_hit,
double a_x,
103 double a_y,
double b_x,
double b_y);
107 int uniqueLayersHit(
const std::vector<ldmx::Measurement>& digi_points);
110 std::array<double, 3> convertToLdmxStdArray(
const Acts::Vector3& vec);
111 std::tuple<Acts::Vector3, Acts::Vector3, Acts::Vector3> getSurfaceVectors(
112 const Acts::Surface& surface);
113 double dotProduct(
const Acts::Vector3& v1,
const Acts::Vector3& v2);
114 std::array<double, 3> getPointAtZ(std::array<double, 3> target,
115 std::array<double, 3> measurement,
118 double processing_time_{0.};
120 unsigned int n_seeds_{0};
128 std::string input_pass_name_{
""};
130 double ecal_uncertainty_{3.87};
132 double ecal_distance_threshold_{10.0};
135 double layer12_midpoint_{12.5};
136 double layer23_midpoint_{20.0};
137 double layer34_midpoint_{27.5};
138 double ecal_first_layer_z_threshold_{250.0};
140 std::vector<double> recoil_uncertainty_{0.006, 0.085};
146 std::shared_ptr<tracking::sim::TruthMatchingTool> truth_matching_tool_ =
150 std::string next_event_passname_;
151 std::string sim_particles_passname_;
152 std::string sim_particles_events_passname_;