SND@LHC Software
Loading...
Searching...
No Matches
snd::Configuration Struct Reference

#include <sndConfiguration.h>

Public Types

enum class  Option { ti18_2024_2025 , ti18_2022_2023 , test_beam_2023 , test_beam_2024 }
 

Public Member Functions

 Configuration (Option option, Scifi *scifi_geometry, MuFilter *muon_filter_geometry)
 

Static Public Member Functions

static Option GetOption (int run_number)
 

Public Attributes

double scifi_qdc_to_gev
 
double scifi_fiber_lenght
 
double scifi_centroid_error_x
 
double scifi_centroid_error_y
 
double scifi_centroid_error_z
 
double scifi_min_timestamp
 
double scifi_max_timestamp
 
double scifi_x_min
 
double scifi_x_max
 
double scifi_y_min
 
double scifi_y_max
 
double scifi_z_min
 
double scifi_z_max
 
double us_qdc_to_gev
 
double us_centroid_error_x
 
double us_centroid_error_y
 
double us_centroid_error_z
 
double us_min_timestamp
 
double us_max_timestamp
 
double us_x_min
 
double us_x_max
 
double us_y_min
 
double us_y_max
 
double us_z_min
 
double us_z_max
 
double ds_hor_spatial_resolution_x
 
double ds_hor_spatial_resolution_y
 
double ds_hor_spatial_resolution_z
 
double ds_ver_spatial_resolution_x
 
double ds_ver_spatial_resolution_y
 
double ds_ver_spatial_resolution_z
 
int veto_n_stations
 
int scifi_n_stations
 
int scifi_n_channels_per_plane
 
int scifi_boards_per_plane
 
int scifi_shower_window_width
 
int scifi_min_hits_in_window
 
int scifi_min_n_hits_for_centroid
 
int us_n_stations
 
int us_bar_per_station
 
int us_n_channels_per_station
 
int us_n_sipm_per_bar
 
int us_min_n_hits_for_centroid
 
int centroid_min_valid_station
 
int ds_n_stations
 

Detailed Description

Definition at line 8 of file sndConfiguration.h.

Member Enumeration Documentation

◆ Option

enum class snd::Configuration::Option
strong
Enumerator
ti18_2024_2025 
ti18_2022_2023 
test_beam_2023 
test_beam_2024 

Definition at line 10 of file sndConfiguration.h.

Constructor & Destructor Documentation

◆ Configuration()

snd::Configuration::Configuration ( Option  option,
Scifi scifi_geometry,
MuFilter muon_filter_geometry 
)

Definition at line 10 of file sndConfiguration.cxx.

