 |
ATLAS Offline Software
|
◆ atlas_runs_between()
| def python.oracle.atlas_runs_between |
( |
|
first, |
|
|
|
last |
|
) |
| |
Definition at line 143 of file oracle.py.
146 rows = rows.where(run_table.c.RUNNUMBER.between(first, last))
149 return [row.RUNNUMBER
for row
in session.execute(rows).fetchall()]
◆ atlas_runs_set()
| def python.oracle.atlas_runs_set |
( |
| ) |
|
◆ fetch_atlas_runs()
| def python.oracle.fetch_atlas_runs |
( |
| ) |
|
Definition at line 135 of file oracle.py.
138 return session.execute(rows).fetchall()
◆ fetch_last_n_atlas_runs()
| def python.oracle.fetch_last_n_atlas_runs |
( |
|
n = 10 | ) |
|
Definition at line 127 of file oracle.py.
128 rows = (
select(run_table.c.RUNNUMBER)
129 .
where(run_table.c.PARTITIONNAME ==
"ATLAS")
130 .order_by(run_table.c.RUNNUMBER.desc()).
limit(n))
133 return [row.RUNNUMBER
for row
in reversed(session.execute(rows).fetchall())]
◆ fetch_recent_runs()
| def python.oracle.fetch_recent_runs |
( |
|
how_recent = ONE_WEEK, |
|
|
|
ascending = False |
|
) |
| |
Retrieve a list of ATLAS runs from the database, since first_run
Definition at line 94 of file oracle.py.
96 Retrieve a list of ATLAS runs from the database, since first_run
98 from time
import time, strftime, gmtime
101 ordering = t.c.RUNNUMBER.asc()
if ascending
else t.c.RUNNUMBER.desc()
103 this_recent = strftime(
"%Y%m%dT%H%M%S", gmtime(
time()-how_recent))
104 condition = and_(t.c.STARTAT >= this_recent, t.c.PARTITIONNAME ==
"ATLAS")
105 rows =
select(run_table).
where(condition).order_by(ordering)
107 return session.execute(rows).fetchall()
◆ fetch_runs_since()
| def python.oracle.fetch_runs_since |
( |
|
first_run = 140000, |
|
|
|
ascending = False |
|
) |
| |
Retrieve a list of ATLAS runs from the database, since first_run
Definition at line 109 of file oracle.py.
111 Retrieve a list of ATLAS runs from the database, since first_run
115 ordering = t.c.RUNNUMBER.asc()
if ascending
else t.c.RUNNUMBER.desc()
117 condition = and_(t.c.RUNNUMBER > first_run, t.c.PARTITIONNAME ==
"ATLAS")
118 rows =
select(run_table).
where(condition).order_by(ordering)
120 return session.execute(rows).fetchall()
◆ filter_atlas_runs()
| def python.oracle.filter_atlas_runs |
( |
|
iovs | ) |
|
Definition at line 151 of file oracle.py.
153 iov_runs =
set(iov.since.run
for iov
in iovs)
154 first, last =
min(iov_runs),
max(iov_runs)
157 rows = rows.where(run_table.c.RUNNUMBER.between(first, last))
160 atlas_runs =
set(row.RUNNUMBER
for row
in session.execute(rows).fetchall())
161 keep_runs = atlas_runs.intersection(iov_runs)
163 return IOVSet(iov
for iov
in iovs
if iov.since.run
in keep_runs)
◆ get_authentication()
| def python.oracle.get_authentication |
( |
|
connection = "oracle://ATLAS_COOLPROD/ATLAS_COOLONL_GLOBAL" | ) |
|
Retrieves authentication information from CORAL_AUTH_PATH authentication.xml
Definition at line 36 of file oracle.py.
37 Retrieves authentication information from CORAL_AUTH_PATH authentication.xml
40 from os
import environ
41 from os.path
import join
as pjoin
42 assert "CORAL_AUTH_PATH" in environ,
"CORAL_AUTH_PATH environment var not set"
44 auth_paths = environ[
"CORAL_AUTH_PATH"].
split(
":")
46 for auth_path
in auth_paths + [
"."]:
47 file_name = pjoin(auth_path,
"authentication.xml")
53 raise RuntimeError(
"Unable to locate credentials for %s."
◆ make_atlas_partition_query()
| def python.oracle.make_atlas_partition_query |
( |
| ) |
|
Definition at line 122 of file oracle.py.
123 return (
select(run_table.c.RUNNUMBER)
124 .
where(run_table.c.PARTITIONNAME ==
"ATLAS")
125 .order_by(run_table.c.RUNNUMBER))
◆ make_oracle_connection()
| def python.oracle.make_oracle_connection |
( |
|
connection_string | ) |
|
Definition at line 57 of file oracle.py.
58 "oracle://ATLAS_COOLPROD/ATLAS_COOLONL_GLOBAL"
59 assert connection_string.startswith(
"oracle://"),
"Not a connection string"
60 host = urlparse (connection_string[len(
"oracle:"):]).netloc
62 conn_str =
"oracle://%s:%s@%s" % (username, password, host)
63 engine = create_engine(conn_str, pool_recycle=10*60)
65 metadata.reflect(engine)
66 return engine, metadata
75 "/ATLAS_COOLONL_GLOBAL")
◆ parse_auth_file()
| def python.oracle.parse_auth_file |
( |
|
file_name, |
|
|
|
connection |
|
) |
| |
Definition at line 16 of file oracle.py.
18 dom =
parse(file_name)
20 connections = dom.getElementsByTagName(
"connection")
21 desired_conn =
lambda c: c.attributes.get(
"name").value == connection
23 connections =
list(
filter(desired_conn, connections))
25 if len(connections) < 1:
29 for node
in connections[0].childNodes:
30 if node.nodeName ==
"parameter":
31 info[node.getAttribute(
"name")] =
str(node.getAttribute(
"value"))
33 authentication = info[
"user"], info[
"password"]
◆ ONE_WEEK
| int python.oracle.ONE_WEEK = 7*24*3600 |
◆ run_table
Initial value: 1 = Table(
"ATLAS_RUN_NUMBER.RUNNUMBER", metadata,
2 Column(
"NAME", String),
3 Column(
"RUNNUMBER", String),
4 Column(
"STARTAT", String),
5 Column(
"DURATION", Integer),
6 Column(
"CREATEDBY", String),
7 Column(
"HOST", String),
8 Column(
"PARTITIONNAME", String),
9 Column(
"CONFIGSCHEMA", Integer),
10 Column(
"CONFIGDATA", String),
11 Column(
"COMMENTS", String),
Definition at line 78 of file oracle.py.
◆ Session
| python.oracle.Session = sessionmaker(engine) |
def fetch_recent_runs(how_recent=ONE_WEEK, ascending=False)
def atlas_runs_between(first, last)
def fetch_last_n_atlas_runs(n=10)
def fetch_runs_since(first_run=140000, ascending=False)
def make_atlas_partition_query()
def make_oracle_connection(connection_string)
def parse_auth_file(file_name, connection)
def get_authentication(connection="oracle://ATLAS_COOLPROD/ATLAS_COOLONL_GLOBAL")
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
def time(flags, cells_name, *args, **kw)
void select(const xAOD::IParticle *particle, const float coneSize, const xAOD::CaloClusterContainer *clusters, std::vector< bool > &mask)
def filter_atlas_runs(iovs)