simtools-derive-pulse-shape-parameters#

Derive Gaussian sigma and exponential tau from specified rise/fall widths.

Solve (sigma, tau) for a Gaussian convolved with a causal exponential so the pulse matches user-provided rise and fall widths between fractional amplitude levels (e.g. 0.1-0.9 rise, 0.9-0.1 fall).

Command line arguments

site (str, required)

North or South.

telescope (str, required)

Telescope model name.

model_version (str, required)

Model version.

parameter_version (str, required)

Parameter version.

rise_width_ns (float, required)

Rising-edge width between rise_range fractions (ns).

fall_width_ns (float, required)

Falling-edge width between fall_range fractions (ns).

rise_range (float float, optional)

Fractional amplitudes (low high) for rise width (default: 0.1 0.9).

fall_range (float float, optional)

Fractional amplitudes (high low) for fall width (default: 0.9 0.1).

dt_ns (float, optional)

Time sampling step (ns). Default: 0.1.

time_margin_ns (float, optional)

Margin added at both ends of readout window. Default: 5.

Example

Derive parameters for a pulse with 2.5 ns rise (10-90%) and

5 ns fall (90-10%) for LSTN-01:

simtools-derive-pulse-shape-parameters \
--site North \
--telescope MSTx-NectarCam \
--model_version 7.0 \
--parameter_version 1.0.0 \
--rise_width_ns 2.5 \
--fall_width_ns 5.0 \
--rise_range 0.1 0.9 \
--fall_range 0.9 0.1 \
--dt_ns 0.1 \
--time_margin_ns 10

Command line arguments#

options#

–help

show this help message and exit

–rise_width_ns

Width on the rising edge in ns between rise_range fractions.

Required.

–fall_width_ns

Width on the falling edge in ns between fall_range fractions.

Required.

–rise_range

Fractional amplitudes (low high) for rise width, e.g. 0.1 0.9

Default: [0.1, 0.9].

–fall_range

Fractional amplitudes (high low) for fall width, e.g. 0.9 0.1

Default: [0.9, 0.1].

–dt_ns

Time sampling step in ns used by the solver.

Default: 0.1.

–time_margin_ns

Margin (ns) added to both ends of the instrument readout window when deriving the internal time window.

Default: 10.0.

simulation model#

–model_version

Simulation production model version(s). Use –show_options model_version.

–parameter_version

model parameter version

–overwrite_model_parameters

JSON string with model parameters to overwrite

–site

Observatory site (e.g., North, South). Use –show_options site.

–telescope

telescope model name (e.g., LSTN-01, SSTS-design, …)

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#

Derive a NectarCam pulse-shape parameter#

Generate a normalized camera pulse shape from configured rise and fall widths for an MST NectarCam model.

Application: simtools-derive-pulse-shape-parameters

Integration test: derive_pulse_shape_parameters.yml

Command

simtools-derive-pulse-shape-parameters --config tests/integration_tests/config/derive_pulse_shape_parameters.yml

Configuration

rise_width_ns: 2.5
fall_width_ns: 5.0
rise_range:
- 0.1
- 0.9
fall_range:
- 0.9
- 0.1
dt_ns: 0.1
time_margin_ns: 5.0
site: North
telescope: MSTx-NectarCam
model_version: 7.0.0
parameter_version: 1.0.0
output_path: simtools-output