11{
12 // Parameters from geometry
13 scifi_n_stations = scifi_geometry->GetConfParI("Scifi/nscifi");
14 scifi_boards_per_plane = scifi_geometry->GetConfParI("Scifi/nmats");
15 scifi_n_channels_per_plane = scifi_geometry->GetConfParI("Scifi/nsipm_channels") * scifi_geometry->GetConfParI("Scifi/nmats") * scifi_geometry->GetConfParI("Scifi/nsipm_mat");
16 scifi_fiber_lenght = scifi_geometry->GetConfParF("Scifi/fiber_length");
17 scifi_centroid_error_x = scifi_geometry->GetConfParF("Scifi/channel_width");
18 scifi_centroid_error_y = scifi_geometry->GetConfParF("Scifi/channel_width");
19 scifi_centroid_error_z = scifi_geometry->GetConfParF("Scifi/channel_height");
20
21 veto_n_stations = muon_filter_geometry->GetConfParI("MuFilter/NVetoPlanes");
22
23 us_n_stations = muon_filter_geometry->GetConfParI("MuFilter/NUpstreamPlanes");
24 us_bar_per_station = muon_filter_geometry->GetConfParI("MuFilter/NUpstreamBars");
25 us_n_sipm_per_bar = muon_filter_geometry->GetConfParI("MuFilter/UpstreamnSiPMs") * muon_filter_geometry->GetConfParI("MuFilter/UpstreamnSides");
27 us_centroid_error_x = muon_filter_geometry->GetConfParF("MuFilter/UpstreamBarX") / std::sqrt(12);
28 us_centroid_error_y = muon_filter_geometry->GetConfParF("MuFilter/UpstreamBarY") / std::sqrt(12);
29 us_centroid_error_z = muon_filter_geometry->GetConfParF("MuFilter/UpstreamBarZ");
30
31 ds_n_stations = muon_filter_geometry->GetConfParI("MuFilter/NDownstreamPlanes");
32 ds_hor_spatial_resolution_x = muon_filter_geometry->GetConfParF("MuFilter/DownstreamBarX") / std::sqrt(12);
33 ds_hor_spatial_resolution_y = muon_filter_geometry->GetConfParF("MuFilter/DownstreamBarY") / std::sqrt(12);
34 ds_hor_spatial_resolution_z = muon_filter_geometry->GetConfParF("MuFilter/DownstreamBarZ") / std::sqrt(12);
35 ds_ver_spatial_resolution_x = muon_filter_geometry->GetConfParF("MuFilter/DownstreamBarX_ver") / std::sqrt(12);
36 ds_ver_spatial_resolution_y = muon_filter_geometry->GetConfParF("MuFilter/DownstreamBarY_ver") / std::sqrt(12);
37 ds_ver_spatial_resolution_z = muon_filter_geometry->GetConfParF("MuFilter/DownstreamBarZ_ver") / std::sqrt(12);
38
39 // Common parameters not present in geometry
42 us_min_timestamp = -0.5;
43 us_max_timestamp = 3.0;
45 us_qdc_to_gev = 0.0151;
46
47 // Ad hoc parameters not present in geometry
48 if (option == Option::ti18_2024_2025)
49 {
53 scifi_qdc_to_gev = 0.14;
54
55 scifi_x_min = -50.0;
56 scifi_x_max = 0.0;
57 scifi_y_min = 10.0;
58 scifi_y_max = 60.0;
59 scifi_z_min = 280.0;
60 scifi_z_max = 360.0;
61
62 us_x_min = -80.0;
63 us_x_max = 0.0;
64 us_y_min = 0.0;
65 us_y_max = 80.0;
66 us_z_min = 370.0;
67 us_z_max = 480.0;
68
70 }
71
72 else if (option == Option::ti18_2022_2023)
73 {
77 scifi_qdc_to_gev = 0.14;
78 scifi_x_min = -50.0;
79 scifi_x_max = 0.0;
80 scifi_y_min = 10.0;
81 scifi_y_max = 60.0;
82 scifi_z_min = 280.0;
83 scifi_z_max = 360.0;
86
87 us_x_min = -80.0;
88 us_x_max = 0.0;
89 us_y_min = 0.0;
90 us_y_max = 80.0;
91 us_z_min = 370.0;
92 us_z_max = 480.0;
93
95 }
96
97 else if (option == Option::test_beam_2023)
98 {
102 scifi_qdc_to_gev = 0.053; // mirrors
103
104 scifi_x_min = -47.0;
105 scifi_x_max = -27.0;
106 scifi_y_min = 35.0;
107 scifi_y_max = 55.0;
108 scifi_z_min = 310.0;
109 scifi_z_max = 360.0;
110
111 us_x_min = -80.0;
112 us_x_max = 5.0;
113 us_y_min = 10.0;
114 us_y_max = 80.0;
115 us_z_min = 370.0;
116 us_z_max = 480.0;
117
119 }
120 else if (option == Option::test_beam_2024)
121 {
125 scifi_qdc_to_gev = 0.14;
126
127 scifi_x_min = -47.0;
128 scifi_x_max = -27.0;
129 scifi_y_min = 35.0;
130 scifi_y_max = 55.0;
131 scifi_z_min = 310.0;
132 scifi_z_max = 380.0;
133
134 us_x_min = std::nan("");
135 us_x_max = std::nan("");
136 us_y_min = std::nan("");
137 us_y_max = std::nan("");
138 us_z_min = std::nan("");
139 us_z_max = std::nan("");
140
142 }
143 else
144 {
145 throw std::invalid_argument("Unknown configuration option");
146 }
147}
Float_t GetConfParF(TString name)
Definition MuFilter.h:46
Int_t GetConfParI(TString name)
Definition MuFilter.h:47
Float_t GetConfParF(TString name)
Definition Scifi.h:50
Int_t GetConfParI(TString name)
Definition Scifi.h:51

