Project clsim

Invoke with: import icecube.clsim

C++ I3Modules

I3MuonSliceRemoverAndPulseRelabeler

"I3MuonSliceRemoverAndPulseRelabeler" (C++ I3Module)

Removes muon slices in I3MCTree objects as written by I3MuonSlicer and re-labels I3MCPEs generated from these so that they refer back to the original muon.

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param InputMCPESeriesMapName:

Default = 'MCPESeriesMap', Name of the input I3MCPESeriesMap frame object.

Param InputMCTreeName:

Default = 'I3MCTree_sliced', Name of the input I3MCTree frame object.

Param InputPhotonSeriesMapName:

Default = '', Name of the input I3PhotonSeriesMap frame object.

Param OldMCTreeName:

Default = 'I3MCTree', Name of the original MCTree. Will be used for sanity checks

Param OutputMCPESeriesMapName:

Default = 'MCPESeriesMap', Name of the output I3MCPESeriesMap frame object.

Param OutputPhotonSeriesMapName:

Default = '', Name of the output I3PhotonSeriesMap frame object.

I3MuonSlicer

"I3MuonSlicer" (C++ I3Module)

takes an MC tree with a muon that has been propagated using MMC (i.e. a muon with cascades as daughter particles). It chops the muon track into slices with estimated energies. All the original muon will be retained and all slices will be added to the muon as daughter particles. So you will end up with a long muon track with cascades and shorter muons as daughter particles. Make sure your light propagation knows how to handle this (you run the risk of having light generated twice, once for the parent (=long) track and again for the daughters muon tracks).

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param InputMCTreeName:

Default = 'I3MCTree', Name of the I3MCTree frame object.

Param MMCTrackListName:

Default = '', Name of the I3MMCTrackList frame object.

Param OutputMCTreeName:

Default = '', Name of the output I3MCTree frame object. If identical to the input or empty, the input object will be replaced.

I3ShadowedPhotonRemoverModule

"I3ShadowedPhotonRemoverModule" (C++ I3Module)

<undocumented>

Param CableMapName:

Default = '', Map containing all the cables found in the geometry

Param Distance:

Default = 10.0, Distance from where photon hits DOM to extended distance to last scatter

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param InputPhotonSeriesMapName:

Default = 'PropagatedPhotons', Name of the input I3PhotonSeriesMap frame object.

Param OutputPhotonSeriesMapName:

Default = 'PropagatedPhotonsShadowed', Name of the output I3PhotonSeriesMap frame object.

I3TauSanitizer

"I3TauSanitizer" (C++ I3Module)

<undocumented>

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param InputMCTreeName:

Default = 'I3MCTree', Name of the I3MCTree frame object.

Param OutputMCTreeName:

Default = '', Name of the output I3MCTree frame object. If identical to the input or empty, the input object will be replaced.

Python I3Modules

AsyncTap

AsyncTap (Python I3Module)

Starts a module or a segment on its own tray in its own process and pipes frames from the current tray to the child tray. Can be used for things like asynchronous file writing. The frames will never get back to the master module, so this is effecively a “fork”.

Param Args:

Default = {}, A dictionary with keyword arguments for the asynchronous segment.

Param BufferSize:

Default = 2000, How many frames should be buffered

Param Debug:

Default = False, Output some status information for debugging

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param Segment:

Default = None, The tray segment to run asynchronously

FakeFlasherInfoGenerator

FakeFlasherInfoGenerator (Python I3Module)

Generate fake I3FlasherInfoVect frame objects.

Param FlasherBrightness:

Default = 127, flasher brightness setting (0-127)

Param FlasherInfoVectName:

Default = 'I3FlasherInfo', Name of the I3FlasherInfoVect object to write

Param FlasherMask:

Default = 4032, bitmask (12bits) describing the active flashers (index 0-11)

Param FlasherTime:

Default = 0.0, Time of flash, relative to event start time

Param FlasherWidth:

Default = 127, flasher width setting (0-127)

Param FlashingDOM:

Default = OMKey(0,0,0), OMKey of the flashing DOM

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

FlasherInfoVectToFlasherPulseSeriesConverter

