Commit d315b8c8d0b6e9fa9360544ce9514f6c8cd7eb63

Authored by Jürgen Knödlseder
1 parent dfa1decc

Integrate code.

ChangeLog
  1 +2015-11-24 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>
  2 +
  3 + * Version 1.1.0 released
  4 + ========================
  5 +
  6 + Add csobsinfo, csmodelinfo, csmodelmerge, cstsmapmerge (#1578)
  7 +
  8 +
1 9 2015-11-06 Juergen Knoedlseder <jurgen.knodlseder@irap.omp.eu>
2 10  
3 11 * Version 1.0.0 released
... ...
1   -New Features and Important Changes in ctools 1.0.0
  1 +New Features and Important Changes in ctools 1.1.0
2 2  
3 3 Author(s) : Juergen Knoedlseder
4 4  
5   -6 November 2015
  5 +24 November 2015
6 6  
7 7  
8 8 1. Introduction
9 9 ---------------
10 10 This document briefly summarizes executable by executable the most important
11 11 changes made since the last release of ctools. The code complies to GammaLib
12   -version 1.0.0 or above.
  12 +version 1.1.0 or above.
13 13  
14 14  
15 15 2. Configuration
... ... @@ -79,8 +79,7 @@ None
79 79  
80 80 15. ctcubemask - CTA cube filtering
81 81 -----------------------------------
82   -Allow to ignore the spatial filtering by specifying NONE parameters for "ra",
83   -"dec" or "rad".
  82 +None
84 83  
85 84  
86 85 16. ctbutterfly - Generate butterfly diagrams
... ... @@ -100,10 +99,11 @@ None
100 99  
101 100 19. cscripts
102 101 ------------
103   -The csspec script now handled correctly stacked data. Dependent on the
104   -requested energy binning, it selects for each spectral energy bin the
105   -relevant energy bins from the counts cube and performs a maximum likelihood
106   -analysis.
  102 +The following scripts have been added:
  103 +- csobsinfo: dump information in observation container
  104 +- csmodelinfo: dump information in model container
  105 +- csmodelmerge: merge model containers into single container
  106 +- cstsmapmerge: merge sliced TS map into single map
107 107  
108 108  
109 109 20. Examples
... ...
1 1 ctools information
2 2 ==================
3   -Version: 0.10.0 (31 October 2015)
  3 +Version: 1.1.0 (24 November 2015)
4 4 Author: Juergen Knodlseder (jurgen.knodlseder@irap.omp.eu)
5   -GammaLib dependency: 0.11.0
  5 +GammaLib dependency: 1.1.0
6 6  
7 7  
8 8 License information
... ...
cscripts/Makefile.am
... ... @@ -9,8 +9,8 @@ pythonscripts = __init__.py \
9 9  
10 10 # Scripts for which symbolic links will be created in bindir
11 11 linkscripts = cspull cssens cstsdist cscaldb csresmap \
12   - cshessobs csobsdef csspec cslightcrv csobsinfo csmodelmerge \
13   - csinfo csmodelinfo cstsmapmerge
  12 + cshessobs csobsdef csspec cslightcrv csobsinfo \
  13 + csinfo csmodelinfo csmodelmerge cstsmapmerge
14 14  
15 15 # Distribute scripts
16 16 EXTRA_DIST = $(binscripts) $(pythonscripts)
... ...
cscripts/csmodelinfo.py
... ... @@ -23,15 +23,16 @@ import ctools
23 23 import sys
24 24  
25 25  
26   -# =============== #
27   -# cshessobs class #
28   -# =============== #
  26 +# ================= #
  27 +# csmodelinfo class #
  28 +# ================= #
29 29 class csmodelinfo(ctools.cscript):
30 30 """
31   - This class dumps information about a model container into a logfile or on screen.
32   - This might be helpful for quick access to the model container, e.g. number of sources,
33   - background models, free and fixed parameters etc.
34   - The tool can also dump the models into a region file to display e.g. with ds9.
  31 + This class dumps information about a model container into a logfile or
  32 + on screen. This might be helpful for quick access to the model container,
  33 + showing, e.g., number of sources, background models, free and fixed
  34 + parameters etc. The tool can also dump the models into a region file to
  35 + display e.g. with ds9.
35 36 """
36 37 def __init__(self, *argv):
37 38 """
... ... @@ -39,7 +40,7 @@ class csmodelinfo(ctools.cscript):
39 40 """
40 41 # Set name
41 42 self.name = "csmodelinfo"
42   - self.version = "0.1.0"
  43 + self.version = "1.1.0"
43 44  
44 45 # Make sure that parfile exists
45 46 file = self.parfile()
... ... @@ -69,7 +70,8 @@ class csmodelinfo(ctools.cscript):
69 70 def parfile(self):
70 71 """
71 72 Check if parfile exists. If parfile does not exist then create a
72   - default parfile. This kluge avoids shipping the cscript with a parfile.
  73 + default parfile. This kluge avoids shipping the cscript with a
  74 + parfile.
73 75 """
74 76  
75 77 # Set parfile name
... ... @@ -108,10 +110,10 @@ class csmodelinfo(ctools.cscript):
108 110 Get parameters from parfile and setup the observation.
109 111 """
110 112 # Get models
111   - self.models = gammalib.GModels(self["inmodel"].filename())
  113 + self.models = gammalib.GModels(self["inmodel"].filename())
112 114  
113   - # Get ds9 file
114   - self.ds9file = self["ds9file"].filename()
  115 + # Get ds9 filename
  116 + self.ds9file = self["ds9file"].filename()
115 117  
116 118 # Get hidden parameters for region file
117 119 self.pnt_type = self["pnt_type"].string()
... ... @@ -128,7 +130,6 @@ class csmodelinfo(ctools.cscript):
128 130  
129 131 # Return
130 132 return
131   -
132 133  
133 134 def run(self):
134 135 """
... ... @@ -321,7 +322,7 @@ class csmodelinfo(ctools.cscript):
321 322  
322 323 def save(self):
323 324 """
324   - Save pointings to ds9 region file if required
  325 + Save models to ds9 region file if required
325 326 """
326 327  
327 328 # Check if ds9 file is valid
... ... @@ -479,7 +480,6 @@ class csmodelinfo(ctools.cscript):
479 480 # Return string
480 481 return ds9string
481 482  
482   -
483 483 def execute(self):
484 484 """
485 485 Execute the script.
... ...
cscripts/csmodelmerge.py
... ... @@ -24,12 +24,13 @@ import sys
24 24 import glob
25 25  
26 26  
27   -# =============== #
28   -# cshessobs class #
29   -# =============== #
  27 +# ================== #
  28 +# csmodelmerge class #
  29 +# ================== #
30 30 class csmodelmerge(ctools.cscript):
31 31 """
32   - This class merges an arbitray number of model container into one output model XML file
  32 + This class merges an arbitray number of model container into one output
  33 + model XML file.
33 34 """
34 35 def __init__(self, *argv):
35 36 """
... ... @@ -37,7 +38,7 @@ class csmodelmerge(ctools.cscript):
37 38 """
38 39 # Set name
39 40 self.name = "csmodelmerge"
40   - self.version = "0.1.0"
  41 + self.version = "1.1.0"
41 42  
42 43 # Make sure that parfile exists
43 44 file = self.parfile()
... ... @@ -67,7 +68,8 @@ class csmodelmerge(ctools.cscript):
67 68 def parfile(self):
68 69 """
69 70 Check if parfile exists. If parfile does not exist then create a
70   - default parfile. This kluge avoids shipping the cscript with a parfile.
  71 + default parfile. This kluge avoids shipping the cscript with a
  72 + parfile.
71 73 """
72 74  
73 75 # Set parfile name
... ... @@ -116,7 +118,9 @@ class csmodelmerge(ctools.cscript):
116 118  
117 119 # Throw exception if input models cannot be decoded
118 120 else:
119   - msg = "Parameter \"inmodels\" must contain either an @ASCII file, a comma-separated or space-separated list of files or a wildcard string"
  121 + msg = "Parameter \"inmodels\" must contain either an @ASCII"+\
  122 + " file, a comma-separated or whitespace-separated list"+\
  123 + " of files or a wildcard string"
120 124 raise gammalib.GException.invalid_argument("csmodelmerge::get_parameters", msg)
121 125  
122 126 # Get output file
... ... @@ -125,7 +129,6 @@ class csmodelmerge(ctools.cscript):
125 129 # Return
126 130 return
127 131  
128   -
129 132 def run(self):
130 133 """
131 134 Run the script.
... ... @@ -141,13 +144,13 @@ class csmodelmerge(ctools.cscript):
141 144 if self.logTerse():
142 145 self.log_parameters()
143 146 self.log("\n")
144   -
  147 +
  148 + # Dump header
145 149 if self.logTerse():
146 150 self.log("\n")
147 151 self.log.header1("Merging Models")
148 152 self.log("\n")
149   -
150   -
  153 +
151 154 # Initialise output model container
152 155 self.models = gammalib.GModels()
153 156  
... ... @@ -172,7 +175,6 @@ class csmodelmerge(ctools.cscript):
172 175 """
173 176 Save pointings to ds9 region file if required
174 177 """
175   -
176 178 # Logging
177 179 if self.logExplicit():
178 180 self.log("\n")
... ... @@ -185,7 +187,6 @@ class csmodelmerge(ctools.cscript):
185 187 # Return
186 188 return
187 189  
188   -
189 190 def execute(self):
190 191 """
191 192 Execute the script.
... ...
cscripts/csobsinfo.py
... ... @@ -24,13 +24,13 @@ import sys
24 24  
25 25  
26 26 # =============== #
27   -# cshessobs class #
  27 +# csobsinfo class #
28 28 # =============== #
29 29 class csobsinfo(ctools.cscript):
30 30 """
31   - This class dumps information about an observation container into a logfile or on screen.
32   - This might be helpful for quick access to an observation container, e.g. total lifetime,
33   - energy range etc.
  31 + This class dumps information about an observation container into a
  32 + logfile or on screen. This might be helpful for quick access to an
  33 + observation container showing, e.g., total lifetime, energy range etc.
34 34 """
35 35 def __init__(self, *argv):
36 36 """
... ... @@ -38,7 +38,7 @@ class csobsinfo(ctools.cscript):
38 38 """
39 39 # Set name
40 40 self.name = "csobsinfo"
41   - self.version = "0.1.0"
  41 + self.version = "1.1.0"
42 42  
43 43 # Make sure that parfile exists
44 44 file = self.parfile()
... ... @@ -68,7 +68,8 @@ class csobsinfo(ctools.cscript):
68 68 def parfile(self):
69 69 """
70 70 Check if parfile exists. If parfile does not exist then create a
71   - default parfile. This kluge avoids shipping the cscript with a parfile.
  71 + default parfile. This kluge avoids shipping the cscript with a
  72 + parfile.
72 73 """
73 74  
74 75 # Set parfile name
... ... @@ -104,18 +105,19 @@ class csobsinfo(ctools.cscript):
104 105  
105 106 # Initialise object position
106 107 self.obj_dir = gammalib.GSkyDir()
107   -
  108 +
  109 + # Get (optional) offset parameters
108 110 self.m_offset = self["offset"].boolean()
109 111 if self.m_offset:
110   - ra = self["ra"].real()
  112 + ra = self["ra"].real()
111 113 dec = self["dec"].real()
112 114 self.obj_dir.radec_deg(ra,dec)
113   -
  115 +
  116 + # Get (optional) DS9 filename
114 117 self.ds9file = self["ds9file"].filename()
115 118  
116 119 # Return
117 120 return
118   -
119 121  
120 122 def run(self):
121 123 """
... ... @@ -135,21 +137,21 @@ class csobsinfo(ctools.cscript):
135 137  
136 138 # Initialise arrays to store certain values for reuse
137 139 # Todo, think about using a python dictionary
138   - self.offsets = []
139   - self.zeniths = []
  140 + self.offsets = []
  141 + self.zeniths = []
140 142 self.azimuths = []
141   - self.pnt_ra = []
142   - self.pnt_dec = []
143   - obs_names = []
  143 + self.pnt_ra = []
  144 + self.pnt_dec = []
  145 + obs_names = []
144 146  
145 147 # Initialise output to be filled
146   - self.ebounds = gammalib.GEbounds()
147   - self.gti = gammalib.GGti()
148   - ontime = 0.0
149   - livetime = 0.0
150   - n_events = 0
151   - n_eventbins = 0
152   - n_obs_binned = 0
  148 + self.ebounds = gammalib.GEbounds()
  149 + self.gti = gammalib.GGti()
  150 + ontime = 0.0
  151 + livetime = 0.0
  152 + n_events = 0
  153 + n_eventbins = 0
  154 + n_obs_binned = 0
153 155 n_obs_unbinned = 0
154 156  
155 157 # Logging
... ... @@ -183,9 +185,9 @@ class csobsinfo(ctools.cscript):
183 185 # Retrieve time interval
184 186 obs_gti = obs.events().gti()
185 187  
186   - # Compute mean time and dead tim fraction in percent
187   - tmean = (obs_gti.tstart() + obs_gti.tstop())
188   - tmean*=0.5
  188 + # Compute mean time and dead time fraction in percent
  189 + tmean = (obs_gti.tstart() + obs_gti.tstop())
  190 + tmean *= 0.5
189 191 deadfrac = (1.0-obs.deadc(tmean))*100.0
190 192  
191 193 # Retrieve pointing and store Ra,Dec
... ... @@ -209,7 +211,7 @@ class csobsinfo(ctools.cscript):
209 211 self.log.parformat("binned")
210 212  
211 213 if obs.eventtype() == "CountsCube":
212   - n_eventbins += obs.events().size()
  214 + n_eventbins += obs.events().size()
213 215 n_obs_binned += 1
214 216 if self.logTerse():
215 217 self.log("yes")
... ... @@ -218,7 +220,7 @@ class csobsinfo(ctools.cscript):
218 220 self.log(str(obs.events().size()))
219 221 self.log("\n")
220 222 else:
221   - n_events += obs.events().size()
  223 + n_events += obs.events().size()
222 224 n_obs_unbinned += 1
223 225 if self.logTerse():
224 226 self.log("no")
... ... @@ -239,7 +241,7 @@ class csobsinfo(ctools.cscript):
239 241 self.log("\n")
240 242  
241 243 # Log observation time interval
242   - self.log.parformat("Time range [MJD]")
  244 + self.log.parformat("Time range (MJD)")
243 245 if obs_gti.size() == 0:
244 246 self.log("undefined")
245 247 else:
... ... @@ -257,8 +259,8 @@ class csobsinfo(ctools.cscript):
257 259 self.log("\n")
258 260  
259 261 # Log dead time fraction
260   - self.log.parformat("Dead-time fraction [%]")
261   - self.log("%.3f"%deadfrac)
  262 + self.log.parformat("Dead-time fraction (%)")
  263 + self.log("%.3f" % (deadfrac))
262 264 self.log("\n")
263 265  
264 266 # Log pointing direction
... ... @@ -271,7 +273,7 @@ class csobsinfo(ctools.cscript):
271 273 offset = pnt_dir.dist_deg(self.obj_dir)
272 274 self.offsets.append(offset)
273 275 self.log.parformat("Offset")
274   - self.log("%.2f"%(offset))
  276 + self.log("%.2f" % (offset))
275 277 self.log("\n")
276 278 else:
277 279 self.offsets.append(-1.0)
... ... @@ -285,10 +287,10 @@ class csobsinfo(ctools.cscript):
285 287 # Log Zenith and Azimuth if required
286 288 if self.logExplicit():
287 289 self.log.parformat("Zenith angle")
288   - self.log("%.2f"%(zenith))
  290 + self.log("%.2f" % (zenith))
289 291 self.log("\n")
290 292 self.log.parformat("Azimuth angle")
291   - self.log("%.2f"%(azimuth))
  293 + self.log("%.2f" % (azimuth))
292 294 self.log("\n\n")
293 295  
294 296 # Log summary
... ... @@ -315,15 +317,15 @@ class csobsinfo(ctools.cscript):
315 317 # Log mean offset if possible
316 318 if self.m_offset:
317 319 self.log.parformat("Mean offset angle")
318   - self.log("%.2f"%(sum(self.offsets)/len(self.offsets)))
  320 + self.log("%.2f" % (sum(self.offsets)/len(self.offsets)))
319 321 self.log("\n")
320 322  
321 323 # Log mean azimuth and zenith angle
322 324 self.log.parformat("Mean zenith angle")
323   - self.log("%.2f"%(sum(self.zeniths)/len(self.zeniths)))
  325 + self.log("%.2f" % (sum(self.zeniths)/len(self.zeniths)))
324 326 self.log("\n")
325 327 self.log.parformat("Mean azimuth angle")
326   - self.log("%.2f"%(sum(self.azimuths)/len(self.azimuths)))
  328 + self.log("%.2f" % (sum(self.azimuths)/len(self.azimuths)))
327 329 self.log("\n")
328 330  
329 331 # Log name of observations if requested
... ... @@ -361,10 +363,10 @@ class csobsinfo(ctools.cscript):
361 363  
362 364 # Log ontime and livetime in different units
363 365 self.log.parformat("Total ontime")
364   - self.log("%.2f s = %.2f min = %.2f h"%(ontime, ontime/60., ontime/3600.))
  366 + self.log("%.2f s = %.2f min = %.2f h" % (ontime, ontime/60., ontime/3600.))
365 367 self.log("\n")
366 368 self.log.parformat("Total livetime")
367   - self.log("%.2f s = %.2f min = %.2f h"%(livetime, livetime/60.0, livetime/3600.))
  369 + self.log("%.2f s = %.2f min = %.2f h" % (livetime, livetime/60.0, livetime/3600.))
368 370 self.log("\n")
369 371  
370 372 # Return
... ... @@ -385,7 +387,6 @@ class csobsinfo(ctools.cscript):
385 387 f.write("fk5\n")
386 388  
387 389 # Loop over pointings
388   -
389 390 for i in range(len(self.pnt_ra)):
390 391  
391 392 # Create string
... ...
cscripts/cstsmapmerge.py
... ... @@ -25,12 +25,12 @@ import glob
25 25 import os
26 26  
27 27  
28   -# =============== #
29   -# cshessobs class #
30   -# =============== #
  28 +# ================== #
  29 +# cstsmapmerge class #
  30 +# ================== #
31 31 class cstsmapmerge(ctools.cscript):
32 32 """
33   - This class merges an arbitray number of model container into one output model XML file
  33 + This class merges TS map files into one TS map
34 34 """
35 35 def __init__(self, *argv):
36 36 """
... ... @@ -38,7 +38,7 @@ class cstsmapmerge(ctools.cscript):
38 38 """
39 39 # Set name
40 40 self.name = "cstsmapmerge"
41   - self.version = "0.1.0"
  41 + self.version = "1.1.0"
42 42  
43 43 # Make sure that parfile exists
44 44 file = self.parfile()
... ... @@ -68,7 +68,8 @@ class cstsmapmerge(ctools.cscript):
68 68 def parfile(self):
69 69 """
70 70 Check if parfile exists. If parfile does not exist then create a
71   - default parfile. This kluge avoids shipping the cscript with a parfile.
  71 + default parfile. This kluge avoids shipping the cscript with a
  72 + parfile.
72 73 """
73 74  
74 75 # Set parfile name
... ... @@ -119,12 +120,16 @@ class cstsmapmerge(ctools.cscript):
119 120  
120 121 # Throw exception if input models cannot be decoded
121 122 else:
122   - msg = "Parameter \"inmmaps\" must contain either an @ASCII file, a comma-separated or space-separated list of files or a wildcard string"
123   - sys.exit(msg)
124   -
  123 + msg = "Parameter \"inmmaps\" must contain either an @ASCII file,"+\
  124 + " a comma-separated or whitespace-separated list of files"+\
  125 + " or a wildcard string"
  126 + raise gammalib.GException.invalid_argument("cstsmapmerge::get_parameters", msg)
  127 +
  128 + # Check number of files. We need at least two files.
125 129 if len(self.files) <= 1:
126   - msg = "Need at least two files to start merging, "+str(len(self.files))+" given"
127   - sys.exit(msg)
  130 + msg = "Need at least two files to start merging, "+\
  131 + str(len(self.files))+" files given."
  132 + raise gammalib.GException.invalid_argument("cstsmapmerge::get_parameters", msg)
128 133  
129 134 # Get output file
130 135 self.outmap = self["outmap"].filename()
... ... @@ -136,22 +141,21 @@ class cstsmapmerge(ctools.cscript):
136 141 # Return
137 142 return
138 143  
139   -
140 144 def init_map(self, fitsfile):
141   -
  145 + """
  146 + """
  147 + # Set filename
142 148 self.in_filename = fitsfile
143 149  
144   - # open FITS file
145   -
146   - fits = gammalib.GFits(fitsfile)
147   - self.tsmap = gammalib.GSkyMap()
  150 + # Open FITS file
  151 + fits = gammalib.GFits(fitsfile)
  152 + self.tsmap = gammalib.GSkyMap()
148 153 self.tsmap.read(fits[0])
149   -
150 154 self.statusmap = gammalib.GSkyMap()
151 155 self.statusmap.read(fits["STATUS MAP"])
152 156  
153 157 # Get other maps
154   - self.maps = []
  158 + self.maps = []
155 159 self.mapnames = []
156 160  
157 161 # Loop over extensions
... ... @@ -172,15 +176,13 @@ class cstsmapmerge(ctools.cscript):
172 176 # Return
173 177 return
174 178  
175   - # Add map instances to each other
176   - # in this way the TS maps get merged
  179 + # Add map instances to each other. In this way the TS maps get merged
177 180 def add(self, fitsfile):
178 181  
179 182 # open FITS file
180   - fits = gammalib.GFits(fitsfile)
181   - add_tsmap = gammalib.GSkyMap()
  183 + fits = gammalib.GFits(fitsfile)
  184 + add_tsmap = gammalib.GSkyMap()
182 185 add_tsmap.read(fits[0])
183   -
184 186 add_statusmap = gammalib.GSkyMap()
185 187 add_statusmap.read(fits["STATUS MAP"])
186 188  
... ... @@ -209,11 +211,13 @@ class cstsmapmerge(ctools.cscript):
209 211 for i in range(self.tsmap.npix()):
210 212 if add_statusmap[i] > 0.5:
211 213  
212   - # throw exception if this bin has already been computed
  214 + # Throw exception if this bin has already been computed
213 215 if self.statusmap[i] > 0.5 and not self.overwrite:
214   - msg = "Attempt to merge bin which apparently has already been merged. File \""+fitsfile+"\" contains already merged bins."
215   - msg += " Set hidden parameter overwrite=yes to avoid this error"
216   - raise gammalib.GException("cstsmapmerge::add", msg)
  216 + msg = "Attempt to merge bin which apparently has already"+\
  217 + " been merged. File \""+fitsfile+"\" contains"+\
  218 + " already merged bins. Set hidden parameter"+\
  219 + " overwrite=yes to avoid this error."
  220 + raise gammalib.GException.invalid_value("cstsmapmerge::add", msg)
217 221  
218 222 # Copy TS values
219 223 self.tsmap[i] = add_tsmap[i]
... ... @@ -250,7 +254,7 @@ class cstsmapmerge(ctools.cscript):
250 254 self.log("\n")
251 255  
252 256 # Initialise file to start with
253   - file0 =""
  257 + file0 = ""
254 258  
255 259 self.added_files = []
256 260  
... ... @@ -317,8 +321,7 @@ class cstsmapmerge(ctools.cscript):
317 321  
318 322 # Return
319 323 return
320   -
321   -
  324 +
322 325 def save(self):
323 326 """
324 327 Save merged tsmap file and remove slices if requested
... ... @@ -373,7 +376,6 @@ class cstsmapmerge(ctools.cscript):
373 376 # Return
374 377 return
375 378  
376   -
377 379 def execute(self):
378 380 """
379 381 Execute the script.
... ...
doc/source/reference_manual/cscaldb.rst
1   -.. _cscaldb: cscaldb ======= Dumps all available instrument response functions into log fil. Synopsis -------- This scripts dumps all instrument response functions that are available in the calibration database into the log file. If you want the information on the screen, add the ``debug=yes`` parameter. General parameters ------------------ None Standard parameters ------------------- ``(chatter = 2) [integer]`` Verbosity of the executable: chatter = 0: no information will be logged chatter = 1: only errors will be logged chatter = 2: errors and actions will be logged chatter = 3: report about the task execution chatter = 4: detailed report about the task execution ``(clobber = yes) [boolean]`` Specifies whether an existing output counts cube should be overwritten. ``(debug = no) [boolean]`` Enables debug mode. In debug mode the executable will dump any log file output to the console. ``(mode = ql) [string]`` Mode of automatic parameters (default is "ql", i.e. "query and learn"). Related tools ------------- None
2 1 \ No newline at end of file
  2 +.. _cscaldb: cscaldb ======= Dumps all available instrument response functions into log file. Synopsis -------- This scripts dumps all instrument response functions that are available in the calibration database into the log file. If you want the information on the screen, add the ``debug=yes`` parameter. General parameters ------------------ None Standard parameters ------------------- ``(chatter = 2) [integer]`` Verbosity of the executable: chatter = 0: no information will be logged chatter = 1: only errors will be logged chatter = 2: errors and actions will be logged chatter = 3: report about the task execution chatter = 4: detailed report about the task execution ``(clobber = yes) [boolean]`` Specifies whether an existing output counts cube should be overwritten. ``(debug = no) [boolean]`` Enables debug mode. In debug mode the executable will dump any log file output to the console. ``(mode = ql) [string]`` Mode of automatic parameters (default is "ql", i.e. "query and learn"). Related tools ------------- None
3 3 \ No newline at end of file
... ...
doc/source/reference_manual/csmodelinfo.rst
1 1 .. _csmodelinfo:
2 2  
3 3 csmodelinfo
4   -======
  4 +===========
5 5  
6   -Dumps information about a model container into log file or on screen
  6 +Dumps information about a model container into log file or on screen.
7 7  
8 8  
9 9 Synopsis
10 10 --------
11 11  
12 12 This script provides detailled information about a given model container.
13   -It presents the number of parameters, the number of free parameters (sub-divided by
14   -spectral, spatial and temporal type). The tool further creates information about any
15   -parameter that is stuck at the parameter boundaries. This might be quite useful for
16   -debugging a fit.
17   -Finally the tool also list the TS values of each source that was fitted, in order
18   -have a quick overview on these quantities on the screen.
  13 +It presents the number of parameters, the number of free parameters (sub-
  14 +divided by spectral, spatial and temporal type). The tool further creates
  15 +information about any parameter that is stuck at the parameter boundaries.
  16 +This might be quite useful for debugging a fit. Finally the tool also list
  17 +the TS values of each source that was fitted, in order have a quick overview
  18 +on these quantities on the screen.
19 19  
20   -In addition the tool is also capable of exporting the input model XML container to
21   -a region file which is compatible to be read with ds9 or other displying tools.
22   -To create a region file, the hidden parameter "ds9file" needs to be specified. There
23   -are quite a few further hidden parameters to steer e.g. color, font, etc of the region
24   -file output.
  20 +In addition the tool is also capable of exporting the input model XML container
  21 +to a region file which is compatible to be read with ds9 or other displying
  22 +tools. To create a region file, the hidden parameter "ds9file" needs to be
  23 +specified. There are quite a few further hidden parameters to steer e.g.
  24 +color, font, etc of the region file output.
25 25  
26 26  
27 27 General parameters
... ... @@ -91,10 +91,11 @@ Standard parameters
91 91 ``(mode = ql) [string]``
92 92 Mode of automatic parameters (default is "ql", i.e. "query and learn").
93 93  
94   -``(logfile = cssens.log) [filename]``
  94 +``(logfile = csmodelinfo.log) [filename]``
95 95 Log filename.
96 96  
97 97  
98 98 Related tools or scripts
99 99 ------------------------
100 100  
  101 +None
101 102 \ No newline at end of file
... ...
doc/source/reference_manual/csmodelmerge.rst
1 1 .. _csmodelmerge:
2 2  
3 3 csmodelmerge
4   -======
  4 +============
5 5  
6   -Merges an arbitrary number of model XML files into one file.
  6 +Merges an arbitrary number of model XML files into a single file.
7 7  
8 8  
9 9 Synopsis
10 10 --------
11 11  
12   -This script can be used to merge several model XML file into one output file.
13   -The files can be passed via the ``inmodels`` parameter. There are 4 options to specify
  12 +This script merges several model XML file into a single model XML file. The
  13 +files are passed via the ``inmodels`` parameter. There are 4 options to specify
14 14 a list of files that should be merged:
15 15 - a space-separated list of file names (e.g. model1.xml model2.xml)
16 16 - a comma-separated list of file names (e.g. model1.xml,model2.xml)
17 17 - a wildcard string (e.g. mymodel*.xml)
18 18 - an ASCII file containing the file names, one file per line (e.g. @mymodels.txt)
19 19  
20   -Note that the "@" needs to be specified in case of an ASCII file name. It is also important to
21   -note that models with the same name cannot be appended. The tool will throw and exception if
22   -the provided file contain models with the same name.
  20 +Note that the "@" needs to be specified in case of an ASCII file name. It is
  21 +also important to note that models with the same name cannot be appended. The
  22 +tool will throw and exception if the provided file contain models with the same
  23 +name.
23 24  
24 25  
25 26 General parameters
... ... @@ -56,10 +57,11 @@ Standard parameters
56 57 ``(mode = ql) [string]``
57 58 Mode of automatic parameters (default is "ql", i.e. "query and learn").
58 59  
59   -``(logfile = cssens.log) [filename]``
  60 +``(logfile = csmodelmerge.log) [filename]``
60 61 Log filename.
61 62  
62 63  
63 64 Related tools or scripts
64 65 ------------------------
65 66  
  67 +None
66 68 \ No newline at end of file
... ...
doc/source/reference_manual/csobsinfo.rst
1 1 .. _csobsinfo:
2 2  
3 3 csobsinfo
4   -======
  4 +=========
5 5  
6   -Dumps information about an observation container into log file or on screen
  6 +Dumps information about an observation container into log file or on
  7 +screen.
7 8  
8 9  
9 10 Synopsis
10 11 --------
11 12  
12   -This script provides detailled information about a given observation container.
13   -For IACT observations usually several observations with different
14   -configurations are combined. The script computes e.g. the overall energy
15   -range which could be an important input for :doc:`ctbin` to create a suitable
16   -energy range. In addition the script prints the pointing attributes like the average
17   -zenith/azimuth angle. If the hidden boolean parameter "offset" is specified to "yes",
18   -the script queries for the target position and computes the run-by-run offset as well
19   -as its average. In the observation summary, the time range of the observations including
20   -total ontime and (dead-time corrected) livetime is shown.
21   -
22   -The script further contains the hidden parameter "ds9file". If specified with a file
23   -name, the tool writes out a ds9 region file including a cross for each pointing position
24   -in the sky.
25   -
26   -When executed from within python, the script provides methods to return arrays containing
27   -observation-wise parameters. This might be useful for graphical display within a script. The
28   -following methods are implemented:
  13 +This script provides detailed information about a given observation container.
  14 +For IACT observations usually several observations with different configurations
  15 +are combined. The script computes e.g. the overall energy range which could be
  16 +an important input for :doc:`ctbin` to create a suitable energy range. In
  17 +addition the script prints the pointing attributes like the average
  18 +zenith/azimuth angle. If the hidden boolean parameter "offset" is specified to
  19 +"yes", the script queries for the target position and computes the run-by-run
  20 +offset as well as its average. In the observation summary, the time range of
  21 +the observations including total ontime and (dead-time corrected) livetime is
  22 +shown.
  23 +
  24 +The script further contains the hidden parameter "ds9file". If specified with
  25 +a file name, the tool writes out a ds9 region file including a cross for each
  26 +pointing position in the sky.
  27 +
  28 +When executed from within python, the script provides methods to return arrays
  29 +containing observation-wise parameters. This might be useful for graphical
  30 +display within a script. The following methods are implemented:
29 31 - zeniths (returning all zenith angles)
30 32 - azimuths (returning all azimuth angles)
31 33 - offsets (returning all offset angles, provided the hidden parameter offset=yes)
... ... @@ -76,10 +78,11 @@ Standard parameters
76 78 ``(mode = ql) [string]``
77 79 Mode of automatic parameters (default is "ql", i.e. "query and learn").
78 80  
79   -``(logfile = cssens.log) [filename]``
  81 +``(logfile = csobsinfo.log) [filename]``
80 82 Log filename.
81 83  
82 84  
83 85 Related tools or scripts
84 86 ------------------------
85 87  
  88 +None
86 89 \ No newline at end of file
... ...
doc/source/reference_manual/cstsmapmerge.rst
1 1 .. _cstsmapmerge:
2 2  
3 3 cstsmapmerge
4   -======
  4 +============
5 5  
6 6 Merges slices of splitted tsmap computations.
7 7  
8 8  
9 9 Synopsis
10 10 --------
11   -In case a TS map has been computed using the option to split the calculations into
12   -several jobs, this tool is required to merge the output into one final map again.
13   -Running :doc:`cttsmap` with the hidden parameters ``binmin`` and ``binmax`` specified
14   -will result in several sliced TS maps. This script merges them into one FITS file.
15   -The input slices can be passed via the ``inmaps`` parameter. There are 4 options to specify
16   -a list of files that should be merged:
  11 +
  12 +In case a TS map has been computed using the option to split the calculations
  13 +into several jobs, this tool is required to merge the output into one final
  14 +map again. Running :doc:`cttsmap` with the hidden parameters ``binmin`` and
  15 +``binmax`` specified will result in several sliced TS maps. This script merges
  16 +them into one FITS file. The input slices can be passed via the ``inmaps``
  17 +parameter. There are 4 options to specify a list of files that should be merged:
17 18 - a space-separated list of file names (e.g. tsmap1.fits tsmap2.fits)
18 19 - a comma-separated list of file names (e.g. tsmap1.fits,tsmap2.fits)
19 20 - a wildcard string (e.g. tsmap*.xml)
... ... @@ -61,7 +62,7 @@ Standard parameters
61 62 ``(mode = ql) [string]``
62 63 Mode of automatic parameters (default is "ql", i.e. "query and learn").
63 64  
64   -``(logfile = cssens.log) [filename]``
  65 +``(logfile = cstsmapmerge.log) [filename]``
65 66 Log filename.
66 67  
67 68  
... ...
doc/source/reference_manual/cttsmap.rst
... ... @@ -108,7 +108,8 @@ Standard parameters
108 108 Name of log file.
109 109  
110 110  
111   -Related tools
112   --------------
  111 +Related tools or scripts
  112 +------------------------
  113 +
  114 +:ref:`cstsmapmerge`
113 115  
114   -None
... ...
doc/source/reference_manual/index.rst
... ... @@ -45,7 +45,7 @@ cscripts
45 45 csspec --- Computes spectral points <csspec>
46 46 csresmap --- Generates residual map <csresmap>
47 47 cstsdist --- Generates TS distribution <cstsdist>
48   - csobsinfo --- Shows detailled information about an observation container
49   - csmodelinfo --- Shows detailled information about a model container
50   - csmodelmerge --- Merges several model containers into one file
51   - cstsmapmerge --- Merges slices from ts map computations
  48 + csobsinfo --- Shows observation container content <csobsinfo>
  49 + csmodelinfo --- Shows model container content <csmodelinfo>
  50 + csmodelmerge --- Merges several model containers into one file <csmodelmerge>
  51 + cstsmapmerge --- Merges slices from ts map computations <cstsmapmerge>
... ...
test/test_cscripts.sh.in
... ... @@ -97,7 +97,7 @@ $ECHO &quot; ok&quot;
97 97  
98 98 #
99 99 # Test csmodelinfo
100   -# ==============
  100 +# ================
101 101 $ECHO -n "Test csmodelinfo: "
102 102 chmod +x @abs_top_srcdir@/cscripts/csmodelinfo.py
103 103 @abs_top_srcdir@/cscripts/csmodelinfo.py \
... ... @@ -116,7 +116,7 @@ $ECHO &quot; ok&quot;
116 116  
117 117 #
118 118 # Test csmodelmerge (space-separated)
119   -# ==============
  119 +# ===================================
120 120 $ECHO -n "Test csmodelmerge (space-separated): "
121 121 chmod +x @abs_top_srcdir@/cscripts/csmodelmerge.py
122 122 @abs_top_srcdir@/cscripts/csmodelmerge.py \
... ... @@ -135,7 +135,7 @@ $ECHO &quot; ok&quot;
135 135  
136 136 #
137 137 # Test csmodelmerge (comma-separated)
138   -# ==============
  138 +# ===================================
139 139 $ECHO -n "Test csmodelmerge (comma-separated): "
140 140 chmod +x @abs_top_srcdir@/cscripts/csmodelmerge.py
141 141 @abs_top_srcdir@/cscripts/csmodelmerge.py \
... ... @@ -154,7 +154,7 @@ $ECHO &quot; ok&quot;
154 154  
155 155 #
156 156 # Test csmodelmerge (wildcard string)
157   -# ==============
  157 +# ===================================
158 158 $ECHO -n "Test csmodelmerge (wildcard string): "
159 159 chmod +x @abs_top_srcdir@/cscripts/csmodelmerge.py
160 160 @abs_top_srcdir@/cscripts/csmodelmerge.py \
... ... @@ -173,7 +173,7 @@ $ECHO &quot; ok&quot;
173 173  
174 174 #
175 175 # Test csmodelmerge (ascii-file)
176   -# ==============
  176 +# ==============================
177 177 ls data/model_cube_background* > models.txt
178 178 $ECHO -n "Test csmodelmerge (ascii-file): "
179 179 chmod +x @abs_top_srcdir@/cscripts/csmodelmerge.py
... ... @@ -194,7 +194,7 @@ rm models.txt
194 194  
195 195 #
196 196 # Test cstsmapmerge (comma-separated)
197   -# ==============
  197 +# ===================================
198 198 $ECHO -n "Test cstsmapmerge (comma-separated): "
199 199 chmod +x @abs_top_srcdir@/cscripts/cstsmapmerge.py
200 200 @abs_top_srcdir@/cscripts/cstsmapmerge.py \
... ... @@ -213,7 +213,7 @@ $ECHO &quot; ok&quot;
213 213  
214 214 #
215 215 # Test cstsmapmerge (space-separated)
216   -# ==============
  216 +# ===================================
217 217 $ECHO -n "Test cstsmapmerge (space-separated): "
218 218 chmod +x @abs_top_srcdir@/cscripts/cstsmapmerge.py
219 219 @abs_top_srcdir@/cscripts/cstsmapmerge.py \
... ... @@ -232,7 +232,7 @@ $ECHO &quot; ok&quot;
232 232  
233 233 #
234 234 # Test cstsmapmerge (wildcard string)
235   -# ==============
  235 +# ===================================
236 236 $ECHO -n "Test cstsmapmerge (wildcard string): "
237 237 chmod +x @abs_top_srcdir@/cscripts/cstsmapmerge.py
238 238 @abs_top_srcdir@/cscripts/cstsmapmerge.py \
... ... @@ -251,7 +251,7 @@ $ECHO &quot; ok&quot;
251 251  
252 252 #
253 253 # Test cstsmapmerge (ascii-file)
254   -# ==============
  254 +# ==============================
255 255 ls data/tsmap_*.fits > tsmaps.txt
256 256 $ECHO -n "Test cstsmapmerge (ascii-file): "
257 257 chmod +x @abs_top_srcdir@/cscripts/cstsmapmerge.py
... ...