Member Function Documentation

◆ GetOption()

snd::Configuration::Option snd::Configuration::GetOption ( int  run_number)
static

Definition at line 149 of file sndConfiguration.cxx.

150{
151 if (run_number >= 100840) {
152 std::cout << "Choosing option >>>>>>>>>>\t test_beam_2024 \t<<<<<<<<<<" <<std::endl;
154 }
155 if (run_number >= 100000) {
156 std::cout << "Choosing option >>>>>>>>>>\t test_beam_2023 \t<<<<<<<<<<" <<std::endl;
158 }
159 else if (run_number < 7648) {
160 std::cout << "Choosing option >>>>>>>>>>\t ti18_2022_2023 \t<<<<<<<<<<" <<std::endl;
162 }
163 else {
164 std::cout << "Choosing option >>>>>>>>>>\t ti18_2024_2025 \t<<<<<<<<<<" <<std::endl;
166 }
167}

Member Data Documentation

◆ centroid_min_valid_station

int snd::Configuration::centroid_min_valid_station

Definition at line 69 of file sndConfiguration.h.

◆ ds_hor_spatial_resolution_x

double snd::Configuration::ds_hor_spatial_resolution_x

Definition at line 47 of file sndConfiguration.h.

◆ ds_hor_spatial_resolution_y

double snd::Configuration::ds_hor_spatial_resolution_y

Definition at line 48 of file sndConfiguration.h.

◆ ds_hor_spatial_resolution_z

double snd::Configuration::ds_hor_spatial_resolution_z

Definition at line 49 of file sndConfiguration.h.

◆ ds_n_stations

int snd::Configuration::ds_n_stations

Definition at line 71 of file sndConfiguration.h.

◆ ds_ver_spatial_resolution_x

double snd::Configuration::ds_ver_spatial_resolution_x

Definition at line 50 of file sndConfiguration.h.

◆ ds_ver_spatial_resolution_y

double snd::Configuration::ds_ver_spatial_resolution_y

Definition at line 51 of file sndConfiguration.h.

◆ ds_ver_spatial_resolution_z

double snd::Configuration::ds_ver_spatial_resolution_z

Definition at line 52 of file sndConfiguration.h.

◆ scifi_boards_per_plane

int snd::Configuration::scifi_boards_per_plane

Definition at line 58 of file sndConfiguration.h.

◆ scifi_centroid_error_x

double snd::Configuration::scifi_centroid_error_x

Definition at line 20 of file sndConfiguration.h.

◆ scifi_centroid_error_y

double snd::Configuration::scifi_centroid_error_y

Definition at line 21 of file sndConfiguration.h.

◆ scifi_centroid_error_z

double snd::Configuration::scifi_centroid_error_z

Definition at line 22 of file sndConfiguration.h.

◆ scifi_fiber_lenght

double snd::Configuration::scifi_fiber_lenght

Definition at line 19 of file sndConfiguration.h.

◆ scifi_max_timestamp

double snd::Configuration::scifi_max_timestamp

Definition at line 24 of file sndConfiguration.h.

◆ scifi_min_hits_in_window

int snd::Configuration::scifi_min_hits_in_window

Definition at line 60 of file sndConfiguration.h.

◆ scifi_min_n_hits_for_centroid

