Belle II Software  release-06-01-15
MinModule Class Reference
Inheritance diagram for MinModule:
Collaboration diagram for MinModule:

Public Member Functions

def event (self)
 

Detailed Description

Example module to drop into ipython and create some objects to look at.
If you just want to start IPython and create PyStoreArray etc.
interactively in your own steering file, the 'Interactive' module
might be of interest.

Definition at line 68 of file readout.py.

Member Function Documentation

◆ event()

def event (   self)
reimplement Module::event()

Definition at line 77 of file readout.py.

77  def event(self):
78  """
79  reimplement Module::event()
80  """
81  self.return_value(0)
82  # function namespace caching
83  frombuffer = np.frombuffer
84  GetNodeID = Belle2.RawTRG.GetNodeID
85  GetDetectorNwords = Belle2.RawTRG.GetDetectorNwords
86  GetDetectorBuffer = Belle2.RawTRG.GetDetectorBuffer
87  trgary = Belle2.PyStoreArray("RawTRGs")
88 
89  evtmeta = Belle2.PyStoreObj("EventMetaData")
90  trgs = []
91 
92  # integrity check
93  if integrity_check:
94  print(len(trgary), 'copper(s)')
95  for evt in trgary:
96  for entry in range(evt.GetNumEntries()): # flattened. Usually only 1 entry
97  print('{:0x}'.format(GetNodeID(evt, entry)))
98  entrylist = []
99  for bid in range(4):
100  if (GetNodeID(evt, entry), bid) in hslb:
101  count = GetDetectorNwords(evt, entry, bid)
102  print(bid, "exist, ", count, "words.")
103  return
104  dataList = []
105  for evt in trgary:
106  # assuming smaller Copper ID comes first
107  for entry in range(evt.GetNumEntries()): # flattened. Usually only 1 entry
108  # print('{:0x}'.format(GetNodeID(evt, entry)))
109  entrylist = []
110  for bid in range(4):
111  if (GetNodeID(evt, entry), bid) not in hslb:
112  continue
113  count = GetDetectorNwords(evt, entry, bid)
114  if count == 0:
115  # continue
116  pass
117  bf = GetDetectorBuffer(evt, entry, bid)
118  ary = frombuffer(bf, np.uintc, count)
119  # obsolete: skipping dummy buffers
120  # if '{:0x}'.format(ary[0])[:4] == 'dddd':
121  # self.return_value(1)
122  # else:
123  # return
124  self.return_value(1)
125  dataList.append(join(ary))
126 
127  event = evtmeta.getEvent()
128  run = evtmeta.getRun()
129  subrun = evtmeta.getSubrun()
130  meta.append((event, run, subrun))
131  data.append(dataList)
132 
133 
134 # Set the log level to show only error and fatal messages
135 # set_log_level(LogLevel.ERROR)
136 b2.set_log_level(b2.LogLevel.INFO)
137 
138 # Create main path
a (simplified) python wrapper for StoreArray.
Definition: PyStoreArray.h:56
a (simplified) python wrapper for StoreObjPtr.
Definition: PyStoreObj.h:67

The documentation for this class was generated from the following file: