R3BROOT
R3B analysis software
Loading...
Searching...
No Matches

#include <R3BNeulandMillepede.h>

Public Member Functions

 MillepedeEngine ()=default
void enable_rank_check (bool rank_check=true)
void set_t_diff_residual_cut (double val)
void set_p_value_cut (double val)
void set_options (const MillepedeOptions &options)
Public Member Functions inherited from R3B::Neuland::Calibration::CosmicEngineInterface
 CosmicEngineInterface ()=default
virtual ~CosmicEngineInterface ()=default
 CosmicEngineInterface (const CosmicEngineInterface &)=default
 CosmicEngineInterface (CosmicEngineInterface &&)=delete
auto operator= (const CosmicEngineInterface &) -> CosmicEngineInterface &=default
auto operator= (CosmicEngineInterface &&) -> CosmicEngineInterface &=delete
void SetModuleSize (int module_size)
void SetTask (Cal2HitParTask *task)
auto GetModuleSize () const -> auto
auto GetTask () -> Cal2HitParTask *

Private Types

using DataBufferType = std::unordered_map<int, std::vector<MilleCalData>>

Private Member Functions

void Init () override
void AddSignals (const std::vector< BarCalData > &signals) override
void Calibrate (Cal2HitPar &hit_par) override
void EndOfEvent (unsigned int event_num=0) override
void EventReset () override
auto SignalFilter (const std::vector< BarCalData > &signals) -> bool override
void BeginOfEvent () override
void EndOfTask () override
void HistInit (DataMonitor &histograms) override
void SetMinStat (int min) override
void SetErrorScale (float scale) override
void buffer_clear ()
void write_to_buffer ()
auto add_signal_t_sum (const MilleCalData &signal, const TrackFitResult &fit_coeff) -> float
void add_signal_t_diff (const MilleCalData &signal)
void add_spacial_local_constraint (int plane_id, const std::vector< MilleCalData > &plane_signals)
auto set_minimum_values (const std::vector< R3B::Neuland::BarCalData > &signals) -> bool
auto get_global_label_id (int module_num, GlobalLabel label) -> int
auto to_module_num_label (int par_num) -> std::pair< int, GlobalLabel >
void fill_module_parameters (const Millepede::ResultReader &result, Neuland::Cal2HitPar &cal_to_hit_par)
void fill_data_to_figure (Cal2HitPar &hit_par)
void init_parameter ()
void init_steer_writer ()
void set_working_dir ()
void add_fit_result_hist (const MilleDataProcessor::FitResult &fit_result)
template<MillepedeCalibrationMode mode>
void add_signals (const DataBufferType &processed_data, const TrackFitResult &fit_coeff)
template<>
void add_signals (const DataBufferType &processed_data, const TrackFitResult &fit_coeff)
template<>
void add_signals (const DataBufferType &processed_data, const TrackFitResult &fit_coeff)
auto select_t_sync_signal (const std::vector< MilleCalData > &plane_data)

Private Attributes

bool has_rank_check_ = false
int minimum_hit_ = 1
MillepedeOptions config_
std::optional< float > average_t_sum_
MilleDataPoint input_data_buffer_
R3B::OutputVectorConnector< MilleCalDataoutput_mille_data_ { "MilleData" }
R3B::OutputVectorConnector< MilleCalDataoutput_tsync_mille_data_ { "TSyncMilleData" }
R3B::OutputConnector< NeulandTrackInfooutput_mille_track_info_ { "MilleTrackInfo" }
std::string pede_steer_filename_ = "neuland_steer.txt"
std::string input_parameter_filename_ = "neuland_pars.txt"
std::string working_dir_
std::vector< int > plane_counter_
std::unique_ptr< Millebinary_data_writer_
Millepede::ResultReader par_result_
Millepede::Launcher pede_launcher_
TGraphErrors * graph_time_offset_ = nullptr
TGraphErrors * graph_time_sync_ = nullptr
TGraphErrors * graph_effective_c_ = nullptr
TH1D * hist_t_offset_residual_ = nullptr
TH1D * hist_p_value_xz_ = nullptr
TH1D * hist_p_value_yz_ = nullptr
TH1D * hist_a_xz_ = nullptr
TH1D * hist_b_xz_ = nullptr
TH1D * hist_a_yz_ = nullptr
TH1D * hist_b_yz_ = nullptr
TH1D * hist_plane_hit_num_ = nullptr
TH1L * barplot_filter_counts_ = nullptr
Cal2HitParcal_to_hit_par_ = nullptr
std::unique_ptr< MilleDataProcessordata_preprocessor_

