4#include <FairRootManager.h>
5#include <FairRuntimeDb.h>
10#include <RtypesCore.h>
12#include <fairlogger/Logger.h>
14#include <fmt/format.h>
15#include <range/v3/algorithm/find_if.hpp>
16#include <range/v3/algorithm/for_each.hpp>
23 : FairTask(name.data(), iVerbose)
25 LOGP(info,
"Calibration task {:?} is enable!", name);
35 if (
auto* rtdb = FairRuntimeDb::instance(); rtdb !=
nullptr)
47 if (
auto* rootMan = FairRootManager::Instance(); rootMan !=
nullptr)
66 "Neuland calibration task \"{}\" has event trigger type: {}",
103 if (condition ==
"failure" or condition ==
"success" or condition ==
"triggered" or condition ==
"total")
105 LOGP(warn, R
"("failure", "success", "triggered" and "total" are reserved conditions!)");
107 hist_condition->Fill(condition.data(), 1);
129 R
"(Passed events with the trigger type "{}" in task "{}": {})",
141 "Figures not saved due to current configuration: hist_disabled = {}, write_hist_disabled = {}",
145 ranges::for_each(
output_pars_, [](FairParSet* par) ->
void { par->setChanged(); });
152 R
"(From task "{}": tpat {}. Trig type {})",
172 auto par_not_changed = ranges::find_if(
input_pars_, [](
auto* par) ->
bool {
return !par->hasChanged(); });
175 auto par_name = std::string_view{ (*par_not_changed)->GetName() };
177 fmt::format(R
"(Calibration parameter "{}" is not initiated from the root file!)", par_name));
auto check_offspill_trigger() const -> bool
virtual void SetExtraPar(FairRuntimeDb *rtdb)
virtual void ExtraInit(FairRootManager *rootMan)
virtual void HistogramInit(DataMonitor &histograms)
auto Init() -> InitStatus override
void FinishTask() override
R3BEventHeader * eventHeader_
virtual auto CheckConditions(TH1L *hist_condition) const -> bool
virtual void TriggeredExec()=0
CalibrationBasePar * base_par_
void Exec(Option_t *option) override
virtual void BeginOfEvent()
int64_t passed_num_of_events
static void ConditionFillToHist(TH1L *hist_condition, std::string_view condition)
int32_t offspill_tpat_bit_
std::vector< FairParSet * > output_pars_
void SetParContainers() override
std::vector< FairParSet * > input_pars_
bool is_write_hist_disabled_
TH1L * hist_condition_check_
Simulation of NeuLAND Bar/Paddle.
auto CheckTriggerWithTpat(CalTrigger trigger, int tpat, int off_spill_bit) -> bool
auto CalTrigger2Str(CalTrigger cal_trigger) -> std::string
constexpr auto CalTrigger2Tpat(CalTrigger cal_trigger, int off_spill_bit) -> std::bitset< TPAT_BITSIZE >