ATLAS Offline Software
Control
xAODRootAccess
python
ClassNameManips.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3
# Helper functions for class name manipulations
4
5
# For some of the finding
6
import
re
7
8
# For logging errors and warnings
9
from
AthenaCommon
import
Logging
10
cnm_log = Logging.logging.getLogger(
'ClassNameManips'
)
11
12
def
pers_to_trans_name
(p):
13
# Baseline: transient name is identical
14
t = p
15
# Let's look for a version in the name
16
vers = re.findall(
r'_v\d+'
,t )
17
if
len(vers)>1:
18
cnm_log.warning(
'Input name '
+p+
' seems to have multiple version numbers: '
+
str
(vers)+
' - will wipe them all'
)
19
for
v
in
vers:
20
# Wipe out the version
21
t = t.replace(v,
''
)
22
# Now convert data vectors
23
if
'DataVector<'
in
t:
24
t = t.replace(
'DataVector<'
,
''
).
replace
(
'>'
,
''
)
25
t =
'Container#'
.
join
(t.split(
'#'
))
26
cnm_log.debug(
'Translated '
+p+
' to '
+t)
27
return
t
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition:
hcg.cxx:307
python.ClassNameManips.pers_to_trans_name
def pers_to_trans_name(p)
Definition:
ClassNameManips.py:12
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition:
Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
str
Definition:
BTagTrackIpAccessor.cxx:11
Generated on Wed Jan 8 2025 21:07:55 for ATLAS Offline Software by
1.8.18