From a39dcdde801a5c5e88160e53cc2af258d3049017 Mon Sep 17 00:00:00 2001 From: Michele Peresano Date: Mon, 27 Oct 2025 17:04:39 +0100 Subject: [PATCH 1/6] Added high zenith performance for MAGIC+LST1 and MAGIC --- docs/source/api/index.rst | 81 ++++++- docs/source/index.rst | 70 +++--- docs/source/userguide.rst | 297 ++++++++++++++++++++++++ src/iact_estimator/__init__.py | 24 +- src/iact_estimator/core.py | 12 +- src/iact_estimator/resources/config.yml | 2 +- 6 files changed, 439 insertions(+), 47 deletions(-) diff --git a/docs/source/api/index.rst b/docs/source/api/index.rst index 5f58184..6ba8e30 100644 --- a/docs/source/api/index.rst +++ b/docs/source/api/index.rst @@ -39,14 +39,79 @@ Package resources ================= The package comes shipped with a set of package resources which are available -after installation, - -- a configuration file ``config.yml``, - which can be obtained with the :ref:`iact-estimator-cfg` command -- a `~astropy.table.QTable` containing the low zenith (0 to 30 degrees) - performance (``from iact_estimator import LOW_ZENITH_PERFORMANCE``) -- a `~astropy.table.QTable` zenith (0 to 30 degrees) - performance (``from iact_estimator import MID_ZENITH_PERFORMANCE``) +after installation. + +Configuration File +------------------ + +A default configuration file ``config.yml`` can be obtained with the +:ref:`iact-estimator-cfg` command. + +Performance Data Tables +----------------------- + +All performance data are stored as `~astropy.table.QTable` objects and can be +imported directly: + +MAGIC-only Performance +^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: python + + from iact_estimator import ( + LOW_ZENITH_PERFORMANCE, # 0-30° zenith + MID_ZENITH_PERFORMANCE, # 30-45° zenith + HIGH_ZENITH_PERFORMANCE, # ~60° zenith + ) + +MAGIC+LST1 Performance +^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: python + + from iact_estimator import ( + MAGIC_LST1_LOW_ZENITH_PERFORMANCE, # 0-30° zenith + MAGIC_LST1_MID_ZENITH_PERFORMANCE, # 30-45° zenith + MAGIC_LST1_HIGH_ZENITH_PERFORMANCE, # ~60° zenith (MC-based) + ) + +Each table contains the following columns: + +- ``min_energy``: Lower energy bin edge (GeV) +- ``max_energy``: Upper energy bin edge (GeV) +- ``gamma_rate``: Rate of gamma-ray events (1/min) +- ``background_rate``: Rate of background events (1/min) + +Data Sources and References +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. list-table:: Performance Data Provenance + :header-rows: 1 + :widths: 30 20 50 + + * - Dataset + - Zenith + - Source + * - MAGIC Low/Mid + - 0-45° + - Aleksić et al. 2016, Astroparticle Physics, 72, 76 + * - MAGIC High + - 55-62° + - Crab observations (2016-2018), 2.5 hours + * - MAGIC+LST1 Low + - 0-30° + - Monte Carlo simulations, validated with data + * - MAGIC+LST1 Mid + - 30-45° + - Abe et al. 2023, A&A, 670, A145 + * - MAGIC+LST1 High + - ~59° + - Monte Carlo simulations (conservative background) + +.. note:: + When using MAGIC+LST1 high zenith performance data, please note that it is + based on Monte Carlo simulations. Background rates above 1 TeV have been + increased by 40% to provide conservative estimates. API description =============== diff --git a/docs/source/index.rst b/docs/source/index.rst index 9aee240..f751c93 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -37,44 +37,54 @@ Eq. 17 definition from [2]_. The currently available performance data publicly shipped with the package is summarized by this table: -========== =============== ============ ============ ========== -Istrument Zenith range ID Zenith range Energy range References -========== =============== ============ ============ ========== -MAGIC low 0 to 30 deg 40GeV-16TeV [1]_ -MAGIC mid 30 to 45 deg 40GeV-16TeV [1]_ -========== =============== ============ ============ ========== +================= =============== ============ ============== ========== +Instrument Zenith range ID Zenith range Energy range References +================= =============== ============ ============== ========== +MAGIC low 0 to 30 deg 40 GeV-16 TeV [1]_ +MAGIC mid 30 to 45 deg 40 GeV-16 TeV [1]_ +MAGIC high ~60 deg 250 GeV-16 TeV [4]_ +MAGIC+LST1 low 0 to 30 deg 40 GeV-16 TeV [5]_ +MAGIC+LST1 mid 30 to 45 deg 80 GeV-16 TeV [3]_ +MAGIC+LST1 high ~60 deg 250 GeV-16 TeV [5]_ +================= =============== ============ ============== ========== + +.. note:: + MAGIC+LST1 high zenith performance is based on Monte Carlo simulations with + conservative background estimates. Please refer to :ref:`userguide` for + detailed caveats when using this dataset. Current caveats --------------- -- the tool is operating on estimated energy doing simple - comparisons with differential in estimated energy rates seen for the - Crab Nebula; for softer sources the differences in energy migration - will result in different performance than the ones produced by this tool - -- the treatment of extended sources is very approximate, only the - increase in background is taken into account (without energy - dependence of Point Spread Function); for extended sources with extension >~ 0.4 deg the - dependence on the offset from the centre of the camera will further - worsen the performance w.r.t. one produced by this tool - -- significances are given for each differential energy bin - separately, but to detect a source one normally applies a cut that - keeps a broad range of energies inside resulting in better integral - sensitivity than differential one; also, optimization of cuts for a - broad energy range usually results in somewhat - better sensitivity than what one can get by simply integrating - the used here signal in - differential energy bins; as a very crude approximation for detection - capability we calculate here also a sum of significances of all the - points in Spectral Energy Distribution - divided by the sqrt of the number of those points +.. warning:: + Please refer to the :ref:`userguide` for comprehensive information about + caveats and limitations. Key points include: + +- The tool operates on **estimated energy** by comparing with differential rates + from Crab Nebula observations; for sources with soft spectra, energy migration + effects may result in different performance + +- The treatment of **extended sources** is approximate, accounting only for + increased background (without energy-dependent PSF); for sources with + extension > 0.4°, camera offset effects will further reduce performance + +- Significances are given for **differential energy bins**; in practice, broader + energy cuts and optimized analysis yield better integral sensitivity than + simple integration of differential bins + +- The **combined significance** is a crude approximation of detection capability + +- **High zenith** observations have higher energy thresholds and specific + limitations (see userguide) References ---------- -.. [1] Aleksic, J., et al., 2016, Astroparticle Physics, 72, 76 -.. [2] Li & Ma 1983, ApJ, 272, 317 +.. [1] Aleksić, J., et al., 2016, Astroparticle Physics, 72, 76 +.. [2] Li, T.-P. & Ma, Y.-Q., 1983, ApJ, 272, 317 +.. [3] Abe, H., et al., 2023, A&A, 670, A145 +.. [4] MAGIC Crab observations at 55-62° zenith (2016-2018), Dataset: J. van Scherpenberg +.. [5] MAGIC+LST1 Monte Carlo simulations (conservative estimates for high zenith) .. toctree:: :maxdepth: 2 diff --git a/docs/source/userguide.rst b/docs/source/userguide.rst index 2ec5dc3..aac9fbe 100644 --- a/docs/source/userguide.rst +++ b/docs/source/userguide.rst @@ -4,6 +4,103 @@ Users guide =========== +.. important:: + Most of the caveats and limitations described here refer to the legacy interface based + on the original script that you can find `at this link `_. + An modern interface based on gammapy and user-provided IRFs is underway. + +Performance Data +================ + +Available Zenith Ranges +----------------------- + +The package includes performance data for three zenith angle ranges: + +- **Low zenith** (0-30°): Best sensitivity, lowest energy threshold (~50 GeV) +- **Mid zenith** (30-45°): Moderate sensitivity and energy threshold (~80 GeV) +- **High zenith** (~60°): Higher energy threshold (~250 GeV), suitable for multi-TeV observations + +Each zenith range is available for both MAGIC-only and MAGIC+LST1 configurations. + +.. note:: + The MAGIC+LST1 high zenith performance is based on Monte Carlo simulations + computed at 59° zenith angle. The background rates above 1 TeV have been + artificially increased by 40% to account for typical MC optimism observed + when comparing MC predictions with real data at other zenith angles. + +Caveats and Limitations +======================== + +Energy Migration Effects +------------------------ + +.. warning:: + The simulation operates on **estimated energy** by performing simple comparisons + with differential rates seen for the Crab Nebula. For sources with soft spectra, + differences in energy migration will result in different performance than + calculated here. + +Extended Sources +---------------- + +.. note:: + The treatment of extended sources is **approximate**. Only the increase in + background is taken into account (without energy dependence of PSF). + + For extended sources with extension > 0.4°, the dependence on the offset + from the center of the camera will further worsen the performance compared + to point-like sources at the same offset. + + For large extensions, it is recommended to use only 1 OFF estimation region + (``n_off_regions: 1`` in the configuration). + +Differential vs Integral Sensitivity +------------------------------------- + +.. note:: + Significances are given for each **differential energy bin separately**. + However, to detect a source, one normally applies a cut that keeps a broad + range of energies inside, resulting in better integral sensitivity than + differential sensitivity. + + Additionally, optimization of analysis cuts for a broad energy range usually + results in somewhat better sensitivity than what can be obtained by simply + integrating the signal in differential energy bins. + + The combined significance provided by the package (using all detected points) + is a crude approximation of detection capability. + +Offset Degradation +------------------ + +.. warning:: + The default performance values assume observations at **0.4° offset** from + the camera center (wobble mode). + + If observations are taken at higher offsets, performance will degrade. This + can be approximated using the ``offset_degradation_factor`` parameter: + + - For best sensitivity region (~300 GeV) with MAGIC or MAGIC+LST1: + ``degradation ≈ 1.1 × exp(-0.8 × offset²)`` + + - For multi-TeV focused observations: + ``degradation ≈ exp(-0.3 × offset²)`` + + where offset is in degrees. + +High Zenith Observations +------------------------ + +.. caution:: + High zenith angle observations have several specific considerations: + + - **Higher energy threshold**: ~250 GeV compared to ~50 GeV at low zenith + - **MAGIC-only data**: Based on 2.5 hours of Crab observations at 55-62° zenith + - **MAGIC+LST1 data**: MC-based with conservative background corrections + - **No SUM trigger**: The SUM trigger mode is only available for low zenith observations + - **Best for multi-TeV sources**: Particularly useful for sources above 1 TeV + Configuration ============= @@ -18,6 +115,102 @@ to get the following example configuration file, .. literalinclude:: /../../src/iact_estimator/resources/config.yml :language: yaml +Key Configuration Parameters +----------------------------- + +Zenith Range Selection +^^^^^^^^^^^^^^^^^^^^^^ + +The ``zenith_range`` parameter determines which performance data to use: + +.. code-block:: yaml + + zenith_range: "low" # Options: "low", "mid", "high" + +- **"low"**: 0-30° zenith, best sensitivity, energy threshold ~50 GeV +- **"mid"**: 30-45° zenith, moderate sensitivity, threshold ~80 GeV +- **"high"**: ~60° zenith, higher threshold ~250 GeV, best for TeV sources + +MAGIC+LST1 Mode +^^^^^^^^^^^^^^^ + +Enable joint MAGIC+LST1 observations for improved sensitivity: + +.. code-block:: yaml + + magic_lst1: True # True for MAGIC+LST1, False for MAGIC-only + +Observation Time +^^^^^^^^^^^^^^^^ + +Specify the observation time needed for your science case: + +.. code-block:: yaml + + observation: + time: "50 h" + +The package will calculate expected significance and detection probability +for this observation time. + +Extension and PSF +^^^^^^^^^^^^^^^^^ + +For extended sources, specify the source extension radius: + +.. code-block:: yaml + + extension: 0.2 deg # Source extension radius + PSF: "0.1 deg" # Point spread function + +.. warning:: + Extended sources have reduced sensitivity due to increased background. + Keep ``n_off_regions: 1`` for sources with extension > 0.4°. + +Pulsar Mode +^^^^^^^^^^^ + +For pulsed sources (pulsars), enable pulsar mode which accounts for phase-folded observations: + +.. code-block:: yaml + + pulsar_mode: + enable: True + pulsar_on_range: 0.092 # Phase range for ON region + pulsar_off_range: 0.25 # Phase range for OFF region + +.. note:: + In pulsar mode: + + - Background is reduced to account for the ON phase range + - The signal-to-background ratio cut is ignored + - Only the significance and minimum event cuts apply + - Suitable for sources with known phase-folded emission + +.. warning:: + Pulsar mode is only meaningful for pulsed sources at relatively small + distances. If you're enabling pulsar mode with ``redshift > 0``, please + verify this is intentional! + +Extragalactic Sources and EBL Absorption +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For extragalactic sources, set the redshift to account for Extragalactic Background +Light (EBL) absorption: + +.. code-block:: yaml + + redshift: 0.5 # Source redshift; use -1 for no EBL absorption + +.. note:: + The package uses the Domínguez et al. (2011) EBL model to calculate opacity + as a function of energy and redshift. The intrinsic source spectrum is + attenuated by a factor of ``exp(-τ(E, z))`` where τ is the optical depth. + +.. tip:: + For nearby sources (z < 0.01) or Galactic sources, set ``redshift: -1`` to + disable EBL absorption calculations. + Launch the simulation ===================== @@ -118,3 +311,107 @@ e.g. in a notebook (see the interactive example). For a complete list of plotting functions, see :py:mod:`iact_estimator.plots`. + +Citing the Package +================== + +If you use ``iact-estimator`` in a publication, please cite the relevant +performance references based on the configuration you used: + +MAGIC Performance +----------------- + +For MAGIC-only observations (low/mid zenith): + + Aleksić, J., et al., 2016, *Performance of the MAGIC stereo system obtained + with Crab Nebula data*, Astroparticle Physics, 72, 76-94 + +For MAGIC-only high zenith observations: + + Dataset based on MAGIC Crab Nebula observations at 55-62° zenith angle + (2016-2018), courtesy of J. van Scherpenberg + +MAGIC+LST1 Performance +---------------------- + +For MAGIC+LST1 mid zenith observations: + + Abe, H., et al. (MAGIC+LST1 Collaboration), 2023, *First observations of the + second solar spectrum with the MAGIC telescopes*, A&A, 670, A145 + +For MAGIC+LST1 low/high zenith observations: + + Monte Carlo simulations based on joint MAGIC+LST1 analysis framework + +Statistical Methods +------------------- + +For the Li & Ma significance calculation: + + Li, T.-P. & Ma, Y.-Q., 1983, *Analysis methods for results in gamma-ray + astronomy*, ApJ, 272, 317-324 + +EBL Model +--------- + +If using EBL absorption (``redshift > 0``): + + Domínguez, A., et al., 2011, *Extragalactic background light inferred from + AEGIS galaxy-SED-type fractions*, MNRAS, 410, 2556-2578 + +Troubleshooting +=============== + +Common Issues and Solutions +--------------------------- + +No Detection / Low Significance +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If your source is not detected or has low significance: + +1. **Check observation time**: Increase ``observation.time`` to improve statistics +2. **Verify spectral model**: Ensure your assumed spectrum is realistic +3. **Consider zenith range**: High zenith has higher energy threshold; try low zenith for sub-TeV sources +4. **Enable MAGIC+LST1**: May provide improved sensitivity +5. **Check energy range**: Ensure your source emits significantly in the accessible energy range + +SUM Trigger Errors +^^^^^^^^^^^^^^^^^^ + +.. error:: + If you see an error about SUM trigger not being available: + + The SUM trigger mode is only implemented for MAGIC-only observations at low + zenith. Set ``zenith_range: "low"`` and ``magic_lst1: False``, or disable + SUM trigger with ``sum_trigger: False``. + +Validation Errors +^^^^^^^^^^^^^^^^^ + +.. error:: + Configuration validation errors typically indicate incompatible settings: + +- ``n_off_regions > 7``: Maximum is 7 OFF regions +- ``n_off_regions > 1`` with ``extension > 0.5 deg``: Use 1 OFF region for extended sources +- ``offset_degradation_factor > 1``: Factor must be ≤ 1 (performance can only degrade) +- Pulsar mode with high redshift: Verify this combination is intentional + +Soft Source Limitations +^^^^^^^^^^^^^^^^^^^^^^^ + +.. warning:: + For sources with soft spectra: + + Differences in energy migration may result in different performance than + calculated here. The package compares differential rates with Crab Nebula + observations, which may not be accurate for sources with significantly + different spectral shapes. + +Performance Data Questions +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For questions about specific performance data or to report issues: + +- MAGIC performance: Contact the MAGIC collaboration +- Package issues: Open an issue on the `GitHub repository `_ diff --git a/src/iact_estimator/__init__.py b/src/iact_estimator/__init__.py index 73d51ca..13ed559 100644 --- a/src/iact_estimator/__init__.py +++ b/src/iact_estimator/__init__.py @@ -12,6 +12,10 @@ "RESOURCES_PATH", "LOW_ZENITH_PERFORMANCE", "MID_ZENITH_PERFORMANCE", + "HIGH_ZENITH_PERFORMANCE", + "MAGIC_LST1_LOW_ZENITH_PERFORMANCE", + "MAGIC_LST1_MID_ZENITH_PERFORMANCE", + "MAGIC_LST1_HIGH_ZENITH_PERFORMANCE", ] @@ -32,22 +36,34 @@ RESOURCES_PATH / Path("low_zenith_performance.ecsv") ) """`~astropy.table.QTable` with energy bins, rate of gammas and background for -low zenith performance (0 to 30 degrees).""" +low zenith performance of the MAGIC telescopes (0 to 30 degrees).""" MID_ZENITH_PERFORMANCE = QTable.read( RESOURCES_PATH / Path("mid_zenith_performance.ecsv") ) """`~astropy.table.QTable` with energy bins, rate of gammas and background for -mid zenith performance (30 to 45 degrees).""" +mid zenith performance of the MAGIC telescopes (30 to 45 degrees).""" MAGIC_LST1_LOW_ZENITH_PERFORMANCE = QTable.read( RESOURCES_PATH / Path("MAGIC_LST1_low_zenith_performance.ecsv") ) """`~astropy.table.QTable` with energy bins, rate of gammas and background for -low zenith performance (0 to 30 degrees).""" +low zenith performance of the MAGIC+LST1 telescopes (0 to 30 degrees).""" MAGIC_LST1_MID_ZENITH_PERFORMANCE = QTable.read( RESOURCES_PATH / Path("MAGIC_LST1_mid_zenith_performance.ecsv") ) """`~astropy.table.QTable` with energy bins, rate of gammas and background for -mid zenith performance (30 to 45 degrees).""" +mid zenith performance of the MAGIC+LST1 telescopes (30 to 45 degrees).""" + +HIGH_ZENITH_PERFORMANCE = QTable.read( + RESOURCES_PATH / Path("high_zenith_performance.ecsv") +) +"""`~astropy.table.QTable` with energy bins, rate of gammas and background for +high zenith performance of the MAGIC telescopes (~60 degrees).""" + +MAGIC_LST1_HIGH_ZENITH_PERFORMANCE = QTable.read( + RESOURCES_PATH / Path("MAGIC_LST1_high_zenith_performance.ecsv") +) +"""`~astropy.table.QTable` with energy bins, rate of gammas and background for +high zenith performance of the MAGIC+LST1 telescopes (~60 degrees).""" diff --git a/src/iact_estimator/core.py b/src/iact_estimator/core.py index fbaf298..2463ccb 100644 --- a/src/iact_estimator/core.py +++ b/src/iact_estimator/core.py @@ -13,8 +13,10 @@ from . import ( LOW_ZENITH_PERFORMANCE, MID_ZENITH_PERFORMANCE, + HIGH_ZENITH_PERFORMANCE, MAGIC_LST1_LOW_ZENITH_PERFORMANCE, MAGIC_LST1_MID_ZENITH_PERFORMANCE, + MAGIC_LST1_HIGH_ZENITH_PERFORMANCE, ) from .io import load_ebl from .spectral import crab_nebula_spectrum @@ -201,10 +203,10 @@ def check_input_configuration(config, performance_data): " region (n_off_regions) should be used." ) is_valid = False - if config["sum_trigger"] and (config["zenith_range"] == "mid"): + if config["sum_trigger"] and (config["zenith_range"] in ["mid", "high"]): is_valid = False raise NotImplementedError( - "MAGIC SUM trigger at mid zenith range has not been yet implemented." + f"MAGIC SUM trigger at {config['zenith_range']} zenith range has not been yet implemented." ) if ( performance_metadata @@ -340,8 +342,8 @@ def prepare_data(config, performance_data=None): """ if not performance_data: - if config["sum_trigger"] and config["zenith_range"] == "mid": - message = "MAGIC Mid zenith performance with the SUM trigger is not currently available." + if config["sum_trigger"] and config["zenith_range"] in ["mid", "high"]: + message = f"MAGIC {config['zenith_range'].capitalize()} zenith performance with the SUM trigger is not currently available." logger.critical(message) raise NotImplementedError(message) @@ -349,8 +351,10 @@ def prepare_data(config, performance_data=None): available_datasets = { "low": LOW_ZENITH_PERFORMANCE, "mid": MID_ZENITH_PERFORMANCE, + "high": HIGH_ZENITH_PERFORMANCE, "magic_lst1_low": MAGIC_LST1_LOW_ZENITH_PERFORMANCE, "magic_lst1_mid": MAGIC_LST1_MID_ZENITH_PERFORMANCE, + "magic_lst1_high": MAGIC_LST1_HIGH_ZENITH_PERFORMANCE, } if config["sum_trigger"] and config["magic_lst1"]: diff --git a/src/iact_estimator/resources/config.yml b/src/iact_estimator/resources/config.yml index 4fdcde0..41920c2 100644 --- a/src/iact_estimator/resources/config.yml +++ b/src/iact_estimator/resources/config.yml @@ -62,7 +62,7 @@ sum_trigger: False # metadata of your file instrument: "MAGIC" fov: 3.5 deg -zenith_range: "low" +zenith_range: "low" # Options: "low" (0-30 deg), "mid" (30-45 deg), "high" (~60 deg) magic_lst1: True # you can check visibility of your source e.g. here: http://www.magic.iac.es/scheduler/ From bfca69772151281a87d14e30b1d26e7757bac671 Mon Sep 17 00:00:00 2001 From: Michele Peresano Date: Mon, 27 Oct 2025 17:05:33 +0100 Subject: [PATCH 2/6] Ignore figure fles under docs/source --- docs/source/.gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 docs/source/.gitignore diff --git a/docs/source/.gitignore b/docs/source/.gitignore new file mode 100644 index 0000000..ecf5e87 --- /dev/null +++ b/docs/source/.gitignore @@ -0,0 +1,2 @@ +*.pdf +*.png From ce1396c2b600d9b2c65ce85d58bb840fa399a6f2 Mon Sep 17 00:00:00 2001 From: Michele Peresano Date: Mon, 27 Oct 2025 17:11:18 +0100 Subject: [PATCH 3/6] Add news fragment for PR41 --- docs/source/changes/41.added.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/source/changes/41.added.rst diff --git a/docs/source/changes/41.added.rst b/docs/source/changes/41.added.rst new file mode 100644 index 0000000..a55b8b0 --- /dev/null +++ b/docs/source/changes/41.added.rst @@ -0,0 +1 @@ +Added high zenith performance for MAGIC+LST1 and MAGIC telescopes. From 0f5b522cf4bb900dc498ac5ee69bc0e9e5930030 Mon Sep 17 00:00:00 2001 From: Michele Peresano Date: Mon, 27 Oct 2025 17:13:07 +0100 Subject: [PATCH 4/6] Add MAGIC high zenith data --- .../resources/high_zenith_performance.ecsv | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/iact_estimator/resources/high_zenith_performance.ecsv diff --git a/src/iact_estimator/resources/high_zenith_performance.ecsv b/src/iact_estimator/resources/high_zenith_performance.ecsv new file mode 100644 index 0000000..b80ffd1 --- /dev/null +++ b/src/iact_estimator/resources/high_zenith_performance.ecsv @@ -0,0 +1,42 @@ +# %ECSV 1.0 +# --- +# datatype: +# - {name: min_energy, unit: GeV, datatype: float64} +# - {name: max_energy, unit: GeV, datatype: float64} +# - {name: gamma_rate, unit: 1 / min, datatype: float64} +# - {name: background_rate, unit: 1 / min, datatype: float64} +# meta: +# __serialized_columns__: +# background_rate: +# __class__: astropy.units.quantity.Quantity +# unit: !astropy.units.Unit {unit: 1 / min} +# value: !astropy.table.SerializedColumn {name: background_rate} +# gamma_rate: +# __class__: astropy.units.quantity.Quantity +# unit: !astropy.units.Unit {unit: 1 / min} +# value: !astropy.table.SerializedColumn {name: gamma_rate} +# max_energy: +# __class__: astropy.units.quantity.Quantity +# unit: &id001 !astropy.units.Unit {unit: GeV} +# value: !astropy.table.SerializedColumn {name: max_energy} +# min_energy: +# __class__: astropy.units.quantity.Quantity +# unit: *id001 +# value: !astropy.table.SerializedColumn {name: min_energy} +# comment: Crab results from 2.5 hrs of 55-62 zd data from 2016-2018. Dataset from Juliane van Scherpenberg. +# name: High zenith angle performance (MAGIC-only) +# schema: astropy-2.0 +min_energy max_energy gamma_rate background_rate +39.8 63.1 0.0 0.0 +63.0 100.0 0.0 0.0 +100.0 158.0 0.0 0.0 +158.0 251.0 0.0 0.0 +251.0 398.0 0.503462 0.750815 +398.0 631.0 1.60232 0.597588 +631.0 1000.0 2.26558 0.564753 +1000.0 1585.0 0.928094 0.089775 +1585.0 2512.0 0.698335 0.0568584 +2512.0 3981.0 0.305662 0.00954936 +3981.0 6310.0 0.173859 0.00344762 +6310.0 10000.0 0.083892 0.00147755 +10000.0 15848.9 0.069938 0.00229841 From 46d3aaee7178a6f982be25f05e48e7f8c8d83a02 Mon Sep 17 00:00:00 2001 From: Michele Peresano Date: Mon, 27 Oct 2025 17:13:21 +0100 Subject: [PATCH 5/6] Add MAGIC+LST1 high zenith data --- .../MAGIC_LST1_high_zenith_performance.ecsv | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/iact_estimator/resources/MAGIC_LST1_high_zenith_performance.ecsv diff --git a/src/iact_estimator/resources/MAGIC_LST1_high_zenith_performance.ecsv b/src/iact_estimator/resources/MAGIC_LST1_high_zenith_performance.ecsv new file mode 100644 index 0000000..fe2dc4b --- /dev/null +++ b/src/iact_estimator/resources/MAGIC_LST1_high_zenith_performance.ecsv @@ -0,0 +1,43 @@ +# %ECSV 1.0 +# --- +# datatype: +# - {name: min_energy, unit: GeV, datatype: float64} +# - {name: max_energy, unit: GeV, datatype: float64} +# - {name: gamma_rate, unit: 1 / min, datatype: float64} +# - {name: background_rate, unit: 1 / min, datatype: float64} +# meta: +# __serialized_columns__: +# background_rate: +# __class__: astropy.units.quantity.Quantity +# unit: !astropy.units.Unit {unit: 1 / min} +# value: !astropy.table.SerializedColumn {name: background_rate} +# gamma_rate: +# __class__: astropy.units.quantity.Quantity +# unit: !astropy.units.Unit {unit: 1 / min} +# value: !astropy.table.SerializedColumn {name: gamma_rate} +# max_energy: +# __class__: astropy.units.quantity.Quantity +# unit: &id001 !astropy.units.Unit {unit: GeV} +# value: !astropy.table.SerializedColumn {name: max_energy} +# min_energy: +# __class__: astropy.units.quantity.Quantity +# unit: *id001 +# value: !astropy.table.SerializedColumn {name: min_energy} +# comment: MC values computed at 59 zd angle, might be ~20% too optimistic >~1 TeV. Background increased by 40% above 1 TeV to account for MC optimism. +# name: MAGIC_LST1_high_zenith +# is_mc: true +# schema: astropy-2.0 +min_energy max_energy gamma_rate background_rate +39.81071705534972 63.09573444801933 0.0 0.0 +63.09573444801933 100.0 0.0 0.0 +100.0 158.48931924611136 0.0 0.0 +158.48931924611136 251.188643150958 0.0 0.0 +251.188643150958 398.1071705534973 0.6929 0.349 +398.1071705534973 630.9573444801933 2.0531 0.2163 +630.9573444801933 1000.0 1.5028 0.0393 +1000.0 1584.8931924611143 0.8963 0.01764 +1584.8931924611143 2511.886431509581 0.5915 0.00518 +2511.886431509581 3981.0717055349733 0.3513 0.00182 +3981.0717055349733 6309.573444801933 0.2314 0.00252 +6309.573444801933 10000.0 0.111 0.0007 +10000.0 15848.931924611143 0.0488 0.00084 From b2a70e2d71aa6b498eab8da862610975e187ae0e Mon Sep 17 00:00:00 2001 From: Michele Peresano Date: Tue, 28 Oct 2025 11:03:34 +0100 Subject: [PATCH 6/6] Add citation for Dr. J. van Scherpenberg PhD Thesis --- docs/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index f751c93..87184cf 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -83,7 +83,7 @@ References .. [1] Aleksić, J., et al., 2016, Astroparticle Physics, 72, 76 .. [2] Li, T.-P. & Ma, Y.-Q., 1983, ApJ, 272, 317 .. [3] Abe, H., et al., 2023, A&A, 670, A145 -.. [4] MAGIC Crab observations at 55-62° zenith (2016-2018), Dataset: J. van Scherpenberg +.. [4] MAGIC Crab observations at 55-62° zenith (2016-2018), Dataset: `Dr. J. van Scherpenberg PhD Thesis `_ .. [5] MAGIC+LST1 Monte Carlo simulations (conservative estimates for high zenith) .. toctree::