.. _physics-outputAnalysisDistributionNormalizer: Output Analysis Distribution Normalizer ======================================= Class providing normalizers for binned distributions in on-the-fly output analysis---operations that convert a raw histogram (e.g.\ galaxy counts per bin) into the desired normalized quantity (e.g.\ a number density per unit dex or a probability distribution). The ``normalize`` method accepts the distribution array and its covariance matrix and modifies them in place, applying bin widths, volume normalizations, or other scale factors. Implementations include identity (no normalization), bin-width division, and survey-volume normalization for luminosity and mass functions. **Default implementation:** ``outputAnalysisDistributionNormalizerIdentity`` Methods ------- ``normalize`` → ``void`` Normalize the supplied binned distribution array and its covariance matrix in place, applying the bin-width or volume factors appropriate for this normalizer class. * ``double precision, intent(inout), dimension(: ), optional :: distribution`` * ``double precision, intent(inout), dimension(:,:), optional :: covariance`` * ``double precision, intent(in ), dimension(: ) :: propertyValueMinimum, propertyValueMaximum`` .. _physics-outputAnalysisDistributionNormalizerBinWidth: ``outputAnalysisDistributionNormalizerBinWidth`` ------------------------------------------------ An output analysis distribution normalizer class that divides each bin's count by the width of that bin, converting raw counts into a number density per unit property interval (e.g.\ :math:`\mathrm{d}N/\mathrm{d}\log_{10}M`). .. _physics-outputAnalysisDistributionNormalizerIdentity: ``outputAnalysisDistributionNormalizerIdentity`` ------------------------------------------------ An identity (no-op) output analysis distribution normalizer class that leaves the distribution and its covariance unchanged, used as the default when no normalization is required. **(Default implementation)** **Parameters** * ``[redshift]`` (default ``0.0d0``) — The redshift at which the transfer function is defined. .. _physics-outputAnalysisDistributionNormalizerLog10ToLog: ``outputAnalysisDistributionNormalizerLog10ToLog`` -------------------------------------------------- Converts distribution normalizations from :math:`\log_{10}` scaling to natural :math:`\log` scaling, enabling comparison of model predictions to observed distributions that use different logarithmic bases. .. _physics-outputAnalysisDistributionNormalizerSequence: ``outputAnalysisDistributionNormalizerSequence`` ------------------------------------------------ An output analysis distribution normalizer class that applies a linked list of child :galacticus-class:`outputAnalysisDistributionNormalizerClass` objects in sequence, enabling composite normalization pipelines (e.g.\ bin-width division followed by volume normalization). **Methods** * ``prepend`` — Prepend an operator to a sequence of weight operators. .. _physics-outputAnalysisDistributionNormalizerUnitarity: ``outputAnalysisDistributionNormalizerUnitarity`` ------------------------------------------------- An output analysis distribution normalizer class that rescales the distribution so that its total (sum over all bins) equals unity, converting raw counts into a probability distribution.