sipm-characterisation 0.1.0
SiPM characterisation for ePIC — IV/DCR/gain, laser, readout, irradiation
Loading...
Searching...
No Matches
database.C File Reference
#include <iostream>
#include <map>
#include <string>
#include <iomanip>
#include <sstream>
#include <fstream>
#include "TROOT.h"
#include "TFile.h"
#include "TStyle.h"
#include "TApplication.h"
#include "TProfile.h"
#include "TLatex.h"
#include "TTree.h"
#include "TF1.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TGraphErrors.h"
#include "TCanvas.h"
#include "TVirtualFitter.h"
#include "make_iv_scan.C"
#include "ureadout_dcr_get.C"
#include "../utils/graphutils.C"
Include dependency graph for database.C:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  database
 

Typedefs

using database::mkgraph_data_structure = std::unordered_map< std::array< float, 2 >, std::vector< std::array< float, 2 > > >
 

Functions

void database::read_database (std::string fname)
 
TGraphErrorsdatabase::get_iv_scan (std::string board, std::string channel, std::string step, int marker=1, int color=1)
 
TGraphErrorsdatabase::get_dcr_vbias_scan (std::string board, std::string channel, std::string step, int marker=1, int color=1)
 
TGraphErrorsdatabase::get_dcr_threshold_scan (std::string board, std::string channel, std::string step, int marker=1, int color=1)
 
TGraphErrorsdatabase::get_gain (std::string board, std::string channel, std::string step, int marker=1, int color=1)
 
std::array< float, 2 > database::get_cross_talk (std::string board, std::string channel, std::string step, std::string check_name="")
 
TGraphErrorsdatabase::get_iv_scan (std::string board, std::string channel, std::string step, std::vector< std::pair< std::string, std::string > > other_filters, int marker=1, int color=1)
 
TGraphErrorsdatabase::get_dcr_vbias_scan (std::string board, std::string channel, std::string step, std::vector< std::pair< std::string, std::string > > other_filters, int marker=1, int color=1)
 
TGraphErrorsdatabase::get_dcr_threshold_scan (std::string board, std::string channel, std::string step, std::vector< std::pair< std::string, std::string > > other_filters, int marker=1, int color=1)
 
TGraphErrorsdatabase::get_gain (std::string board, std::string channel, std::string step, std::vector< std::pair< std::string, std::string > > other_filters, int marker=1, int color=1)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter>
std::array< float, 2 > database::get_Yvalue_at_X (std::string board, std::string channel, std::string step, float target_voltage)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter>
std::array< float, 2 > database::get_value_at_overvoltage (std::string board, std::string channel, std::string step, float target_overvoltage)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter>
std::vector< std::array< float, 2 > > database::get_all_values_at_overvoltage (std::string board, std::string sensor, std::string step, float target_overvoltage)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter>
std::vector< std::array< float, 2 > > database::get_all_values_at_overvoltage (std::vector< std::string > boards, std::string sensor, std::string step, float target_overvoltage)
 
std::unordered_map< std::string, std::string > database::get_filename (std::string board, std::string channel, std::string step, std::vector< std::pair< std::string, std::string > > other_filters={{}})
 
std::string database::get_database_info (std::string board, std::string step, std::string info)
 
std::vector< std::array< std::string, 2 > > database::get_board_step_history (std::string board, bool is_dcr=false, bool return_runlist=false)
 
template<typename target_type >
void database::set_standard_style (target_type *target, int marker_style=20, int marker_color=kBlack)
 
void database::check_all_plots_loaded ()
 
bool database::check_iv_goodness (TGraphErrors *gTarget)
 
std::array< float, 2 > database::measure_cross_talk (TGraphErrors *gTarget, std::string plot_name="")
 
std::array< float, 2 > database::measure_signal_amp (TGraphErrors *gTarget, std::string plot_name="")
 
std::array< float, 2 > database::measure_fraction_of_damage (std::array< float, 2 > target_step, std::array< float, 2 > new_reference, std::array< float, 2 > maximum_reference)
 
std::vector< TGraphErrors * > database::make_graph (mkgraph_data_structure data_structure)
 
void database::set_multi_graph (std::vector< TGraphErrors * > &target_graphs, int target_color, int target_marker)
 
