simtools-generate-bias-curve-submissions#
Generate scan grids for NSB and proton telescope trigger bias curves.
This application always prepares both curves:
NSB curve
Proton curve with proton primary
For each curve, the application creates a production grid and parameter-scan grid:
base_grid.ecsvscan_config.yamlscan_grid.ecsv
The resulting scan grids can be consumed by a backend-specific submission generator,
for example simtools-simulate-prod-htcondor-generator.
Command line arguments
- site (str, required)
Observation site (e.g., North, South).
- model_version (str, required)
Simulation model version.
- array_layout_name (str, required)
Single-telescope array layout name for simulations.
- simulation_software (str)
Simulation software (default: corsika_sim_telarray).
- azimuth_angle (float, required)
Azimuth angle in degrees.
- zenith_angle (float, required)
Zenith angle in degrees.
- showers_per_run (int, required)
Number of showers per run.
- core_scatter (str, required)
Core scatter (e.g., “20 1900 m”).
- view_cone (str, required)
View cone (e.g., “0 deg 5 deg”).
- number_of_runs (int, required)
Number of runs.
- corsika_le_interaction (str)
CORSIKA low-energy interaction model (default: urqmd).
- corsika_he_interaction (str)
CORSIKA high-energy interaction model (default: epos).
- corsika_hadronic_transition_energy (Quantity)
Transition energy between low- and high-energy hadronic models. If omitted, use the CORSIKA build default.
- nsb_energy_range (str)
NSB gamma energy range (default: “20 MeV 25 MeV”).
- proton_energy_range (str)
Proton energy range (default: “2 GeV 2000 GeV”).
- nsb_scaling_factor (float)
NSB scaling factor used for both curves (default: 2).
- trigger_thresholds (float, int, float, optional)
Three values defining the trigger-threshold scan used for both curves: minimum threshold, number of thresholds, and step size. Trigger-dependent defaults are used when omitted.
- output_path (Path)
Root output directory; nsb/ and proton/ sub-dirs are created inside it (provided by framework, default: ./simtools-output/).
Example
simtools-generate-bias-curve-submissions \
--site North \
--model_version 7.0.0 \
--array_layout_name LSTN-01 \
--azimuth_angle 0.0 \
--zenith_angle 20.0 \
--showers_per_run 10000 \
--core_scatter "20 1900 m" \
--view_cone "0 deg 5 deg" \
--number_of_runs 10 \
--nsb_energy_range "20 MeV 25 MeV" \
--proton_energy_range "2 GeV 2000 GeV" \
--nsb_scaling_factor 2 \
--trigger_thresholds 220 3 10 \
--output_path ./bias_curves
Submit files can be generated explicitly for a chosen backend, for example:
simtools-simulate-prod-htcondor-generator \
--job_grid_file ./bias_curves/nsb/scan_grid.ecsv \
--output_path ./bias_curves/nsb/htcondor_submit \
--apptainer_image /path/to/image.sif \
--label nsb
Command line arguments#
options#
- –help
show this help message and exit
- –nsb_energy_range
Energy range for the NSB gamma curve.
Default: (<Quantity 20. MeV>, <Quantity 25. MeV>).
- –proton_energy_range
Energy range for the proton curve.
Default: (<Quantity 2. GeV>, <Quantity 2000. GeV>).
- –nsb_scaling_factor
NSB scaling factor used for both curves.
Default: 2.0.
- –trigger_thresholds
Define evenly spaced trigger thresholds for both curves as MIN_THRESHOLD NUMBER_OF_THRESHOLDS STEP_SIZE.
simulation model#
- –site
Observatory site (e.g., North, South). Use –show_options site.
Required.
- –model_version
Simulation production model version(s). Use –show_options model_version.
Required.
- –array_layout_name
Array layout name(s) (e.g., CTAO-North-Alpha, LSTN-01). Telescope names are assumed as single-telescope layouts. Use –show_options array_layout_name.
Required.
simulation software#
- –simulation_software
Simulation software workflow.
Default: corsika_sim_telarray. Choices: corsika, sim_telarray, corsika_sim_telarray.
simulation configuration#
- –azimuth_angle
Telescope pointing direction in azimuth. It can be in degrees between 0 and 360 or one of north, south, east or west. North is 0 degrees and the azimuth grows clockwise (East is 90 degrees).
Required.
- –zenith_angle
Zenith angle in degrees (between 0 and 180).
Required.
- –showers_per_run
Baseline number of CORSIKA showers per run.
Required.
- –number_of_runs
Number of runs.
Required.
shower parameters#
- –core_scatter
Core positions per shower and maximum scatter radius, e.g. ‘10 500 m’.
Required.
- –view_cone
Minimum and maximum view-cone radius, e.g. ‘0 deg 10 deg’.
Required.
corsika configuration#
- –corsika_le_interaction
Low-energy interaction model for CORSIKA (default fallback: urqmd). Use –show_options corsika_le_interaction.
Default: urqmd.
- –corsika_he_interaction
High-energy interaction model for CORSIKA (default fallback: epos). Use –show_options corsika_he_interaction.
Default: epos.
- –corsika_hadronic_transition_energy
Transition energy between the low- and high-energy CORSIKA hadronic interaction models. Unitless values are interpreted as GeV. If omitted, the CORSIKA build default is used.
model repository#
- –simulation_models_path
Path containing the simulation-model repository to read.
- –simulation_models_git_path
Path to a local normal, bare, or mirror Git repository containing simulation models.
- –simulation_models_git_revision
Git tag, ref, or commit to read from the simulation-model repository.
application#
- –show_options
Print available values for a supported option and exit.
Example#
Generate LST bias-curve simulation grids#
Create NSB and proton submission grids that scan trigger thresholds for a North-site LST bias curve.
Application: simtools-generate-bias-curve-submissions
Integration test: generate_bias_curve_submissions_lstn-01.yml
Command
simtools-generate-bias-curve-submissions --config tests/integration_tests/config/generate_bias_curve_submissions_lstn-01.yml
Configuration
site: North
model_version: 7.0.0
array_layout_name: LSTN-01
azimuth_angle: 0.0
zenith_angle: 20.0
showers_per_run: 5
core_scatter: 20 1900 m
view_cone: 0 deg 5 deg
number_of_runs: 1
trigger_thresholds:
- 220
- 1
- 10
output_path: simtools-output