ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tools
FilePeeker
python
FilePeeker.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3
4
import
os
5
import
sys
6
from
subprocess
import
check_output
7
8
9
def
PeekFiles
(inputfiles):
10
11
bsfiles=[]
12
poolfiles=[]
13
for
inputfile
in
inputfiles:
14
if
not
os.access(inputfile,os.R_OK):
15
print
(
"ERROR: Failed input file"
,inputfile,
"not accessible"
)
16
return
None
17
if
"pool.root"
in
inputfile:
18
poolfiles.append(inputfile)
19
else
:
20
bsfiles.append(inputfile)
21
22
23
retval=
""
24
if
len(bsfiles)>0:
25
retval=check_output([
"BSFilePeeker"
,
"-k"
]+bsfiles).decode(
'utf-8'
)
26
27
if
len(poolfiles)>0:
28
retval+=check_output([
"PoolFilePeeker"
,
"-k"
]+poolfiles).decode(
'utf-8'
)
29
30
31
fullResult=dict()
32
for
line
in
retval.split(os.linesep):
33
linesplit=line.split(
":"
)
34
if
len(linesplit)!=2:
continue
35
k=linesplit[0].
strip
()
36
v=linesplit[1].
strip
()
37
if
len(v)==0:
continue
38
if
(k==
"File"
):
39
result=dict()
40
fullResult[v]=result
41
42
43
elif
(k==
"RunNumber"
or
k==
"LBNumber"
):
44
result[k]=
set
(int(rn)
for
rn
in
v.split())
45
elif
(k==
"BeamEnergy"
):
46
result[k]=int(v)
47
48
elif
(k==
"SGkeys"
):
49
result[k]=
set
(sgk
for
sgk
in
v.split())
50
51
elif
(k==
"isMC"
):
52
result[k]=bool(int(v))
53
else
:
54
result[k]=v
55
56
return
fullResult
57
58
59
60
if
__name__==
"__main__"
:
61
print
(
PeekFiles
(sys.argv[1:]))
62
63
SiliconTech::strip
@ strip
Definition
FPGATrackSimTypes.h:25
set
STL class.
python.FilePeeker.PeekFiles
PeekFiles(inputfiles)
Definition
FilePeeker.py:9
Generated on
for ATLAS Offline Software by
1.17.0