X-ray: Generate and Analyse is a module designed to make the analysis of XMM observations simple and efficient. It provides an interface with SAS for the creation of XMM data products, as well as a way to easily perform fits (scalable for multiple observations) and retrieve information about an object, all within a Python package.
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/xspec/run.py in wrapper(*args, *kwargs)
152 # run_type describes the type of XSPEC script being run, for instance a fit or a fakeit run to measure
153 # countrate to luminosity conversion constants
--> 154 script_list, paths, cores, run_type, src_inds, radii, timeout = xspec_func(args, **kwargs)
155 src_lookup = {repr(src): src_ind for src_ind, src in enumerate(sources)}
156 rel_src_repr = [repr(sources[src_ind]) for src_ind in src_inds]
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/xspec/fit/_common.py in _pregen_spectra(sources, outer_radius, inner_radius, group_spec, min_counts, min_sn, over_sample, one_rmf, num_cores, stacked_spectra)
73 elif tel == 'erosita':
74 # This is the spectrum generation tool that is specific to eROSITA
---> 75 sources = srctool_spectrum(sources, outer_radius, inner_radius, group_spec, min_counts, min_sn, num_cores,
76 False, stacked_spectra)
77 else:
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/generate/esass/run.py in wrapper(*args, **kwargs)
151 if product.type is not None and product.usable and prod_type_str != "annular spectrum set components":
152 # For each product produced for this source, we add it to the storage hierarchy
--> 153 sources[ind].update_products(product)
154 elif product.type is not None and product.usable and prod_type_str == "annular spectrum set components":
155 # Really we're just re-creating the results dictionary here, but I want these products
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/sources/base.py in update_products(self, prod_obj, update_inv)
2520 raise NotAssociatedError("{t}-{o} is not associated with source {n}.".format(t=tel, o=obs_id,
2521 n=self.name))
-> 2522 elif inst != "combined" and inst not in self.instruments[tel][obs_id]:
2523 raise NotAssociatedError("{i} is not associated with {t} observation "
2524 "{o} for source {n}.".format(i=inst, o=obs_id,
single_temp_apec(srcs, Quantity(1000, 'kpc'), stacked_spectra=False, lum_en=lum_en, freeze_temp=False)
KeyError Traceback (most recent call last) /tmp/ipykernel_165722/55123879.py in
----> 1 single_temp_apec(srcs, Quantity(1000, 'kpc'), stacked_spectra=False, lum_en=lum_en, freeze_temp=False)
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/xspec/run.py in wrapper(*args, *kwargs) 152 # run_type describes the type of XSPEC script being run, for instance a fit or a fakeit run to measure 153 # countrate to luminosity conversion constants --> 154 script_list, paths, cores, run_type, src_inds, radii, timeout = xspec_func(args, **kwargs) 155 src_lookup = {repr(src): src_ind for src_ind, src in enumerate(sources)} 156 rel_src_repr = [repr(sources[src_ind]) for src_ind in src_inds]
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/xspec/fit/general.py in single_temp_apec(sources, outer_radius, inner_radius, start_temp, start_met, lum_en, freeze_nh, freeze_met, freeze_temp, lo_en, hi_en, par_fit_stat, lum_conf, abund_table, fit_method, group_spec, min_counts, min_sn, over_sample, one_rmf, num_cores, spectrum_checking, timeout, stacked_spectra) 89 """ 90 ---> 91 sources, inn_rad_vals, out_rad_vals = _pregen_spectra(sources, outer_radius, inner_radius, group_spec, min_counts, 92 min_sn, over_sample, one_rmf, num_cores, stacked_spectra) 93 sources = _check_inputs(sources, lum_en, lo_en, hi_en, fit_method, abund_table, timeout)
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/xspec/fit/_common.py in _pregen_spectra(sources, outer_radius, inner_radius, group_spec, min_counts, min_sn, over_sample, one_rmf, num_cores, stacked_spectra) 73 elif tel == 'erosita': 74 # This is the spectrum generation tool that is specific to eROSITA ---> 75 sources = srctool_spectrum(sources, outer_radius, inner_radius, group_spec, min_counts, min_sn, num_cores, 76 False, stacked_spectra) 77 else:
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/generate/esass/run.py in wrapper(*args, **kwargs) 151 if product.type is not None and product.usable and prod_type_str != "annular spectrum set components": 152 # For each product produced for this source, we add it to the storage hierarchy --> 153 sources[ind].update_products(product) 154 elif product.type is not None and product.usable and prod_type_str == "annular spectrum set components": 155 # Really we're just re-creating the results dictionary here, but I want these products
/mnt/pact/dt237/code/PycharmProjects/XGA/xga/sources/base.py in update_products(self, prod_obj, update_inv) 2520 raise NotAssociatedError("{t}-{o} is not associated with source {n}.".format(t=tel, o=obs_id, 2521 n=self.name)) -> 2522 elif inst != "combined" and inst not in self.instruments[tel][obs_id]: 2523 raise NotAssociatedError("{i} is not associated with {t} observation " 2524 "{o} for source {n}.".format(i=inst, o=obs_id,
KeyError: 'combined'