2@file signal_pulser_overlay_to_recon_job.py
4Overlay MC with pulser data (evio or slcio) and run readout + reconstruction.
5Automatically detects pulser input format from file name.
8from hpsmc.tools import ExtractEventsWithHitAtHodoEcal, EvioToLcio, JobManager, FilterBunches, LCIOCount, HPSTR
10job.description =
'signal-pulse from overlay to recon'
13inputs = list(job.input_files.values())
23 signal_file_name.append(input)
25 pulser_file_name.append(input)
28if len(signal_file_name) == 0:
29 raise Exception(
"Missing required input file(s) for signal")
30if len(pulser_file_name) == 0:
31 raise Exception(
"Missing required input file(s) for pulser data")
34pulser_is_evio =
'evio' in pulser_file_name[0]
43signal_pulser_name =
'signal_pulser'
47 outputs=[
'%s_filt.slcio' % signal_name],
48 event_interval=0, num_hodo_hits=1)
51count_filter =
LCIOCount(inputs=filter_events.output_files())
54evio_to_lcio =
EvioToLcio(steering=
'evio_to_lcio', inputs=pulser_file_name, output=[
'%s.slcio' % pulser_name])
57count_pulser =
LCIOCount(inputs=evio_to_lcio.output_files())
61 inputs=filter_events.output_files(),
62 overlay_file=pulser_file_name[0],
63 outputs=[
'%s.slcio' % signal_pulser_name])
68 outputs=[
'%s_spaced.slcio' % signal_pulser_name],
69 filter_event_interval=250)
72count_space_overlay =
LCIOCount(inputs=space_overlay.output_files())
76 inputs=space_overlay.output_files(),
77 outputs=[
'%s_readout.slcio' % signal_pulser_name])
80count_readout =
LCIOCount(inputs=readout.output_files())
84 inputs=readout.output_files(),
85 outputs=[
'%s_recon.slcio' % signal_pulser_name])
91cnv =
HPSTR(inputs=recon.output_files(), cfg=
'cnv')
95 job.add([filter_events, count_filter, evio_to_lcio, overlay, space_overlay,
96 count_space_overlay, readout, count_readout, recon, count_recon, cnv])
98 job.add([filter_events, count_filter, overlay, space_overlay,
99 count_space_overlay, readout, count_readout, recon, count_recon, cnv])