10 from ROOT
import Belle2
14 ''' Print summary of raw data given in Interim FE format '''
19 return (((x << 24) & 0xFF000000) |
20 ((x << 8) & 0x00FF0000) |
21 ((x >> 8) & 0x0000FF00) |
22 ((x >> 24) & 0x000000FF))
25 ''' Event processor '''
28 if rawTOPs.getEntries() == 0:
29 print(
'RawTOP is empty - maybe component ID was not set properly at DAQ')
32 expno = raw.GetExpNo(0)
33 runno = raw.GetRunNo(0)
34 subno = raw.GetSubRunNo(0)
35 eveno = raw.GetEveNo(0)
36 copper = raw.GetNodeID(0) & 0x00FFFFFF
37 print(
'RawTOP[' + str(indx) +
']:',
38 'COPPER=' + str(copper),
41 'SUBRUN=' + str(subno),
42 'EVENT=' + str(eveno))
44 for finesse
in range(4):
45 size = raw.GetDetectorNwords(0, finesse)
47 print(
' HLSB', str(finesse),
48 ': size =', str(size),
'words')
50 data = raw.GetDetectorBuffer(0, finesse)
51 scrod = self.
swap32(data[0]) & 0x0FFF
57 word = self.
swap32(data[i])
59 if word == 0xaaaa0100:
62 elif word == 0xaaaa0103:
66 if k > 0
and k < size - 6:
67 if self.
swap32(data[k]) != 0xd8f1ffff:
69 if self.
swap32(data[k + 6]) != 0x270fffff:
71 print(
' HLSB', str(finesse),
72 ': size =', str(size),
'words,',
73 'SCROD', str(scrod) +
',',
74 'FE headers=' + str(numFE),
75 'signalsPoz=' + str(numPoz),
76 'signalsNeg=' + str(numNeg),
77 'Waveforms=' + str(numWF))
85 roinput = register_module(
'SeqRootInput')
87 main.add_module(roinput)
90 converter = register_module(
'Convert2RawDet')
91 main.add_module(converter)
94 main.add_module(
'EventInfoPrinter')