icecube.millipede package

icecube.millipede.AtmCscdEnergyReco(tray, name, PhotonicsServiceName='I3PhotonicsService', CascadeVertex='', InputRecoPulses='RecoPulseSeries', Output='', **kwargs)

Uses the Monopod module to emulate the behavior of ACER

icecube.millipede.HighEnergyExclusions(tray, name, Pulses, ExcludeDeepCore='DeepCoreDOMs', ExcludeSaturatedDOMs='SaturatedDOMs', ExcludeBrightDOMs='BrightDOMs', BrightDOMThreshold=10, SaturationWindows='SaturationWindows', BadDomsList='BadDomsList', CalibrationErrata='CalibrationErrata')

Work around systematic errors in the modelling of the detector response by removing certain classes of DOMs from consideration that would otherwise over-contribute to Millipede likelihoods for events above a few hundred TeV.

The options beginning with “Exclude” may be set to None or False to disable the relevant exclusion.

Parameters:
  • Pulses – the name of the pulse map to be used for reconstruction

  • ExcludeDeepCore – remove DeepCore strings from consideration

  • ExcludeSaturatedDOMs – exclude saturated DOMs entirely, not just during the times when their output current is above the linearity limit

  • ExcludeBrightDOMs – exclude DOMs that collect a total charge a factor greater than the mean charge

  • BrightDOMTreshold – threshold factor for bright DOMs

  • BadDomsList – list of DOMs that can’t produce useful data

  • SaturationWindows – times during which PMTs were nonlinear

Returns:

a list of exclusions that can be passed to Millipede modules

icecube.millipede.MonopodFit(tray, name, Pulses, Seed, Iterations=1, Photonics='I3PhotonicsService', Minimizer='MIGRAD', BadDOMs=['BadDomsList'], **kwargs)

Perform a Gulliver likelihood fit for the position, time, direction, and energy of a single cascade.

Parameters:
  • Parametrization – the type of parametrization to use. The Simple parametrization is a brain-dead pass-through of x,y,z,t,zenith,azimuth and has singularities at the poles; the HalfSphere parametrization avoids these at the expense of only covering one hemisphere, and is thus better suited for iterative fits.

  • StepT – step size in t in nanoseconds. Set to zero for amplitude-only fits (PhotonsPerBin=-1).

  • StepD – step size in x, y, z in meters.

  • StepZenith – step size in zenith in degree (only for simple parametrization).

  • StepAzimuth – step size in azimuth in degree (only for simple parametrization).

  • StepDir – step size in direction in radian (only for halfsphere parametrization).

  • Pulses – the I3RecoPulseSeriesMap to run on. The data should have no hit cleaning applied.

  • Seed – a good first guess. For amplitude-only fits (PhotonsPerBin=-1) this may be the output of a rough reconstruction like CscdLlhVertexFit; for fits with timing it is better to first run one iteration of this fit without timing and use its output as the seed.

  • Iterations – if > 1, perform in iterative fit by seeding with this number of directions.

  • Minimizer – the algorithm to use, either SIMPLEX or MIGRAD. The default is recommended, as it can use analytic gradients to converge more quickly.

  • Photonics – the I3PhotonicsService to query for cascade light yields. This can be either a name-in-the-context of an instance.

  • BadDOMs – DOMs to exclude from the fit.

Remaining keyword arguments will be passed to MillipedeLikelihoodFactory.

icecube.millipede.MuMillipedeFit(tray, name, Pulses, Seed, Iterations=1, Photonics='I3PhotonicsService', Minimizer='MIGRAD', BadDOMs=['BadDomsList'], **kwargs)

Perform a Gulliver likelihood fit for the positions, times, directions, and energies of a string of equally spaced cascades and tracks.

Parameters:
  • MuonSpacing – spacing between track segments.

  • CascadeSpacing – spacing between cascades.

  • StepT – step size in t in nanoseconds. Set to zero for amplitude-only fits (PhotonsPerBin=-1).

  • StepD – step size in x, y, z in meters.

  • StepZenith – step size in zenith in degree

  • StepAzimuth – step size in azimuth in degree

  • Pulses – the I3RecoPulseSeriesMap to run on. The data should have no hit cleaning applied.

  • Seed – a good first guess. For amplitude-only fits (PhotonsPerBin=-1) this may be the output of a rough reconstruction like CscdLlhVertexFit; for fits with timing it is better to first run one iteration of this fit without timing and use its output as the seed.

  • Iterations – if > 1, perform in iterative fit by seeding with this number of directions.

  • Minimizer – the algorithm to use, either SIMPLEX or MIGRAD. The default is recommended, as it can use analytic gradients to converge more quickly.

  • Photonics – the I3PhotonicsService to query for cascade light yields. This can be either a name-in-the-context of an instance.

  • BadDOMs – DOMs to exclude from the fit.

Remaining keyword arguments will be passed to MillipedeLikelihoodFactory.

icecube.millipede.TaupedeFit(tray, name, Pulses, Seed, Iterations=1, Photonics='I3PhotonicsService', Minimizer='MIGRAD', BadDOMs=['BadDomsList'], **kwargs)

Perform a Gulliver likelihood fit for the position, time, direction, decay length, and energies of a tau double-bang event.

Parameters:
  • StepT – step size in t in nanoseconds. Set to zero for amplitude-only fits (PhotonsPerBin=-1).

  • StepD – step size in x, y, z in meters.

  • StepZenith – step size in zenith in degree

  • StepAzimuth – step size in azimuth in degree

  • StepL – step size in tau track length in meters.

  • LengthBounds – boundary for tau track length in meters.

  • Pulses – the I3RecoPulseSeriesMap to run on. The data should have no hit cleaning applied.

  • Seed – a good first guess. For amplitude-only fits (PhotonsPerBin=-1) this may be the output of a rough reconstruction like CscdLlhVertexFit; for fits with timing it is better to first run one iteration of this fit without timing and use its output as the seed.

  • Iterations – if > 1, perform in iterative fit by seeding with this number of directions.

  • Minimizer – the algorithm to use, either SIMPLEX or MIGRAD. The default is recommended, as it can use analytic gradients to converge more quickly.

  • Photonics – the I3PhotonicsService to query for cascade light yields. This can be either a name-in-the-context of an instance.

  • BadDOMs – DOMs to exclude from the fit.

Remaining keyword arguments will be passed to MillipedeLikelihoodFactory.

icecube.millipede.millipedefit(parametrization_segment)

Decorator to turn a segment containing a parametrization into a full-blown Millipede fit segment.

icecube.millipede.photorec(tray, name, PhotonicsService='I3PhotonicsService', RecoParticleName='', RecoPulsesName='RecoPulseSeries', ResultParticleName='', **kwargs)

Uses the Monopod module to emulate the behavior of I3PhotorecEnergyEstimator

Submodules