21#include <range/v3/view/concat.hpp>
22#include <range/v3/view/join.hpp>
23#include <range/v3/view/transform.hpp>
25namespace rng = ranges;
39 auto num_of_plane =
static_cast<int>(bar_numbers /
BarsPerPlane);
43 constexpr auto TOF_BIN_SIZE = 3000;
44 constexpr auto TOF_MIN = -100;
45 constexpr auto TOF_MAX = 500;
47 constexpr auto X_BIN_SIZE = 1000;
48 constexpr auto X_MAX = 200;
50 constexpr auto TDC_BIN_SIZE = 1000;
51 constexpr auto TDC_MAX = 10000;
54 canvas.add<1, TH2D>(
"hTofvsZ",
"Tof vs Z", num_of_plane, 0, num_of_plane, TOF_BIN_SIZE, TOF_MIN, TOF_MAX);
64 hTOFc_ = canvas.add<3, TH1D>(
"hTOFc",
"hTOFc", TOF_BIN_SIZE, TOF_MIN, TOF_MAX);
67 canvas.add<4, TH2D>(
"hTofcvsX",
"Tofc vs X", X_BIN_SIZE, -X_MAX, X_MAX, TOF_BIN_SIZE, TOF_MIN, TOF_MAX);
77 const auto module_id = hit.module_id;
81 const auto time = hit.time;
82 const auto correc_time = time - ((hit.position.Mag() - distance_to_target) /
CLight);
83 const auto pos_x =
IsPlaneIDHorizontal(plane_id) ? hit.position.X() : hit.position.X() + bar_width_error;
100 const auto time_start = event_header->GetTStart();
101 if (std::isnan(time_start))
105 for (
const auto& cal_signal :
107 rng::views::transform([](
const auto& bar_signal)
108 {
return ranges::views::concat(bar_signal.left, bar_signal.right); }) |
111 const auto time_cal = cal_signal.leading_time - cal_signal.trigger_time;
auto GetBarNumber() const -> int
auto CreateNewCanvas(DataMonitor &histograms) -> DataMonitorCanvas &
auto GetOnlineSpectra() const -> OnlineSpectra *
CanvasElement< TH2D > hNeuLANDvsStart_
InputVectorConnector< BarCalData > cal_data_
CanvasElement< TH2D > hTofvsZ_
CanvasElement< TH1D > hTOFc_
void CanvasFinish() override
void CanvasFill(DataMonitor &histograms) override
CanvasElement< TH2D > hTofcvsX_
void CanvasInit(DataMonitor &histograms) override
InputVectorConnector< R3BNeulandHit > hit_data_
Simulation of NeuLAND Bar/Paddle.
constexpr auto BarsPerPlane
constexpr auto ModuleID2PlaneID(int moduleID) -> int
constexpr auto BarSize_XY
constexpr auto IsPlaneIDHorizontal(int plane_id) -> bool