-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNewHistManager.py
More file actions
54 lines (41 loc) · 1.58 KB
/
NewHistManager.py
File metadata and controls
54 lines (41 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import ROOT
import time
import Analysis.StandardHistograms as SH
import NewStandardHistograms as NSH
#======================================================================
class HistManager(object):
"""Histogram managing tool for the analysis class."""
def __init__(self, name):
super(HistManager, self).__init__()
# Configurable
self.Name = name
self.Histograms = {}
def getHistogram(self, histName):
return self.HistManager.getHistogram(histName)
if histName in self.Histograms:
return self.Histograms[histName]
else:
self.log("Histogram with name " + histName + " not found")
return None
def addHistogram(self, histName, histogram):
if histName in self.Histograms:
print "Histogram with name " + histName + " already defined!"
else:
self.Histograms[histName] = histogram
return histogram
def addStandardHistogram(self, histName):
histogram = SH.getStandardHistogram(histName)
if histogram is None:
self.log("Histogram with name " + histName + " not found")
return None
return self.addHistogram(histName, histogram)
def writeHistograms(self):
[hist.Write() for hist in self.Histograms.values()]
# Utility function
def log(self, message):
print time.ctime() + " HistManager " + self.Name + ": " + message
def returnHistogram(histName):
return NSH.getStandardHistogram(histName)
def writeHist(histObjDic):
for hist in histObjDic.values():
hist.Write()