R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandCal2HitHistAnalysis.h
Go to the documentation of this file.
1#pragma once
2
3#include "R3BDataMonitor.h"
4#include "R3BLogger.h"
9
10#include <TH2.h>
11#include <fmt/core.h>
12#include <vector>
13
15{
17 {
18 public:
19 HistAnalysis() = default;
20
21 private:
23 int minimum_hit_ = 1;
25
26 // histograms:
27 TH2D* hist_time_diff_ = nullptr;
28
29 // private virtual functions:
30 void Init() override;
31 void AddSignals(const std::vector<BarCalData>& signals) override;
32 void Calibrate(Cal2HitPar& hit_par) override;
33 void EndOfEvent(unsigned int /*event_num*/ = 0) override { tsync_engine_.end_of_event(); }
34 void EventReset() override { tsync_engine_.reset(); }
35 void EndOfTask() override {}
36 auto SignalFilter(const std::vector<BarCalData>& signals) -> bool override;
37 void HistInit(DataMonitor& histograms) override;
38 void SetMinStat(int min) override
39 {
40 minimum_hit_ = min;
41 R3BLOG(info, fmt::format("Minimum number of hits is set to {}", minimum_hit_));
42 }
43
44 // private non-virtual function
45 void fill_hist(const BarCalData& signal);
46 };
47} // namespace R3B::Neuland::Calibration
#define R3BLOG(severity, x)
Definition R3BLogger.h:32
void AddSignals(const std::vector< BarCalData > &signals) override
auto SignalFilter(const std::vector< BarCalData > &signals) -> bool override
void HistInit(DataMonitor &histograms) override
Main interface for TSync calculation.