ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCalib
MuonCalibDbOperations
share
CalibDbCool2Calib.py
Go to the documentation of this file.
1
#!/usr/bin/env python
2
3
4
import
getopt
5
import
sys
6
import
os
7
import
CalibDbDefaults
8
9
cool_database_string = CalibDbDefaults.cool_database_string
10
dbname = CalibDbDefaults.cool_dbname
11
t0_cool_folder=
None
12
rt_cool_folder=
None
13
cool_tag=
'CURRENT'
14
15
16
def
printhelp
(argv0):
17
sys.stderr.write(
"Usage: "
+ argv0 +
" [-h] [-s <cool database string>] [-o <t0 cool folder>] [-r <rt cool folder>] [-t <cool tag>] <run nr>\n"
)
18
sys.exit(1)
19
20
optlist, args = getopt.gnu_getopt(sys.argv,
'hs:o:r:t:'
)
21
22
for
opt, oa
in
optlist:
23
if
opt==
'-s'
:
24
if
oa[-2:]==
'db'
:
25
cool_database_string =
'sqlite://;schema='
+ oa +
';dbname='
+ dbname
26
cool_tag=
''
27
else
:
28
cool_database_string = oa
29
continue
30
if
opt==
'-o'
:
31
t0_cool_folder=oa
32
continue
33
if
opt==
'-r'
:
34
rt_cool_folder=oa
35
continue
36
if
opt==
'-t'
:
37
cool_tag=oa
38
continue
39
if
opt==
'-h'
:
40
printhelp
(sys.argv[0])
41
42
if
not
len(args)==2:
43
sys.stderr.write(
"Need Run Number\n"
)
44
print
(len(args), args)
45
printhelp
(sys.argv[0])
46
47
try
:
48
run_number=int(args[1])
49
except
ValueError:
50
sys.stderr.write(
"Cannot parse run number "
+ run_number +
"\n"
)
51
printhelp
(sys.argv[0])
52
53
sys.argv=[ sys.argv[0],
'-b'
]
54
from
MuonCalibDbOperations.ReadCool
import
*
55
from
MuonCalibIdentifier.MuonFixedIdUnpack
import
*
56
from
ROOT
import
*
57
58
59
def
dump_rt
(ident, rt):
60
up=
MuonFixedIdUnpack
(ident)
61
if
up.stationNameString()==
"XXX"
:
62
sys.stderr.write(
"WARNING: Unknown station found!\n"
)
63
return
64
f=
file
(
"calibration/rts/Rt_"
+ str(up.stationNameString()) +
"_"
+ str(up.stationPhi()) +
"_"
+ str(up.stationEta()) +
".dat"
,
"w"
)
65
f.write(
"v1.0 1 Resolution 1 20000 0 0 0 0 dummy 800 "
)
66
f.write(str(rt.GetN()))
67
f.write(
"\n"
)
68
for
i
in
range(rt.GetN()):
69
f.write(str(rt.GetX()[i]) +
" "
+ str(rt.GetY()[i]) +
" "
+ str(rt.GetEY()[i]))
70
f.write(
"\n"
)
71
72
73
74
75
76
if
rt_cool_folder:
77
graphs=ReadRtCool(cool_database_string, rt_cool_folder, cool_tag, run_number)[0]
78
try
:
79
os.makedirs(
"calibration/rts"
)
80
except
OSError:
81
try
:
82
os.stat(
"calibration/rts"
)
83
except
OSError:
84
sys.stderr.write(
"ERROR: Cannot create calibration directory!\n"
)
85
sys.exit(1)
86
for
ident, rt
in
graphs.items():
87
dump_rt
(ident, rt)
88
89
CalibDbCool2Calib.dump_rt
dump_rt(ident, rt)
Definition
CalibDbCool2Calib.py:59
CalibDbCool2Calib.printhelp
printhelp(argv0)
Definition
CalibDbCool2Calib.py:16
ReadCool
MuonFixedIdUnpack
MuonFixedIdUnpack
Definition
MuonFixedIdUnpack.py:1
file
TFile * file
Definition
tile_monitor.h:29
Generated on
for ATLAS Offline Software by
1.17.0