R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandHitCosmicMonitorTask.h
Go to the documentation of this file.
1#pragma once
2
4#include "R3BIOConnector.h"
6#include "R3BNeulandHit2.h"
8#include <TH1.h>
9#include <TH2.h>
10#include <chrono>
11#include <string>
12#include <vector>
13
14class FairRootManager;
15class FairRuntimeDb;
16
17namespace R3B
18{
19 class DataMonitor;
20}
21
23{
25
27 {
29 bool enable = false;
30 int n_plane_min = 0;
31 int n_hit_min = 0;
32 double max_abs_a_xz = -1.;
33 double max_abs_a_yz = -1.;
34 std::string name = "NeulandHitCosmicMonitorTask";
35 std::string read = "NeulandHits";
36 std::string write;
37 };
38
40 {
41 public:
43
44 explicit CosmicMonitorTask(const Config& config);
45
46 private:
53 std::vector<int> plane_counter_;
54 std::chrono::microseconds fit_duration_ms_{};
55
57 TH1D* hist_fit_iterations_ = nullptr;
58 TH1D* hist_a_xz_ = nullptr;
59 TH1D* hist_b_xz_ = nullptr;
60 TH1D* hist_a_yz_ = nullptr;
61 TH1D* hist_b_yz_ = nullptr;
63 TH2D* hist_fit_diff_time_ = nullptr;
64 TH2D* hist_fit_diff_bar_pos_ = nullptr;
65
66 // overriden functions:
67 void HistogramInit(DataMonitor& histograms) override;
68 void TriggeredExec() override;
69 void ExtraInit(FairRootManager* rootMan) override;
70 void SetExtraPar(FairRuntimeDb* rtdb) override {}
71 void BeginOfEvent() override;
72 void EndOfTask() override {}
73 [[nodiscard]] auto CheckConditions([[maybe_unused]] TH1L* hist_condition) const -> bool override;
74
75 // non-virtual functions:
76 void fill_histograms();
77 };
78} // namespace R3B::Neuland::Calibration
auto CheckConditions(TH1L *hist_condition) const -> bool override
InputConnector< std::vector< ElementType > > InputVectorConnector