], outputs=["wab-beam-tri.stdhep"]) # generate events in slic slic = SLIC(description="Run detector simulation using SLIC", detector=params.detector, inputs=["wab-beam-tri.stdhep"], outputs=["wab-beam-tri.slcio"], nevents=params.nevents, ignore_returncode=True) # run simulated events in readout to generate triggers readout = JobManager( description="Run the readout simulation to create triggers", steering_resource=params.readout_steering, java_args=["-DdisableSvtAlignmentConstants"], run=params.run, detector=params.detector, inputs=["wab-beam-tri.slcio"], outputs=["wab-beam-tri_readout"]) # run physics reconstruction recon = JobManager(description="Run the MC recon", steering_resource=params.recon_steering, java_args=["-DdisableSvtAlignmentConstants"], run=params.run, detector=params.detector, inputs=["wab-beam-tri_readout.slcio"], outputs=["wab-beam-tri_recon"]) # run the job job.components = [
output_base, ext = os.path.splitext(input_files[0]) if (len(input_files) > 1): # Strip off extension from name if multiple file inputs. output_base, ext = os.path.splitext(output_base) # Job parameters may optionally specify number of events to read from LCIO file. if hasattr(params, "nevents"): nevents = params.nevents else: nevents = -1 # Make text tuple outputs. make_tuples = JobManager(steering_resource=params.tuple_steering, run=params.run, detector=params.detector, inputs=input_files, outputs=[output_base], nevents=nevents) job.components.append(make_tuples) # Create components to convert each of the text tuple files to ROOT. tuple_outputs = [] for tuple_type in ["fee", "moller", "tri", "fulltruth"]: tuple_base = output_base + "_" + tuple_type tuple_input = tuple_base + ".txt" tuple_output = tuple_base + ".root" tuple_outputs.append(tuple_output) make_tree = MakeTree(inputs=[tuple_input], outputs=[tuple_output]) job.components.append(make_tree) # Tar the files into an output archive.
nevents=nevents * event_interval, ignore_job_params=['nevents']) # Merge signal and beam events merge = LCIOMerge( inputs=[filter_bunches.output_files()[0], slic_beam.output_files()[0]], outputs=['%s.slcio' % tritrig_beam_name], ignore_job_params=['nevents']) # Print number of merged events count_merge = LCIOCount(inputs=merge.output_files()) # Run simulated events in readout to generate triggers readout = JobManager(steering='readout', inputs=merge.output_files(), outputs=['%s_readout.slcio' % tritrig_beam_name]) # Print number of readout events count_readout = LCIOCount(inputs=readout.output_files()) # Run physics reconstruction recon = JobManager(steering='recon', inputs=readout.output_files(), outputs=['%s_recon.slcio' % tritrig_beam_name]) # Print number of recon events count_recon = LCIOCount(inputs=recon.output_files()) # Convert LCIO to ROOT #tuple = HPSTR(cfg='recon',
output_base = os.path.splitext(os.path.basename(input_files[0]))[0] job.ptag('filt', '%s_filt.slcio' % output_base) job.ptag('readout', '%s_filt_readout.slcio' % output_base) job.ptag('lcio_recon', '%s_filt_readout_recon.slcio' % output_base) #job.ptag('hpstr_recon', '%s_filt_readout_recon.root' % output_base) #job.ptag('hpstr_ana', '%s_filt_readout_recon_ana.root' % output_base) count_input = LCIOCount() # Insert empty bunches expected by pile-up simulation filter_bunches = FilterBunches() count_filt = LCIOCount() # Run simulated events in readout to generate triggers readout = JobManager(steering='readout') count_readout = LCIOCount() # Run physics reconstruction reco = JobManager(steering='recon') count_reco = LCIOCount() # Convert LCIO to ROOT #cnv = HPSTR(cfg='recon') # Run an analysis on the ROOT file #ana = HPSTR(cfg='ana') job.add([count_input, filter_bunches, count_filt, readout, count_readout, reco, count_reco])
nevents=params.nevents, ignore_returncode=True) # insert empty bunches expected by pile-up simulation filter_bunches = FilterMCBunches(java_args=["-DdisableSvtAlignmentConstants"], inputs=[procname + ".slcio"], outputs=[procname + "_filt.slcio"], ecal_hit_ecut=0.05, enable_ecal_energy_filter=True, nevents=2000000, event_interval=250) # run simulated events in readout to generate triggers readout = JobManager(steering_resource=params.readout_steering, java_args=["-DdisableSvtAlignmentConstants"], run=params.run, detector=params.detector, inputs=[procname + "_filt.slcio"], outputs=[procname + "_readout"]) # run physics reconstruction recon = JobManager(steering_resource=params.recon_steering, java_args=["-DdisableSvtAlignmentConstants"], defs={ "detector": params.detector, "run": params.run }, inputs=[procname + "_readout.slcio"], outputs=[procname + "_recon"]) # run the job job.components = [
outputs=["wab-beam_filter.slcio"], event_interval=0, enable_ecal_energy_filter=False, args=["-a"]) # merge the files together merge = LCIOTool(name="merge", args=[ "-f", "tritrig_filter.slcio", "-f", "wab-beam_filter.slcio", "-o", "merged.slcio" ]) # run simulated events in readout to generate triggers readout = JobManager(steering_resource=params.readout_steering, java_args=["-DdisableSvtAlignmentConstants"], run=params.run, detector=params.detector, inputs=["merged.slcio"], outputs=["readout"]) # run physics reconstruction recon = JobManager(steering_resource=params.recon_steering, java_args=["-DdisableSvtAlignmentConstants"], run=params.run, detector=params.detector, inputs=["readout.slcio"], outputs=["tritrig-wab-beam"]) job.components = [filter_tritrig, filter_wab, merge, readout, recon] job.run()
} # job init job = Job(name="engrun2015 readout job") job.set_default_params(def_params) job.initialize() params = job.params # set number of events if present in params nevents = -1 if "nevents" in params: nevents = params['nevents'] # run readout on all input files, assigning input files to output files from JSON names for io in zip(sorted(params.input_files.keys()), sorted(params.output_files.keys())): # run simulated events in readout to generate triggers readout = JobManager( description="Run the readout simulation to create triggers", steering_resource=params['readout_steering'], run=params['run'], detector=params['detector'], inputs=[io[0]], outputs=[os.path.splitext(io[1])[0]], nevents=nevents) job.components.append(readout) job.run()
from hpsmc.job import Job from hpsmc.tools import JobManager job = Job(name="Job Manager Test") job.initialize() params = job.params mgr = JobManager(steering_file=params.steering_file, inputs=params.input_files) job.components = [mgr] job.run()
slic_beams = [] for i in range(len(beam_file_names)): slic_beams.append( SLIC(inputs=[beam_file_names[i]], outputs=[beam_slic_file_names[i]], nevents=nevents * event_int, ignore_job_params=['nevents'])) # concatonate beam events before merging slic_beam_cat = ExtractEventsWithHitAtHodoEcal(inputs=beam_slic_file_names, outputs=['beam_cat.slcio'], event_interval=0, num_hodo_hits=0) # Run simulated events in readout to generate triggers readout = JobManager(steering='readout', inputs=slic_beam_cat.output_files(), outputs=['fee_readout.slcio']) # Run physics reconstruction recon = JobManager(steering='recon', inputs=readout.output_files(), outputs=['fee_recon.slcio']) # Add the components comps = [] for i in range(len(slic_beams)): comps.append(slic_beams[i]) comps.extend([slic_beam_cat, readout, recon]) job.add(comps)
raise Exception("Output file list is empty!") # if using multiple input and multiple output files, the lists have to be same length if (len(params.input_files) != len(params.output_files)) and len( params.output_files) != 1: raise Exception("Input and output file lengths have different lengths!") if len(params.input_files) == len(params.output_files): # multiple input files to multiple output files for io in zip(sorted(params.input_files.keys()), sorted(params.output_files.keys())): # run physics reconstruction for each input file and write a separate output file recon = JobManager(description="Run the MC recon", steering_resource=params['recon_steering'], run=params['run'], detector=params['detector'], inputs=[io[0]], outputs=[os.path.splitext(io[1])[0]]) job.components.append(recon) elif len(params.output_files) == 1: # write a single output file from multiple input files recon = JobManager( description="Run the MC recon", steering_resource=params['recon_steering'], run=params['run'], detector=params['detector'], inputs=params.input_files.keys(), outputs=[os.path.splitext(params.output_files.keys()[0])[0]]) job.components.append(recon) else: