Output Analysis Weight Operator

Class providing operators on statistical weights for on-the-fly output analysis—transformations applied to the per-galaxy weight (e.g.\(1/V_\mathrm{max}\) or merger tree weight) before accumulating it into binned statistics such as mass functions or luminosity functions. Weight operators can implement survey completeness corrections, volume corrections for non-representative samples, or reweighting by derived galaxy properties. The operator receives the current weight, the property value, its intrinsic value, the property type and quantity, and the output index.

Default implementation: outputAnalysisWeightOperatorIdentity

Methods

operatedouble precision

Operate on the given weight.

  • double precision , intent(in ) :: weightValue

  • type (treeNode ), intent(inout) :: node

  • double precision , intent(in ) :: propertyValue , propertyValueIntrinsic

  • type (enumerationOutputAnalysisPropertyTypeType ), intent(in ) :: propertyType

  • type (enumerationOutputAnalysisPropertyQuantityType), intent(in ) :: propertyQuantity

  • integer (c_size_t ), intent(in ) :: outputIndex

outputAnalysisWeightOperatorCsmlgyVolume

An output analysis weight operator class which corrects weights for the difference in cosmological volume between true and assumed (i.e. in the observational analysis) cosmologies. Typically the observational data will have been analyzed assuming some specific set of cosmological parameters which will differ from that in the current model. Therefore, the comoving volume occupied by a population of galaxies must be adjusted to match what would be inferred if they were assessed using the same cosmological parameters as were used for the observational data. Typically, this will mean that weights are scaled in proportion to \(V_\mathrm{max} / V^\prime_\mathrm{max}\), where \(V_\mathrm{max}\) and \(V^\prime_\mathrm{max}\) are the maximum volumes within which the galaxy would have been detected in the true and assumed cosmologies respectively.

outputAnalysisWeightOperatorFilterHighPass

An output analysis weight operator that multiplies galaxy weights by a high-pass filter function, suppressing contributions from galaxies with properties below filterThreshold (with transition sharpness controlled by filterWidth) during statistical comparisons.

Parameters

  • [filterThreshold] (real) — Threshold for the high-pass filter distribution operator.

  • [filterWidth] (real; default 0.0d0) — The width of the filter (0 for a sharp transition; \(>0\) for a smoothed transition).

outputAnalysisWeightOperatorIdentity

Returns a weight of unity for every node without modification, serving as a no-op weight operator in output analysis pipelines where uniform weighting is desired.

(Default implementation)

outputAnalysisWeightOperatorNbodyMass

An output analysis weight operator that multiplies the galaxy weight by an integral over the N-body halo mass distribution between rangeLower and rangeUpper, accounting for the dispersion in N-body halo masses when comparing model predictions to simulation data.

Parameters

  • [rangeLower] (real) — Lower integration limit for the nbodyMass distribution weight operator.

  • [rangeUpper] (real) — Upper integration limit for the nbodyMass distribution weight operator.

  • [rootVariance] (real) — Root variance for the normal distribution weight operator. (inherited from outputAnalysisWeightOperatorNormal)

outputAnalysisWeightOperatorNormal

An output analysis weight operator that multiplies galaxy weights by the integral of a normal distribution (with specified rootVariance) over the range [rangeLower, rangeUpper], for incorporating Gaussian selection uncertainties in statistical comparisons.

Methods

  • calculationReset — Reset memoized calculations.

Parameters

  • [rangeLower] (real) — Lower integration limit for the normal distribution weight operator.

  • [rangeUpper] (real) — Upper integration limit for the normal distribution weight operator.

  • [rootVariance] (real) — Root variance for the normal distribution weight operator.

outputAnalysisWeightOperatorProperty

Weights each node’s contribution to an output analysis by the value of a specified node property, enabling property-weighted statistics such as mass-weighted quantities or luminosity-weighted distributions.

outputAnalysisWeightOperatorSequence

Applies a sequence of outputAnalysisWeightOperatorClass objects in order to a weight value, enabling construction of complex multi-step weighting schemes from composable weight operators.

Methods

  • prepend — Prepend an operator to a sequence of weight operators.

outputAnalysisWeightOperatorSubsampling

Applies a subsampling weight to each node, upweighting the nodes to preserve correct number statistics after merger tree branches have been subsampled.

Methods

  • samplingRate — Compute the sampling rate.