24def ReadBJESHistograms(dirName):
25 if not dirName.endswith("/"):
26 dirName = dirName + "/"
27
28
29
30 histos = {}
31 files = sorted(glob.glob(dirName+"b-JES*GSC.root"))
32 for aFileName in files:
33
34 jetDef = ""
35 for aFileDef,aJetDef in jetDefDict.iteritems():
36 if aFileDef in aFileName:
37 jetDef = aJetDef
38 break
39 if jetDef == "":
40 print "Failed to determine jet definition for file:",aFileName
41 return None
42 histos[jetDef] = {}
43
44
45 inFile = TFile(aFileName,"READ")
46 for aName,aSystName in SystematicNameDictionary.iteritems():
47 systematicName = aSystName + "_" + jetDef
48 histo = inFile.Get(aName)
49 if histo is None:
50 print "Failed to get histogram:",systematicName
51 return None
52
54 histo2D.SetDirectory(0)
55
56
57 for ptBin in range(1,histo2D.GetNbinsX()+1):
58 for etaBin in range(1,histo2D.GetNbinsY()+1):
59 histo2D.SetBinContent(ptBin,etaBin,1-histo2D.GetBinContent(ptBin,etaBin))
60
61 histos[jetDef][aSystName] = histo2D
62
63
64 inFile.Close()
65
66
67
68 for aDef,aHistoSet in histos.iteritems():
69
71 histos[aDef]['bJES'].SetDirectory(0)
72
73 return histos
74
ConvertTGraphToProviderHisto(graph, histoName)
QuadratureSumHisto(histoName, histos)