det = detector.Detector(json_filename=detector_file) # detector file det.update(datetime.datetime(2018, 10, 1)) dir_path = os.path.dirname( os.path.realpath(__file__)) # get the directory of this file # initialize all modules that are needed for processing # provide input parameters that are to remain constant during processung readCoREAS = NuRadioReco.modules.io.coreas.readCoREAS.readCoREAS() readCoREAS.begin([input_file], station_id, n_cores=10, max_distance=None) simulationSelector = NuRadioReco.modules.io.coreas.simulationSelector.simulationSelector( ) simulationSelector.begin() efieldToVoltageConverter = NuRadioReco.modules.efieldToVoltageConverter.efieldToVoltageConverter( ) efieldToVoltageConverter.begin(debug=False) hardwareResponseIncorporator = NuRadioReco.modules.ARIANNA.hardwareResponseIncorporator.hardwareResponseIncorporator( ) channelGenericNoiseAdder = NuRadioReco.modules.channelGenericNoiseAdder.channelGenericNoiseAdder( ) triggerSimulator = NuRadioReco.modules.trigger.simpleThreshold.triggerSimulator( ) triggerSimulator.begin() channelBandPassFilter = NuRadioReco.modules.channelBandPassFilter.channelBandPassFilter( ) channelBandPassFilter.begin() eventTypeIdentifier = NuRadioReco.modules.eventTypeIdentifier.eventTypeIdentifier( ) channelStopFilter = NuRadioReco.modules.channelStopFilter.channelStopFilter() channelSignalReconstructor = NuRadioReco.modules.channelSignalReconstructor.channelSignalReconstructor( )
import NuRadioReco.modules.channelResampler import NuRadioReco.modules.channelBandPassFilter import NuRadioReco.modules.channelGenericNoiseAdder import NuRadioReco.modules.custom.deltaT.calculateAmplitudePerRaySolution from NuRadioReco.utilities import units from NuRadioMC.simulation import simulation2 as simulation from NuRadioReco.framework.parameters import channelParameters as chp import numpy as np import logging logging.basicConfig(level=logging.WARNING) logger = logging.getLogger("runstrawman") # initialize detector sim modules #efieldToVoltageConverterPerChannel = NuRadioReco.modules.efieldToVoltageConverterPerChannel.efieldToVoltageConverterPerChannel() efieldToVoltageConverter = NuRadioReco.modules.efieldToVoltageConverter.efieldToVoltageConverter() #efieldToVoltageConverterPerChannel.begin(debug=False, time_resolution=1*units.ns) efieldToVoltageConverter.begin(debug=False, time_resolution=1*units.ns) triggerSimulator = NuRadioReco.modules.triggerSimulator.triggerSimulator() triggerSimulatorARIANNA = NuRadioReco.modules.ARIANNA.triggerSimulator.triggerSimulator() channelResampler = NuRadioReco.modules.channelResampler.channelResampler() channelBandPassFilter = NuRadioReco.modules.channelBandPassFilter.channelBandPassFilter() channelGenericNoiseAdder = NuRadioReco.modules.channelGenericNoiseAdder.channelGenericNoiseAdder() calculateAmplitudePerRaySolution = NuRadioReco.modules.custom.deltaT.calculateAmplitudePerRaySolution.calculateAmplitudePerRaySolution() class mySimulation(simulation.simulation): def _detector_simulation(self): calculateAmplitudePerRaySolution.run(self._evt, self._station, self._det) # save the amplitudes to output hdf5 file # save amplitudes per ray tracing solution to hdf5 data output if('max_amp_ray_solution' not in self._mout): self._mout['max_amp_ray_solution'] = np.zeros((self._n_events, self._n_antennas, 2)) * np.nan
import NuRadioReco.modules.efieldToVoltageConverter import NuRadioReco.modules.channelResampler import NuRadioReco.modules.channelGenericNoiseAdder import NuRadioReco.modules.triggerTimeAdjuster import NuRadioReco.modules.ARIANNA.hardwareResponseIncorporator import NuRadioReco.modules.trigger.highLowThreshold from NuRadioReco.utilities import units from NuRadioMC.simulation import simulation import logging logging.basicConfig(level=logging.WARNING) logger = logging.getLogger("runstrawman") # initialize detector sim modules efieldToVoltageConverter = NuRadioReco.modules.efieldToVoltageConverter.efieldToVoltageConverter( ) efieldToVoltageConverter.begin() channelResampler = NuRadioReco.modules.channelResampler.channelResampler() channelGenericNoiseAdder = NuRadioReco.modules.channelGenericNoiseAdder.channelGenericNoiseAdder( ) hardwareResponseIncorporator = NuRadioReco.modules.ARIANNA.hardwareResponseIncorporator.hardwareResponseIncorporator( ) triggerSimulator = NuRadioReco.modules.trigger.highLowThreshold.triggerSimulator( ) triggerTimeAdjuster = NuRadioReco.modules.triggerTimeAdjuster.triggerTimeAdjuster( ) triggerSimulator.begin(log_level=logging.WARNING) class mySimulation(simulation.simulation): def _detector_simulation_filter_amp(self, evt, station, det): hardwareResponseIncorporator.run(evt, station, det, sim_to_data=True)
# import detector simulation modules import NuRadioReco.modules.efieldToVoltageConverter import NuRadioReco.modules.ARIANNA.triggerSimulator import NuRadioReco.modules.triggerSimulator import NuRadioReco.modules.channelResampler import NuRadioReco.modules.channelBandPassFilter import NuRadioReco.modules.channelGenericNoiseAdder from NuRadioReco.utilities import units from NuRadioMC.simulation import as simulation import logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger("runstrawman") # initialize detector sim modules efieldToVoltageConverter = NuRadioReco.modules.efieldToVoltageConverter.efieldToVoltageConverter() efieldToVoltageConverter.begin(debug=False, time_resolution=1 * units.ns, pre_pulse_time=0 * units.ns, post_pulse_time=0 * units.ns) triggerSimulator = NuRadioReco.modules.triggerSimulator.triggerSimulator() triggerSimulatorARIANNA = NuRadioReco.modules.ARIANNA.triggerSimulator.triggerSimulator() channelResampler = NuRadioReco.modules.channelResampler.channelResampler() channelBandPassFilter = NuRadioReco.modules.channelBandPassFilter.channelBandPassFilter() channelGenericNoiseAdder = NuRadioReco.modules.channelGenericNoiseAdder.channelGenericNoiseAdder() class mySimulation(simulation.simulation): def _detector_simulation(self): # start detector simulation efieldToVoltageConverter.run(self._evt, self._station, self._det) # convolve efield with antenna pattern # downsample trace to internal simulation sampling rate (the efieldToVoltageConverter upsamples the trace to # 20 GHz by default to achive a good time resolution when the two signals from the two signal paths are added) channelResampler.run(self._evt, self._station, self._det, sampling_rate=1. / self._dt)