int snd::Configuration::scifi_min_n_hits_for_centroid

Definition at line 61 of file sndConfiguration.h.

◆ scifi_min_timestamp

double snd::Configuration::scifi_min_timestamp

Definition at line 23 of file sndConfiguration.h.

◆ scifi_n_channels_per_plane

int snd::Configuration::scifi_n_channels_per_plane

Definition at line 57 of file sndConfiguration.h.

◆ scifi_n_stations

int snd::Configuration::scifi_n_stations

Definition at line 56 of file sndConfiguration.h.

◆ scifi_qdc_to_gev

double snd::Configuration::scifi_qdc_to_gev

Definition at line 18 of file sndConfiguration.h.

◆ scifi_shower_window_width

int snd::Configuration::scifi_shower_window_width

Definition at line 59 of file sndConfiguration.h.

◆ scifi_x_max

double snd::Configuration::scifi_x_max

Definition at line 27 of file sndConfiguration.h.

◆ scifi_x_min

double snd::Configuration::scifi_x_min

Definition at line 26 of file sndConfiguration.h.

◆ scifi_y_max

double snd::Configuration::scifi_y_max

Definition at line 29 of file sndConfiguration.h.

◆ scifi_y_min

double snd::Configuration::scifi_y_min

Definition at line 28 of file sndConfiguration.h.

◆ scifi_z_max

double snd::Configuration::scifi_z_max

Definition at line 31 of file sndConfiguration.h.

◆ scifi_z_min

double snd::Configuration::scifi_z_min

Definition at line 30 of file sndConfiguration.h.

◆ us_bar_per_station

int snd::Configuration::us_bar_per_station

Definition at line 64 of file sndConfiguration.h.

◆ us_centroid_error_x

double snd::Configuration::us_centroid_error_x

Definition at line 34 of file sndConfiguration.h.

◆ us_centroid_error_y

double snd::Configuration::us_centroid_error_y

Definition at line 35 of file sndConfiguration.h.

◆ us_centroid_error_z

double snd::Configuration::us_centroid_error_z

Definition at line 36 of file sndConfiguration.h.

◆ us_max_timestamp

double snd::Configuration::us_max_timestamp

Definition at line 38 of file sndConfiguration.h.

◆ us_min_n_hits_for_centroid

int snd::Configuration::us_min_n_hits_for_centroid

Definition at line 67 of file sndConfiguration.h.

◆ us_min_timestamp

double snd::Configuration::us_min_timestamp

Definition at line 37 of file sndConfiguration.h.

◆ us_n_channels_per_station

int snd::Configuration::us_n_channels_per_station

Definition at line 65 of file sndConfiguration.h.

◆ us_n_sipm_per_bar

int snd::Configuration::us_n_sipm_per_bar

Definition at line 66 of file sndConfiguration.h.

◆ us_n_stations

int snd::Configuration::us_n_stations

Definition at line 63 of file sndConfiguration.h.

◆ us_qdc_to_gev

double snd::Configuration::us_qdc_to_gev

Definition at line 33 of file sndConfiguration.h.

◆ us_x_max

double snd::Configuration::us_x_max

Definition at line 41 of file sndConfiguration.h.

◆ us_x_min

double snd::Configuration::us_x_min

Definition at line 40 of file sndConfiguration.h.

◆ us_y_max

double snd::Configuration::us_y_max

Definition at line 43 of file sndConfiguration.h.

◆ us_y_min

double snd::Configuration::us_y_min

Definition at line 42 of file sndConfiguration.h.

◆ us_z_max

double snd::Configuration::us_z_max

Definition at line 45 of file sndConfiguration.h.

◆ us_z_min

double snd::Configuration::us_z_min

Definition at line 44 of file sndConfiguration.h.

◆ veto_n_stations

int snd::Configuration::veto_n_stations

Definition at line 54 of file sndConfiguration.h.


The documentation for this struct was generated from the following files: