Mercurial > repos > astroteam > hess_astro_tool
diff hess_astro_tool.xml @ 0:02e4bb4fa10c draft
planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit 2991f65b25d4e6d1b69458603fce917adff40f94
author | astroteam |
---|---|
date | Mon, 19 Feb 2024 10:56:44 +0000 |
parents | |
children | 593c4b45eda5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hess_astro_tool.xml Mon Feb 19 10:56:44 2024 +0000 @@ -0,0 +1,217 @@ +<tool id="hess_astro_tool" name="HESS" version="0.0.1+galaxy0" profile="23.0"> + <requirements> + <requirement type="package" version="8.21.0">ipython</requirement> + <requirement type="package" version="5.3.4">astropy</requirement> + <requirement type="package" version="1.11.4">scipy</requirement> + <requirement type="package" version="1.10.13">pydantic</requirement> + <requirement type="package" version="4.66.2">tqdm</requirement> + <requirement type="package" version="1.1">gammapy</requirement> + <requirement type="package" version="3.8.3">matplotlib</requirement> + <requirement type="package" version="1.2.12">oda-api</requirement> + <!--Requirements string 'nb2workflow[cwl,service,rdf,mmoda]>=1.3.30 +' can't be converted automatically. Please add the galaxy/conda requirement manually or modify the requirements file!--> + <requirement type="package" version="7.16.0">nbconvert</requirement> + <requirement type="package" version="1.20.3">wget</requirement> + </requirements> + <command detect_errors="exit_code">ipython '$__tool_directory__/${_data_product._selector}.py'</command> + <configfiles> + <inputs name="inputs" filename="inputs.json" /> + </configfiles> + <inputs> + <conditional name="_data_product"> + <param name="_selector" type="select" label="Data Product"> + <option value="Image" selected="true">Image</option> + <option value="Spectrum" selected="false">Spectrum</option> + <option value="Spectrum_gammapy" selected="false">Spectrum_gammapy</option> + <option value="Lightcurve" selected="false">Lightcurve</option> + </param> + <when value="Image"> + <param name="src_name" type="text" value="Crab" label="src_name" /> + <param name="RA" type="float" value="83.6287" label="RA Units: deg" /> + <param name="DEC" type="float" value="22.0147" label="DEC Units: deg" /> + <param name="T1" type="text" value="2000-10-09T13:16:00.0" label="T1" /> + <param name="T2" type="text" value="2022-10-10T13:16:00.0" label="T2" /> + <param name="Radius" type="float" value="2.5" label="Radius Units: deg" /> + <param name="pixsize" type="float" value="0.1" label="Pixel size Units: deg" /> + <param name="Emin" type="float" value="100.0" label="Emin Units: GeV" /> + <param name="Emax" type="float" value="10000.0" label="Emax Units: GeV" /> + </when> + <when value="Spectrum"> + <param name="src_name" type="text" value="PKS 2155-304" label="src_name" /> + <param name="RA" type="float" value="329.716938" label="RA Units: deg" /> + <param name="DEC" type="float" value="-30.225588" label="DEC Units: deg" /> + <param name="T1" type="text" value="2000-10-09T13:16:00.0" label="T1" /> + <param name="T2" type="text" value="2022-10-10T13:16:00.0" label="T2" /> + <param name="Radius" type="float" value="2.5" label="Radius Units: deg" /> + <param name="R_s" type="float" value="0.2" label="R_s Units: deg" /> + <param name="Emin" type="float" value="100.0" label="Emin Units: GeV" /> + <param name="Emax" type="float" value="10000.0" label="Emax Units: GeV" /> + <param name="NEbins" type="integer" value="20" label="NEbins" /> + </when> + <when value="Spectrum_gammapy"> + <param name="src_name" type="text" value="PKS 2155-304" label="src_name" /> + <param name="RA" type="float" value="329.716938" label="RA Units: deg" /> + <param name="DEC" type="float" value="-30.225588" label="DEC Units: deg" /> + <param name="T1" type="text" value="2000-10-09T13:16:00.0" label="T1" /> + <param name="T2" type="text" value="2022-10-10T13:16:00.0" label="T2" /> + <param name="Radius" type="float" value="2.5" label="Radius Units: deg" /> + <param name="R_s" type="float" value="0.5" label="R_s Units: deg" /> + <param name="Emin" type="float" value="100.0" label="Emin Units: GeV" /> + <param name="Emax" type="float" value="10000.0" label="Emax Units: GeV" /> + <param name="NEbins" type="integer" value="20" label="NEbins" /> + </when> + <when value="Lightcurve"> + <param name="src_name" type="text" value="Crab" label="src_name" /> + <param name="RA" type="float" value="83.6287" label="RA Units: deg" /> + <param name="DEC" type="float" value="22.0147" label="DEC Units: deg" /> + <param name="T1" type="text" value="2003-10-09T13:16:00.0" label="T1" /> + <param name="T2" type="text" value="2005-10-10T13:16:00.0" label="T2" /> + <param name="Radius" type="float" value="2.5" label="Radius Units: deg" /> + <param name="R_s" type="float" value="0.2" label="R_s Units: deg" /> + <param name="Emin" type="float" value="100.0" label="Emin Units: GeV" /> + <param name="Emax" type="float" value="10000.0" label="Emax Units: GeV" /> + <param name="NTbins" type="integer" value="10" label="NTbins" /> + </when> + </conditional> + </inputs> + <outputs> + <data label="${tool.name} -> Image picture" name="out_Image_picture" format="auto" from_work_dir="picture_galaxy.output"> + <filter>_data_product['_selector'] == 'Image'</filter> + </data> + <data label="${tool.name} -> Image image" name="out_Image_image" format="auto" from_work_dir="image_galaxy.output"> + <filter>_data_product['_selector'] == 'Image'</filter> + </data> + <data label="${tool.name} -> Spectrum picture_png" name="out_Spectrum_picture_png" format="auto" from_work_dir="picture_png_galaxy.output"> + <filter>_data_product['_selector'] == 'Spectrum'</filter> + </data> + <data label="${tool.name} -> Spectrum spectrum_astropy_table" name="out_Spectrum_spectrum_astropy_table" format="auto" from_work_dir="spectrum_astropy_table_galaxy.output"> + <filter>_data_product['_selector'] == 'Spectrum'</filter> + </data> + <data label="${tool.name} -> Spectrum_gammapy picture_png" name="out_Spectrum_gammapy_picture_png" format="auto" from_work_dir="picture_png_galaxy.output"> + <filter>_data_product['_selector'] == 'Spectrum_gammapy'</filter> + </data> + <data label="${tool.name} -> Spectrum_gammapy spectrum_astropy_table" name="out_Spectrum_gammapy_spectrum_astropy_table" format="auto" from_work_dir="spectrum_astropy_table_galaxy.output"> + <filter>_data_product['_selector'] == 'Spectrum_gammapy'</filter> + </data> + <data label="${tool.name} -> Lightcurve picture" name="out_Lightcurve_picture" format="auto" from_work_dir="picture_galaxy.output"> + <filter>_data_product['_selector'] == 'Lightcurve'</filter> + </data> + <data label="${tool.name} -> Lightcurve lightcurve_astropy_table" name="out_Lightcurve_lightcurve_astropy_table" format="auto" from_work_dir="lightcurve_astropy_table_galaxy.output"> + <filter>_data_product['_selector'] == 'Lightcurve'</filter> + </data> + </outputs> + <tests> + <test expect_num_outputs="2"> + <conditional name="_data_product"> + <param name="_selector" value="Image" /> + <param name="src_name" value="Crab" /> + <param name="RA" value="83.6287" /> + <param name="DEC" value="22.0147" /> + <param name="T1" value="2000-10-09T13:16:00.0" /> + <param name="T2" value="2022-10-10T13:16:00.0" /> + <param name="Radius" value="2.5" /> + <param name="pixsize" value="0.1" /> + <param name="Emin" value="100.0" /> + <param name="Emax" value="10000.0" /> + </conditional> + <assert_stdout> + <has_text text="*** Job finished successfully ***" /> + </assert_stdout> + </test> + <test expect_num_outputs="2"> + <conditional name="_data_product"> + <param name="_selector" value="Spectrum" /> + <param name="src_name" value="PKS 2155-304" /> + <param name="RA" value="329.716938" /> + <param name="DEC" value="-30.225588" /> + <param name="T1" value="2000-10-09T13:16:00.0" /> + <param name="T2" value="2022-10-10T13:16:00.0" /> + <param name="Radius" value="2.5" /> + <param name="R_s" value="0.2" /> + <param name="Emin" value="100.0" /> + <param name="Emax" value="10000.0" /> + <param name="NEbins" value="20" /> + </conditional> + <assert_stdout> + <has_text text="*** Job finished successfully ***" /> + </assert_stdout> + </test> + <test expect_num_outputs="2"> + <conditional name="_data_product"> + <param name="_selector" value="Spectrum_gammapy" /> + <param name="src_name" value="PKS 2155-304" /> + <param name="RA" value="329.716938" /> + <param name="DEC" value="-30.225588" /> + <param name="T1" value="2000-10-09T13:16:00.0" /> + <param name="T2" value="2022-10-10T13:16:00.0" /> + <param name="Radius" value="2.5" /> + <param name="R_s" value="0.5" /> + <param name="Emin" value="100.0" /> + <param name="Emax" value="10000.0" /> + <param name="NEbins" value="20" /> + </conditional> + <assert_stdout> + <has_text text="*** Job finished successfully ***" /> + </assert_stdout> + </test> + <test expect_num_outputs="2"> + <conditional name="_data_product"> + <param name="_selector" value="Lightcurve" /> + <param name="src_name" value="Crab" /> + <param name="RA" value="83.6287" /> + <param name="DEC" value="22.0147" /> + <param name="T1" value="2003-10-09T13:16:00.0" /> + <param name="T2" value="2005-10-10T13:16:00.0" /> + <param name="Radius" value="2.5" /> + <param name="R_s" value="0.2" /> + <param name="Emin" value="100.0" /> + <param name="Emax" value="10000.0" /> + <param name="NTbins" value="10" /> + </conditional> + <assert_stdout> + <has_text text="*** Job finished successfully ***" /> + </assert_stdout> + </test> + </tests> + <help>This service provides analysis of publicly available sample “Data Level +3” (DL3) data of HESS gamma-ray telescope, described by `Hess +Collaboration (2018) <https://arxiv.org/abs/1810.04516>`__. Three types +of data products are generated: sky images, source lightcurves and +spectra. + +The sky images are count maps produced by histogramming of the events in +sky coordinates (Right Ascention and Declinaiton), in the energy range +that can be set by adjusting the ``Emin`` and ``Emax`` parameters and in +the time range that can be adjusted setting the ``T1`` (start time) and +``T2`` (stop time) parameters. + +The lightcurves are produced by hystrogramming of the events in time, in +the number ``NTbins`` of time intervals of equalt time width between +``T1`` (start time) and ``T2`` (stop time). The events are selected in a +desired energy range between ``Emin`` and ``Emax`` from a circular +region of the radius ``R_s`` (in degrees) around the source position +``RA``,\ ``DEC``. Conversion of the counts to the physical flux units is +done by dividing by the exposure time and effective area that is +extracted from the Instrument Response Functions (IRF). + +For the spectra, two alternative tools are considered. The service +``Spectrum`` performs histogramming of the events in energy, in the +number ``NEbins`` of energy bins homogeneously spaces in logarithm of +energy, beterrn ``Emin`` and ``Emax``. Conversion of the counts to the +physical flux units is done by dividing by the exposure time and +effective area that is extracted from the IRF. This method does not take +into account the energy bias and can result in a wrong spectral shape at +the low-energy threshold where the bias is strongest. + +An alternative spectral extraction is done using +`Gammapy <https://gammapy.org/>`__, following the script `Spectrum +Analysis <https://docs.gammapy.org/0.18.2/tutorials/spectrum_analysis.html>`__. +It performs forward folding of the spectral model (a cut-off powerlaw by +default) with the IRF and fits the folded model to the binned count data +in the energy range between ``Emin`` and ``Emax`` in ``NEbins`` +logarithmically spaced energy bins. +</help> + <citations> + <citation type="doi">10.5281/zenodo.1421098</citation> + </citations> +</tool> \ No newline at end of file