1
|
import gammalib
|
2
|
import ctools
|
3
|
import cscripts
|
4
|
|
5
|
if __name__ == "__main__":
|
6
|
|
7
|
obsdef = cscripts.csobsdef()
|
8
|
obsdef["inpnt"] = "pnt.dat"
|
9
|
obsdef["duration"] = 1800.0
|
10
|
obsdef["outobs"] = "obs.xml"
|
11
|
obsdef["debug"] = True
|
12
|
obsdef.execute()
|
13
|
|
14
|
sim = ctools.ctobssim()
|
15
|
sim["inobs"] = "obs.xml"
|
16
|
sim["caldb"] = "prod2"
|
17
|
sim["irf"] = "South_50h"
|
18
|
sim["emin"] = 0.5
|
19
|
sim["emax"] = 50.0
|
20
|
sim["rad"] = 3.0
|
21
|
sim["inmodel"] = "$CTOOLS/share/models/crab.xml"
|
22
|
sim["outevents"] = "sim_events.xml"
|
23
|
sim["debug"] = True
|
24
|
sim.execute()
|
25
|
|
26
|
sel = ctools.ctselect()
|
27
|
sel["inobs"] = "sim_events.xml"
|
28
|
sel["usepnt"] = True
|
29
|
sel["rad"] = 2.5
|
30
|
sel["tmin"] = 0.0
|
31
|
sel["tmax"] = 0.0
|
32
|
sel["emin"] = 0.6
|
33
|
sel["emax"] = 20.0
|
34
|
sel["outobs"] = "sel_obs.xml"
|
35
|
sel["debug"] = True
|
36
|
sel.execute()
|
37
|
|
38
|
bin = ctools.ctbin()
|
39
|
bin["inobs"] = "sel_obs.xml"
|
40
|
bin["xref"] = 83.6331
|
41
|
bin["yref"] = 22.01
|
42
|
bin["proj"] = "TAN"
|
43
|
bin["coordsys"] = "CEL"
|
44
|
bin["emin"] = 0.6
|
45
|
bin["emax"] = 20.0
|
46
|
bin["ebinalg"] = "LOG"
|
47
|
bin["enumbins"] = 20
|
48
|
bin["nxpix"] = 100
|
49
|
bin["nypix"] = 100
|
50
|
bin["binsz"] = 0.02
|
51
|
bin["outcube"] = "cntcube.fits"
|
52
|
bin["debug"] = True
|
53
|
bin.execute()
|
54
|
|
55
|
expcube = ctools.ctexpcube()
|
56
|
expcube["inobs"] = "sel_obs.xml"
|
57
|
expcube["incube"] = "cntcube.fits"
|
58
|
expcube["outcube"] = "expcube.fits"
|
59
|
expcube["debug"] = True
|
60
|
expcube.execute()
|
61
|
|
62
|
psfcube = ctools.ctpsfcube()
|
63
|
psfcube["inobs"] = "sel_obs.xml"
|
64
|
psfcube["incube"] = "NONE"
|
65
|
psfcube["xref"] = 83.6331
|
66
|
psfcube["yref"] = 22.01
|
67
|
psfcube["proj"] = "TAN"
|
68
|
psfcube["coordsys"] = "CEL"
|
69
|
psfcube["emin"] = 0.6
|
70
|
psfcube["emax"] = 20.0
|
71
|
psfcube["ebinalg"] = "LOG"
|
72
|
psfcube["enumbins"] = 20
|
73
|
psfcube["nxpix"] = 10
|
74
|
psfcube["nypix"] = 10
|
75
|
psfcube["binsz"] = 0.21
|
76
|
psfcube["outcube"] = "psfcube.fits"
|
77
|
psfcube["debug"] = True
|
78
|
psfcube.execute()
|
79
|
|
80
|
edispcube = ctools.ctedispcube()
|
81
|
edispcube["incube"] = "NONE"
|
82
|
edispcube["inobs"] = "sel_obs.xml"
|
83
|
edispcube["xref"] = 83.6331
|
84
|
edispcube["yref"] = 22.01
|
85
|
edispcube["proj"] = "TAN"
|
86
|
edispcube["coordsys"] = "CEL"
|
87
|
edispcube["emin"] = 0.6
|
88
|
edispcube["emax"] = 20.0
|
89
|
edispcube["ebinalg"] = "LOG"
|
90
|
edispcube["enumbins"] = 20
|
91
|
edispcube["nxpix"] = 10
|
92
|
edispcube["nypix"] = 10
|
93
|
edispcube["binsz"] = 0.21
|
94
|
edispcube["outcube"] = "edispcube.fits"
|
95
|
edispcube["debug"] = True
|
96
|
edispcube.execute()
|
97
|
|
98
|
bkgcube = ctools.ctbkgcube()
|
99
|
bkgcube["inobs"] = "sel_obs.xml"
|
100
|
bkgcube["inmodel"] = sim["inmodel"].filename().url()
|
101
|
bkgcube["incube"] = "cntcube.fits"
|
102
|
bkgcube["outcube"] = "bkgcube.fits"
|
103
|
bkgcube["outmodel"] = "binned_model.xml"
|
104
|
bkgcube["debug"] = True
|
105
|
bkgcube.execute()
|
106
|
|
107
|
like = ctools.ctlike()
|
108
|
like["inobs"] = "cntcube.fits"
|
109
|
like["expcube"] = "expcube.fits"
|
110
|
like["psfcube"] = "psfcube.fits"
|
111
|
like["edispcube"] = "edispcube.fits"
|
112
|
like["bkgcube"] = "bkgcube.fits"
|
113
|
like["inmodel"] = "binned_model.xml"
|
114
|
like["edisp"] = True
|
115
|
like["debug"] = True
|
116
|
like["outmodel"] = "fitted_model.xml"
|
117
|
like.execute()
|