Static Private Attributes

static constexpr std::string_view DEFAULT_SUB_DIR = "millepede"

Detailed Description

Definition at line 75 of file R3BNeulandMillepede.h.

Member Typedef Documentation

◆ DataBufferType

using R3B::Neuland::Calibration::MillepedeEngine::DataBufferType = std::unordered_map<int, std::vector<MilleCalData>>
private

Definition at line 168 of file R3BNeulandMillepede.h.

Constructor & Destructor Documentation

◆ MillepedeEngine()

R3B::Neuland::Calibration::MillepedeEngine::MillepedeEngine ( )
default

Member Function Documentation

◆ add_fit_result_hist()

void R3B::Neuland::Calibration::MillepedeEngine::add_fit_result_hist ( const MilleDataProcessor::FitResult & fit_result)
private

Definition at line 744 of file R3BNeulandMillepede.cxx.

◆ add_signal_t_diff()

void R3B::Neuland::Calibration::MillepedeEngine::add_signal_t_diff ( const MilleCalData & signal)
private

Definition at line 444 of file R3BNeulandMillepede.cxx.

◆ add_signal_t_sum()

auto R3B::Neuland::Calibration::MillepedeEngine::add_signal_t_sum ( const MilleCalData & signal,
const TrackFitResult & fit_coeff ) -> float
private

Definition at line 363 of file R3BNeulandMillepede.cxx.

◆ add_signals() [1/3]

template<>
void R3B::Neuland::Calibration::MillepedeEngine::add_signals ( const DataBufferType & processed_data,
const TrackFitResult & fit_coeff )
private

◆ add_signals() [2/3]

template<>
void R3B::Neuland::Calibration::MillepedeEngine::add_signals ( const DataBufferType & processed_data,
const TrackFitResult & fit_coeff )
private

◆ add_signals() [3/3]

template<MillepedeCalibrationMode mode>
void R3B::Neuland::Calibration::MillepedeEngine::add_signals ( const DataBufferType & processed_data,
const TrackFitResult & fit_coeff )
inlineprivate

Definition at line 170 of file R3BNeulandMillepede.h.

◆ add_spacial_local_constraint()

void R3B::Neuland::Calibration::MillepedeEngine::add_spacial_local_constraint ( int plane_id,
const std::vector< MilleCalData > & plane_signals )
private

Definition at line 406 of file R3BNeulandMillepede.cxx.

◆ AddSignals()

void R3B::Neuland::Calibration::MillepedeEngine::AddSignals ( const std::vector< BarCalData > & signals)
overrideprivatevirtual

◆ BeginOfEvent()

void R3B::Neuland::Calibration::MillepedeEngine::BeginOfEvent ( )
inlineoverrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 133 of file R3BNeulandMillepede.h.

◆ buffer_clear()

void R3B::Neuland::Calibration::MillepedeEngine::buffer_clear ( )
private

Definition at line 697 of file R3BNeulandMillepede.cxx.

◆ Calibrate()

void R3B::Neuland::Calibration::MillepedeEngine::Calibrate ( Cal2HitPar & hit_par)
overrideprivatevirtual

◆ enable_rank_check()

void R3B::Neuland::Calibration::MillepedeEngine::enable_rank_check ( bool rank_check = true)
inline

Definition at line 79 of file R3BNeulandMillepede.h.

◆ EndOfEvent()

void R3B::Neuland::Calibration::MillepedeEngine::EndOfEvent ( unsigned int event_num = 0)
overrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 630 of file R3BNeulandMillepede.cxx.

◆ EndOfTask()

void R3B::Neuland::Calibration::MillepedeEngine::EndOfTask ( )
overrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 711 of file R3BNeulandMillepede.cxx.

◆ EventReset()

void R3B::Neuland::Calibration::MillepedeEngine::EventReset ( )
overrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 638 of file R3BNeulandMillepede.cxx.

◆ fill_data_to_figure()

void R3B::Neuland::Calibration::MillepedeEngine::fill_data_to_figure ( Cal2HitPar & hit_par)
private

Definition at line 616 of file R3BNeulandMillepede.cxx.

◆ fill_module_parameters()

void R3B::Neuland::Calibration::MillepedeEngine::fill_module_parameters ( const Millepede::ResultReader & result,
Neuland::Cal2HitPar & cal_to_hit_par )
private

Definition at line 237 of file R3BNeulandMillepede.cxx.

◆ get_global_label_id()

auto R3B::Neuland::Calibration::MillepedeEngine::get_global_label_id ( int module_num,
GlobalLabel label ) -> int
inlineprivate

