21#include <FairRootManager.h>
22#include <FairRuntimeDb.h>
34 std::string_view cal_data_name,
35 std::string_view base_par_name,
36 std::string_view hit_par_name,
37 std::string_view name,
40 , cal_data_{ cal_data_name }
47 R3BLOG(info,
"Cal2HitPar method: LSQT.");
48 engine_ = std::make_unique<Calibration::LSQREngineAdaptor>();
52 R3BLOG(info,
"Cal2HitPar method: Millepede.");
53 engine_ = std::make_unique<Calibration::MillepedeEngine>();
57 R3BLOG(info,
"Cal2HitPar method: predecessor.");
58 engine_ = std::make_unique<Calibration::Predecessor>();
75 engine_->SetTask(
this);
84 engine_->EventReset();
85 engine_->AddSignals(cal_data_.get());
91 if (eventHeader !=
nullptr)
93 engine_->EndOfEvent(eventHeader->GetEventno());
103 if (hit_par_ ==
nullptr)
108 R3BLOG(info,
"Starting to do cosmic calibration calibration!");
109 engine_->Calibrate(*hit_par_);
110 engine_->EndOfTask();
115 auto res = engine_->SignalFilter(cal_data_.get());
#define R3BLOG(severity, x)
void EndOfTask() override
void ExtraInit(FairRootManager *rootMan) override
void SetExtraPar(FairRuntimeDb *rtdb) override
void HistogramInit(DataMonitor &histograms) override
auto CheckConditions() const -> bool override
void TriggeredExec() override
Cal2HitParTask(Cal2HitParMethod method=Cal2HitParMethod::LSQT, std::string_view cal_data_name="NeulandCalData", std::string_view base_par_name="NeulandCalibrationBasePar", std::string_view hit_par_name="NeulandHitPar", std::string_view name="NeulandCal2HitParTask", int iVerbose=1)
auto GetNumOfPlanes() const -> int
auto GetEventHeader() const -> auto *
auto InputPar(std::string_view par_name, FairRuntimeDb *rtdb=FairRuntimeDb::instance()) -> ParType *
auto OutputPar(std::string_view par_name, FairRuntimeDb *rtdb=FairRuntimeDb::instance()) -> ParType *
Simulation of NeuLAND Bar/Paddle.
constexpr auto BarsPerPlane