ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArBadChannelTool
python
LArBadChannelBrowserTools.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3
4
def
ChooseOptionFromList
(sTitle,sMessage,sPrompt,sChoiceList,iPlusMinus,bPlusMinus,optionDict):
5
6
print
(
""
)
7
print
(sTitle)
8
9
if
bPlusMinus
is
False
:
10
for
index,s
in
enumerate(sChoiceList):
11
print
(
"%3d : %-20s"
% (index+iPlusMinus,s))
12
else
:
13
for
index,s
in
enumerate(sChoiceList):
14
print
(
"%3d/%3d : %-20s"
% (index+iPlusMinus,-index,s))
15
16
# option menu
17
sMenu=
""
18
for
s,v
in
optionDict:
19
sMenu=sMenu+s+
" "
+v+
" "
20
if
sMenu!=
""
:
21
print
(
"\n"
+sMenu)
22
23
bValidResponse=
False
24
while
bValidResponse
is
False
:
25
26
print
(
" .. "
+sPrompt+
" > "
, end=
''
)
27
tty = open(
"/dev/tty"
,
"r+"
)
28
rep=tty.readline()
29
rep=rep.strip()
30
31
# response is in option list
32
for
s,v
in
optionDict:
33
if
rep==s:
34
return
rep
35
36
# convert response to integer
37
try
:
38
iResponse=int(rep)
39
40
# reponse in indexes
41
if
bPlusMinus
is
False
:
42
if
iResponse
in
range(iPlusMinus, len(sChoiceList)+iPlusMinus):
43
return
iResponse
44
45
# reponse in indexes
46
if
bPlusMinus
is
True
:
47
if
iResponse
in
range(iPlusMinus, len(sChoiceList)+iPlusMinus+1):
48
return
iResponse
49
if
iResponse
in
range(-len(sChoiceList)+iPlusMinus,iPlusMinus-1):
50
return
iResponse
51
52
print
(
"WARNING : response out of range"
)
53
54
except
Exception:
55
print
(
"???"
)
56
57
58
def
TypeEnterToContinue
(sMessage):
59
60
if
sMessage!=
""
:
61
print
(sMessage)
62
print
(
" .. Type ENTER to continue > "
, end=
''
)
63
tty = open(
"/dev/tty"
,
"r+"
)
64
tty.readline()
65
66
67
def
YesNoQuestion
(sMessage):
68
69
print
(
""
)
70
print
(sMessage+
" [y/n] :"
, end=
''
)
71
tty = open(
"/dev/tty"
,
"r+"
)
72
rep=tty.readline()
73
rep=rep.strip()
74
75
if
rep==
"y"
or
rep==
"Y"
:
76
return
1
77
return
0
78
79
80
81
from
ROOT
import
TSQLServer
82
def
getNextAtlasRunNumber(self):
83
"""
84
Returns the next free ATLAS run number
85
"""
86
87
runNum = -1
88
server =
"oracle://localhost/atlr"
89
statement =
"select MAX(RUNNUMBER) FROM atlas_run_number.RUNNUMBER"
90
db = TSQLServer.Connect(server,
"atlas_run_number_r"
,
"07-Run.Num.rEaDeR"
)
91
if
not
db
or
not
db.IsConnected():
92
raise(Exception(
"Problem connecting to run number server \"%s\""
% server))
93
stmt = db.Statement(statement)
94
if
stmt.Process():
95
stmt.StoreResult()
96
stmt.NextResultRow()
97
runNum = (stmt.GetUInt(0)+1)
98
else
:
99
raise(Exception(
"Error in processing statement \"%s\""
% statement ))
100
db.Close()
101
return
runNum
102
103
104
python.LArBadChannelBrowserTools.YesNoQuestion
YesNoQuestion(sMessage)
Definition
LArBadChannelBrowserTools.py:67
python.LArBadChannelBrowserTools.TypeEnterToContinue
TypeEnterToContinue(sMessage)
Definition
LArBadChannelBrowserTools.py:58
python.LArBadChannelBrowserTools.ChooseOptionFromList
ChooseOptionFromList(sTitle, sMessage, sPrompt, sChoiceList, iPlusMinus, bPlusMinus, optionDict)
Definition
LArBadChannelBrowserTools.py:4
Generated on
for ATLAS Offline Software by
1.17.0