Skip to content

Commit d8de7a4

Browse files
authored
Merge pull request #219 from cta-observatory/prepare_0.8.1
Prepare changelog for 0.8.1 release
2 parents 5b6959f + 8336334 commit d8de7a4

File tree

6 files changed

+303
-282
lines changed

6 files changed

+303
-282
lines changed

CHANGES.rst

Lines changed: 300 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,300 @@
1+
pyirf 0.8.1 (2023-03-16)
2+
========================
3+
4+
5+
New Features
6+
------------
7+
8+
- Migrating the interpolation methods from ``pyirf.interpolation`` to interpolator
9+
objects, allowing for later inheritance for new algorithms and reusability. [`#210 <https://github.com/cta-observatory/pyirf/pull/210>`__]
10+
11+
12+
Maintenance
13+
-----------
14+
15+
- Add and enable ``towncrier`` in CI. [`#207 <https://github.com/cta-observatory/pyirf/pull/207>`__]
16+
17+
- Add a fixture containing three IRFs from `the prod5 IRF data-release <https://zenodo.org/record/5499840>`_
18+
for unit testing. Specifically the fixture contains the contents of:
19+
20+
- Prod5-North-20deg-AverageAz-4LSTs.180000s-v0.1.fits.gz.
21+
- Prod5-North-40deg-AverageAz-4LSTs.180000s-v0.1.fits.gz
22+
- Prod5-North-60deg-AverageAz-4LSTs.180000s-v0.1.fits.gz
23+
24+
The user has to download these irfs to ``irfs/`` using ``download_irfs.py``,
25+
github's CI does so automatically and caches them for convenience. [`#211 <https://github.com/cta-observatory/pyirf/pull/211>`__]
26+
27+
28+
Older releases
29+
==============
30+
31+
For releases between v0.4.1 and v0.8.1, please refer to `the GitHub releases page <https://github.com/cta-observatory/pyirf/releases>`_.
32+
33+
34+
.. _pyirf_0p4p1_release:
35+
36+
`0.4.1 <https://github.com/cta-observatory/pyirf/releases/tag/v0.4.1>`__ (2021-03-22)
37+
-------------------------------------------------------------------------------------
38+
39+
Summary
40+
+++++++
41+
42+
- Released March 22nd, 2021
43+
- 1 Contributors
44+
45+
Contributors
46+
++++++++++++
47+
48+
- Maximilian Nöthe
49+
50+
51+
Merged Pull Requests
52+
++++++++++++++++++++
53+
54+
- `#135 <https://github.com/cta-observatory/pyirf/pull/135>`_ Add functions to convert pyirf results to the corresponding gammapy classes
55+
- `#137 <https://github.com/cta-observatory/pyirf/pull/137>`_ Add example notebook for calculating point-lile IRFs from the FACT open data
56+
57+
58+
.. _pyirf_0p4p0_release:
59+
60+
`0.4.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.4.0>`__ (2020-11-09)
61+
-------------------------------------------------------------------------------------
62+
63+
Summary
64+
+++++++
65+
66+
- Released November 11th, 2020
67+
- 2 Contributors
68+
69+
Contributors
70+
++++++++++++
71+
72+
In order of number of commits:
73+
74+
- Maximilian Nöthe
75+
- Michele Peresano
76+
77+
78+
Description
79+
+++++++++++
80+
81+
This release is an important update that introduces three
82+
changes in the cut optimization, background estimation and sensitivity calculation.
83+
84+
Together, these changes bring the calculated sensitivities much closer to the ones calculated by
85+
EventDisplay.
86+
87+
* Scale the relative flux calculated to reach the target sensitivity
88+
up if the requirements on the minimum number of signal events are not met.
89+
Essentially, instead of always calculating the flux that
90+
yields ``target_sensitivity`` and then checking if the two other conditions are met,
91+
we increase the required flux to meet the other requirements.
92+
This can result in new sensitivities where before pyirf would report no sensitivities,
93+
and report better sensitivities everywhere where the event number conditions where not
94+
met before at the target significance.
95+
The best sensitivity now is the lowest flux that just barely satisfies all
96+
requirements (so is at the minimum requirement of one of the three).
97+
98+
* Differentiate between `reco_source_fov_offset` and `true_source_fov_offset`,
99+
using the former for background rates and the latter for everything concerning
100+
signal events.
101+
102+
* Change ``optimize_gh_cut`` to do the optimization in terms of efficiency and
103+
limit this efficiency to max. 80 % in the EventDisplay comparison.
104+
105+
106+
Smaller improvements also include:
107+
108+
* It is now possible to include a ``particle_type`` column in the event lists,
109+
which will result in additionally reporting all event counts also per ``particle_type``.
110+
E.g. if ``particle_type`` is included in the background table consisting of both
111+
electrons and protons, ``estimate_background`` will not only report ``n_background(_weighted)``
112+
but also ``n_electron(_weighted)`` and ``n_proton(_weighted)``
113+
114+
* ``relative_sensitivity`` now supports vectorized application and broadcasting
115+
of inputs, as previously wrongly advertized in the docstring.
116+
117+
118+
Related news
119+
++++++++++++
120+
121+
GammaPy ``0.18.0`` was released and includes fixes for IRF axis orders.
122+
The output of ``pyirf`` in GADF fits format can now be read by gammapy without
123+
problems.
124+
The workarounds for installing GammaPy is also no longer needed.
125+
126+
127+
Merged Pull Requests
128+
++++++++++++++++++++
129+
130+
Feature changes
131+
"""""""""""""""
132+
133+
- `#110 <https://github.com/cta-observatory/pyirf/pull/110>`_ Optimize cuts in efficiency steps with maximum efficiency of 80% for EventDisplay comparison
134+
- `#104 <https://github.com/cta-observatory/pyirf/pull/104>`_ Scale flux for conditions, differenatiate reco and true source_fov_offset
135+
- `#108 <https://github.com/cta-observatory/pyirf/pull/108>`_ Add counts / weighted counts per particle type
136+
- `#107 <https://github.com/cta-observatory/pyirf/pull/107>`_ Small update to installation instructions
137+
- `#106 <https://github.com/cta-observatory/pyirf/pull/106>`_ Use vectorize for relative_sensitivity
138+
139+
Project maintenance
140+
"""""""""""""""""""
141+
142+
- `#102 <https://github.com/cta-observatory/pyirf/pull/102>`_ Require astropy >= 4.0.2
143+
- `#100 <https://github.com/cta-observatory/pyirf/pull/100>`_ Fix deploy condition in travis yml
144+
145+
146+
.. _pyirf_0p3p0_release:
147+
148+
`0.3.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.3.0>`__ (2020-10-05)
149+
-------------------------------------------------------------------------------------
150+
151+
Summary
152+
+++++++
153+
154+
- Released October 5th, 2020
155+
- 5 Contributors
156+
157+
Contributors
158+
++++++++++++
159+
160+
In order of number of commits:
161+
162+
- Maximilian Nöthe
163+
- Michele Peresano
164+
- Noah Biederbeck
165+
- Lukas Nickel
166+
- Gaia Verna
167+
168+
169+
Description
170+
+++++++++++
171+
172+
This release is the result of the IRF sprint week in September 2020.
173+
Many bug fixes and improvements were made to the code.
174+
175+
As the target for the sprint week was to reproduce the approach of ``EventDisplay`` and
176+
the resulting IRFs, one scheme of cut optimization is implemented.
177+
The ``examples/calculate_eventdisplay_irfs.py`` should follow the approach
178+
of ``EventDisplay`` closely and shows what is currently implemented in ``pyirf``.
179+
In the central and upper energy range, ``pyirf`` now reproduces the ``EventDisplay`` sensitivity
180+
exactly, the lower energy bins still show some disagreement.
181+
The cut optimization seems not yet to be the same as EventDisplay's and will be further investigated.
182+
This example could be used as a starting point if you also want to do cut optimization for best sensitivity.
183+
184+
185+
At least one version of each IRF is now implemented and can be stored in the GADF format.
186+
Computation of full-enclosure IRFs should be possible but is of now not yet tested
187+
on a reference dataset.
188+
189+
190+
Merged Pull Requests
191+
++++++++++++++++++++
192+
193+
- `#97 <https://github.com/cta-observatory/pyirf/pull/97>`_ Store correct signal amount, store information on which checks failed for sensitivity bins (Maximilian Nöthe)
194+
- `#96 <https://github.com/cta-observatory/pyirf/pull/96>`_ Add integration test (Michele Peresano)
195+
- `#98 <https://github.com/cta-observatory/pyirf/pull/98>`_ Remove option point_like for psf (Maximilian Nöthe)
196+
- `#95 <https://github.com/cta-observatory/pyirf/pull/95>`_ Cut updates (Maximilian Nöthe)
197+
- `#91 <https://github.com/cta-observatory/pyirf/pull/91>`_ Fix conditions to take relative sensitivity into account, fixes #90 (Maximilian Nöthe)
198+
- `#89 <https://github.com/cta-observatory/pyirf/pull/89>`_ Fix brentq returning the lower bound of 0 for flat li ma function (Maximilian Nöthe)
199+
- `#85 <https://github.com/cta-observatory/pyirf/pull/85>`_ Improve comparison to EventDisplay (Maximilian Nöthe)
200+
- `#75 <https://github.com/cta-observatory/pyirf/pull/75>`_ Add a function to check a table for required cols / units (Maximilian Nöthe)
201+
- `#86 <https://github.com/cta-observatory/pyirf/pull/86>`_ Fix Li & Ma significance for n_off = 0 (Maximilian Nöthe)
202+
- `#76 <https://github.com/cta-observatory/pyirf/pull/76>`_ Feature resample histogram (Noah Biederbeck, Lukas Nickel)
203+
- `#79 <https://github.com/cta-observatory/pyirf/pull/79>`_ Fix integration of power law pdf in simulations.py (Gaia Verna)
204+
- `#80 <https://github.com/cta-observatory/pyirf/pull/80>`_ Estimate unique runs taking pointing pos into account (Maximilian Nöthe)
205+
- `#71 <https://github.com/cta-observatory/pyirf/pull/71>`_ Background estimation (Maximilian Nöthe)
206+
- `#78 <https://github.com/cta-observatory/pyirf/pull/78>`_ Change argument order in create_rad_max_hdu (Lukas Nickel)
207+
- `#77 <https://github.com/cta-observatory/pyirf/pull/77>`_ Calculate optimized cut on only the events surviving gh separation (Maximilian Nöthe)
208+
- `#68 <https://github.com/cta-observatory/pyirf/pull/68>`_ Effective area 2d (Maximilian Nöthe)
209+
- `#67 <https://github.com/cta-observatory/pyirf/pull/67>`_ Add method integrating sim. events in FOV bins (Maximilian Nöthe)
210+
- `#63 <https://github.com/cta-observatory/pyirf/pull/63>`_ Verify hdus using ogadf-schema (Maximilian Nöthe)
211+
- `#58 <https://github.com/cta-observatory/pyirf/pull/58>`_ Implement Background2d (Maximilian Nöthe)
212+
- `#52 <https://github.com/cta-observatory/pyirf/pull/52>`_ Add sections about tests, coverage and building docs to docs (Maximilian Nöthe)
213+
- `#46 <https://github.com/cta-observatory/pyirf/pull/46>`_ Add PyPI deploy and metadata (Maximilian Nöthe)
214+
215+
216+
.. _pyirf_0p2p0_release:
217+
218+
`0.2.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.2.0>`__ (2020-09-27)
219+
-------------------------------------------------------------------------------------
220+
221+
Summary
222+
+++++++
223+
224+
- Released September 27th, 2020
225+
- 4 Contributors
226+
227+
Contributors
228+
++++++++++++
229+
230+
In order of number of commits:
231+
232+
- Maximilian Nöthe
233+
- Michele Peresano
234+
- Lukas Nickel
235+
- Hugo van Kemenade
236+
237+
238+
Description
239+
+++++++++++
240+
241+
For this version, pyirf's API was completely rewritten from scratch,
242+
merging code from several projects (pyirf, pyfact, fact-project/irf) to provide a library to compute IACT
243+
IRFs and sensitivity and store them in the GADF data format.
244+
245+
The class based API using a configuration file was replaced by a finer grained
246+
function based API.
247+
248+
Implemented are point-like IRFs and sensitivity.
249+
250+
This release was the starting point for the IRF sprint week in September 2020,
251+
where the refactoring continued.
252+
253+
254+
Merged Pull Requests
255+
++++++++++++++++++++
256+
257+
- `#36 <https://github.com/cta-observatory/pyirf/pull/36>`_ Start refactoring pyirf (Maximilian Nöthe, Michele Peresano, Lukas Nickel)
258+
- `#35 <https://github.com/cta-observatory/pyirf/pull/35>`_ Cleanup example notebook (Maximilian Nöthe, Michele Peresano, Lukas Nickel)
259+
- `#37 <https://github.com/cta-observatory/pyirf/pull/37>`_ Move to python >= 3.6 (Hugo van Kemenade)
260+
261+
262+
263+
.. _pyirf_0p1p0_release:
264+
265+
`0.1.0 <https://github.com/cta-observatory/pyirf/releases/tag/v0.1.0>`__ (2020-09-16)
266+
-------------------------------------------------------------------------------------
267+
268+
This is a pre-release.
269+
270+
- Released September 16th, 2020
271+
272+
273+
.. _pyirf_0p1p0alpha_prerelease:
274+
275+
`0.1.0-alpha <https://github.com/cta-observatory/pyirf/releases/tag/v0.1.0-alpha>`__ (2020-05-27)
276+
-------------------------------------------------------------------------------------------------
277+
278+
Summary
279+
+++++++
280+
281+
This is a pre-release.
282+
283+
- Released May 27th, 2020
284+
- 3 contributors
285+
286+
Description
287+
+++++++++++
288+
289+
- Started basic maintenance
290+
- Started refactoring
291+
- First tests with CTA-LST data
292+
293+
Contributors
294+
++++++++++++
295+
296+
In alphabetical order by last name:
297+
298+
- Lea Jouvin
299+
- Michele Peresano
300+
- Thomas Vuillaume

0 commit comments

Comments
 (0)