Commit 866897a5ba0189ab04e179b8de68c3486ba20dfd

Authored by Jürgen Knödlseder
1 parent ab3c32e7

Add information about calibration database handling

doc/source/user_manual/getting_started/response.rst
@@ -49,8 +49,8 @@ Data formats @@ -49,8 +49,8 @@ Data formats
49 ~~~~~~~~~~~~ 49 ~~~~~~~~~~~~
50 50
51 So far the data format of the CTA instrument response functions has not 51 So far the data format of the CTA instrument response functions has not
52 -yet been defined, and information about instrument response functions is  
53 -provided in various ways. Three types of data formats are so far supported: 52 +yet been settled, and information about instrument response functions is
  53 +provided in various ways. Three types of data formats are supported:
54 54
55 - :ref:`sec_cta_rsp_perftable` 55 - :ref:`sec_cta_rsp_perftable`
56 56
@@ -71,12 +71,9 @@ for any analysis. @@ -71,12 +71,9 @@ for any analysis.
71 71
72 .. note :: 72 .. note ::
73 73
74 - Instrument response functions are so far only available for a fixed 74 + Instrument response functions are so far only provided for a fixed
75 zenith angle of 20 deg. Therefore, no zenith or azimuth angle dependence has 75 zenith angle of 20 deg. Therefore, no zenith or azimuth angle dependence has
76 - been implented in the CTA response functions, but the dependence can be  
77 - handled by cutting the data into short time segments (typically of 30  
78 - minutes in length), and by specifying specific response functions for  
79 - each segment. 76 + been implemented so far.
80 77
81 78
82 Installing the CTA calibration database 79 Installing the CTA calibration database
@@ -89,13 +86,13 @@ the database is installed using @@ -89,13 +86,13 @@ the database is installed using
89 86
90 .. code-block:: bash 87 .. code-block:: bash
91 88
92 - $ [sudo] tar -C $CALDB -zxvf cta-caldb-20140216.tar.gz 89 + $ [sudo] tar -C $CALDB -zxvf cta-caldb-20140220.tar.gz
93 90
94 or 91 or
95 92
96 .. code-block:: bash 93 .. code-block:: bash
97 94
98 - $ [sudo] tar -C $CALDB -xvf cta-caldb-20140216.tar 95 + $ [sudo] tar -C $CALDB -xvf cta-caldb-20140220.tar
99 96
100 depending on whether the database has been retrieved as a gzipped file or 97 depending on whether the database has been retrieved as a gzipped file or
101 not. Depending on your access rights to the ``$CALDB`` directory, 98 not. Depending on your access rights to the ``$CALDB`` directory,
@@ -110,14 +107,14 @@ enviroment variable to @@ -110,14 +107,14 @@ enviroment variable to
110 107
111 $CTOOLS/share/caldb 108 $CTOOLS/share/caldb
112 109
113 -but it may be that some other software installation or configuration  
114 -setting on your system overwrites this location. If in doubt, type 110 +but it may be that due to some other analysis software on your system the
  111 +``CALDB`` environment variable points to another directory. If in doubt, type
115 112
116 .. code-block:: bash 113 .. code-block:: bash
117 114
118 echo $CALDB 115 echo $CALDB
119 116
120 -to find out to which directory your ``CALDB`` environment variable is set. 117 +to find out to which directory your ``CALDB`` environment variable points.
121 You may always overwrite this setting using 118 You may always overwrite this setting using
122 119
123 .. code-block:: bash 120 .. code-block:: bash
@@ -136,36 +133,123 @@ Specifying the CTA Instrument Response Functions @@ -136,36 +133,123 @@ Specifying the CTA Instrument Response Functions
136 133
137 The specification of the CTA Instrument Response Functions depends on the 134 The specification of the CTA Instrument Response Functions depends on the
138 way how ctools are used. Common to all methods is that the IRFs are 135 way how ctools are used. Common to all methods is that the IRFs are
139 -defined by a response name and a calibration database name. The latter  
140 -may in some cases be the path to a directory on your filesystem. 136 +defined by a response name and a calibration database name.
141 137
142 There are different means to specify the CTA Instrument Response Functions 138 There are different means to specify the CTA Instrument Response Functions
143 when using ctools, and the following section describe the 139 when using ctools, and the following section describe the
144 140
145 -Using individual event files  
146 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
147 141
148 -(to be written) 142 +Specifying the response function as input parameters
  143 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
149 144
  145 +ctools that require instrument response functions have two parameters
  146 +to specify the calibration database name and the response function name.
  147 +The following example shows a ``ctobssim`` run using the ``dummy``
  148 +calibration database and the ``cta_dummy_irf`` response function:
