10#include "TApplication.h"
18#include "TGraphErrors.h"
20#include "TVirtualFitter.h"
23#include "../utils/graphutils.C"
34 std::vector<std::string>
sensors_full = {
"HPK S13360-3050VS",
"HPK S13360-3075VS",
"HPK S14161-3050HS"};
35 std::vector<std::string>
sensors_short = {
"S13361_3050",
"S13361_3075",
"S14161_3050"};
40 "1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
41 "16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29",
"30",
42 "31",
"32",
"33",
"34"};
45 {
"TIFPA-IRR1", {
"1",
"2",
"13",
"14",
"15",
"16"}},
46 {
"LNL-IRR1", {
"21",
"22",
"23",
"24",
"25"}},
47 {
"TIFPA-OANN", {
"2"}}};
50 {
"TIFPA-IRR1",
"TIFPA-IRR1"},
51 {
"LNL-IRR1",
"LNL-IRR1"},
52 {
"TIFPA-OANN",
"OANN-150-150h"}};
60 "A1",
"A2",
"A3",
"A4",
61 "B1",
"B2",
"B3",
"B4",
62 "C1",
"C2",
"C3",
"C4"};
66 {
"A1",
"HPK S13360-3050VS"},
67 {
"A2",
"HPK S13360-3050VS"},
68 {
"A3",
"HPK S13360-3050VS"},
69 {
"A4",
"HPK S13360-3050VS"},
70 {
"B1",
"HPK S13360-3075VS"},
71 {
"B2",
"HPK S13360-3075VS"},
72 {
"B3",
"HPK S13360-3075VS"},
73 {
"B4",
"HPK S13360-3075VS"},
74 {
"C1",
"HPK S14161-3050HS"},
75 {
"C2",
"HPK S14161-3050HS"},
76 {
"C3",
"HPK S14161-3050HS"},
77 {
"C4",
"HPK S14161-3050HS"}};
79 {
"A1",
"S13361_3050"},
80 {
"A2",
"S13361_3050"},
81 {
"A3",
"S13361_3050"},
82 {
"A4",
"S13361_3050"},
83 {
"B1",
"S13361_3075"},
84 {
"B2",
"S13361_3075"},
85 {
"B3",
"S13361_3075"},
86 {
"B4",
"S13361_3075"},
87 {
"C1",
"S14161_3050"},
88 {
"C2",
"S14161_3050"},
89 {
"C3",
"S14161_3050"},
90 {
"C4",
"S14161_3050"}};
94 {
"HPK S13360-3050VS", {
"A1",
"A2",
"A3",
"A4"}},
95 {
"HPK S13360-3075VS", {
"B1",
"B2",
"B3",
"B4"}},
96 {
"HPK S14161-3050HS", {
"C1",
"C2",
"C3",
"C4"}}};
98 {
"S13361_3050", {
"A1",
"A2",
"A3",
"A4"}},
99 {
"S13361_3075", {
"B1",
"B2",
"B3",
"B4"}},
100 {
"S14161_3050", {
"C1",
"C2",
"C3",
"C4"}}};
106 "TIFPA-IRR1",
"TIFPA-IRR1on",
107 "SANN-100-30m",
"SANN-100-2.5h",
"SANN-100-24h",
108 "SANN-125-30m",
"SANN-125-2.5h",
"SANN-125-24h",
109 "SANN-150-30m",
"SANN-150-2.5h",
"SANN-150-24h",
"SANN-150-73h",
"SANN-150-250h",
110 "PANN1",
"PANN2",
"PANN3",
"PANN3x",
111 "TEMP313",
"TEMP303",
"TEMP293",
"TEMP283",
"TEMP278",
"TEMP273",
"TEMP263",
"TEMP253"};
113 "TEMP303",
"TEMP293",
"TEMP283",
"TEMP278",
"TEMP273",
"TEMP263",
"TEMP253"};
119 {
"TIFPA-IRR1-ON", 158.3},
120 {
"SANN-100-30m", 30},
121 {
"SANN-100-2.5h", 180},
122 {
"SANN-100-24h", 1620},
123 {
"SANN-125-30m", 1650},
124 {
"SANN-125-2.5h", 1830},
125 {
"SANN-125-24h", 3240},
126 {
"SANN-150-30m", 3270},
127 {
"SANN-150-2.5h", 3450},
128 {
"SANN-150-24h", 4860},
129 {
"SANN-150-73h", 9240},
130 {
"SANN-150-250h", 24240},
131 {
"SANN-175-30m", 24270},
139 {
"TIFPA-IRR1",
kGreen + 2},
140 {
"TIFPA-IRR2",
kGreen - 3},
144 {
"OANN-150-150h",
kRed - 3}};
151 {
"OANN-150-150h", 20}};
157 "HPK S14161-3050HS"};
159 {
"HPK S13360-3050VS",
kRed},
160 {
"HPK S13360-3075VS",
kGreen - 2},
161 {
"HPK S14161-3050HS",
kAzure - 3}};
163 {
"HPK S13360-3050VS", 20},
164 {
"HPK S13360-3075VS", 21},
165 {
"HPK S14161-3050HS", 29}};
167 {
"HPK S13360-3050VS",
"HPK_13_50"},
168 {
"HPK S13360-3075VS",
"HPK_13_75"},
169 {
"HPK S14161-3050HS",
"HPK_14_50"}};
171 {
"HPK_13_50",
"HPK S13360-3050VS"},
172 {
"HPK_13_75",
"HPK S13360-3075VS"},
173 {
"HPK_14_50",
"HPK S14161-3050HS"}};
175 {
"HPK S13360-3050VS", 48.4},
176 {
"HPK S13360-3075VS", 47.9},
177 {
"HPK S14161-3050HS", 36.5}};
179 {
"HPK S13360-3050VS", 0.054},
180 {
"HPK S13360-3075VS", 0.054},
181 {
"HPK S14161-3050HS", 0.034}};
182 std::unordered_map<std::string, float>
DTS_PDE = {
183 {
"HPK S13360-3050VS", 0.4},
184 {
"HPK S13360-3075VS", 0.5},
185 {
"HPK S14161-3050HS", 0.5}};
186 std::unordered_map<std::string, float>
DTS_OVop = {
187 {
"HPK S13360-3050VS", 3.},
188 {
"HPK S13360-3075VS", 3.},
189 {
"HPK S14161-3050HS", 2.7}};
191 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0};
196 "run",
"quality",
"step",
"setup",
"iv-mux-1",
"iv-mux-2",
"dcr-chip-2",
"dcr-chip-3"};
198 "run",
"quality",
"step",
"setup",
"iv-mux-1",
"iv-mux-2",
"dcr-chip-2",
"dcr-chip-3",
"temp",
"ann-temp",
"ann-time"};
202 std::unordered_map<std::string, std::unordered_map<std::string, std::unordered_map<std::string, std::unordered_map<std::string, TGraphErrors *>>>>
cache_memory;
204 std::unordered_map<std::string, std::unordered_map<std::string, std::unordered_map<std::string, std::vector<std::string>>>>
database_memory;
221 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
224 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
227 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
228 std::vector<std::array<float, 2>>
230 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
231 std::vector<std::array<float, 2>>
233 std::unordered_map<std::string, std::string>
239 std::vector<std::array<std::string, 2>>
result;
246 std::sort(
result.begin(),
result.end(), [](
const auto &
a,
const auto &
b)
247 { return a[1] < b[1]; });
252 template <
typename target_type>
269 void check_all_plots_loaded();
278 std::vector<TGraphErrors *> make_graph(mkgraph_data_structure
data_structure);
280 std::array<float, 2> measure_average(std::vector<std::array<float, 2>> measurements,
bool use_rms =
false);
352 auto time_h = -0.5 / (60 * 60);
353 if ((time.find(
"m") != std::string::npos))
355 auto temp_time_m = time.substr(time.find_first_of(
"h") + 1, -time.find_first_of(
"h") + time.find_first_of(
"m") - 1);
358 if ((time.find(
"h") != std::string::npos))
360 auto temp_time_h = time.substr(0, time.find_first_of(
"h"));
361 time_h = std::stof(time.substr(0, time.find_first_of(
"h")));
385 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
394 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string, std::
string)>
411 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
412 std::vector<std::array<float, 2>>
415 std::vector<std::array<float, 2>>
result;
422 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
423 std::vector<std::array<float, 2>>
426 std::vector<std::array<float, 2>>
result;
434 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int),
bool use_rms = false>
452 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int),
bool use_rms = false>
551 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
557 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string, std::
string)>
565 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
566 std::vector<std::array<float, 2>>
573 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int)>
574 std::vector<std::array<float, 2>>
581 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int),
bool use_rms = false>
596 template <TGraphErrors *(*current_curve_getter)(std::
string, std::
string, std::
string,
int,
int),
bool use_rms = false>
630 std::cout <<
"[WARNING][database::get_iv_scan] Run number not found in database" << std::endl;
639 std::cout <<
"[WARNING][database::get_iv_scan] IV scan TGraph error" << std::endl;
646 std::cout <<
"[WARNING][database::get_iv_scan] IV scan TGraph has 0 points" << std::endl;
664 template <
bool use_rms = false>
698 std::cout <<
"[WARNING][database::get_dcr_vbias_scan] Run number not found in database (B: " <<
board <<
" C:" <<
channel <<
" S:" <<
step <<
")" << std::endl;
705 std::cout <<
"[WARNING][database::get_dcr_vbias_scan] DCR vbias scan TGraph error" << std::endl;
711 std::cout <<
"[WARNING][database::get_dcr_vbias_scan] DCR vbias scan TGraph has 0 points" << std::endl;
727 template <
bool use_rms = false>
809 template <
bool use_rms = false>
840 std::vector<std::array<float, 2>>
843 return database::get_all_values_at_overvoltage<database::get_dcr_vbias_scan>(
board, sensor,
step,
overvoltage);
845 std::vector<std::array<float, 2>>
848 std::vector<std::array<float, 2>>
result;
857 std::vector<std::array<float, 2>>
860 std::vector<std::array<float, 2>>
result;
871 std::tuple<float, float, float>
874 std::tuple<float, float, float>
result;
883 std::tuple<float, float, float>
887 std::tuple<float, float, float>
result;
897 template <
bool use_rms>
919 std::vector<std::array<float, 2>>
922 std::vector<std::array<float, 2>>
result;
934 std::vector<std::array<float, 2>>
937 std::vector<std::array<float, 2>>
result;
946 template <
bool use_rms>
970 std::string
key_word =
"DCR_threshold";
990 std::cout <<
"[WARNING][database::get_dcr_threshold_scan] Run number not found in database" << std::endl;
997 std::cout <<
"[WARNING][database::get_dcr_threshold_scan] DCR threshold scan TGraph error" << std::endl;
1003 std::cout <<
"[WARNING][database::get_dcr_threshold_scan] DCR threshold scan TGraph has 0 points" << std::endl;
1015 std::array<float, 2>
1020 std::vector<std::array<float, 2>>
1023 return database::get_all_values_at_overvoltage<database::get_iv_scan>(
board, sensor,
step,
overvoltage);
1025 std::array<float, 2>
1033 std::vector<std::array<float, 2>>
1036 std::vector<std::array<float, 2>>
result;
1049 std::array<float, 2>
1108 hframe->GetXaxis()->LabelsOption(
"v");
1111 hframe->GetXaxis()->SetTimeDisplay(
true);
1112 hframe->GetXaxis()->SetTimeFormat(
"%d\/%m\/%Y%F1970-01-01 00:00:00");
1149 std::array<float, 2>
1154 std::array<float, 2>
1159 std::unordered_map<std::string, std::string>
1164 std::cout <<
"[WARNING][database::get_filename] Board " <<
board <<
" not stored in the database" << std::endl;
1169 std::cout <<
"[WARNING][database::get_filename] Step " <<
step <<
" not stored in the database" << std::endl;
1201 std::cout <<
"[WARNING][database::get_database_info] Board " <<
board <<
" is not stored in the database" << std::endl;
1206 std::cout <<
"[WARNING][database::get_database_info] For board " <<
board <<
", step " <<
step <<
" is not stored in the database" << std::endl;
1211 std::cout <<
"[WARNING][database::get_database_info] For board " <<
board <<
", step " <<
step <<
", " <<
info <<
" is not stored in the database" << std::endl;
1216 std::unordered_map<std::string, std::unordered_map<std::string, std::vector<std::string>>>
1219 std::unordered_map<std::string, std::unordered_map<std::string, std::vector<std::string>>>
null_rslt;
1222 std::cout <<
"[WARNING][database::get_board_history] Board " <<
board <<
" is not stored in the database" << std::endl;
1227 std::unordered_map<std::string, std::vector<std::string>>
1230 std::unordered_map<std::string, std::vector<std::string>>
null_rslt;
1233 std::cout <<
"[WARNING][database::get_board_state_infos] Board " <<
board <<
" is not stored in the database" << std::endl;
1238 std::cout <<
"[WARNING][database::get_board_state_infos] For board " <<
board <<
", step " <<
step <<
" is not stored in the database" << std::endl;
1243 std::vector<std::string>
1249 std::cout <<
"[WARNING][database::get_board_state_infos] Board " <<
board <<
" is not stored in the database" << std::endl;
1254 std::cout <<
"[WARNING][database::get_board_state_infos] For board " <<
board <<
", step " <<
step <<
" is not stored in the database" << std::endl;
1263 std::cout <<
"[INFO][database::show_database] Starting print all database entries" << std::endl;
1280 std::cout <<
"[QA::WARNING][database::check_all_plots_loaded][Board:" <<
current_board.c_str() <<
" Channel:" <<
current_channel.c_str() <<
" Status:" <<
current_status.c_str() <<
"] Missing IV!" << std::endl;
1282 std::cout <<
"[QA::WARNING][database::check_all_plots_loaded][Board:" <<
current_board.c_str() <<
" Channel:" <<
current_channel.c_str() <<
" Status:" <<
current_status.c_str() <<
"] IV found, measurement failed" << std::endl;
1284 std::cout <<
"[QA::WARNING][database::check_all_plots_loaded][Board:" <<
current_board.c_str() <<
" Channel:" <<
current_channel.c_str() <<
" Status:" <<
current_status.c_str() <<
"] Missing DCR scan!" << std::endl;
1298 std::array<std::array<float, 2>, 2>
1430 std::array<float, 2>
sig_ampl = {-1., -1.};
1433 std::array<float, 2>
1438 std::array<float, 2>
1444 std::array<float, 2>
1447 std::array<float, 2>
result;
1461 std::vector<std::array<float, 2>>
1464 std::vector<std::array<float, 2>>
result;
1472 std::vector<TGraphErrors *>
result;
1514 template <
bool use_sqsum = true,
bool skip_unfit_skim = false>
1515 std::tuple<float, float, float>
1519 std::tuple<float, float, float>
result = {0., 0., 0.};
1561 std::array<float, 2>
1564 std::array<float, 2>
result;
1568 template <
bool use_rms = false>
1569 std::array<float, 2>
1572 std::array<float, 2>
result;
1608 hTarget->SetFillColorAlpha(0., 0.);
1617 std::vector<TGraphErrors *>
1620 std::vector<TGraphErrors *>
result;
1675 std::vector<TGraphErrors *>
1681 std::vector<TGraphErrors *>
1687 std::vector<TGraphErrors *>
1693 std::array<float, 2>
1699 std::vector<TGraphErrors *>
1708 std::vector<TGraphErrors *>
1711 std::vector<TGraphErrors *>
result;
1762 std::vector<TGraphErrors *>
1768 std::vector<TGraphErrors *>
TH2_Type * build_fine_tune_raw_histogram(std::vector< TString > kInputFileNames, TString kRunTag, TString kOutputFileName, bool kRecalculate)
Functions -------------------------------------------------------------------------------------------...
Definition fine_analysis.h:80
TGraphErrors * make_iv_scan(std::string filename, std::string filenameOPEN="", std::string filenameZERO="", float vbreak=-1.)
Definition make_iv_scan.C:154
std::unordered_map< std::string, std::vector< std::string > > standard_status_to_boards
Definition database.C:43
std::unordered_map< std::string, std::unordered_map< std::string, std::unordered_map< std::string, std::vector< std::string > > > > database_memory
Definition database.C:204
std::tuple< float, float, float > get_relative_PDE_merit(std::tuple< float, float, float > target_merit, std::tuple< float, float, float > standard_merit)
Definition database.C:884
std::vector< std::string > all_boards
Definition database.C:39
std::vector< TGraphErrors * > make_graph(mkgraph_data_structure data_structure)
Definition database.C:1470
std::array< float, 2 > get_value_at_overvoltage(std::string board, std::string channel, std::string step, float target_overvoltage)
Definition database.C:553
std::vector< float > standard_overvoltage_points
Definition database.C:190
TGraphErrors * get_gain(std::string board, std::string channel, std::string step, int marker=1, int color=1)
Definition database.C:796
std::vector< TGraphErrors * > get_general_TGraphs_ct(std::string sensor, std::vector< std::pair< std::string, std::vector< std::string > > > step_list_w_boards, std::string fig_check_name, int marker=kFullCircle, int color=kBlue)
Definition database.C:1769
void show_database()
Definition database.C:1261
std::unordered_map< std::string, std::vector< std::string > > sensor_short_to_channels
Definition database.C:97
std::unordered_map< std::string, std::string > channel_to_sensor
Definition database.C:65
std::unordered_map< std::string, std::unordered_map< std::string, std::vector< std::string > > > get_board_history(std::string board)
Definition database.C:1217
std::vector< std::string > get_board_state_info_history(std::string board, std::string step, std::string info)
Definition database.C:1244
TGraphErrors * get_dcr_increase_overvoltage_scan(std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > overvoltage_points=standard_overvoltage_points)
Definition database.C:948
std::vector< std::string > fields
Definition database.C:195
std::array< float, 2 > get_cross_talk(std::string board, std::string channel, std::string step, std::string check_name="")
Definition database.C:1150
std::vector< TGraphErrors * > get_steps_history_CT(std::string board, std::string sensor, std::vector< std::string > step_list, std::string save_dir, int marker=kFullCircle, int color=kBlack, int sec_marker=kCircle, int sec_color=kGray)
Definition database.C:1688
std::vector< std::string > criteria
Definition database.C:197
std::unordered_map< std::string, float > DTS_PDE
Definition database.C:182
std::unordered_map< std::string, std::string > code_to_sensor
Definition database.C:170
std::tuple< float, float, float > measure_average_and_rms(std::vector< std::array< float, 2 > > measurements, float rms_tolerance=5.)
Definition database.C:1516
std::vector< TGraphErrors * > get_steps_history_FOD_std_TIFPA(std::string board, std::string sensor, std::vector< std::string > step_list, float overvoltage, int marker=kFullCircle, int color=kBlue, int sec_marker=kCircle, int sec_color=kGray)
Definition database.C:1700
TGraphErrors * get_dcr_threshold_scan(std::string board, std::string channel, std::string step, int marker=1, int color=1)
Definition database.C:963
std::array< float, 2 > get_gain_at_overvoltage(std::string board, std::string channel, std::string step, float overvoltage)
Definition database.C:803
std::unordered_map< std::string, std::vector< std::string > > get_board_state_infos(std::string board, std::string step)
Definition database.C:1228
void read_database(std::string fname)
Definition database.C:284
std::vector< std::array< float, 2 > > get_all_values_at_overvoltage(std::string board, std::string sensor, std::string step, float target_overvoltage)
Definition database.C:567
std::array< float, 2 > measure_average(std::vector< std::array< float, 2 > > measurements, bool use_rms=false)
Definition database.C:1562
std::array< float, 2 > get_iv_FOD_at_overvoltage_std_TIFPA(std::string board, std::string channel, std::string step, float overvoltage)
Definition database.C:1694
void set_as_main_line(TGraph *gTarget, int marker, int color)
Definition database.C:1577
std::vector< std::array< float, 2 > > get_all_dcr_at_overvoltage(std::string board, std::string sensor, std::string step, float overvoltage)
Definition database.C:841
std::unordered_map< std::string, std::string > get_filename(std::string board, std::string channel, std::string step, std::vector< std::pair< std::string, std::string > > other_filters={{}})
Definition database.C:1160
TGraphErrors * get_average_iv_at_overvoltage(std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > overvoltage_points=standard_overvoltage_points, int marker=kCircle, int color=kBlue)
Definition database.C:666
std::vector< std::array< float, 2 > > get_all_iv_excess_at_overvoltage(std::string board, std::string sensor, std::string step, float overvoltage)
Definition database.C:1034
std::unordered_map< std::string, std::string > standard_status_to_status
Definition database.C:48
std::vector< std::array< float, 2 > > get_all_dcr_excess_at_overvoltage(std::string board, std::string sensor, std::string step, float overvoltage)
Definition database.C:920
std::array< float, 2 > get_dcr_at_overvoltage(std::string board, std::string channel, std::string step, float overvoltage)
Definition database.C:836
TGraphErrors * get_dcr_overvoltage_scan(std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > overvoltage_points=standard_overvoltage_points)
Definition database.C:899
std::vector< std::string > all_sensors
Definition database.C:154
std::array< float, 2 > get_Yvalue_at_X(std::string board, std::string channel, std::string step, float target_voltage)
Definition database.C:387
TGraphErrors * get_average_sensor_Yvalues_at_X(std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > target_x_list)
Definition database.C:436
std::unordered_map< std::string, int > sensor_to_marker
Definition database.C:162
std::vector< TGraphErrors * > get_general_TGraphs(std::string sensor, std::vector< std::pair< std::string, std::vector< std::string > > > step_list_w_boards, ArgType target_fourth, int marker=kFullCircle, int color=kBlue)
Definition database.C:1709
std::vector< std::string > sensors_full
Definition database.C:34
std::vector< std::string > TScan_statuses
Definition database.C:112
std::unordered_map< std::string, float > sensor_to_vbd
Definition database.C:174
std::unordered_map< std::string, int > sensor_to_color
Definition database.C:158
std::vector< TGraphErrors * > get_steps_history_gain(std::string board, std::string sensor, std::vector< std::string > step_list, float overvoltage, int marker=kFullCircle, int color=kBlack, int sec_marker=kCircle, int sec_color=kGray)
Definition database.C:1682
void set_standard_style(target_type *target, int marker_style=20, int marker_color=kBlack)
Definition database.C:253
std::unordered_map< std::string, std::string > channel_to_sensor_short
Definition database.C:78
std::array< float, 2 > get_iv_at_overvoltage(std::string board, std::string channel, std::string step, float overvoltage)
Definition database.C:1016
std::unordered_map< std::string, float > DTS_OVop
Definition database.C:186
std::string basedir
Definition database.C:200
std::unordered_map< std::string, std::string > sensor_to_code
Definition database.C:166
const double k_boltz_J
Definition database.C:30
bool check_iv_goodness(TGraphErrors *gTarget)
Definition database.C:1290
void set_multi_graph(std::vector< TGraphErrors * > &target_graphs, int target_color, int target_marker)
Definition database.C:1491
std::array< std::array< float, 2 >, 2 > measure_cross_talk_and_signal_amp(TGraphErrors *gTarget, std::string plot_name)
Definition database.C:1299
TGraphErrors * get_iv_scan(std::string board, std::string channel, std::string step, int marker=1, int color=1)
Definition database.C:658
std::unordered_map< std::string, std::vector< std::string > > sensor_to_channels
Definition database.C:93
std::vector< TGraphErrors * > get_steps_history_iv(std::string board, std::string sensor, std::vector< std::string > step_list, float overvoltage, int marker=kFullCircle, int color=kBlack, int sec_marker=kCircle, int sec_color=kGray)
Definition database.C:1676
TGraphErrors * get_dcr_vbias_scan(std::string board, std::string channel, std::string step, int marker=1, int color=1)
Definition database.C:721
TGraphErrors * get_average_dcr_at_overvoltage(std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > overvoltage_points=standard_overvoltage_points, int marker=kCircle, int color=kBlue)
Definition database.C:729
std::unordered_map< std::string, float > sensor_to_vbd_Tdep
Definition database.C:178
TCanvas * get_history_iv_at_overvoltage(std::string board, std::vector< std::array< std::string, 2 > > steps, float overvoltage, bool time_axis=true, float min=1.e-10, float max=1.e-5)
Definition database.C:1059
std::unordered_map< std::array< float, 2 >, std::vector< std::array< float, 2 > > > mkgraph_data_structure
Definition database.C:206
std::array< float, 2 > get_sig_amp(std::string board, std::string channel, std::string step, std::string check_name)
Definition database.C:1155
const double k_boltz_eV
Definition database.C:29
std::array< float, 2 > measure_signal_amp(TGraphErrors *gTarget, std::string plot_name="")
Definition database.C:1439
std::unordered_map< std::string, std::vector< std::string > > board_to_status_list
Definition database.C:55
std::vector< std::string > all_channels
Definition database.C:59
std::unordered_map< std::string, int > status_to_color
Definition database.C:137
std::string get_database_info(std::string board, std::string step, std::string info)
Definition database.C:1197
std::array< float, 2 > get_dcr_excess_at_overvoltage(std::string board, std::string channel, std::string step, float overvoltage)
Definition database.C:913
void check_all_plots_loaded()
Definition database.C:1271
std::array< float, 2 > measure_cross_talk(TGraphErrors *gTarget, std::string plot_name="")
Definition database.C:1434
std::vector< std::array< float, 2 > > get_all_iv_at_overvoltage(std::string board, std::string sensor, std::string step, float overvoltage)
Definition database.C:1021
std::vector< std::array< std::string, 2 > > get_board_step_history(std::string board, bool is_dcr=false, bool return_runlist=false)
Definition database.C:237
std::unordered_map< std::string, int > status_to_marker
Definition database.C:145
std::vector< std::string > sensors_short
Definition database.C:35
TGraphErrors * get_average_gain_at_overvoltage(std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > overvoltage_points=standard_overvoltage_points, int marker=kCircle, int color=kBlue)
Definition database.C:811
std::tuple< float, float, float > get_PDE_merit(std::vector< std::string > board_list, std::string sensor, std::string step, float window_of_acquisition=1.)
Definition database.C:872
std::vector< std::array< float, 2 > > get_all_sensor_Yvalues_at_X(std::string board, std::string sensor, std::string step, float target_x)
Definition database.C:413
TGraphErrors * get_average_sensor_values_at_overvoltage(std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > overvoltage_points=standard_overvoltage_points, int marker=kCircle, int color=kBlue)
Definition database.C:583
std::unordered_map< std::string, std::unordered_map< std::string, std::unordered_map< std::string, std::unordered_map< std::string, TGraphErrors * > > > > cache_memory
Definition database.C:202
std::vector< std::string > all_statuses
Definition database.C:104
std::vector< TGraphErrors * > get_general_TGraphs_iv(std::string sensor, std::vector< std::pair< std::string, std::vector< std::string > > > step_list_w_boards, float overvoltage, int marker=kFullCircle, int color=kBlue)
Definition database.C:1763
std::array< float, 2 > measure_fraction_of_damage(std::array< float, 2 > target_step, std::array< float, 2 > new_reference, std::array< float, 2 > maximum_reference)
Definition database.C:1445
std::vector< TGraphErrors * > get_steps_history(std::string board, std::string sensor, std::vector< std::string > step_list, ArgType target_fourth, int marker=kFullCircle, int color=kBlack, int sec_marker=kCircle, int sec_color=kGray)
Definition database.C:1618
std::array< float, 2 > get_iv_FOD_at_overvoltage(std::string board, std::string channel, std::string step, float overvoltage, std::string max_damage_step="TIFPA-IRR1", std::string new_step="NEW")
Definition database.C:1050
std::array< float, 2 > get_iv_excess_at_overvoltage(std::string board, std::string channel, std::string step, float overvoltage)
Definition database.C:1026
std::unordered_map< std::string, double > status_to_annealing_time
Definition database.C:116
void set_style(TGraphErrors *g, int marker, int color, int fill=0)
Definition graphutils.C:113
TGraphErrors * ratio(TGraphErrors *gn, TGraphErrors *gd, bool propagate_error=true)
Definition graphutils.C:496
std::array< float, 2 > eval_with_errors(TGraphErrors *gTarget, float _xtarget)
Definition graphutils.C:85
void y_shift(TGraphErrors *g, float val)
Definition graphutils.C:649
void y_scale(TGraphErrors *g, double scale)
Definition graphutils.C:273
TGraphErrors * ureadout_dcr_get(const std::string filename, const std::string whatx, const std::string whaty="dead_rate")
Definition ureadout_dcr_get.C:4
std::time_t s_ts(const std::string &datetime)
Definition utility.h:63