FlasherInfoVectToFlasherPulseSeriesConverter (Python I3Module)

Read I3FlasherInfo objects from the frame, apply knowledge taken from various places (wiki, C.Wendt, ppc, photonics, …) and create I3FlasherPulse objects desribing the light output of individual LEDs.

Param FlasherInfoVectName:

Default = 'I3FlasherInfo', Name of the I3FlasherInfoVect object to read

Param FlasherOMKeyVectName:

Default = None, Name of a vector of OMKeys with all active flasher OMs

Param FlasherPulseSeriesName:

Default = 'I3FlasherPulseSeries', Name of the I3FlasherPulseSeries to write

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param NumberOfPhotonsAtMaxBrightness:

Default = 11700000000.0, Number of photons generated by a flasher LED at maximum brightness

StandardCandleFlasherPulseSeriesGenerator

StandardCandleFlasherPulseSeriesGenerator (Python I3Module)

Generates I3FlasherPulse objects for IceCube Standard Candle (I&II) simulation.

Param CandleNumber:

Default = 1, Choose which source to simulate: 1 for SC1 or 2 for SC2

Param FlasherPulseSeriesName:

Default = 'I3FlasherPulseSeries', Name of the I3FlasherPulseSeries to write

Param FlashTime:

Default = 0.0, Time (within each event) at which to flash

Param IcePickServiceKey:

Default = '', Key for an IcePick in the context that this module should check before processing physics frames.

Param If:

Default = None, A python function… if this returns something that evaluates to True, Module runs, else it doesn’t

Param PhotonsPerPulse:

Default = 25000000000000.0, Photons to emit per pulse (see http://wiki.icecube.wisc.edu/index.php/Standard_Candle for some more information on what number to use)

AverageShadowFraction

AverageShadowFraction (Python I3Module)

<undocumented>

Param PhotonMapName:

Default = '', Map name of unshadowed photons

Param ShadowedPhotonMapName:

Default = '', Map name of shadowed photons

I3Tray segments

I3CLSimMakeHits

I3CLSimMakeHits (I3Tray segment)

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

Param GCDFile:

Default = None,

Param UseCPUs:

Default = False, Turn this on to also use CPU-based devices. (This may potentially slow down photon generation, which is also done on the CPU in parallel.)

Param UseGPUs:

Default = True, Turn this off to not use GPU-based devices. This may be useful if your GPU is used for display purposes and you don’t want it to slow down.

Param UseOnlyDeviceNumber:

Default = None, Use only a single device number, even if there is more than one device found matching the required description. The numbering starts at 0.

Param UseCUDA:

Default = False, Use CUDA implementation of photon propagator instead of OpenCL.

Param MCTreeName:

Default = 'I3MCTree', The name of the I3MCTree containing the particles to propagate.

Param OutputMCTreeName:

Default = None, A copy of the (possibly sliced) MCTree will be stored as this name.

Param FlasherInfoVectName:

Default = None, Set this to the name of I3FlasherInfoVect objects in the frame to enable flasher simulation. The module will read I3FlasherInfoVect objects and generate photons according to assumed parameterizations.

Param FlasherPulseSeriesName:

Default = None, Set this to the name of an I3FlasherPulseSeries object in the frame to enable flasher/Standard Candle simulation. This cannot be used at the same time as FlasherInfoVectName. (I3FlasherPulseSeries objects are clsim’s internal flasher representation, if “FlasherInfoVectName” is used, the I3FlasherInfoVect objects are converted to I3FlasherPulseSeries objects.)

Param PhotonSeriesName:

Default = None, Configure this to enable writing an I3PhotonSeriesMap containing all photons that reached the DOM surface.

Param MCPESeriesName:

Default = 'MCPESeriesMap',

Param RandomService:

Default = None, Set this to an instance of a I3RandomService. Alternatively, you can specify the name of a configured I3RandomServiceFactory added to I3Tray using tray.AddService(). If you don’t configure this, the default I3RandomServiceFactory will be used.

Param IceModelLocation:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/ice-models/resources/models/ICEMODEL/spice_mie', Set this either to a directory containing a PPC-compatible ice description (icemodel.dat, icemodel.par and cfg.txt) or to a photonics ice table file. PPC- compatible ice files should generally lead to faster execution times on GPUs since it involves less interpolation between table entries (the PPC ice- specification is parametric w.r.t. wavelength, whereas the photonics specification is not).

Param DisableTilt:

Default = False, Do not simulate ice tilt, even if the ice model directory provides tilt information. (Photonics-based models will never have tilt.)

Param UnWeightedPhotons:

Default = False, Enabling this setting will disable all optimizations. These are currently a DOM oversize factor of 5 (with the appropriate timing correction) and a biased initial photon spectrum that includes the DOM spectral acceptance. Enabling this setting essentially means that all photons that would be generated in the real detector will actually be generated. This will siginificatly slow down the simulation, but the optional PhotonSeries will contain an unweighted sample of photons that arrive at your DOMs. This can be useful for DOM acceptance studies.

Param UnWeightedPhotonsScalingFactor:

Default = None, If UnWeightedPhotons is turned on, this can be used to scale down the overall number of photons generated. This should normally not be touched (it can be used when generating photon paths for animation). Valid range is a float >0. and <=1.

Param UseI3PropagatorService:

Default = True, Use PROPOSAL and cmc to propagate initial particles (i.e. with NaN lengths) through the detector.

Param UseGeant4:

Default = False, Enabling this setting will disable all cascade and muon light yield parameterizations. All particles will sent to Geant4 for a full simulation. This does not apply to muons that do have a length assigned. These are assumed to have been generated by MMC and their light is generated according to the usual parameterization.

Param ParticleHistory:

Default = False, Store secondary particles produced by particle propagators (e.g. Geant4, PROPOSAL) in the MCTree.

Param ParticleHistoryGranularity:

Default = 20.0, When storing history in the MCTree, coalesce secondary EM cascades that are less than this distance apart.

Param CrossoverEnergyEM:

Default = None, If set it defines the crossover energy between full Geant4 simulations and light yield parameterizations for electro magnetic cascades. This only works when UseGeant4 is set to true. It works in conjunction with CrossoverEnergyHadron. If one of both is set to a positiv value greater 0 (GeV), the hybrid simulation is used. If CrossoverEnergyEM is set to None while CrossoverEnergyHadron is set so hybrid mode is working, GEANT4 is used for EM cascades. If CrossoverEnergyEM is set to 0 (GeV) while CrossoverEnergyHadron is set so hybrid mode is working, leptons and EM cascades will use parameterizations for the whole energy range.

Param CrossoverEnergyHadron:

Default = None, If set it defines the crossover energy between full Geant4 simulations and light yield parameterizations for hadronic cascades. This only works when UseGeant4 is set to true. It works in conjunction with CrossoverEnergyEM. If one of both is set to a positiv value greater 0 (GeV), the hybrid simulation is used. If CrossoverEnergyHadron is set to None while CrossoverEnergyEM is set so hybrid mode is working, GEANT4 is used for hadronic cascades. If CrossoverEnergyHadron is set to 0 (GeV) while CrossoverEnergyHadron is set so hybrid mode is working, hadronic cascades will use parameterizations for the whole energy range.

Param UseCascadeExtension:

Default = True, If set, the cascade light emission parameterizations will include longitudinal extension. Otherwise, parameterized cascades will be treated as point-like.

Param StopDetectedPhotons:

Default = True, Configures behaviour for photons that hit a DOM. If this is true (the default) photons will be stopped once they hit a DOM. If this is false, they continue to propagate.

Param SaveAllPhotons:

Default = False,

Param SaveAllPhotonsPrescale:

Default = 0.01,

Param PhotonHistoryEntries:

Default = 0, The maximum number of scatterings points to be saved for every photon hitting a DOM. Only the most recent positions are saved, older positions are overwritten if the maximum size is reached.

Param DoNotParallelize:

Default = False, Try only using a single work item in parallel when running the OpenCL simulation. This might be useful if you want to run jobs in parallel on a batch system. This will only affect CPUs and will be a no-op for GPUs.

Param EnableDoubleBuffering:

Default = False,

Param DoublePrecision:

Default = False,

Param DOMOversizeFactor:

Default = 5.0, Set the DOM oversize factor. To disable oversizing, set this to 1.

Param UnshadowedFraction:

Default = 0.94, Fraction of photocathode available to receive light (e.g. unshadowed by the cable)

Param DOMEfficiency:

Default = 1, Sets the global energy scale relative to the unshadowed detector, independent of ice.

Param HoleIceParameterization:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/ice-models/resources/models/ANGSENS/angsens/as.h2-50cm', Set this to a hole ice parameterization file. The default file contains the coefficients for nominal angular acceptance correction due to hole ice (ice- models project is required). Use file $I3_BUILD/ice- models/resources/models/ANGSENS/angsens/as.nominal for no hole ice parameterization.

Param WavelengthAcceptance:

Default = None, If specified, use this wavelength acceptance to scale the generated Cherenkov spectrum rather than using the DOM acceptance modified for oversizing and angular acceptance.

Param DOMRadius:

Default = 0.1651, Allow the DOMRadius to be set externally, for things like mDOMs.

Param CableOrientation:

Default = None, Path to cable orientation file, e.g. $I3_BUILD/ice- models/resources/models/PPCTABLES/cable_position/orientation.led7.txt. If set, blocks photons that would have to pass through the best-fit position of the cable to reach a DOM. This reduces the isotropic efficiency by ~10%. Set to None to disable simulation of the cable shadow.

Param OverrideApproximateNumberOfWorkItems:

Default = None, Allows to override the auto-detection for the maximum number of parallel work items. You should only change this if you know what you are doing.

Param MaxNumOutputPhotonsPerStep:

Default = <object object at 0x104197500>,

Param PropagatorSetup:

Default = None,

Param IgnoreSubdetectors:

Default = ['IceTop'],

Param ExtraArgumentsToI3PhotonPropagationClientModule:

Default = {},

Param If:

Default = <function <lambda> at 0x14f933060>, Python function to use as conditional execution test for segment modules.

I3CLSimMakeHitsFromPhotons

I3CLSimMakeHitsFromPhotons (I3Tray segment)

Convert I3Photons into I3MCPEs. This applies the DOM angular acceptance (and wavenelgth acceptance in case you are using the unbiased photon propagation mode.)

Param PhotonSeriesName:

Default = 'PhotonSeriesMap', Name of the input I3PhotonSeriesMap to be converted.

Param MCPESeriesName:

Default = 'MCPESeriesMap', Name of the output I3MCPESeriesMap written by the module. Set this to None to prevent generating MCPEs from Photons.

Param RandomService:

Default = None, Set this to an instance of a I3RandomService. Alternatively, you can specify the name of a configured I3RandomServiceFactory added to I3Tray using tray.AddService(). If you don’t configure this, the default I3RandomServiceFactory will be used.

Param DOMOversizeFactor:

Default = 5.0, Set the DOM oversize factor. To disable oversizing, set this to 1.

Param UnshadowedFraction:

Default = 0.94, Fraction of photocathode available to receive light (e.g. unshadowed by the cable)

Param DOMEfficiency:

Default = 1, Sets the global energy scale relative to the unshadowed detector, independent of ice.

Param IceModelLocation:

Default = None,

Param HoleIceParameterization:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/ice-models/resources/models/ANGSENS/angsens/as.h2-50cm', Set this to a hole ice parameterization file. The default file contains the coefficients for nominal angular acceptance correction due to hole ice (ice- models project is required). Use file $I3_BUILD/ice- models/resources/models/ANGSENS/angsens/as.nominal for no hole ice parameterization.

Param CableOrientation:

Default = None, Path to cable orientation file, e.g. $I3_BUILD/ice- models/resources/models/PPCTABLES/cable_position/orientation.led7.txt. If set, blocks photons that would have to pass through the best-fit position of the cable to reach a DOM. This reduces the isotropic efficiency by ~10%. Set to None to disable simulation of the cable shadow.

Param MergeHits:

Default = False, Set to true to perform time merging on the MCPE as they are produced. This is useful for reducing the memory and disk space used by high energy (bright) events, and can allow detector simulation to run much more quickly. This causes parent particle information to be stored in an additional frame object.

Param GCDFile:

Default = None,

Param If:

Default = <function <lambda> at 0x14f933600>, Python function to use as conditional execution test for segment modules.

I3CLSimMakePhotons

I3CLSimMakePhotons (I3Tray segment)

Do standard clsim processing up to the I3Photon level. These photons still need to be converted to I3MCPEs to be usable for further steps in the standard IceCube MC processing chain. Reads its particles from an I3MCTree and writes an I3PhotonSeriesMap.

Param GCDFile:

Default = None,

Param UseCPUs:

Default = False, Turn this on to also use CPU-based devices. (This may potentially slow down photon generation, which is also done on the CPU in parallel.)

Param UseGPUs:

Default = True, Turn this off to not use GPU-based devices. This may be useful if your GPU is used for display purposes and you don’t want it to slow down.

Param UseOnlyDeviceNumber:

Default = None, Use only a single device number, even if there is more than one device found matching the required description. The numbering starts at 0.

Param UseCUDA:

Default = False, Use CUDA implementation of photon propagator instead of OpenCL.

Param MCTreeName:

Default = 'I3MCTree', The name of the I3MCTree containing the particles to propagate.

Param OutputMCTreeName:

Default = None, A copy of the (possibly sliced) MCTree will be stored as this name.

Param FlasherInfoVectName:

Default = None, Set this to the name of I3FlasherInfoVect objects in the frame to enable flasher simulation. The module will read I3FlasherInfoVect objects and generate photons according to assumed parameterizations.

Param FlasherPulseSeriesName:

Default = None, Set this to the name of an I3FlasherPulseSeries object in the frame to enable flasher/Standard Candle simulation. This cannot be used at the same time as FlasherInfoVectName. (I3FlasherPulseSeries objects are clsim’s internal flasher representation, if “FlasherInfoVectName” is used, the I3FlasherInfoVect objects are converted to I3FlasherPulseSeries objects.)

Param PhotonSeriesName:

Default = 'PhotonSeriesMap', Configure this to enable writing an I3PhotonSeriesMap containing all photons that reached the DOM surface.

Param MCPESeriesName:

Default = 'MCPESeriesMap',

Param RandomService:

Default = None, Set this to an instance of a I3RandomService. Alternatively, you can specify the name of a configured I3RandomServiceFactory added to I3Tray using tray.AddService(). If you don’t configure this, the default I3RandomServiceFactory will be used.

Param IceModelLocation:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/ice-models/resources/models/ICEMODEL/spice_mie', Set this either to a directory containing a PPC-compatible ice description (icemodel.dat, icemodel.par and cfg.txt) or to a photonics ice table file. PPC- compatible ice files should generally lead to faster execution times on GPUs since it involves less interpolation between table entries (the PPC ice- specification is parametric w.r.t. wavelength, whereas the photonics specification is not).

Param DisableTilt:

Default = False, Do not simulate ice tilt, even if the ice model directory provides tilt information. (Photonics-based models will never have tilt.)

Param UnWeightedPhotons:

Default = False, Enabling this setting will disable all optimizations. These are currently a DOM oversize factor of 5 (with the appropriate timing correction) and a biased initial photon spectrum that includes the DOM spectral acceptance. Enabling this setting essentially means that all photons that would be generated in the real detector will actually be generated. This will siginificatly slow down the simulation, but the optional PhotonSeries will contain an unweighted sample of photons that arrive at your DOMs. This can be useful for DOM acceptance studies.

Param UnWeightedPhotonsScalingFactor:

Default = None, If UnWeightedPhotons is turned on, this can be used to scale down the overall number of photons generated. This should normally not be touched (it can be used when generating photon paths for animation). Valid range is a float >0. and <=1.

Param UseI3PropagatorService:

Default = True, Use PROPOSAL and cmc to propagate initial particles (i.e. with NaN lengths) through the detector.

Param UseGeant4:

Default = False, Enabling this setting will disable all cascade and muon light yield parameterizations. All particles will sent to Geant4 for a full simulation. This does not apply to muons that do have a length assigned. These are assumed to have been generated by MMC and their light is generated according to the usual parameterization.

Param ParticleHistory:

Default = False, Store secondary particles produced by particle propagators (e.g. Geant4, PROPOSAL) in the MCTree.

Param ParticleHistoryGranularity:

Default = 20.0, When storing history in the MCTree, coalesce secondary EM cascades that are less than this distance apart.

Param CrossoverEnergyEM:

Default = None, If set it defines the crossover energy between full Geant4 simulations and light yield parameterizations for electro magnetic cascades. This only works when UseGeant4 is set to true. It works in conjunction with CrossoverEnergyHadron. If one of both is set to a positiv value greater 0 (GeV), the hybrid simulation is used. If CrossoverEnergyEM is set to None while CrossoverEnergyHadron is set so hybrid mode is working, GEANT4 is used for EM cascades. If CrossoverEnergyEM is set to 0 (GeV) while CrossoverEnergyHadron is set so hybrid mode is working, leptons and EM cascades will use parameterizations for the whole energy range.

Param CrossoverEnergyHadron:

Default = None, If set it defines the crossover energy between full Geant4 simulations and light yield parameterizations for hadronic cascades. This only works when UseGeant4 is set to true. It works in conjunction with CrossoverEnergyEM. If one of both is set to a positiv value greater 0 (GeV), the hybrid simulation is used. If CrossoverEnergyHadron is set to None while CrossoverEnergyEM is set so hybrid mode is working, GEANT4 is used for hadronic cascades. If CrossoverEnergyHadron is set to 0 (GeV) while CrossoverEnergyHadron is set so hybrid mode is working, hadronic cascades will use parameterizations for the whole energy range.

Param UseCascadeExtension:

Default = True, If set, the cascade light emission parameterizations will include longitudinal extension. Otherwise, parameterized cascades will be treated as point-like.

Param StopDetectedPhotons:

Default = True, Configures behaviour for photons that hit a DOM. If this is true (the default) photons will be stopped once they hit a DOM. If this is false, they continue to propagate.

Param SaveAllPhotons:

Default = False,

Param SaveAllPhotonsPrescale:

Default = 0.01,

Param PhotonHistoryEntries:

Default = 0, The maximum number of scatterings points to be saved for every photon hitting a DOM. Only the most recent positions are saved, older positions are overwritten if the maximum size is reached.

Param DoNotParallelize:

Default = False, Try only using a single work item in parallel when running the OpenCL simulation. This might be useful if you want to run jobs in parallel on a batch system. This will only affect CPUs and will be a no-op for GPUs.

Param EnableDoubleBuffering:

Default = False,

Param DoublePrecision:

Default = False,

Param DOMOversizeFactor:

Default = 5.0, Set the DOM oversize factor. To disable oversizing, set this to 1.

Param UnshadowedFraction:

Default = 0.94, Fraction of photocathode available to receive light (e.g. unshadowed by the cable)

Param DOMEfficiency:

Default = 1, Sets the global energy scale relative to the unshadowed detector, independent of ice.

Param HoleIceParameterization:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/ice-models/resources/models/ANGSENS/angsens/as.h2-50cm', Set this to a hole ice parameterization file. The default file contains the coefficients for nominal angular acceptance correction due to hole ice (ice- models project is required). Use file $I3_BUILD/ice- models/resources/models/ANGSENS/angsens/as.nominal for no hole ice parameterization.

Param WavelengthAcceptance:

Default = None, If specified, use this wavelength acceptance to scale the generated Cherenkov spectrum rather than using the DOM acceptance modified for oversizing and angular acceptance.

Param DOMRadius:

Default = 0.1651, Allow the DOMRadius to be set externally, for things like mDOMs.

Param CableOrientation:

Default = None, Path to cable orientation file, e.g. $I3_BUILD/ice- models/resources/models/PPCTABLES/cable_position/orientation.led7.txt. If set, blocks photons that would have to pass through the best-fit position of the cable to reach a DOM. This reduces the isotropic efficiency by ~10%. Set to None to disable simulation of the cable shadow.

Param OverrideApproximateNumberOfWorkItems:

Default = None, Allows to override the auto-detection for the maximum number of parallel work items. You should only change this if you know what you are doing.

Param MaxNumOutputPhotonsPerStep:

Default = <object object at 0x104197500>,

Param PropagatorSetup:

Default = None,

Param IgnoreSubdetectors:

Default = ['IceTop'],

Param ExtraArgumentsToI3PhotonPropagationClientModule:

Default = {},

Param If:

Default = <function <lambda> at 0x14f933060>, Python function to use as conditional execution test for segment modules.

TabulatePhotonsFromSource

TabulatePhotonsFromSource (I3Tray segment)

Tabulate the distribution of photoelectron yields on IceCube DOMs from various light sources. The light profiles of the sources are computed from the same parameterizations used in PPC, but like in the direct propagation mode can be computed using GEANT4 instead.

Param PhotonSource:

Default = 'cascade', the type of photon source (‘cascade’, ‘flasher’, or ‘infinite-muon’).

Param Zenith:

Default = 0.0, the orientation of the source

Param Azimuth:

Default = 0.0,

Param ZCoordinate:

Default = 0.0, the depth of the source

Param Energy:

Default = 1.0, the energy of the source (only for cascade tables)

Param FlasherWidth:

Default = 127, the width of the flasher pulse (only for flasher tables)

Param FlasherBrightness:

Default = 127, the brightness of the flasher pulse (only for flasher tables)

Param Seed:

Default = 12345, the seed for the random number service

Param NEvents:

Default = 100, the number of events to simulate

Param IceModel:

Default = 'spice_mie', the path to an ice model in $I3_BUILD/ice-models/resources/models/ICEMODEL. Likely values include: ‘spice_mie’ ppc-style SPICE-Mie parametrization

Param DisableTilt:

Default = False, if true, disable tilt in ice model

Param Filename:

Default = '', the name of the FITS file to write

Param TabulateImpactAngle:

Default = False, if True, tabulate the impact position of the photon on the DOM instead of weighting by the DOM’s angular acceptance

Param PhotonPrescale:

Default = 1,

Param Axes:

Default = None, a subclass of clsim::tabulator::Axes that defines the coordinate system. If None, an appropriate default will be chosen based on PhotonSource.

Param Directions:

Default = None, a set of directions to allow table generation for multiple sources. If None, only one direction given by Zenith and Azimuth is used.

Param Sensor:

Default = 'DOM',

Param RecordErrors:

Default = False, record the squares of weights as well (useful for error bars)

Param UseGeant4:

Default = False,

Param HoleIce:

Default = 'as.h2-50cm',

I3CLSimTabulatePhotons

I3CLSimTabulatePhotons (I3Tray segment)

Do standard clsim processing up to the I3Photon level. These photons still need to be converted to I3MCPEs to be usable for further steps in the standard IceCube MC processing chain. Reads its particles from an I3MCTree and writes an I3PhotonSeriesMap.

Param UseCPUs:

Default = True, Turn this on to also use CPU-based devices. (This may potentially slow down photon generation, which is also done on the CPU in parallel.)

Param UseGPUs:

Default = False, Turn this off to not use GPU-based devices. This may be useful if your GPU is used for display purposes and you don’t want it to slow down.

Param UseOnlyDeviceNumber:

Default = None, Use only a single device number, even if there is more than one device found matching the required description. The numbering starts at 0.

Param MCTreeName:

Default = 'I3MCTree', The name of the I3MCTree containing the particles to propagate.

Param OutputMCTreeName:

Default = None, A copy of the (possibly sliced) MCTree will be stored as this name.

Param FlasherInfoVectName:

Default = None, Set this to the name of I3FlasherInfoVect objects in the frame to enable flasher simulation. The module will read I3FlasherInfoVect objects and generate photons according to assumed parameterizations.

Param FlasherPulseSeriesName:

Default = None, Set this to the name of an I3FlasherPulseSeries object in the frame to enable flasher/Standard Candle simulation. This cannot be used at the same time as FlasherInfoVectName. (I3FlasherPulseSeries objects are clsim’s internal flasher representation, if “FlasherInfoVectName” is used, the I3FlasherInfoVect objects are converted to I3FlasherPulseSeries objects.)

Param MMCTrackListName:

Default = 'MMCTrackList', Only used if ChopMuons is active. Set it to the name of the I3MMCTrackList object that contains additional muon energy loss information.

Param ParallelEvents:

Default = 1000, clsim will work on a couple of events in parallel in order not to starve the GPU. Setting this too high will result in excessive memory usage (all your frames have to be cached in RAM). Setting it too low may impact simulation performance. The optimal value depends on your energy distribution/particle type.

Param RandomService:

Default = None, Set this to an instance of a I3RandomService. Alternatively, you can specify the name of a configured I3RandomServiceFactory added to I3Tray using tray.AddService(). If you don’t configure this, the default I3RandomServiceFactory will be used.

Param MediumProperties:

Default = '/Users/buildbot/actions-runner/_work/icetray/build/ice-models/resources/models/ICEMODEL/spice_mie', Set this either to a directory containing a PPC-compatible ice description (icemodel.dat, icemodel.par and cfg.txt) or to a photonics ice table file. PPC- compatible ice files should generally lead to faster execution times on GPUs since it involves less interpolation between table entries (the PPC ice- specification is parametric w.r.t. wavelength, whereas the photonics specification is not).

Param UseGeant4:

Default = False, Enabling this setting will disable all cascade and muon light yield parameterizations. All particles will sent to Geant4 for a full simulation. This does not apply to muons that do have a length assigned. These are assumed to have been generated by MMC and their light is generated according to the usual parameterization.

Param UseI3PropagatorService:

Default = True,

Param CrossoverEnergyEM:

Default = None, If set it defines the crossover energy between full Geant4 simulations and light yield parameterizations for electro magnetic cascades. This only works when UseGeant4 is set to true. It works in conjunction with CrossoverEnergyHadron. If one of both is set to a positiv value greater 0 (GeV), the hybrid simulation is used. If CrossoverEnergyEM is set to None while CrossoverEnergyHadron is set so hybrid mode is working, GEANT4 is used for EM cascades. If CrossoverEnergyEM is set to 0 (GeV) while CrossoverEnergyHadron is set so hybrid mode is working, leptons and EM cascades will use parameterizations for the whole energy range.

Param CrossoverEnergyHadron:

Default = None, If set it defines the crossover energy between full Geant4 simulations and light yield parameterizations for hadronic cascades. This only works when UseGeant4 is set to true. It works in conjunction with CrossoverEnergyEM. If one of both is set to a positiv value greater 0 (GeV), the hybrid simulation is used. If CrossoverEnergyHadron is set to None while CrossoverEnergyEM is set so hybrid mode is working, GEANT4 is used for hadronic cascades. If CrossoverEnergyHadron is set to 0 (GeV) while CrossoverEnergyHadron is set so hybrid mode is working, hadronic cascades will use parameterizations for the whole energy range.

Param UseCascadeExtension:

Default = False, If True, simulate the longitudinal development of cascades. Otherwise, simulate cascades as pointlike objects.

Param DoNotParallelize:

Default = False, Try only using a single work item in parallel when running the OpenCL simulation. This might be useful if you want to run jobs in parallel on a batch system. This will only affect CPUs and will be a no-op for GPUs.

Param Area:

Default = None, Geometric area of the sensor. If None, use the area of an IceCube DOM

Param WavelengthAcceptance:

Default = None, Quantum efficiency of the sensor, relative to the geometric area. If None, use the IceCube DOM (standard QE)

Param AngularAcceptance:

Default = None, Efficiency as a function of polar angle, relative to the geometric area. If None, use the IceCube angular efficiency, assuming hole ice.

Param UseHoleIceParameterization:

Default = True,

Param OverrideApproximateNumberOfWorkItems:

Default = None, Allows to override the auto-detection for the maximum number of parallel work items. You should only change this if you know what you are doing.

Param ExtraArgumentsToI3CLSimModule:

Default = {},

Param If:

Default = <function <lambda> at 0x14f941f80>, Python function to use as conditional execution test for segment modules.