150 149
151 -Using observation definition files  
152 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 150 +.. code-block:: bash
  151 +
  152 + $ ctobssim
  153 + Model [$CTOOLS/share/models/crab.xml]
  154 + Calibration database [dummy]
  155 + Instrument response function [cta_dummy_irf]
  156 + RA of pointing (degrees) (0-360) [83.63]
  157 + Dec of pointing (degrees) (-90-90) [22.01]
  158 + Radius of FOV (degrees) (0-180) [5.0]
  159 + Start time (MET in s) (0) [0.0]
  160 + End time (MET in s) (0) [1800.0]
  161 + Lower energy limit (TeV) (0) [0.1]
  162 + Upper energy limit (TeV) (0) [100.0]
  163 + Output event data file or observation definition file [events.fits]
  164 +
  165 +Running the other tools is equivalent.
  166 +
  167 +
  168 +Specifying the response function in an observation definition file
  169 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  170 +
  171 +In the above example, only a single global response function can be
  172 +used for all CTA observations. If you need to specify response functions
  173 +per observation you can add the information directly in the XML observation
  174 +definition file:
153 175
154 -(to be written) 176 +.. code-block:: xml
  177 +
  178 + <observation_list title="observation library">
  179 + <observation name="Crab" id="00001" instrument="CTA">
  180 + <parameter name="EventList" file="events.fits"/>
  181 + <parameter name="Calibration" database="dummy" response="cta_dummy_irf"/>
  182 + </observation>
  183 + </observation_list>
  184 +
  185 +The ``Calibration`` parameter specifies the calibration database and
  186 +response name. You can then pass this file directly to, e.g., ``ctlike``:
  187 +
  188 +.. code-block:: bash
  189 +
  190 + $ ctlike
  191 + Event list, counts map or observation definition file [events.fits] obs_rsp.xml
  192 + Source model [$CTOOLS/share/models/crab.xml]
  193 + Source model output file [crab_results.xml]
  194 +
  195 +Note that ``ctlike`` does not ask for the calibration database and
  196 +response name as it found the relevant information in the XML file.
  197 +
  198 +.. _sec_cta_rsp_abspath:
  199 +
  200 +
  201 +Specifying individual instrument response files
  202 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  203 +
  204 +If you need even more control over individual response files, you can
  205 +specify them individually in the XML observation file as follows:
  206 +
  207 +.. code-block:: xml
  208 +
  209 + <observation_list title="observation library">
  210 + <observation name="Crab" id="00001" instrument="CTA">
  211 + <parameter name="EventList" file="events.fits"/>
  212 + <parameter name="EffectiveArea" file="$CALDB/data/cta/dummy/bcf/cta_dummy_irf.dat"/>
  213 + <parameter name="PointSpreadFunction" file="$CALDB/data/cta/dummy/bcf/cta_dummy_irf.dat"/>
  214 + <parameter name="EnergyDispersion" file="$CALDB/data/cta/dummy/bcf/cta_dummy_irf.dat"/>
  215 + <parameter name="Background" file="$CALDB/data/cta/dummy/bcf/cta_dummy_irf.dat"/>
  216 + </observation>
  217 + </observation_list>
155 218
156 219
157 From within a Python script 220 From within a Python script
158 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 221 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
159 222
160 -(to be written) 223 +The following example illustrates how to set the calibration database
  224 +and response name from within Python:
161 225
  226 +.. code-block:: python
162 227
163 -.. _sec_cta_rsp_abspath: 228 + import gammalib
  229 + obs = gammalib.GCTAObservation()
  230 + caldb = gammalib.GCaldb("cta", "dummy")
  231 + irf = "cta_dummy_irf"
  232 + obs.response(irf, caldb)
  233 +
  234 +The calibration database is set by creating a ``GCaldb`` object. The
  235 +constructor takes as argument the mission (always ``cta``) and the
  236 +database name, in our case ``dummy``. The response function is then set
  237 +by passing the response name (here ``cta_dummy_irf``) and the calibration
  238 +database object to the ``response`` method.
  239 +
  240 +Alternatively, you can specify a specific response file by using
  241 +
  242 +.. code-block:: python
164 243
165 -Using absolute path names to instrument response files  
166 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 244 + import gammalib
  245 + obs = gammalib.GCTAObservation()
  246 + caldb = gammalib.GCaldb("$CALDB/data/cta/dummy/bcf")
  247 + irf = "cta_dummy_irf.dat"
  248 + obs.response(irf, caldb)
167 249
168 -(to be written) 250 +Here, the directory in which the calibration file resides is specified
  251 +as argument to the ``GCaldb`` constructor, and the filename is passed
  252 +as response function name to the ``response`` method.
169 253
170 254
171 Data format details 255 Data format details