6 from ROOT
import Belle2
7 from ROOT
import TH2F, TFile
14 inputFile =
'laserSimulation.root'
15 if not os.path.exists(inputFile):
16 B2ERROR(inputFile +
': file not found')
17 B2INFO(
'File can be generated with top/analysis/simLaserCalibration.py')
23 ''' A module to histogram pixel hits from individual fibers'''
26 hist = [TH2F(
'fiber' + str(k + 1),
'Pixel hit distribution from fiber No.' + str(k + 1),
27 64, 0.5, 64.5, 8, 0.5, 8.5)
for k
in range(9)]
31 propTime = TH2F(
'propTime',
'Photon propagation times for pixel ' + str(pixelID) +
32 ' vs. fiber number', 9, 0.5, 9.5, 200, 0.0, 1.0)
33 propTime.GetXaxis().SetTitle(
'fiber number')
34 propTime.GetYaxis().SetTitle(
'propagation time [ns]')
37 ''' Event processor: fill histograms '''
41 simhits = digit.getRelationsWith(
'TOPSimHits')
42 for simhit
in simhits:
43 photon = simhit.getRelated(
'TOPSimPhotons')
45 k = int((photon.getEmissionPoint().X() + 22.5) / 5.5)
47 self.
hist[k].Fill(digit.getPixelCol(), digit.getPixelRow())
49 B2ERROR(
'wrong decoding of fiber number: ' + str(k + 1))
50 if digit.getPixelID() == self.
pixelID:
51 t = photon.getDetectionTime() - photon.getEmissionTime()
55 ''' Write histograms to file '''
57 tfile = TFile(
'laserPixelIlumination.root',
'recreate')
68 roinput = register_module(
'RootInput')
69 roinput.param(
'inputFileName', inputFile)
70 main.add_module(roinput)
76 progress = register_module(
'Progress')
77 main.add_module(progress)