std::array< float, 2 > database::measure_average (std::vector< std::array< float, 2 > > measurements, bool use_rms=false)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter>
std::vector< std::array< float, 2 > > database::get_all_sensor_Yvalues_at_X (std::string board, std::string sensor, std::string step, float target_x)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter>
std::vector< std::array< float, 2 > > database::get_all_sensor_Yvalues_at_X (std::vector< std::string > board_list, std::string sensor, std::string step, float target_x)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter, bool use_rms = false>
TGraphErrorsdatabase::get_average_sensor_Yvalues_at_X (std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > target_x_list)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter, bool use_rms = false>
TGraphErrorsdatabase::get_average_sensor_Yvalues_at_X (std::string board, std::string sensor, std::string step, std::vector< float > target_x_list)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter, bool use_rms = false>
TGraphErrorsdatabase::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)
 
template<TGraphErrors *(*)(std::string, std::string, std::string, int, int) current_curve_getter, bool use_rms = false>
TGraphErrorsdatabase::get_average_sensor_values_at_overvoltage (std::string board, std::string sensor, std::string step, std::vector< float > target_x_list, int marker=kCircle, int color=kBlue)
 
template<bool use_rms = false>
TGraphErrorsdatabase::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)
 
template<bool use_rms = false>
TGraphErrorsdatabase::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)
 
std::array< float, 2 > database::get_gain_at_overvoltage (std::string board, std::string channel, std::string step, float overvoltage)
 
template<bool use_rms = false>
TGraphErrorsdatabase::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)
 
std::array< float, 2 > database::get_dcr_at_overvoltage (std::string board, std::string channel, std::string step, float overvoltage)
 
std::vector< std::array< float, 2 > > database::get_all_dcr_at_overvoltage (std::string board, std::string sensor, std::string step, float overvoltage)
 
std::vector< std::array< float, 2 > > database::get_all_dcr_at_overvoltage (std::vector< std::string > board_list, std::string sensor, std::string step, float overvoltage)
 
std::vector< std::array< float, 2 > > database::get_all_dcr_at_overvoltage (std::string sensor, std::string step, float overvoltage)
 
std::tuple< float, float, floatdatabase::get_PDE_merit (std::vector< std::string > board_list, std::string sensor, std::string step, float window_of_acquisition=1.)
 
std::tuple< float, float, floatdatabase::get_relative_PDE_merit (std::tuple< float, float, float > target_merit, std::tuple< float, float, float > standard_merit)
 
template<bool use_rms>
TGraphErrorsdatabase::get_dcr_overvoltage_scan (std::vector< std::string > board_list, std::string sensor, std::string step, std::vector< float > overvoltage_points=standard_overvoltage_points)
 
std::array< float, 2 > database::get_dcr_excess_at_overvoltage (std::string board, std::string channel, std::string step, float overvoltage)
 
std::vector< std::array< float, 2 > > database::get_all_dcr_excess_at_overvoltage (std::string board, std::string sensor, std::string step, float overvoltage)
 
std::vector< std::array< float, 2 > > database::get_all_dcr_excess_at_overvoltage (std::vector< std::string > board_list, std::string sensor, std::string step, float overvoltage)
 
template<bool use_rms>
TGraphErrorsdatabase::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)
 
std::array< float, 2 > database::get_iv_at_overvoltage (std::string board, std::string channel, std::string step, float overvoltage)
 
std::vector< std::array< float, 2 > > database::get_all_iv_at_overvoltage (std::string board, std::string sensor, std::string step, float overvoltage)
 
std::array< float, 2 > database::get_iv_excess_at_overvoltage (std::string board, std::string channel, std::string step, float overvoltage)
 
std::vector< std::array< float, 2 > > database::get_all_iv_excess_at_overvoltage (std::string board, std::string sensor, std::string step, float overvoltage)
 
std::array< float, 2 > database::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")
 
TCanvasdatabase::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)
 
std::array< float, 2 > database::get_sig_amp (std::string board, std::string channel, std::string step, std::string check_name)
 
std::unordered_map< std::string, std::unordered_map< std::string, std::vector< std::string > > > database::get_board_history (std::string board)
 
std::unordered_map< std::string, std::vector< std::string > > database::get_board_state_infos (std::string board, std::string step)
 
std::vector< std::string > database::get_board_state_info_history (std::string board, std::string step, std::string info)
 
void database::show_database ()
 
