Tango examples
Examples for working with Tango data (the hardware parameters of the Slow Control System) by the TangoData class. The macros are run after loading the BmnRoot environment, e.g.: root -l 'tango_fhcal_hv.C(9, 9696, 9730)'.
- show_avg_field.C - magnetic field (hall sensor voltage, mV) from Tango:
- show_avg_field(int period_number = 9, int start_run = 8977, int end_run = 9094, bool isShowElog = true, bool isOnlyDifferent = true) Function for calculating the average magnetic field from Tango, the magnet current and the ratio for the runs of the given range; if isShowElog is true, the values are compared with the magnetic field set in the e-Log, if isOnlyDifferent is true, only the runs with different Tango and e-Log values are shown.
- show_field_graph(int start_period = 8, int start_run = 6866, int end_period = -1, int end_run = -1)
- show_field_graph(const char* start_time, const char* end_time) Function for displaying the magnetic field and its average value for the time from the start run to the end run (end_period = -1 means the start period, end_run = -1 means the start run) or for the given time interval.
- write_avg_field_db(int period_number = 9, int start_run = 1, int end_run = 100000, bool is_rewrite = true, float allowed_tolerance_pct = 10) Function for calculating the average magnetic field from Tango for the runs of the given range and writing it to the Unified Condition Database; if is_rewrite is true, the existing values are rewritten, but only if they differ by no more than allowed_tolerance_pct percent.
- compare_avg_field(int period_number = 9, int start_run = 8977, int end_run = 9094) Function to compare the magnetic field set in the e-Log (current, A) and the average magnetic field stored in the Unified Condition Database (voltage, mV) for the runs of the given range, and show their dependence in a TGraph object.
- tango_fhcal_hv.C - high voltage of the FHCal sections (fhcal/hv/hv_1/vch_<module>_<section>):
- tango_fhcal_hv(int period = 9, int start_run = 9696, int end_run = 9730, int module = 2, int section = 1, TString draw_option = "lines")
- tango_fhcal_hv(const char* start_date, const char* end_date, int module = 2, int section = 1, TString draw_option = "lines") Function for displaying the high voltage for the given run range or time interval: all sections of the given module, or the given section of all the modules if module = 0. The draw option: "lines" or "lines3d" - line graphs, "SURF1" - surface, "LEGO2" - columns, "COLZ" - color map or another option of the 2D histogram.
- tango_gem_hv.C - high voltage of the GEM detectors (gem/<family>/<member>/vmon_<N>):
- tango_gem_hv(int period = 9, int start_run = 9696, int end_run = 9730, TString module = "mod_0", TString draw_option = "lines")
- tango_gem_hv(const char* start_date, const char* end_date, TString module = "mod_0", TString draw_option = "lines") Function for displaying the high voltage of the channels of the given CAEN module ("mod_0" or "mod_2", empty string - all the modules) for the given run range or time interval with the same draw options.
- tango_gem_u.C - high voltage of the GEM detectors for the old periods (up to period 8):
- tango_gem_u(const char* start_date = "2016-12-21 12:20:00", const char* end_date = "2016-12-21 12:40:00")
- tango_gem_u(int period, int run) Function for printing and displaying the GEM high voltage for the given time interval or run: the "gem:u" parameter before period 8, the vmon channels of the mod_0 and mod_2 modules in period 8.
- tango_gem_trip.C - trips of the GEM detectors for the old periods (5, 6 and 8):
- tango_gem_trip(int period = 6, int run = 1529, bool isShowOnlyTrip = false)
- tango_gem_trip(int period, bool isShowOnlyTrip = false) Function for printing the time intervals of the GEM trips (the "gem:trip" parameter) by GEM Z-order for the given run or for all runs of the given period (in period 8, the high voltage of the GEM channels is printed and displayed instead); if isShowOnlyTrip is true, only GEMs with trips are printed.