56 bool has_rank_check_ =
false;
58 float error_scale_factor_ = 1000.F;
61 std::optional<float> average_t_sum_;
67 std::string input_data_filename_ =
"neuland_cosmic_mille.bin";
68 std::string pede_steer_filename_ =
"neuland_steer.txt";
69 std::string parameter_filename_ =
"neuland_pars.txt";
71 Mille binary_data_writer_{ input_data_filename_ };
76 TGraphErrors* graph_time_offset_ =
nullptr;
77 TGraphErrors* graph_time_sync_ =
nullptr;
78 TGraphErrors* graph_effective_c_ =
nullptr;
79 TH1D* hist_t_offset_residual_ =
nullptr;
84 std::unique_ptr<MilleDataProcessor> data_preprocessor_;
87 void AddSignals(
const std::vector<BarCalData>& signals)
override;
89 void EndOfEvent(
unsigned int event_num = 0)
override;
91 auto SignalFilter(
const std::vector<BarCalData>& signals) ->
bool override;
97 R3BLOG(info, fmt::format(
"Minimum number of hits is set to {}", minimum_hit_));
99 void SetErrorScale(
float scale)
override { error_scale_factor_ = scale; }
102 void write_to_buffer();
105 void add_spacial_local_constraint(
int plane_id,
const std::vector<MilleCalData>& plane_signals);
106 auto set_minimum_values(
const std::vector<R3B::Neuland::BarCalData>& signals) -> bool;
107 inline auto get_global_label_id(
int module_num,
GlobalLabel label) -> int;
108 inline auto to_module_num_label(
int par_num) -> std::pair<int, GlobalLabel>;
110 void fill_data_to_figure(
Cal2HitPar& hit_par);
112 void init_parameter();
113 void init_steer_writer();
115 auto select_t_diff_signal(
const std::vector<MilleCalData>& plane_data);