std::array< std::array< float, 2 >, 2 > database::measure_cross_talk_and_signal_amp (TGraphErrors *gTarget, std::string plot_name)
 
std::vector< std::array< float, 2 > > database::measure_fraction_of_damage (std::vector< std::array< float, 2 > > target_step, std::vector< std::array< float, 2 > > new_reference, std::vector< std::array< float, 2 > > maximum_reference)
 
template<bool use_sqsum = true, bool skip_unfit_skim = false>
std::tuple< float, float, floatdatabase::measure_average_and_rms (std::vector< std::array< float, 2 > > measurements, float rms_tolerance=5.)
 
template<bool use_rms = false>
std::array< float, 2 > database::measure_average (std::vector< std::array< float, 2 > > measurements)
 
void database::set_as_main_line (TGraph *gTarget, int marker, int color)
 
void database::set_as_main_line (TGraphErrors *gTarget, int marker, int color)
 
void database::set_as_main_line (TH1 *hTarget, int marker, int color)
 
template<typename ArgType , std::array< float, 2 >(*)(std::string, std::string, std::string, ArgType) current_value_getter>
std::vector< TGraphErrors * > database::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)
 
std::vector< TGraphErrors * > database::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)
 
std::vector< TGraphErrors * > database::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)
 
std::vector< TGraphErrors * > database::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)
 
std::array< float, 2 > database::get_iv_FOD_at_overvoltage_std_TIFPA (std::string board, std::string channel, std::string step, float overvoltage)
 
std::vector< TGraphErrors * > database::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)
 
template<typename ArgType , std::array< float, 2 >(*)(std::string, std::string, std::string, ArgType) current_value_getter>
std::vector< TGraphErrors * > database::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)
 
std::vector< TGraphErrors * > database::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)
 
std::vector< TGraphErrors * > database::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)
 

Variables

const double database::k_boltz_eV = 8.617333262 * 1.e-5
 
const double database::k_boltz_J = 1.380649 * 1.e-23
 
std::vector< std::string > database::sensors_full = {"HPK S13360-3050VS", "HPK S13360-3075VS", "HPK S14161-3050HS"}
 
std::vector< std::string > database::sensors_short = {"S13361_3050", "S13361_3075", "S14161_3050"}
 
std::vector< std::string > database::all_boards
 
std::unordered_map< std::string, std::vector< std::string > > database::standard_status_to_boards
 
std::unordered_map< std::string, std::string > database::standard_status_to_status
 
std::unordered_map< std::string, std::vector< std::string > > database::board_to_status_list
 
std::vector< std::string > database::all_channels
 
std::unordered_map< std::string, std::string > database::channel_to_sensor
 
std::unordered_map< std::string, std::string > database::channel_to_sensor_short
 
std::unordered_map< std::string, std::vector< std::string > > database::sensor_to_channels
 
std::unordered_map< std::string, std::vector< std::string > > database::sensor_short_to_channels
 
std::vector< std::string > database::all_statuses
 
std::vector< std::string > database::TScan_statuses
 
std::unordered_map< std::string, doubledatabase::status_to_annealing_time
 
std::unordered_map< std::string, intdatabase::status_to_color
 
std::unordered_map< std::string, intdatabase::status_to_marker
 
std::vector< std::string > database::all_sensors
 
std::unordered_map< std::string, intdatabase::sensor_to_color
 
std::unordered_map< std::string, intdatabase::sensor_to_marker
 
std::unordered_map< std::string, std::string > database::sensor_to_code
 
std::unordered_map< std::string, std::string > database::code_to_sensor
 
std::unordered_map< std::string, floatdatabase::sensor_to_vbd
 
std::unordered_map< std::string, floatdatabase::sensor_to_vbd_Tdep
 
std::unordered_map< std::string, floatdatabase::DTS_PDE
 
std::unordered_map< std::string, floatdatabase::DTS_OVop
 
std::vector< floatdatabase::standard_overvoltage_points
 
std::vector< std::string > database::fields
 
std::vector< std::string > database::criteria
 
std::string database::basedir = "."
 
std::unordered_map< std::string, std::unordered_map< std::string, std::unordered_map< std::string, std::unordered_map< std::string, TGraphErrors * > > > > database::cache_memory
 
std::unordered_map< std::string, std::unordered_map< std::string, std::unordered_map< std::string, std::vector< std::string > > > > database::database_memory