ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetUncertainties
testingMacros
InputScripts
Final2012
Final2012/ParseHighPtInput.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
2
3
from
ROOT
import
*
4
from
array
import
array
5
import
glob
6
import
re
7
import
math
8
import
ProviderHistoHelpers
9
10
11
def
GetKeyNames
(self,dir=""):
12
self.cd(dir)
13
return
[key.GetName()
for
key
in
gDirectory.GetListOfKeys()]
14
TFile.GetKeyNames = GetKeyNames
15
16
jetDefList = [
'AntiKt4Topo_EMJES'
,
'AntiKt6Topo_EMJES'
,
'AntiKt4Topo_LCJES'
,
'AntiKt6Topo_LCJES'
]
17
18
def
ReadHighPtHistograms
(dirName):
19
if
not
dirName.endswith(
"/"
):
20
dirName = dirName +
"/"
21
22
# Run over the two files
23
emFileList = sorted(glob.glob(dirName+
"EM*/*.root"
))
24
lcFileList = sorted(glob.glob(dirName+
"LC*/*.root"
))
25
if
len(emFileList) != 1:
26
print
"Found a number of EM root files not equal to 1 in dir:"
,dirName
27
return
None
28
if
len(lcFileList) != 1:
29
print
"Found a number of LC root files not equal to 1 in dir:"
,dirName
30
return
None
31
emFile = TFile(emFileList[0],
"READ"
)
32
lcFile = TFile(lcFileList[0],
"READ"
)
33
34
histos = {}
35
for
aJetDef
in
jetDefList:
36
histos[aJetDef] = {}
37
38
rootFile =
None
39
if
"EMJES"
in
aJetDef:
40
rootFile = emFile
41
elif
"LCJES"
in
aJetDef:
42
rootFile = lcFile
43
else
:
44
print
"Unexpected jet def:"
,aJetDef
45
return
None
46
47
for
histName
in
rootFile.GetKeyNames():
48
if
aJetDef
not
in
histName:
continue
49
histo = rootFile.Get(histName)
50
if
histo
is
None
:
51
print
"Failed to get histogram:"
,histName
52
return
None
53
histo.SetName(histName+
"_1D"
)
54
55
histos[aJetDef][re.sub(
"_%s"
%(aJetDef),
""
,histName)] =
ProviderHistoHelpers.ConvertPtHistoToProviderHisto
(histo,histName)
56
histos[aJetDef][re.sub(
"_%s"
%(aJetDef),
""
,histName)].SetDirectory(0)
57
58
lcFile.Close()
59
emFile.Close()
60
61
67
68
#histos = {}
69
#for aJetDef in jetDefList:
70
# histos[aJetDef] = {}
71
72
# for histName in rootFile.GetKeyNames():
73
# if aJetDef not in histName: continue
74
# histo = rootFile.Get(histName)
75
# if histo is None:
76
# print "Failed to get histogram:",histName
77
# return None
78
# histo.SetName(histName+"_1D")
79
80
# histos[aJetDef][re.sub("_%s"%(aJetDef),"",histName)] = ProviderHistoHelpers.ConvertPtHistoToProviderHisto(histo,histName)
81
# histos[aJetDef][re.sub("_%s"%(aJetDef),"",histName)].SetDirectory(0)
82
83
85
86
return
histos
87
ParseHighPtInput.ReadHighPtHistograms
ReadHighPtHistograms(dirName)
Definition
Final2012/ParseHighPtInput.py:18
ParseHighPtInput.GetKeyNames
GetKeyNames
Definition
Final2012/ParseHighPtInput.py:14
ProviderHistoHelpers.ConvertPtHistoToProviderHisto
ConvertPtHistoToProviderHisto(histo1D, histoName)
Definition
Final2012/ProviderHistoHelpers.py:44
Generated on
for ATLAS Offline Software by
1.17.0