Comments (1)
The issue most likely comes from the way we compute stacked acceptances.
Reminder, for excess calculation with ON-OFF data:
- for a single dataset we have
$N_{excess}$ and$\alpha$ :
$$N_{excess} = N_{ON} - \alpha N_{OFF} $$ - with
$\alpha = \frac{Acc_{ON}}{Acc_{OFF}}$ the ratio of ON and OFF acceptances - to guarantee correct number of excess when stacking one has to compute an
$N_{OFF}$ -weighted$\alpha$ , such that:
- with:
$$\bar{\alpha} = \frac{\sum_i \alpha_i N_{OFF,i}}{\sum_i N_{OFF,i}}$$
Usage in Gammapy
- This principle is applied :
- when stacking ON-OFF datasets
- when computing the correlated maps in
ExcessMapEstimator
A caveat
- this does not say what to do with the ON and OFF acceptances, in Gammapy we assume that the stacked acceptances are:
$$\bar{A}cc_{ON} = 1 \quad \text and \quad \bar{A}cc_{OFF} = \frac{1}{\bar{\alpha}}$$ - This choice is problematic as it removes all information on where the events actually come from
- We should instead stack
$Acc$ to represent the sum of acceptances taking into account the safe mask:
- and
$$\bar{A}cc_{OFF} = \sum_i Acc_{i}\ \epsilon_i \times \frac{\sum_i N_{OFF,i}}{\sum_i \alpha_i N_{OFF,i}}$$
from gammapy.
Related Issues (20)
- gammapy.visualization.plot_distribution does not work with non-array representation of axes HOT 2
- Keyword argument in `FluxPoints.read` shares name with arbitrary keyword argument. HOT 2
- Implement an estimator for the computation of Dark Matter upper limits HOT 2
- WcsNDmap fill_by_coord creating strange wavy patterns in spectra HOT 1
- Fit.covariance fails with default optimize_result argument=None
- TypeError when np.isnan is called on strings (modelings.models.core, writing a model to disk) HOT 1
- A generalised 1D model HOT 1
- TemplateSpatialModel.__init__ does not check for nan values in input map HOT 1
- LabelMapAxis re-orders labels HOT 1
- EBLAbsorptionNormSpectralModel.read_builtin('finke') --> IORegistryError: Format could not be identified HOT 3
- `SpectrumDatasetOnOff.plot_fit` shows residuals only within `mask_safe` HOT 4
- Named arguments aren't checked for some functions (leading to fat-fingering bugs)
- Consider other types of sample interpolation
- Not able to reproduce spiral arms plot with Faucher model using radius and theta HOT 1
- 3PC model fallback when the "b free" fit is not available
- Add an `inverted` parameter on `Observations.select_time`
- Sorting events by time with `MapDatasetEventSampler` HOT 1
- Allow for dowloading dataset from external repository HOT 1
- 'release' not showing as number in new sphinx HOT 1
- Gammpy.org issues on mobile phone HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gammapy.