Project simprod

Invoke with: import icecube.simprod

Python I3Modules

DAQCounter

DAQCounter (Python I3Module)

<undocumented>

Param NEvents:

Default = 0, name of event counter

DAQCounter

DAQCounter (Python I3Module)

<undocumented>

Param NEvents:

Default = 0, name of event counter

PrintContext

PrintContext (Python I3Module)

<undocumented>

I3DepositedEnergy

I3DepositedEnergy (Python I3Module)

<undocumented>

Param MMCListName:

Default = 'I3MMCList', Name of I3MMCList object

ModifyEventTime

ModifyEventTime (Python I3Module)

Modify the time in the I3EventHeader

Param MJD:

Default = 55697, Modified Julian Date

Param MJDNanoSeconds:

Default = 0, Number of nanoseconds after the start of the MJD.

Param MJDSeconds:

Default = 0, Number of seconds after the start of the MJD.

Param Randomize:

Default = False, Randomize mjd within year starting with MJD

Param RNG:

Default = None, (pseudo-) random number generator

Corsika5CompWeightModule

Corsika5CompWeightModule (Python I3Module)

<undocumented>

Param CylinderLength:

Default = -1, Height of Generation Cylinder

Param CylinderRadius:

Default = -1, Radius of Generation Cylinder

Param EnergyPrimaryMax:

Default = 0.0, Primary maximum energy (from CORSIKA steering file)

Param EnergyPrimaryMin:

Default = 0.0, Primary minimum energy (from CORSIKA steering file)

Param MCTreeName:

Default = 'I3MCTree', Name of MCTree List to get from frame

Param Name:

Default = 'CorsikaWeightMap', Name to give the frame

Param NEvents:

Default = -1, Number of generated showers in CORSIKA

Param OverSamplingFactor:

Default = 1.0, Particle oversampling factor

Param PrimaryNormalizationCNO:

Default = 1.0, Primary normalization of generated nuclei (i.e. steering parameter PNORM)

Param PrimaryNormalizationFe:

Default = 1.0, Primary normalization of generated nuclei (i.e. steering parameter PNORM)

Param PrimaryNormalizationH:

Default = 1.0, Primary normalization of generated nuclei (i.e. steering parameter PNORM)

Param PrimaryNormalizationHe:

Default = 1.0, Primary normalization of generated nuclei (i.e. steering parameter PNORM)

Param PrimaryNormalizationMgAlSi:

Default = 1.0, Primary normalization of generated nuclei (i.e. steering parameter PNORM)

Param PrimarySpectralIndexCNO:

Default = -2.0, Primary spectral index of generated nuclei (i.e. steering parameter PGAM)

Param PrimarySpectralIndexFe:

Default = -2.0, Primary spectral index of generated nuclei (i.e. steering parameter PGAM)

Param PrimarySpectralIndexH:

Default = -2.0, Primary spectral index of generated nuclei (i.e. steering parameter PGAM)

Param PrimarySpectralIndexHe:

Default = -2.0, Primary spectral index of generated nuclei (i.e. steering parameter PGAM)

Param PrimarySpectralIndexMgAlSi:

Default = -2.0, Primary spectral index of generated nuclei (i.e. steering parameter PGAM)

Param Spric:

Default = True, Separate primary energy cutoff (i.e. steering parameter SPRIC)

Param ThetaMax:

Default = 1.5690509975429023, Primary cosmic ray maximum zenith angle

Param ThetaMin:

Default = 0.0, Primary cosmic ray minimum zenith angle

CorsikaWeightModule

CorsikaWeightModule (Python I3Module)

Sets TimeScale and FluxSum for unweighted CORSIKA

Param CylinderLength:

Default = -1, Height of Generation Cylinder

Param CylinderRadius:

Default = -1, Radius of Generation Cylinder

Param MCTreeName:

Default = 'I3MCTree', Name of MCTree List to get from frame

Param Name:

Default = 'CorsikaWeightMap', Name to give the frame

