Belle II Software  light-2403-persian
emptyrelations.py
1 #!/usr/bin/env python3
2 
3 
10 
11 from basf2 import set_random_seed, create_path, Module
12 from ROOT import Belle2
13 from b2test_utils import safe_process, clean_working_directory
14 
15 set_random_seed("something important")
16 
17 
18 class MakeRelations(Module):
19  '''Simple module that creates some relations.'''
20 
21  def initialize(self):
22  '''Initialize.'''
23 
24  self.trackstracks = Belle2.PyStoreArray('Tracks')
25 
26  self.clustersclusters = Belle2.PyStoreArray('KLMClusters')
27  self.trackstracks.registerInDataStore()
28  self.clustersclusters.registerInDataStore()
29  self.trackstracks.registerRelationTo(self.clustersclusters)
30 
31  self.firstfirst = True
32 
33  def event(self):
34  '''Event.'''
35  if not self.firstfirst:
36  track = self.trackstracks.appendNew()
37  cluster = self.clustersclusters.appendNew()
38  track.addRelationTo(cluster)
39  self.firstfirst = False
40 
41 
42 def create_file():
43  """Create file with empty first event"""
44  path = create_path()
45  path.add_module('EventInfoSetter')
46  path.add_module(MakeRelations())
47  path.add_module('RootOutput', outputFileName='test.root')
48  safe_process(path, 2)
49 
50 
51 def read_file():
52  """Read file with empty first event"""
53  path = create_path()
54  path.add_module('RootInput', inputFileName='test.root')
55  path.add_module('PrintCollections', printForEvent=0)
56  safe_process(path)
57 
58 
59 if __name__ == "__main__":
60  with clean_working_directory():
61  create_file()
62  read_file()
A (simplified) python wrapper for StoreArray.
Definition: PyStoreArray.h:72
first
Bool for flagging the first event processed.