
Summary In this repository, we provide some auxiliary material in connection to our paper “Curvature in the very-high energy gamma-ray spectrum of M87" accepted for publication in the Astronomy and Astrophysics (A&A) Journal and available on Arxiv through the ID arXiv:2402.13330. For the full list of authors, please refer to the paper. In the publication, we study the very-high energy gamma-ray spectrum of a stacked high emission state of M87 using H.E.S.S. observations. We detect a curvature in the spectrum that is not related to the EBL absorption. In addition to that, we show that the gamma-gamma absorption by star light from the galaxy is weak to explain the measured curvature and that it is unlikely that different high states with similar spectral distribution could be able to explain the same curvature. Data and example code ECSV tables The ecsv tables provide the means to reproduce the figures found in the paper. They can be opened with `astropy.QTable` as demonstrated below. from astropy.table import QTable table = QTable.read('Fig1_lightcurve_table.ecsv') print(table) The following example shows how to reproduce Fig. A2 from the paper (the modules imported are needed in the loaded enviroment): from astropy.table import QTable from scipy.stats import gmean %matplotlib inline import matplotlib.pyplot as plt import numpy as np import seaborn as sns from ebltable.ebl_from_model import EBL cmap = sns.color_palette("colorblind", as_cmap=True) colors = sns.color_palette("colorblind", 6) ebl = {} for m in ["finke2022", "kneiske", "dominguez-upper"]: ebl[m] = EBL.readmodel(m) lmu = np.logspace(-1,3.,100) z = 0.0042 nuInu = {} for m, e in ebl.items(): nuInu[m] = e.ebl_array(z,lmu) nuInu table = QTable.read('FigA2_EBL_ULs.ecsv') wavelengths = table["Wavelength"].value wavelengths = wavelengths counter = 0 for m in ["finke2022", "kneiske", "dominguez-upper"]: plt.loglog(lmu,nuInu[m], lw = 2.,label=f"{m} UL", color=colors[counter] ) ULs = table[f"{m} UL"][(wavelengths>12.4)*(wavelengths12.4)*(wavelengths12.4)*(wavelengths<40)]), np.median(ULs), 0, -0.2*np.median(ULs), head_width=5 ,head_length=0.1*np.median(ULs), alpha=0.5, color=colors[counter]) counter+=1 plt.gca().set_xlabel('Wavelength ($\mu$m)',size = 'x-large') plt.gca().set_ylabel(r'$\nu I_\nu (\mathrm{nW}\,\mathrm{sr}^{-1}\mathrm{m}^{-2})$',size = 'x-large') plt.legend(loc = 'lower center', ncol = 2) plt.tight_layout() plt.show() Text files The text files provide the gammapy fit results for the various analyses in the main text of the paper. For a complete definition of the models, we refer the reader to the paper. The name of the file is given by fit_stacked_M87_MODEL_flux_90perc_ENERGYRANGE_90perc.txt, where MODEL is the spectral model fitted (e.g., PLxEBLfinke2022 or PLxEBLfinke2022-free in case the EBL intensity alpha_norm is a free parameter) and ENERGYRANGE is the energy range of the reduced dataset (e.g., 0.3_31.6TeV).
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