Param NEvents:

Default = -1, Number of generated showers in CORSIKA

Param OverSamplingFactor:

Default = 1, Oversampling factor

Param Spric:

Default = True, Separate primary energy cutoff (i.e. steering parameter SPRIC)

Param ThetaMax:

Default = 1.5690509975429023, Primary cosmic ray maximum zenith angle

Param ThetaMin:

Default = 0.0, Primary cosmic ray minimum zenith angle

PolygonatoWeightModule

PolygonatoWeightModule (Python I3Module)

<undocumented>

Param MCTreeName:

Default = 'I3MCTree', Name of I3MCTree object in frame

Param WeightMapName:

Default = 'CorsikaWeightMap', Name of object where weights are stored

I3Tray segments

Calibration

Calibration (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param BadDOMsHLC:

Default = None,

Param BadDOMsSLC:

Default = None,

DetectorSegment

DetectorSegment (I3Tray segment)

Run IC86 detector simulation

Param If:

Default = <function <lambda> at 0x10414f560>,

Param gcdfile:

Default = '',

Param mctype:

Default = 'corsika_weighted',

Param MCPESeriesMapName:

Default = 'I3MCPESeriesMap',

Param detector_label:

Default = 'IC86:2012',

Param runtrigger:

Default = True,

Param filtertrigger:

Default = True,

Param stats:

Default = {},

Param basicHisto:

Default = False,

Param inice:

Default = True,

Param icetop:

Default = False,

Param genie:

Default = False,

Param prescale:

Default = 1,

Param uselineartree:

Default = True,

Param lowmem:

Default = False,

Param BeaconLaunches:

Default = True,

Param TimeShiftSkipKeys:

Default = [],

Param GeneratedEfficiency:

Default = 0.0,

Param SampleEfficiency:

Default = 0.0,

Param RunID:

Default = None,

Param KeepMCHits:

Default = False,

Param KeepPropagatedMCTree:

Default = False,

Param KeepMCPulses:

Default = False,

Param EHEApproximation:

Default = False,

Param mdomNoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/211217_mDOM_Noise_newPMTs_wQE/*.npy',

Param lom16NoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/220725_LOM16_vitrovex_goodPMTs/*.npy',

Param lom18NoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/220804_LOM18_vitrovex_goodPMTs/*.npy',

DetectorSim

DetectorSim (I3Tray segment)

Read photon-propagated (MCPE) files, simulate noise, PTM response, DOMLaunches, and trigger.

Param RandomService:

Default = None, the name of a random service to be used by the tank response

Param RunID:

Default = None, Number of run that will be writtend to I3EventHeader

Param GCDFile:

Default = None, path to GCD file to read first

Param KeepMCHits:

Default = False, keep MCPEs in frame

Param KeepPropagatedMCTree:

Default = False, keep MCTree with all in-ice propagated secondaries. These take a lot of space compared un propagated tree.

Param KeepMCPulses:

Default = False, keep I3MCPulseSeriesMap in frame.

Param SkipNoiseGenerator:

Default = False, do not run Vuvuzela.

Param LowMem:

Default = False, reduce peak memory use by repeatedly merging hits as they are generated. WARNING: Use of this option may slightly reduce precision and drastically increase running time. It is potentially useful for very bright events, and probably harmful for very long events.

Param InputPESeriesMapName:

Default = 'I3MCPESeriesMap', name of input I3MCPESeriesMap object.

Param BeaconLaunches:

Default = True, add beacon lauches.

Param TimeShiftSkipKeys:

Default = [], list of keys that should be time-shifted. Default: shift all Time-like objects.

Param FilterTrigger:

Default = True, remove events that don’t pass any trigger.

Param EHEApproximation:

Default = False, Reduces runtime in PMTRS for EHE events.

Param mdomNoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/211217_mDOM_Noise_newPMTs_wQE/*.npy', The path to npy files to use for mdom noise simulation (used for Upgrade)

Param lom16NoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/220725_LOM16_vitrovex_goodPMTs/*.npy', The path to npy files to use for LOM-16 noise simulation (Used for Upgrade, Gen2)

Param lom18NoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/220804_LOM18_vitrovex_goodPMTs/*.npy', The path to npy files to use for LOM-18 noise simulation (Used for Upgrade, Gen2)

GenerateAirShowers

GenerateAirShowers (I3Tray segment)

Read CORSIKA files, simulate IceTop response, and populate I3MCTree with penetrating components (neutrinos and muons)

Param Files:

Default = None, list of CORSIKA files to read

Param GCDFile:

Default = None, path to GCD file to read first

Param NEvents:

Default = 1, passed to I3CORSIKAReader (and ignored for CORSIKA files >= v74000, where it is part of the run header)

Param OverSampling:

Default = 1, Number of times each shower will be read (each with a different impact location)

Param LegacyOverSampling:

Default = False,

Param SimulateIceTop:

Default = True, simulate IceTop response

Param TankResponse:

Default = 'param', how to simulate IceTop response: ‘param’ for parameterization, ‘g4’ for GEANT4

Param KeepMCHits:

Default = False, keep IceTop MCHits

Param CylinderHeight:

Default = 1200,

Param CylinderRadius:

Default = 600,

Param RandomService:

Default = 'I3RandomService', the name of a random service to be used by the tank response

Param TrimShower:

Default = True, remove surface particles from tree

Param DropEmptyShowers:

Default = True, drop showers where no particles reach the observation level

GenerateAtmosphericNeutrinos

GenerateAtmosphericNeutrinos (I3Tray segment)

Read CORSIKA showers containing neutrinos, and force exactly one neutrino to interact.

Param Files:

Default = None, a list of CORSIKA files to read

Param GCDFile:

Default = '', I3 file with GCD information to read in before the CORSIKA files

Param AutoExtendMuonVolume:

Default = False, allow nu_{mu} to interact far before they reach the detector

Param EnergyBiasPower:

Default = 1, select a neutrino from the bundle with probability proportional to E^power

Param FlavorBias:

Default = [30, 1, 1], scale selection probability for nu_{e}/nu_{mu}/nu_{tau} by these factors. The default value is appropriate for equal sampling of conventional atmospheric nu_{e}/nu_{mu}.

Param CylinderRadius:

Default = 600.0, radius of upright-cylinder target volume

Param CylinderHeight:

Default = 1200.0, full height of simulation volume

Param CrossSections:

Default = 'csms', cross-section tables to use (‘cteq5’, ‘css’, or ‘csms’)

Param NEvents:

Default = -1,

Param MakeNeutrino:

Default = True,

GenerateCosmicRayMuons

GenerateCosmicRayMuons (I3Tray segment)

Generate atmospheric muons with MuonGun

Param mctree_name:

Default = 'I3MCTree_preMuonProp',

Param num_events:

Default = 1,

Param flux_model:

Default = 'Hoerandel5_atmod12_SIBYLL',

Param gamma_index:

Default = 2.0,

Param energy_offset:

Default = 700.0,

Param energy_min:

Default = 10000.0,

Param energy_max:

Default = 10000000.0,

Param cylinder_length:

Default = 1600.0,

Param cylinder_radius:

Default = 800.0,

Param cylinder_x:

Default = 0.0,

Param cylinder_y:

Default = 0.0,

Param cylinder_z:

Default = 0.0,

Param inner_cylinder_length:

Default = 500.0,

Param inner_cylinder_radius:

Default = 150.0,

Param inner_cylinder_x:

Default = 46.3,

Param inner_cylinder_y:

Default = -34.9,

Param inner_cylinder_z:

Default = -300.0,

Param use_inner_cylinder:

Default = False,

GenerateIceTopShowers

GenerateIceTopShowers (I3Tray segment)

Read CORSIKA files, simulate IceTop response, and populate I3MCTree with penetrating components (neutrinos and muons) using topsimulator’s injector.

Param Files:

Default = None, list of CORSIKA files to read

Param GCDFile:

Default = None, path to GCD file to read first

Param NSamples:

Default = 1,

Param TankResponse:

Default = 'g4', Method used to simulate IceTop response: ‘param’ for parameterization, ‘g4’ for GEANT4

Param KeepMCHits:

Default = False, keep IceTop MCHits (needed only for the PMTSimulator-based simulation)

Param x:

Default = 0, x-coordinate of the point around which the CORSIKA origin is randomly placed

Param y:

Default = 0, y-coordinate of the point around which the CORSIKA origin is randomly placed

Param r:

Default = 0, radius of the circle in which the CORSIKA origin is randomly placed

Param ResponseRandomService:

Default = 'I3RandomService', name of the I3RandomService used for tank response

Param InjectorRandomService:

Default = 'I3RandomService', name of the I3RandomService used for particle injection

Param UnthinRadius:

Default = 0, radius of unthinning sampling area

Param TankSamplingRadius:

Default = 25.0, the radius around tanks where all particles are considered for propagation (>=UnthinRadius)

Param RunID:

Default = 0, the ID to store in the header (normally that of the corsika run)

Param RaiseObservationLevel:

Default = 0,

Param TrimShower:

Default = True, remove surface particles from tree that will not hit in-ice volume. (These are removed after IceTop hits are generated)

GenerateNaturalRateMuons

GenerateNaturalRateMuons (I3Tray segment)

Generate single muons with MuonGun

Param mctree_name:

Default = 'I3MCTree_preMuonProp',

Param flux_model:

Default = 'GaisserH4a_atmod12_SIBYLL',

Param Surface:

Default = None,

Param GCDFile:

Default = None,

Param GeometryMargin:

Default = 60.0,

Param NumEvents:

Default = 100,

GenerateNeutrinos

GenerateNeutrinos (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param RandomService:

Default = None,

Param RunID:

Default = None,

Param NumEvents:

Default = 100,

Param SimMode:

Default = 'Full',

Param VTXGenMode:

Default = 'NuGen',

Param InjectionMode:

Default = 'Surface',

Param CylinderParams:

Default = [0, 0, 0, 0, 0],

Param AutoExtendMuonVolume:

Default = True,

Param Flavor:

Default = '',

Param NuTypes:

Default = ['NuMu', 'NuMuBar'],

Param PrimaryTypeRatio:

Default = [1, 1],

Param GammaIndex:

Default = 2.0,

Param FromEnergy:

Default = 1000.0000000000001,

Param ToEnergy:

Default = 10000000.000000002,

Param ZenithRange:

Default = [0, 3.141592653589793],

Param AzimuthRange:

Default = [0, 6.283185307179586],

Param UseDifferentialXsection:

Default = True,

Param CrossSections:

Default = 'csms_differential_v1.0',

Param CrossSectionsPath:

Default = None,

Param ZenithSamplingMode:

Default = 'ANGEMU',

Param ParamsMap:

Default = {},

ProduceNoiseTriggers

ProduceNoiseTriggers (I3Tray segment)

ProduceNoiseTriggers: Create events containing only noise and no simulated particle interactions. These are needed for low-energy DeepCore and PINGU simulation due to a lower detector threshold. There are some nuances to this. All events must be long in order to avoid problems at the edge of simulated events where expanding around the triggers could include unsimulated regions in time. All frames are initially 100 ms long. These are triggered, then cut down by CoincidenceAfterProcessing to be more reasonable lengths.

Param gcd_file:

Default = None, The location and name of the GCD file to use

Param nevents:

Default = 1, The number of events to simulate.

Param run_id:

Default = None,

Param filter_trigger:

Default = True,

Param mdomNoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/211217_mDOM_Noise_newPMTs_wQE/*.npy',

Param lom16NoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/220725_LOM16_vitrovex_goodPMTs/*.npy',

Param lom18NoisePath:

Default = '/cvmfs/icecube.opensciencegrid.org/users/gen2-optical-sim/geant_noise/npy/220804_LOM18_vitrovex_goodPMTs/*.npy',

GenerateSingleMuons

GenerateSingleMuons (I3Tray segment)

Generate single muons with MuonGun

Param Surface:

Default = None,

Param GCDFile:

Default = None,

Param GeometryMargin:

Default = 60.0,

Param NumEvents:

Default = 100,

Param FromEnergy:

Default = 10000.000000000002,

Param ToEnergy:

Default = 10000000.000000002,

Param BreakEnergy:

Default = 1000.0000000000001,

Param GammaIndex:

Default = 2.0,

Param ZenithRange:

Default = [0.0, 3.141592653589793],

PropagatePhotons

PropagatePhotons (I3Tray segment)

This traysegment offers multiple tweaks for adapted processing in different energy ranges, for example GEANT4 in conjunction with Parametrizations for the treatment for lowest energies and a HybridMode with the use of tables for the treatment of high energies. In any case, please refer to the documentation of clsim to find suitable settings for your simulation needs

Param GCDFile:

Default = None,

Param If:

Default = <function <lambda> at 0x10bcc9120>,

Param RandomService:

Default = None,

Param KeepIndividualMaps:

Default = False,

Param HybridMode:

Default = False,

Param IgnoreMuons:

Default = False,

Param IgnoreCascades:

Default = False,

Param UseGPUs:

Default = False,

Param UseAllCPUCores:

Default = False,

Param KeepSlicedMCTree:

Default = False,

Param IceModel:

Default = 'spice_3.2',

Param CascadeService:

Default = None,

Param IceModelLocation:

Default = None,

Param UseCascadeExtension:

Default = True,

Param UseGeant4:

Default = False,

Param CrossoverEnergyEM:

Default = None,

Param CrossoverEnergyHadron:

Default = None,

Param DOMEfficiency:

Default = 1.0,

Param DOMOversizeFactor:

Default = 5.0,

Param HoleIceParameterization:

Default = '/Users/buildbot/actions-runner/_work/icetray/icetray/ice-models/resources/models/ANGSENS/angsens/as.h2-50cm',

Param InputMCTree:

Default = 'I3MCTree',

Param UseI3PropagatorService:

Default = False,

Param OutputPESeriesMapName:

Default = 'I3MCPESeriesMap',

Param OutputPhotonSeriesName:

Default = None,

MultiDomEffSample

MultiDomEffSample (I3Tray segment)

This tray segment allows the downsampling of MCPE maps to perform mutliple dom efficiency simulations

Param RandomService:

Default = None,

Param GeneratedEfficiency:

Default = None,

Param SampleEfficiencies:

Default = [0.9, 0.95, 0.99, 1.089, 1.1979],

Param InputSeriesName:

Default = 'I3MCPESeriesMap',

Param DeleteOriginalSeries:

Default = True,

Param OverwriteOriginalSeries:

Default = False,

PPCTraySegment

PPCTraySegment (I3Tray segment)

PPC Photon Propagation Code TraySegment (supports CUDA/OpenCL)

Param UnshadowedFraction:

Default = 0.94,

Param DOMEfficiency:

Default = 1.0,

Param DOMOversizeFactor:

Default = 1,

Param gpulib:

Default = 'opencl',

Param volumecyl:

Default = False,

Param IceModelLocation:

Default = '/Users/buildbot/actions-runner/_work/icetray/icetray/ice-models/resources/models/ICEMODEL',

Param keep_empty_events:

Default = False,

Param HoleIceParameterization:

Default = '/Users/buildbot/actions-runner/_work/icetray/icetray/ice-models/resources/models/ANGSENS/angsens/as.h2-50cm',

Param IceModel:

Default = 'Spice3.2.1',

Param InputMCTree:

Default = 'I3MCTree',

Param MCPESeriesName:

Default = 'I3MCPESeriesMap',

Param UseGPUs:

Default = True,

Param GPU:

Default = None,

Param upgrade_or_gen2:

Default = False,

Param tempdir:

Default = None,

PolyplopiaMergePEs

PolyplopiaMergePEs (I3Tray segment)

This segment can be used to merge background that already contains I3MCPEs. We are reading background MC from a separate file and injecting events to signal (or weighted background) based on a Poisson distribution within the given time window.

Param mctype:

Default = 'CORSIKA', type of signal that we are injecting backgroun onto. Needed to avoid overcounting background.

Param RandomService:

Default = None, the name of a random service to be used by the tank response

Param mctree_name:

Default = 'I3MCTree', Name of I3MCTree in background file

Param separate_coincident_mctree_name:

Default = '', Name of output bg tree. If empty, background will be added to main tree.

Param bgfile:

Default = None, Name of file containing background with I3MCPEs.

Param timewindow:

Default = 40000.0, coincidence time window.

Param rate:

Default = nan, rate of background muons cointained in file.

Param If:

Default = <function <lambda> at 0x10c759e40>,

PolyplopiaPhotons

PolyplopiaPhotons (I3Tray segment)

I3Tray segments should have docstrings. This one doesn’t. Fix it.

Param mctype:

Default = 'CORSIKA',

Param RandomService:

Default = None,

Param RandomServiceForPropagators:

Default = None,

Param mctree_name:

Default = 'I3MCTree',

Param bgfile:

Default = None,

Param GCDFile:

Default = None,

Param IceModel:

Default = 'SpiceLea',

Param IceModelLocation:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/clsim/resources/ice',

Param timewindow:

Default = 40000.0,

Param rate:

Default = nan,

Param GPU:

Default = None,

Param UseGPUs:

Default = True,

Param DOMOversizeFactor:

Default = 5,

Param HoleIceParameterization:

Default = '/Users/buildbot/actions-runner/_work/icetray/icetray/ice-models/resources/models/ANGSENS/angsens/as.h2-50cm',

Param Efficiency:

Default = 1.0,

Param PhotonSeriesName:

Default = 'I3MCPESeriesMap',

Param PROPOSALParams:

Default = {},

Param UsePPC:

Default = False,

Param If:

Default = <function <lambda> at 0x10c759d00>,

PolyplopiaSegment

PolyplopiaSegment (I3Tray segment)

There are three scenarios for polyplopia:

Param mctype:

Default = 'CORSIKA',

Param RandomService:

Default = None,

Param mctree_name:

Default = 'I3MCTree_preMuonProp',

Param separate_coincident_mctree_name:

Default = '',

Param bgfile:

Default = None,

Param timewindow:

Default = 40000.0,

Param rate:

Default = nan,

Param If:

Default = <function <lambda> at 0x10bcc96c0>,

PropagateMuons

PropagateMuons (I3Tray segment)

Propagate muons.

Param RandomService:

Default = None,

Param CylinderRadius:

Default = None,

Param CylinderLength:

Default = None,

Param SaveState:

Default = True,

Param InputMCTreeName:

Default = 'I3MCTree_preMuonProp',

Param OutputMCTreeName:

Default = 'I3MCTree',

SelectNeutrino

SelectNeutrino (I3Tray segment)

Select a neutrino to interact, and add neutrino propagators to the context.

Param Propagators:

Default = None,

Param AutoExtendMuonVolume:

Default = False, allow nu_{mu} to interact far before they reach the detector

Param EnergyBiasPower:

Default = 1, select a neutrino from the bundle with probability proportional to E^power

Param FlavorBias:

Default = [30, 1, 1], scale selection probability for nu_{e}/nu_{mu}/nu_{tau} by these factors. The default value is appropriate for equal sampling of conventional atmospheric nu_{e}/nu_{mu}.

Param CylinderRadius:

Default = 600.0, radius of upright-cylinder target volume

Param CylinderHeight:

Default = 1200.0, full height of simulation volume

Param CrossSections:

Default = 'csms', cross-section tables to use (‘cteq5’, ‘css’, or ‘csms’)