6 import libpyevent_storage
as EventStorage
14 print(
" usage: %s [options] <outbasename> <file1> <file2> <file3>" % sys.argv[0])
15 print(
" Rewrites events with event ids numbered consequtively from 1")
16 print(
" This is mainly used for preparing events from playback partition")
19 print(
" -n <number of events per file> : defaults to 500")
20 print(
" -v : verbose output")
24 opts, args = getopt.getopt(sys.argv[1:],
"vn:")
32 eventsPerFile=
int(arg)
42 dr=EventStorage.pickDataReader(files[0])
44 output = eformat.ostream(core_name=basename,
45 run_number=dr.runNumber(),
46 trigger_type=dr.triggerType(),
47 detector_mask=dr.detectorMask(),
48 beam_type=dr.beamType(),
49 beam_energy=dr.beamEnergy())
50 output.max_events_per_file(eventsPerFile)
52 for input_file
in files:
54 print(
"Opening file %d: %s" % (ifile, input_file))
56 input = eformat.istream([input_file])
60 print(
"Reading event with Lvl1 Id = %ld and rewritting with %ld" % (event.lvl1_id(),id))
61 new_event = eformat.write.FullEventFragment(event)
63 new_event.global_id(id)
64 for rob
in new_event.children():
67 rob.rod_lvl1_trigger_type(event.lvl1_trigger_type())
69 output.write(new_event)
73 print(
'Wrote %d events to %d files' % ( id-1, 1+((id-1)//eventsPerFile) ))