Definition at line 215 of file R3BNeulandMillepede.cxx.

◆ HistInit()

void R3B::Neuland::Calibration::MillepedeEngine::HistInit ( DataMonitor & histograms)
overrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 640 of file R3BNeulandMillepede.cxx.

◆ Init()

void R3B::Neuland::Calibration::MillepedeEngine::Init ( )
overrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 131 of file R3BNeulandMillepede.cxx.

◆ init_parameter()

void R3B::Neuland::Calibration::MillepedeEngine::init_parameter ( )
private

Definition at line 717 of file R3BNeulandMillepede.cxx.

◆ init_steer_writer()

void R3B::Neuland::Calibration::MillepedeEngine::init_steer_writer ( )
private

Definition at line 754 of file R3BNeulandMillepede.cxx.

◆ select_t_sync_signal()

auto R3B::Neuland::Calibration::MillepedeEngine::select_t_sync_signal ( const std::vector< MilleCalData > & plane_data)
private

Definition at line 479 of file R3BNeulandMillepede.cxx.

◆ set_minimum_values()

auto R3B::Neuland::Calibration::MillepedeEngine::set_minimum_values ( const std::vector< R3B::Neuland::BarCalData > & signals) -> bool
private

Definition at line 297 of file R3BNeulandMillepede.cxx.

◆ set_options()

void R3B::Neuland::Calibration::MillepedeEngine::set_options ( const MillepedeOptions & options)

Definition at line 129 of file R3BNeulandMillepede.cxx.

◆ set_p_value_cut()

void R3B::Neuland::Calibration::MillepedeEngine::set_p_value_cut ( double val)
inline

Definition at line 81 of file R3BNeulandMillepede.h.

◆ set_t_diff_residual_cut()

void R3B::Neuland::Calibration::MillepedeEngine::set_t_diff_residual_cut ( double val)
inline

Definition at line 80 of file R3BNeulandMillepede.h.

◆ set_working_dir()

void R3B::Neuland::Calibration::MillepedeEngine::set_working_dir ( )
private

Definition at line 167 of file R3BNeulandMillepede.cxx.

◆ SetErrorScale()

void R3B::Neuland::Calibration::MillepedeEngine::SetErrorScale ( float scale)
inlineoverrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 150 of file R3BNeulandMillepede.h.

◆ SetMinStat()

void R3B::Neuland::Calibration::MillepedeEngine::SetMinStat ( int min)
inlineoverrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 145 of file R3BNeulandMillepede.h.

◆ SignalFilter()

auto R3B::Neuland::Calibration::MillepedeEngine::SignalFilter ( const std::vector< BarCalData > & signals) -> bool
overrideprivatevirtual

Reimplemented from R3B::Neuland::Calibration::CosmicEngineInterface.

Definition at line 327 of file R3BNeulandMillepede.cxx.

◆ to_module_num_label()

auto R3B::Neuland::Calibration::MillepedeEngine::to_module_num_label ( int par_num) -> std::pair< int, GlobalLabel >
inlineprivate

Definition at line 180 of file R3BNeulandMillepede.cxx.

◆ write_to_buffer()

void R3B::Neuland::Calibration::MillepedeEngine::write_to_buffer ( )
private

Definition at line 705 of file R3BNeulandMillepede.cxx.

Member Data Documentation

◆ average_t_sum_

std::optional<float> R3B::Neuland::Calibration::MillepedeEngine::average_t_sum_
private

Definition at line 91 of file R3BNeulandMillepede.h.

◆ barplot_filter_counts_

TH1L* R3B::Neuland::Calibration::MillepedeEngine::barplot_filter_counts_ = nullptr
private

Definition at line 120 of file R3BNeulandMillepede.h.

◆ binary_data_writer_

std::unique_ptr<Mille> R3B::Neuland::Calibration::MillepedeEngine::binary_data_writer_
private

Definition at line 104 of file R3BNeulandMillepede.h.

◆ cal_to_hit_par_

Cal2HitPar* R3B::Neuland::Calibration::MillepedeEngine::cal_to_hit_par_ = nullptr
private

Definition at line 123 of file R3BNeulandMillepede.h.

◆ config_

MillepedeOptions R3B::Neuland::Calibration::MillepedeEngine::config_
private

Definition at line 88 of file R3BNeulandMillepede.h.

◆ data_preprocessor_

std::unique_ptr<MilleDataProcessor> R3B::Neuland::Calibration::MillepedeEngine::data_preprocessor_
private

Definition at line 125 of file R3BNeulandMillepede.h.

◆ DEFAULT_SUB_DIR

