ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetUncertainties
testingMacros
InputScripts
Prerec2012
Prerec2012/ParsePileupInput.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
SystematicNames = [
'Pileup_PtTerm_NPV'
,
'Pileup_PtTerm_Mu'
,
'Pileup_OffsetNPV'
,
'Pileup_OffsetMu'
]
#,'Pileup_RhoTopology']
12
13
jetDefs = {
'AntiKt4EMTopo'
:
'AntiKt4Topo_EMJES'
}
#,'AntiKt6Topo_EMJES','AntiKt4Topo_LCJES','AntiKt6Topo_LCJES']
14
15
def
ReadPileupHistograms(dirName):
16
if
not
dirName.endswith(
"/"
):
17
dirName = dirName +
"/"
18
19
# We're just taking it from the old ROOT file...
20
# Ensure there is just one such file
21
rootFileList = sorted(glob.glob(dirName+
"*.root"
))
22
23
histos = {}
24
25
for
aJetDef
in
jetDefs.keys():
26
histos[jetDefs[aJetDef]] = {}
27
28
for
file
in
rootFileList :
29
rootFile = TFile(file,
"READ"
)
30
31
# Loop over the desired systematics
32
for
aSystName
in
SystematicNames:
33
systematicName = aSystName +
"_"
+ aJetDef
34
if
systematicName+
"NEW"
not
in
rootFile.GetKeyNames() :
35
continue
36
histo = rootFile.Get(systematicName+
"NEW"
)
37
if
histo
is
None
:
38
print
"Failed to get histogram:"
,systematicName
39
return
None
40
41
histo.SetDirectory(0)
42
43
histos[jetDefs[aJetDef]][aSystName] = histo
44
45
# Done reading, close the file
46
rootFile.Close()
47
48
# one extra file: rho topology term comes from current prerecs
49
# THIS IS A GIANT FIXME
50
rootFile = TFile(
"/cluster/warehouse/kpachal/JetCalibration/JetUncertainties/JetUncertainties/share/JES_2015/Prerec/JESUncertainty_2015.root"
,
"READ"
)
51
histo = rootFile.Get(
"Pileup_RhoTopology_AntiKt4EMTopo"
)
52
histo.SetDirectory(0)
53
histos[jetDefs[aJetDef]][
'Pileup_RhoTopology'
] = histo
54
55
return
histos
56
57
58
Generated on
for ATLAS Offline Software by
1.17.0