Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
◆ atlas_runs_between()
def python.oracle.atlas_runs_between |
( |
|
first, |
|
|
|
last |
|
) |
| |
Definition at line 145 of file oracle.py.
148 rows = rows.where(run_table.c.RUNNUMBER.between(first, last))
151 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 137 of file oracle.py.
140 return session.execute(rows).fetchall()
◆ fetch_last_n_atlas_runs()
def python.oracle.fetch_last_n_atlas_runs |
( |
|
n = 10 | ) |
|
Definition at line 129 of file oracle.py.
130 rows = (
select(run_table.c.RUNNUMBER)
131 .
where(run_table.c.PARTITIONNAME ==
"ATLAS")
132 .order_by(run_table.c.RUNNUMBER.desc()).
limit(n))
135 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 96 of file oracle.py.
98 Retrieve a list of ATLAS runs from the database, since first_run
100 from time
import time, strftime, gmtime
103 ordering = t.c.RUNNUMBER.asc()
if ascending
else t.c.RUNNUMBER.desc()
105 this_recent = strftime(
"%Y%m%dT%H%M%S", gmtime(time()-how_recent))
106 condition = and_(t.c.STARTAT >= this_recent, t.c.PARTITIONNAME ==
"ATLAS")
107 rows =
select(run_table).
where(condition).order_by(ordering)
109 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 111 of file oracle.py.
113 Retrieve a list of ATLAS runs from the database, since first_run
117 ordering = t.c.RUNNUMBER.asc()
if ascending
else t.c.RUNNUMBER.desc()
119 condition = and_(t.c.RUNNUMBER > first_run, t.c.PARTITIONNAME ==
"ATLAS")
120 rows =
select(run_table).
where(condition).order_by(ordering)
122 return session.execute(rows).fetchall()
◆ filter_atlas_runs()
def python.oracle.filter_atlas_runs |
( |
|
iovs | ) |
|
Definition at line 153 of file oracle.py.
155 iov_runs =
set(iov.since.run
for iov
in iovs)
156 first, last =
min(iov_runs),
max(iov_runs)
159 rows = rows.where(run_table.c.RUNNUMBER.between(first, last))
162 atlas_runs =
set(row.RUNNUMBER
for row
in session.execute(rows).fetchall())
163 keep_runs = atlas_runs.intersection(iov_runs)
165 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 38 of file oracle.py.
39 Retrieves authentication information from CORAL_AUTH_PATH authentication.xml
42 from os
import environ
43 from os.path
import join
as pjoin
44 assert "CORAL_AUTH_PATH" in environ,
"CORAL_AUTH_PATH environment var not set"
46 auth_paths = environ[
"CORAL_AUTH_PATH"].
split(
":")
48 for auth_path
in auth_paths + [
"."]:
49 file_name = pjoin(auth_path,
"authentication.xml")
55 raise RuntimeError(
"Unable to locate credentials for %s."
◆ make_atlas_partition_query()
def python.oracle.make_atlas_partition_query |
( |
| ) |
|
Definition at line 124 of file oracle.py.
125 return (
select(run_table.c.RUNNUMBER)
126 .
where(run_table.c.PARTITIONNAME ==
"ATLAS")
127 .order_by(run_table.c.RUNNUMBER))
◆ make_oracle_connection()
def python.oracle.make_oracle_connection |
( |
|
connection_string | ) |
|
Definition at line 59 of file oracle.py.
60 "oracle://ATLAS_COOLPROD/ATLAS_COOLONL_GLOBAL"
61 assert connection_string.startswith(
"oracle://"),
"Not a connection string"
62 host = urlparse (connection_string[len(
"oracle:"):]).netloc
64 conn_str =
"oracle://%s:%s@%s" % (username, password, host)
65 engine = create_engine(conn_str, pool_recycle=10*60)
67 metadata.reflect(engine)
68 return engine, metadata
77 "/ATLAS_COOLONL_GLOBAL")
◆ parse_auth_file()
def python.oracle.parse_auth_file |
( |
|
file_name, |
|
|
|
connection |
|
) |
| |
Definition at line 18 of file oracle.py.
20 dom =
parse(file_name)
22 connections = dom.getElementsByTagName(
"connection")
23 desired_conn =
lambda c: c.attributes.get(
"name").value == connection
25 connections =
list(
filter(desired_conn, connections))
27 if len(connections) < 1:
31 for node
in connections[0].childNodes:
32 if node.nodeName ==
"parameter":
33 info[node.getAttribute(
"name")] =
str(node.getAttribute(
"value"))
35 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 80 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.
void select(const xAOD::IParticle *particle, const float coneSize, const xAOD::CaloClusterContainer *clusters, std::vector< bool > &mask)
def filter_atlas_runs(iovs)