R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandHitMon.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
14#ifndef R3BNEULANDHITMON_H
15#define R3BNEULANDHITMON_H
16
25
26#include "FairTask.h"
27#include "R3BDataMonitor.h"
28#include "R3BIOConnector.h"
29#include "R3BNeulandHit.h"
30
31class TH1D;
32class TH2D;
33class TH3D;
34class TH1I;
35
36class R3BNeulandHitMon : public FairTask
37{
38 public:
39 explicit R3BNeulandHitMon(std::string_view hits_name = "NeulandHits", const Option_t* option = "");
40
41 void Exec(Option_t* /*option*/) override;
42
43 void SetDistanceToTarget(double distance) { distance_to_target_ = distance; }
44
45 protected:
46 auto Init() -> InitStatus override;
47 void Finish() override { data_monitor_.save_to_sink(); }
48
49 private:
50 std::string output_{ "NeulandHitMon" };
51
53
54 double distance_to_target_ = 0.;
55
56 bool is_3d_track_enabled_ = false;
57
58 R3B::DataMonitor data_monitor_;
59
60 TH3D* hist_3_ = nullptr;
61 TH1D* hist_time_ = nullptr;
62 TH1D* hist_time_adj_ = nullptr;
63 TH1I* hist_mult_ = nullptr;
64 TH1D* hist_depth_ = nullptr;
65 TH1D* hist_foremost_energy_ = nullptr;
66 TH1D* hist_sternmost_energy_ = nullptr;
67 TH2D* hist_depth_vs_foremost_energy_ = nullptr;
68 TH2D* hist_depth_vs_sternmost_energy_ = nullptr;
69 TH1D* hist_energy_tot_ = nullptr;
70 TH1D* hist_energy_ = nullptr;
71 TH1D* hist_x_ = nullptr;
72 TH1D* hist_y_ = nullptr;
73 TH1D* hT = nullptr;
74 TH1D* hTNeigh = nullptr;
75 TH2D* hist_depth_vs_energy_tot_ = nullptr;
76 TH2D* hist_pos_vs_energy_ = nullptr;
77 TH2D* hdeltaEE = nullptr;
78 TH1D* hist_beta_ = nullptr;
79
80 ClassDefOverride(R3BNeulandHitMon, 0); // NOLINT
81};
82
83#endif // R3BNEULANDHITMON_H
auto Init() -> InitStatus override
void SetDistanceToTarget(double distance)
R3BNeulandHitMon(std::string_view hits_name="NeulandHits", const Option_t *option="")
void Exec(Option_t *) override
void Finish() override
InputConnector< std::vector< ElementType > > InputVectorConnector