gammasimtools 0.18.0__py3-none-any.whl → 0.20.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gammasimtools-0.18.0.dist-info → gammasimtools-0.20.0.dist-info}/METADATA +24 -69
- gammasimtools-0.20.0.dist-info/RECORD +395 -0
- {gammasimtools-0.18.0.dist-info → gammasimtools-0.20.0.dist-info}/entry_points.txt +11 -4
- {gammasimtools-0.18.0.dist-info → gammasimtools-0.20.0.dist-info}/licenses/LICENSE +1 -1
- simtools/_version.py +16 -3
- simtools/applications/calculate_incident_angles.py +182 -0
- simtools/applications/convert_all_model_parameters_from_simtel.py +4 -3
- simtools/applications/convert_geo_coordinates_of_array_elements.py +3 -3
- simtools/applications/db_add_simulation_model_from_repository_to_db.py +17 -14
- simtools/applications/db_add_value_from_json_to_db.py +8 -10
- simtools/applications/db_development_tools/write_array_elements_positions_to_repository.py +8 -13
- simtools/applications/db_generate_compound_indexes.py +65 -0
- simtools/applications/db_get_file_from_db.py +12 -24
- simtools/applications/db_get_parameter_from_db.py +4 -4
- simtools/applications/db_inspect_databases.py +20 -10
- simtools/applications/derive_mirror_rnda.py +17 -11
- simtools/applications/derive_psf_parameters.py +59 -309
- simtools/applications/derive_trigger_rates.py +91 -0
- simtools/applications/docs_produce_array_element_report.py +1 -1
- simtools/applications/docs_produce_calibration_reports.py +1 -1
- simtools/applications/docs_produce_model_parameter_reports.py +1 -1
- simtools/applications/docs_produce_simulation_configuration_report.py +1 -1
- simtools/applications/generate_corsika_histograms.py +1 -1
- simtools/applications/generate_default_metadata.py +8 -24
- simtools/applications/generate_simtel_event_data.py +11 -11
- simtools/applications/maintain_simulation_model_add_production_table.py +71 -0
- simtools/applications/maintain_simulation_model_compare_productions.py +98 -0
- simtools/applications/{verify_simulation_model_production_tables.py → maintain_simulation_model_verify_production_tables.py} +9 -1
- simtools/applications/merge_tables.py +2 -2
- simtools/applications/plot_array_layout.py +3 -3
- simtools/applications/plot_simtel_events.py +421 -0
- simtools/applications/plot_tabular_data.py +9 -2
- simtools/applications/plot_tabular_data_for_model_parameter.py +2 -1
- simtools/applications/print_version.py +8 -9
- simtools/applications/production_derive_corsika_limits.py +6 -7
- simtools/applications/production_derive_statistics.py +1 -1
- simtools/applications/production_generate_grid.py +2 -2
- simtools/applications/production_merge_corsika_limits.py +214 -0
- simtools/applications/run_application.py +47 -113
- simtools/applications/simulate_calibration_events.py +166 -0
- simtools/applications/simulate_flasher.py +141 -0
- simtools/applications/{simulate_light_emission.py → simulate_illuminator.py} +35 -99
- simtools/applications/simulate_prod.py +6 -24
- simtools/applications/simulate_prod_htcondor_generator.py +7 -0
- simtools/applications/submit_array_layouts.py +2 -1
- simtools/applications/submit_model_parameter_from_external.py +1 -1
- simtools/applications/validate_camera_efficiency.py +30 -12
- simtools/applications/validate_camera_fov.py +1 -1
- simtools/applications/validate_cumulative_psf.py +1 -1
- simtools/applications/validate_file_using_schema.py +9 -5
- simtools/applications/validate_optics.py +1 -1
- simtools/camera/camera_efficiency.py +61 -45
- simtools/camera/single_photon_electron_spectrum.py +1 -1
- simtools/configuration/commandline_parser.py +46 -11
- simtools/configuration/configurator.py +4 -4
- simtools/corsika/corsika_config.py +45 -25
- simtools/corsika/corsika_histograms.py +6 -5
- simtools/data_model/data_reader.py +2 -3
- simtools/data_model/metadata_collector.py +32 -36
- simtools/data_model/metadata_model.py +15 -12
- simtools/data_model/model_data_writer.py +13 -32
- simtools/data_model/schema.py +74 -24
- simtools/data_model/validate_data.py +42 -12
- simtools/db/db_handler.py +125 -62
- simtools/db/db_model_upload.py +14 -19
- simtools/dependencies.py +98 -30
- simtools/io/ascii_handler.py +279 -0
- simtools/{io_operations → io}/io_handler.py +25 -3
- simtools/job_execution/htcondor_script_generator.py +15 -4
- simtools/layout/array_layout.py +1 -1
- simtools/layout/array_layout_utils.py +51 -12
- simtools/model/array_model.py +41 -5
- simtools/model/flasher_model.py +106 -0
- simtools/model/model_parameter.py +4 -4
- simtools/model/model_repository.py +197 -2
- simtools/model/site_model.py +25 -0
- simtools/model/telescope_model.py +3 -1
- simtools/production_configuration/derive_corsika_limits.py +336 -427
- simtools/production_configuration/derive_production_statistics_handler.py +7 -6
- simtools/production_configuration/generate_production_grid.py +9 -11
- simtools/production_configuration/merge_corsika_limits.py +528 -0
- simtools/ray_tracing/incident_angles.py +706 -0
- simtools/ray_tracing/mirror_panel_psf.py +1 -0
- simtools/ray_tracing/psf_parameter_optimisation.py +792 -0
- simtools/ray_tracing/ray_tracing.py +6 -2
- simtools/reporting/docs_read_parameters.py +150 -62
- simtools/runners/corsika_runner.py +1 -1
- simtools/runners/corsika_simtel_runner.py +14 -5
- simtools/runners/runner_services.py +10 -5
- simtools/runners/simtools_runner.py +267 -0
- simtools/schemas/application_workflow.metaschema.yml +101 -68
- simtools/schemas/input/MST_mirror_2f_measurements.schema.yml +1 -1
- simtools/schemas/input/single_pe_spectrum.schema.yml +1 -1
- simtools/schemas/metadata.metaschema.yml +577 -3
- simtools/schemas/model_parameter.metaschema.yml +6 -6
- simtools/schemas/model_parameter_and_data_schema.metaschema.yml +4 -4
- simtools/schemas/model_parameters/adjust_gain.schema.yml +1 -1
- simtools/schemas/model_parameters/altitude.schema.yml +1 -1
- simtools/schemas/model_parameters/array_coordinates.schema.yml +1 -1
- simtools/schemas/model_parameters/array_coordinates_UTM.schema.yml +1 -1
- simtools/schemas/model_parameters/array_element_position_ground.schema.yml +1 -1
- simtools/schemas/model_parameters/array_element_position_utm.schema.yml +1 -1
- simtools/schemas/model_parameters/array_layouts.schema.yml +1 -1
- simtools/schemas/model_parameters/array_triggers.schema.yml +1 -1
- simtools/schemas/model_parameters/array_window.schema.yml +1 -1
- simtools/schemas/model_parameters/asum_clipping.schema.yml +1 -1
- simtools/schemas/model_parameters/asum_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/asum_shaping.schema.yml +1 -1
- simtools/schemas/model_parameters/asum_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/atmospheric_profile.schema.yml +1 -1
- simtools/schemas/model_parameters/atmospheric_transmission.schema.yml +1 -1
- simtools/schemas/model_parameters/axes_offsets.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_body_diameter.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_body_shape.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_config_file.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_config_rotate.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_degraded_efficiency.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_degraded_map.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_depth.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_filter.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_filter_incidence_angle.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_pixels.schema.yml +1 -1
- simtools/schemas/model_parameters/camera_transmission.schema.yml +1 -1
- simtools/schemas/model_parameters/channels_per_chip.schema.yml +1 -1
- simtools/schemas/model_parameters/correct_nsb_spectrum_to_telescope_altitude.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_cherenkov_photon_bunch_size.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_cherenkov_photon_wavelength_range.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_first_interaction_height.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_iact_io_buffer.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_iact_max_bunches.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_iact_split_auto.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_longitudinal_shower_development.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_observation_level.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_particle_kinetic_energy_cutoff.schema.yml +1 -1
- simtools/schemas/model_parameters/corsika_starting_grammage.schema.yml +3 -3
- simtools/schemas/model_parameters/dark_events.schema.yml +1 -1
- simtools/schemas/model_parameters/default_trigger.schema.yml +1 -1
- simtools/schemas/model_parameters/design_model.schema.yml +1 -1
- simtools/schemas/model_parameters/disc_ac_coupled.schema.yml +1 -1
- simtools/schemas/model_parameters/disc_bins.schema.yml +1 -1
- simtools/schemas/model_parameters/disc_start.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_amplitude.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_fall_time.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_gate_length.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_hysteresis.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_output_amplitude.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_output_var_percent.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_pulse_shape.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_rise_time.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_scale_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_sigsum_over_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_time_over_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_var_gate_length.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_var_sigsum_over_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_var_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/discriminator_var_time_over_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/dish_shape_length.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_clipping.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_ignore_below.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_pedsub.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_pre_clipping.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_prescale.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_presum_max.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_presum_shift.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_shaping.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_shaping_renormalize.schema.yml +1 -1
- simtools/schemas/model_parameters/dsum_threshold.schema.yml +2 -2
- simtools/schemas/model_parameters/dsum_zero_clip.schema.yml +1 -1
- simtools/schemas/model_parameters/effective_focal_length.schema.yml +1 -1
- simtools/schemas/model_parameters/epsg_code.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_ac_coupled.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_amplitude.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_bins.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_compensate_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_dev_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_err_compensate_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_err_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_amplitude.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_compensate_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_dev_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_err_compensate_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_err_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_max_signal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_max_sum.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_noise.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_sensitivity.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_sysvar_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_var_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_lg_var_sensitivity.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_long_event_threshold.schema.yml +35 -0
- simtools/schemas/model_parameters/fadc_long_sum_bins.schema.yml +41 -0
- simtools/schemas/model_parameters/fadc_long_sum_offset.schema.yml +38 -0
- simtools/schemas/model_parameters/fadc_max_signal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_max_sum.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_mhz.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_noise.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_pulse_shape.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_sensitivity.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_sum_bins.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_sum_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_sysvar_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_var_pedestal.schema.yml +1 -1
- simtools/schemas/model_parameters/fadc_var_sensitivity.schema.yml +1 -1
- simtools/schemas/model_parameters/fake_mirror_list.schema.yml +1 -1
- simtools/schemas/model_parameters/flatfielding.schema.yml +1 -1
- simtools/schemas/model_parameters/focal_length.schema.yml +1 -1
- simtools/schemas/model_parameters/focal_surface_parameters.schema.yml +1 -1
- simtools/schemas/model_parameters/focal_surface_ref_radius.schema.yml +1 -1
- simtools/schemas/model_parameters/focus_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/gain_variation.schema.yml +1 -1
- simtools/schemas/model_parameters/geomag_horizontal.schema.yml +1 -1
- simtools/schemas/model_parameters/geomag_rotation.schema.yml +1 -1
- simtools/schemas/model_parameters/geomag_vertical.schema.yml +1 -1
- simtools/schemas/model_parameters/hg_lg_variation.schema.yml +1 -1
- simtools/schemas/model_parameters/iobuf_maximum.schema.yml +1 -1
- simtools/schemas/model_parameters/iobuf_output_maximum.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_events.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_external_trigger.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_photons.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_pulse_exptime.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_pulse_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_pulse_sigtime.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_pulse_twidth.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_var_photons.schema.yml +1 -1
- simtools/schemas/model_parameters/laser_wavelength.schema.yml +1 -1
- simtools/schemas/model_parameters/led_events.schema.yml +1 -1
- simtools/schemas/model_parameters/led_photons.schema.yml +1 -1
- simtools/schemas/model_parameters/led_pulse_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/led_pulse_sigtime.schema.yml +1 -1
- simtools/schemas/model_parameters/led_var_photons.schema.yml +1 -1
- simtools/schemas/model_parameters/lightguide_efficiency_vs_incidence_angle.schema.yml +1 -1
- simtools/schemas/model_parameters/lightguide_efficiency_vs_wavelength.schema.yml +50 -1
- simtools/schemas/model_parameters/min_photoelectrons.schema.yml +1 -1
- simtools/schemas/model_parameters/min_photons.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_align_random_distance.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_align_random_horizontal.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_align_random_vertical.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_class.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_degraded_reflection.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_focal_length.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_list.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_panel_2f_measurements.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_reflection_random_angle.schema.yml +1 -1
- simtools/schemas/model_parameters/mirror_reflectivity.schema.yml +1 -1
- simtools/schemas/model_parameters/multiplicity_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/muon_mono_threshold.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_autoscale_airmass.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_gain_drop_scale.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_offaxis.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_pixel_rate.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_reference_spectrum.schema.yml +2 -2
- simtools/schemas/model_parameters/nsb_reference_value.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_scaling_factor.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_sky_map.schema.yml +1 -1
- simtools/schemas/model_parameters/nsb_spectrum.schema.yml +23 -30
- simtools/schemas/model_parameters/num_gains.schema.yml +1 -1
- simtools/schemas/model_parameters/only_triggered_telescopes.schema.yml +1 -1
- simtools/schemas/model_parameters/optics_properties.schema.yml +1 -1
- simtools/schemas/model_parameters/parabolic_dish.schema.yml +1 -1
- simtools/schemas/model_parameters/pedestal_events.schema.yml +1 -1
- simtools/schemas/model_parameters/photon_delay.schema.yml +1 -1
- simtools/schemas/model_parameters/photons_per_run.schema.yml +1 -1
- simtools/schemas/model_parameters/pixel_cells.schema.yml +1 -1
- simtools/schemas/model_parameters/pixels_parallel.schema.yml +1 -1
- simtools/schemas/model_parameters/pixeltrg_time_step.schema.yml +1 -1
- simtools/schemas/model_parameters/pm_average_gain.schema.yml +1 -1
- simtools/schemas/model_parameters/pm_collection_efficiency.schema.yml +1 -1
- simtools/schemas/model_parameters/pm_gain_index.schema.yml +1 -1
- simtools/schemas/model_parameters/pm_photoelectron_spectrum.schema.yml +1 -1
- simtools/schemas/model_parameters/pm_transit_time.schema.yml +1 -1
- simtools/schemas/model_parameters/pm_voltage_variation.schema.yml +1 -1
- simtools/schemas/model_parameters/primary_mirror_degraded_map.schema.yml +1 -1
- simtools/schemas/model_parameters/primary_mirror_diameter.schema.yml +1 -1
- simtools/schemas/model_parameters/primary_mirror_hole_diameter.schema.yml +1 -1
- simtools/schemas/model_parameters/primary_mirror_incidence_angle.schema.yml +11 -1
- simtools/schemas/model_parameters/primary_mirror_parameters.schema.yml +1 -1
- simtools/schemas/model_parameters/primary_mirror_ref_radius.schema.yml +1 -1
- simtools/schemas/model_parameters/primary_mirror_segmentation.schema.yml +1 -1
- simtools/schemas/model_parameters/qe_variation.schema.yml +1 -1
- simtools/schemas/model_parameters/quantum_efficiency.schema.yml +1 -1
- simtools/schemas/model_parameters/random_focal_length.schema.yml +1 -1
- simtools/schemas/model_parameters/random_generator.schema.yml +1 -1
- simtools/schemas/model_parameters/random_mono_probability.schema.yml +1 -1
- simtools/schemas/model_parameters/reference_point_altitude.schema.yml +1 -1
- simtools/schemas/model_parameters/reference_point_latitude.schema.yml +1 -1
- simtools/schemas/model_parameters/reference_point_longitude.schema.yml +1 -1
- simtools/schemas/model_parameters/reference_point_utm_east.schema.yml +1 -1
- simtools/schemas/model_parameters/reference_point_utm_north.schema.yml +1 -1
- simtools/schemas/model_parameters/sampled_output.schema.yml +1 -1
- simtools/schemas/model_parameters/save_pe_with_amplitude.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_baffle.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_degraded_map.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_degraded_reflection.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_diameter.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_hole_diameter.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_incidence_angle.schema.yml +11 -1
- simtools/schemas/model_parameters/secondary_mirror_parameters.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_ref_radius.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_reflectivity.schema.yml +11 -1
- simtools/schemas/model_parameters/secondary_mirror_segmentation.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_shadow_diameter.schema.yml +1 -1
- simtools/schemas/model_parameters/secondary_mirror_shadow_offset.schema.yml +1 -1
- simtools/schemas/model_parameters/stars.schema.yml +2 -2
- simtools/schemas/model_parameters/store_photoelectrons.schema.yml +1 -1
- simtools/schemas/model_parameters/tailcut_scale.schema.yml +1 -1
- simtools/schemas/model_parameters/telescope_axis_height.schema.yml +1 -1
- simtools/schemas/model_parameters/telescope_random_angle.schema.yml +1 -1
- simtools/schemas/model_parameters/telescope_random_error.schema.yml +1 -1
- simtools/schemas/model_parameters/telescope_sphere_radius.schema.yml +1 -1
- simtools/schemas/model_parameters/telescope_transmission.schema.yml +1 -1
- simtools/schemas/model_parameters/teltrig_min_sigsum.schema.yml +1 -1
- simtools/schemas/model_parameters/teltrig_min_time.schema.yml +1 -1
- simtools/schemas/model_parameters/transit_time_calib_error.schema.yml +1 -1
- simtools/schemas/model_parameters/transit_time_compensate_error.schema.yml +1 -1
- simtools/schemas/model_parameters/transit_time_compensate_step.schema.yml +1 -1
- simtools/schemas/model_parameters/transit_time_error.schema.yml +1 -1
- simtools/schemas/model_parameters/transit_time_jitter.schema.yml +1 -1
- simtools/schemas/model_parameters/trigger_current_limit.schema.yml +1 -1
- simtools/schemas/model_parameters/trigger_delay_compensation.schema.yml +1 -1
- simtools/schemas/model_parameters/trigger_pixels.schema.yml +1 -1
- simtools/schemas/plot_configuration.metaschema.yml +5 -2
- simtools/schemas/production_configuration_metrics.schema.yml +12 -2
- simtools/schemas/production_tables.schema.yml +7 -2
- simtools/simtel/simtel_config_reader.py +2 -2
- simtools/simtel/simtel_config_writer.py +33 -23
- simtools/simtel/simtel_io_event_histograms.py +483 -0
- simtools/simtel/simtel_io_event_reader.py +65 -43
- simtools/simtel/simtel_io_event_writer.py +40 -20
- simtools/simtel/simtel_io_metadata.py +1 -1
- simtools/simtel/simtel_table_reader.py +95 -13
- simtools/simtel/simulator_array.py +138 -10
- simtools/simtel/simulator_camera_efficiency.py +32 -23
- simtools/simtel/simulator_light_emission.py +437 -271
- simtools/simtel/simulator_ray_tracing.py +1 -1
- simtools/simulator.py +105 -147
- simtools/telescope_trigger_rates.py +119 -0
- simtools/testing/configuration.py +24 -26
- simtools/testing/helpers.py +2 -2
- simtools/testing/log_inspector.py +52 -0
- simtools/testing/validate_output.py +87 -37
- simtools/utils/general.py +125 -255
- simtools/utils/geometry.py +56 -0
- simtools/utils/names.py +1 -1
- simtools/visualization/legend_handlers.py +180 -264
- simtools/visualization/plot_array_layout.py +20 -8
- simtools/visualization/plot_incident_angles.py +431 -0
- simtools/visualization/plot_pixels.py +1 -1
- simtools/visualization/plot_simtel_event_histograms.py +376 -0
- simtools/visualization/plot_simtel_events.py +816 -0
- simtools/visualization/plot_tables.py +133 -37
- simtools/visualization/visualize.py +1 -100
- gammasimtools-0.18.0.dist-info/RECORD +0 -376
- simtools/applications/calculate_trigger_rate.py +0 -187
- simtools/applications/generate_sim_telarray_histograms.py +0 -196
- simtools/production_configuration/derive_corsika_limits_grid.py +0 -232
- simtools/simtel/simtel_io_histogram.py +0 -621
- simtools/simtel/simtel_io_histograms.py +0 -552
- {gammasimtools-0.18.0.dist-info → gammasimtools-0.20.0.dist-info}/WHEEL +0 -0
- {gammasimtools-0.18.0.dist-info → gammasimtools-0.20.0.dist-info}/top_level.txt +0 -0
- /simtools/{io_operations → io}/hdf5_handler.py +0 -0
- /simtools/{io_operations → io}/legacy_data_handler.py +0 -0
- /simtools/{io_operations/io_table_handler.py → io/table_handler.py} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
%YAML 1.2
|
|
2
2
|
---
|
|
3
3
|
title: Schema for trigger_delay_compensation model parameter
|
|
4
|
-
|
|
4
|
+
schema_version: 0.1.0
|
|
5
5
|
meta_schema: simpipe-schema
|
|
6
6
|
meta_schema_url: https://raw.githubusercontent.com/gammasim/simtools/main/src/simtools/schemas/model_parameter_and_data_schema.metaschema.yml
|
|
7
7
|
meta_schema_version: 0.1.0
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
%YAML 1.2
|
|
2
2
|
---
|
|
3
3
|
title: Schema for trigger_pixels model parameter
|
|
4
|
-
|
|
4
|
+
schema_version: 0.1.0
|
|
5
5
|
meta_schema: simpipe-schema
|
|
6
6
|
meta_schema_url: https://raw.githubusercontent.com/gammasim/simtools/main/src/simtools/schemas/model_parameter_and_data_schema.metaschema.yml
|
|
7
7
|
meta_schema_version: 0.1.0
|
|
@@ -3,8 +3,8 @@ $schema: http://json-schema.org/draft-06/schema#
|
|
|
3
3
|
$ref: '#/definitions/SimtoolsPlotConfiguration'
|
|
4
4
|
title: SimPipe plot configuration metaschema
|
|
5
5
|
description: YAML representation of plot configuration metaschema
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
schema_version: 0.1.0
|
|
7
|
+
schema_name: plot_configuration.metaschema
|
|
8
8
|
type: object
|
|
9
9
|
|
|
10
10
|
definitions:
|
|
@@ -99,6 +99,9 @@ definitions:
|
|
|
99
99
|
file_name:
|
|
100
100
|
type: string
|
|
101
101
|
description: "Path to the data file."
|
|
102
|
+
ignore_table_data_path:
|
|
103
|
+
type: boolean
|
|
104
|
+
description: "Ignore table data path from command line."
|
|
102
105
|
type:
|
|
103
106
|
type: string
|
|
104
107
|
description: "Type of data file."
|
|
@@ -5,8 +5,8 @@ title: Statistical Error Metrics Schema
|
|
|
5
5
|
description: |
|
|
6
6
|
YAML representation of simulation production configuration
|
|
7
7
|
metrics.
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
schema_version: 0.1.0
|
|
9
|
+
schema_name: production_configuration_metrics.metaschema
|
|
10
10
|
type: object
|
|
11
11
|
additionalProperties: false
|
|
12
12
|
|
|
@@ -20,6 +20,16 @@ definitions:
|
|
|
20
20
|
$ref: '#/definitions/ErrorMetric'
|
|
21
21
|
energy_estimate:
|
|
22
22
|
$ref: '#/definitions/ErrorMetric'
|
|
23
|
+
schema_version:
|
|
24
|
+
type: string
|
|
25
|
+
description: "Version of the schema."
|
|
26
|
+
schema_url:
|
|
27
|
+
type: string
|
|
28
|
+
format: uri
|
|
29
|
+
description: "URL of the schema."
|
|
30
|
+
schema_name:
|
|
31
|
+
type: string
|
|
32
|
+
description: "Name of the schema."
|
|
23
33
|
|
|
24
34
|
ErrorMetric:
|
|
25
35
|
type: object
|
|
@@ -5,14 +5,18 @@ title: SimPipe DB Production Model Metaschema
|
|
|
5
5
|
description: |
|
|
6
6
|
YAML representation of DB production model metaschema
|
|
7
7
|
(based on simulation model DB).
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
schema_version: 0.1.0
|
|
9
|
+
schema_name: production_table.metaschema
|
|
10
10
|
type: object
|
|
11
11
|
additionalProperties: false
|
|
12
12
|
|
|
13
13
|
definitions:
|
|
14
14
|
ProductionModelTable:
|
|
15
|
+
additionalProperties: false
|
|
15
16
|
properties:
|
|
17
|
+
production_table_name:
|
|
18
|
+
type: string
|
|
19
|
+
description: Name of the production table.
|
|
16
20
|
model_version:
|
|
17
21
|
type: string
|
|
18
22
|
description: Model version.
|
|
@@ -37,5 +41,6 @@ definitions:
|
|
|
37
41
|
type: string
|
|
38
42
|
description: Design model of a telescope
|
|
39
43
|
required:
|
|
44
|
+
- production_table_name
|
|
40
45
|
- model_version
|
|
41
46
|
- parameters
|
|
@@ -7,7 +7,7 @@ import re
|
|
|
7
7
|
import astropy.units as u
|
|
8
8
|
import numpy as np
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
from simtools.io import ascii_handler
|
|
11
11
|
from simtools.utils import names
|
|
12
12
|
|
|
13
13
|
__all__ = ["SimtelConfigReader"]
|
|
@@ -81,7 +81,7 @@ class SimtelConfigReader:
|
|
|
81
81
|
|
|
82
82
|
self.schema_file = schema_file
|
|
83
83
|
self.schema_dict = (
|
|
84
|
-
|
|
84
|
+
ascii_handler.collect_data_from_file(file_name=self.schema_file, yaml_document=0)
|
|
85
85
|
if self.schema_file is not None
|
|
86
86
|
else None
|
|
87
87
|
)
|
|
@@ -10,6 +10,7 @@ import numpy as np
|
|
|
10
10
|
|
|
11
11
|
import simtools.utils.general as gen
|
|
12
12
|
import simtools.version
|
|
13
|
+
from simtools.io import ascii_handler
|
|
13
14
|
from simtools.utils import names
|
|
14
15
|
|
|
15
16
|
__all__ = ["SimtelConfigWriter"]
|
|
@@ -141,7 +142,7 @@ class SimtelConfigWriter:
|
|
|
141
142
|
return value
|
|
142
143
|
|
|
143
144
|
def _get_sim_telarray_metadata(
|
|
144
|
-
self, config_type, model_parameters, telescope_model_name,
|
|
145
|
+
self, config_type, model_parameters, telescope_model_name, additional_metadata=None
|
|
145
146
|
):
|
|
146
147
|
"""
|
|
147
148
|
Return sim_telarray metadata.
|
|
@@ -154,8 +155,8 @@ class SimtelConfigWriter:
|
|
|
154
155
|
Model parameters dictionary.
|
|
155
156
|
telescope_model_name: str
|
|
156
157
|
Name of the telescope model
|
|
157
|
-
|
|
158
|
-
Dictionary with
|
|
158
|
+
additional_metadata: dict
|
|
159
|
+
Dictionary with additional metadata to include using 'set'.
|
|
159
160
|
|
|
160
161
|
Returns
|
|
161
162
|
-------
|
|
@@ -196,12 +197,10 @@ class SimtelConfigWriter:
|
|
|
196
197
|
|
|
197
198
|
self._add_model_parameters_to_metadata(model_parameters, meta_parameters, prefix)
|
|
198
199
|
|
|
199
|
-
if
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
f"{sim_telarray_seeds['random_instrument_instances']}"
|
|
204
|
-
)
|
|
200
|
+
if additional_metadata:
|
|
201
|
+
for key, value in additional_metadata.items():
|
|
202
|
+
if value:
|
|
203
|
+
meta_parameters.append(f"{prefix} set {key}={value}")
|
|
205
204
|
|
|
206
205
|
return meta_parameters
|
|
207
206
|
|
|
@@ -223,7 +222,7 @@ class SimtelConfigWriter:
|
|
|
223
222
|
meta_parameters.append(f"{prefix} set {simtel_name}={value['value']}")
|
|
224
223
|
|
|
225
224
|
def write_array_config_file(
|
|
226
|
-
self, config_file_path, telescope_model, site_model,
|
|
225
|
+
self, config_file_path, telescope_model, site_model, additional_metadata=None
|
|
227
226
|
):
|
|
228
227
|
"""
|
|
229
228
|
Write the sim_telarray config file for an array of telescopes.
|
|
@@ -236,8 +235,8 @@ class SimtelConfigWriter:
|
|
|
236
235
|
Dictionary of TelescopeModel's instances as used by the ArrayModel instance.
|
|
237
236
|
site_model: Site model
|
|
238
237
|
Site model.
|
|
239
|
-
|
|
240
|
-
Dictionary with
|
|
238
|
+
additional_metadata: dict
|
|
239
|
+
Dictionary with additional metadata to include.
|
|
241
240
|
"""
|
|
242
241
|
config_file_directory = Path(config_file_path).parent
|
|
243
242
|
with open(config_file_path, "w", encoding="utf-8") as file:
|
|
@@ -262,7 +261,7 @@ class SimtelConfigWriter:
|
|
|
262
261
|
site_model.parameters,
|
|
263
262
|
config_file_directory,
|
|
264
263
|
telescope_model,
|
|
265
|
-
|
|
264
|
+
additional_metadata,
|
|
266
265
|
)
|
|
267
266
|
|
|
268
267
|
file.write(self.TAB + f"maximum_telescopes = {len(telescope_model)}\n\n")
|
|
@@ -284,8 +283,8 @@ class SimtelConfigWriter:
|
|
|
284
283
|
file.write(f"# include <{tel_config_file}>\n\n")
|
|
285
284
|
file.write("#endif \n\n") # configuration files need to end with \n\n
|
|
286
285
|
|
|
287
|
-
if
|
|
288
|
-
self._write_random_seeds_file(
|
|
286
|
+
if additional_metadata and additional_metadata.get("random_instrument_instances"):
|
|
287
|
+
self._write_random_seeds_file(additional_metadata, config_file_directory)
|
|
289
288
|
|
|
290
289
|
def _write_random_seeds_file(self, sim_telarray_seeds, config_file_directory):
|
|
291
290
|
"""
|
|
@@ -404,7 +403,9 @@ class SimtelConfigWriter:
|
|
|
404
403
|
"simtools_model_production_version": self._model_version,
|
|
405
404
|
}
|
|
406
405
|
try:
|
|
407
|
-
build_opts =
|
|
406
|
+
build_opts = ascii_handler.collect_data_from_file(
|
|
407
|
+
Path(self._simtel_path) / "build_opts.yml"
|
|
408
|
+
)
|
|
408
409
|
for key, value in build_opts.items():
|
|
409
410
|
meta_items[f"simtools_{key}"] = value
|
|
410
411
|
except (FileNotFoundError, TypeError):
|
|
@@ -415,7 +416,7 @@ class SimtelConfigWriter:
|
|
|
415
416
|
file.write(f"{self.TAB}metaparam global set {key} = {value}\n")
|
|
416
417
|
|
|
417
418
|
def _write_site_parameters(
|
|
418
|
-
self, file, site_parameters, model_path, telescope_model,
|
|
419
|
+
self, file, site_parameters, model_path, telescope_model, additional_metadata=None
|
|
419
420
|
):
|
|
420
421
|
"""
|
|
421
422
|
Write site parameters.
|
|
@@ -430,8 +431,8 @@ class SimtelConfigWriter:
|
|
|
430
431
|
Path to the model for writing of additional files.
|
|
431
432
|
telescope_model: dict of TelescopeModel
|
|
432
433
|
Telescope models.
|
|
433
|
-
|
|
434
|
-
Dictionary with
|
|
434
|
+
additional_metadata: dict
|
|
435
|
+
Dictionary with additional metadata to include.
|
|
435
436
|
"""
|
|
436
437
|
file.write(self.TAB + "% Site parameters\n")
|
|
437
438
|
for par, value in site_parameters.items():
|
|
@@ -446,7 +447,7 @@ class SimtelConfigWriter:
|
|
|
446
447
|
if simtel_name is not None:
|
|
447
448
|
file.write(f"{self.TAB}{simtel_name} = {value}\n")
|
|
448
449
|
for meta in self._get_sim_telarray_metadata(
|
|
449
|
-
"site", site_parameters, self._telescope_model_name,
|
|
450
|
+
"site", site_parameters, self._telescope_model_name, additional_metadata
|
|
450
451
|
):
|
|
451
452
|
file.write(f"{self.TAB}{meta}\n")
|
|
452
453
|
file.write("\n")
|
|
@@ -506,7 +507,9 @@ class SimtelConfigWriter:
|
|
|
506
507
|
|
|
507
508
|
trigger_lines = {}
|
|
508
509
|
for tel_type, tel_list in trigger_per_telescope_type.items():
|
|
509
|
-
trigger_dict = self._get_array_triggers_for_telescope_type(
|
|
510
|
+
trigger_dict = self._get_array_triggers_for_telescope_type(
|
|
511
|
+
array_triggers, tel_type, len(tel_list)
|
|
512
|
+
)
|
|
510
513
|
trigger_lines[tel_type] = f"Trigger {trigger_dict['multiplicity']['value']} of "
|
|
511
514
|
trigger_lines[tel_type] += ", ".join(map(str, tel_list))
|
|
512
515
|
width = trigger_dict["width"]["value"] * u.Unit(trigger_dict["width"]["unit"]).to("ns")
|
|
@@ -526,7 +529,9 @@ class SimtelConfigWriter:
|
|
|
526
529
|
|
|
527
530
|
return array_triggers_file
|
|
528
531
|
|
|
529
|
-
def _get_array_triggers_for_telescope_type(
|
|
532
|
+
def _get_array_triggers_for_telescope_type(
|
|
533
|
+
self, array_triggers, telescope_type, num_telescopes_of_type
|
|
534
|
+
):
|
|
530
535
|
"""
|
|
531
536
|
Get array trigger for a specific telescope type.
|
|
532
537
|
|
|
@@ -536,14 +541,19 @@ class SimtelConfigWriter:
|
|
|
536
541
|
Array trigger definitions.
|
|
537
542
|
telescope_type: str
|
|
538
543
|
Telescope type.
|
|
544
|
+
num_telescopes_of_type: int
|
|
545
|
+
Number of telescopes of the specified type.
|
|
539
546
|
|
|
540
547
|
Returns
|
|
541
548
|
-------
|
|
542
549
|
dict
|
|
543
550
|
Array trigger for the telescope type.
|
|
544
551
|
"""
|
|
552
|
+
suffix = "_array"
|
|
553
|
+
if num_telescopes_of_type == 1:
|
|
554
|
+
suffix = "_single_telescope"
|
|
545
555
|
for trigger_dict in array_triggers:
|
|
546
|
-
if trigger_dict["name"] == telescope_type +
|
|
556
|
+
if trigger_dict["name"] == telescope_type + suffix:
|
|
547
557
|
return trigger_dict
|
|
548
558
|
return None
|
|
549
559
|
|