65 std::optional<ldmx::Measurement>>
68 std::optional<ldmx::Measurement>>
70 const std::array<double, 3> ecal_one);
74 std::optional<ldmx::Measurement>>>,
76 std::optional<ldmx::Measurement>>>>
77 combineMultiGlobalHits(
const std::vector<ldmx::Measurement> &hit_collection);
81 std::optional<ldmx::Measurement>>>
82 midPointCalculation(
const std::vector<ldmx::Measurement> &layer1,
83 const std::vector<ldmx::Measurement> &layer2);
87 std::tuple<double, double, double, double, std::vector<double>> fit3DLine(
88 const std::array<double, 3> &first_recoil,
89 const std::array<double, 3> &second_recoil,
90 const std::array<double, 3> &ecal);
93 double calculateDistance(
const std::array<double, 3> &point1,
94 const std::array<double, 3> &point2);
97 double globalChiSquare(
const std::array<double, 3> &first_sensor,
98 const std::array<double, 3> &second_sensor,
99 const std::array<double, 3> &ecal_hit,
double a_x,
100 double a_y,
double b_x,
double b_y);
104 int uniqueLayersHit(
const std::vector<ldmx::Measurement> &digi_points);
106 double processing_time_{0.};
108 unsigned int n_seeds_{0};
116 std::string input_pass_name_{
""};
118 double ecal_uncertainty_{3.87};
120 double ecal_distance_threshold_{10.0};
123 double layer12_midpoint_{12.5};
124 double layer23_midpoint_{20.0};
125 double layer34_midpoint_{27.5};
126 double ecal_first_layer_z_threshold_{250.0};
128 std::vector<double> recoil_uncertainty_{0.006, 5.7735};
134 std::shared_ptr<tracking::sim::TruthMatchingTool> truth_matching_tool_ =