10 def readModule(part, mod, runnumber, datadir, outdir):
13 print 'Checking', part, mod
15 filename =
'%stiletb_%d_CIS.%s%02d.0.aan.root' % (datadir, runnumber, part, mod)
17 partnames = [
'LBA',
'LBC',
'EBA',
'EBC']
18 partmap = {
'LBA':
'A',
'LBC':
'C',
'EBA':
'D',
'EBC':
'E'}
20 histoshg = [ROOT.TH1F(
'%s MOD %02d PMT %02d HG' % (part, mod,
int(pmt + 1)),
'%02d' % (
int(pmt + 1)), 7, 1, 8)
for pmt
in range(48)]
21 histoslg = [ROOT.TH1F(
'%s MOD %02d PMT %02d LG' % (part, mod,
int(pmt + 1)),
'%02d' % (
int(pmt + 1)), 7, 1, 8)
for pmt
in range(48)]
23 entrieshg = [0
for pmt
in range(48)]
24 entrieslg = [0
for pmt
in range(48)]
26 for list
in [histoshg, histoslg]:
28 hist.GetXaxis().CenterLabels(ROOT.kTRUE)
32 if os.path.exists(filename):
33 print 'Using', filename
34 file = ROOT.TFile.Open(filename)
35 if file
and not file.IsZombie():
36 tree = file.Get(
'h1000')
37 nevents = tree.GetEntries()
40 for ev
in range(1, nevents):
44 pha = tree.m_cispar[5]
45 dac = tree.m_cispar[6]
46 cap = tree.m_cispar[7]
47 if pha!=0
or cap!=100:
51 sampleshg = getattr(tree,
'sample%s%02dhi' % (partmap[part], mod))
53 histoshg[pmt].Fill(samp+1, sampleshg[pmt*9+samp])
54 entrieshg[pmt] = entrieshg[pmt] + 1
57 sampleslg = getattr(tree,
'sample%s%02dlo' % (partmap[part], mod))
59 histoslg[pmt].Fill(samp+1, sampleslg[pmt*9+samp])
60 entrieslg[pmt] = entrieslg[pmt] + 1
66 factor = 1./
float(entrieshg[pmt])
67 histoshg[pmt].
Scale(factor)
72 factor = 1./
float(entrieslg[pmt])
73 histoslg[pmt].
Scale(factor)
76 for histo
in histoshg:
79 for histo
in histoslg:
83 saveHistos(histoshg, part, mod,
'hg', runnumber, outdir)
84 saveHistos(histoslg, part, mod,
'lg', runnumber, outdir)