std::string_view R3B::Neuland::Calibration::MillepedeEngine::DEFAULT_SUB_DIR = "millepede"
staticconstexprprivate

Definition at line 92 of file R3BNeulandMillepede.h.

◆ graph_effective_c_

TGraphErrors* R3B::Neuland::Calibration::MillepedeEngine::graph_effective_c_ = nullptr
private

Definition at line 111 of file R3BNeulandMillepede.h.

◆ graph_time_offset_

TGraphErrors* R3B::Neuland::Calibration::MillepedeEngine::graph_time_offset_ = nullptr
private

Definition at line 109 of file R3BNeulandMillepede.h.

◆ graph_time_sync_

TGraphErrors* R3B::Neuland::Calibration::MillepedeEngine::graph_time_sync_ = nullptr
private

Definition at line 110 of file R3BNeulandMillepede.h.

◆ has_rank_check_

bool R3B::Neuland::Calibration::MillepedeEngine::has_rank_check_ = false
private

Definition at line 85 of file R3BNeulandMillepede.h.

◆ hist_a_xz_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_a_xz_ = nullptr
private

Definition at line 115 of file R3BNeulandMillepede.h.

◆ hist_a_yz_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_a_yz_ = nullptr
private

Definition at line 117 of file R3BNeulandMillepede.h.

◆ hist_b_xz_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_b_xz_ = nullptr
private

Definition at line 116 of file R3BNeulandMillepede.h.

◆ hist_b_yz_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_b_yz_ = nullptr
private

Definition at line 118 of file R3BNeulandMillepede.h.

◆ hist_p_value_xz_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_p_value_xz_ = nullptr
private

Definition at line 113 of file R3BNeulandMillepede.h.

◆ hist_p_value_yz_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_p_value_yz_ = nullptr
private

Definition at line 114 of file R3BNeulandMillepede.h.

◆ hist_plane_hit_num_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_plane_hit_num_ = nullptr
private

Definition at line 119 of file R3BNeulandMillepede.h.

◆ hist_t_offset_residual_

TH1D* R3B::Neuland::Calibration::MillepedeEngine::hist_t_offset_residual_ = nullptr
private

Definition at line 112 of file R3BNeulandMillepede.h.

◆ input_data_buffer_

MilleDataPoint R3B::Neuland::Calibration::MillepedeEngine::input_data_buffer_
private

Definition at line 94 of file R3BNeulandMillepede.h.

◆ input_parameter_filename_

std::string R3B::Neuland::Calibration::MillepedeEngine::input_parameter_filename_ = "neuland_pars.txt"
private

Definition at line 100 of file R3BNeulandMillepede.h.

◆ minimum_hit_

int R3B::Neuland::Calibration::MillepedeEngine::minimum_hit_ = 1
private

Definition at line 86 of file R3BNeulandMillepede.h.

◆ output_mille_data_

R3B::OutputVectorConnector<MilleCalData> R3B::Neuland::Calibration::MillepedeEngine::output_mille_data_ { "MilleData" }
private

Definition at line 95 of file R3BNeulandMillepede.h.

◆ output_mille_track_info_

R3B::OutputConnector<NeulandTrackInfo> R3B::Neuland::Calibration::MillepedeEngine::output_mille_track_info_ { "MilleTrackInfo" }
private

Definition at line 97 of file R3BNeulandMillepede.h.

◆ output_tsync_mille_data_

R3B::OutputVectorConnector<MilleCalData> R3B::Neuland::Calibration::MillepedeEngine::output_tsync_mille_data_ { "TSyncMilleData" }
private

Definition at line 96 of file R3BNeulandMillepede.h.

◆ par_result_

Millepede::ResultReader R3B::Neuland::Calibration::MillepedeEngine::par_result_
private

Definition at line 105 of file R3BNeulandMillepede.h.

◆ pede_launcher_

Millepede::Launcher R3B::Neuland::Calibration::MillepedeEngine::pede_launcher_
private

Definition at line 106 of file R3BNeulandMillepede.h.

◆ pede_steer_filename_

std::string R3B::Neuland::Calibration::MillepedeEngine::pede_steer_filename_ = "neuland_steer.txt"
private

Definition at line 99 of file R3BNeulandMillepede.h.

◆ plane_counter_

std::vector<int> R3B::Neuland::Calibration::MillepedeEngine::plane_counter_
private

Definition at line 103 of file R3BNeulandMillepede.h.

◆ working_dir_

std::string R3B::Neuland::Calibration::MillepedeEngine::working_dir_
private

Definition at line 101 of file R3BNeulandMillepede.h.


The documentation for this class was generated from the following files: