Emission-line Moments¶
Analysis class: mangadap.proc.emissionlinemoments.EmissionLineMoments
Reference root: $MANGA_SPECTRO_ANALYSIS/$MANGADRP_VER/$MANGADAP_VER/[PLATE]/[IFUDESIGN]/ref
Reference file:
- Before Gaussian emission-line modeling:
manga-[PLATE]-[IFUDESIGN]-[DRPQA_KEY]-[BIN_KEY]-[CONTINUUM_KEY]-[ELMOM_KEY].fits.gz
- After Gaussian emission-line modeling:
manga-[PLATE]-[IFUDESIGN]-[DRPQA_KEY]-[BIN_KEY]-[CONTINUUM_KEY]-[ELFIT_KEY]-[ELMOM_KEY].fits.gz
Config files: $MANGADAP_DIR/python/mangadap/config/emission_line_moments
Example config: emomm.ini
[default]
key = EMOMMPL9
minimum_snr = 0.0
artifact_mask = BADSKY
emission_passbands = ELBMPL9
redo_postmodeling = True
fit_vel_name = Ha-6564
- Important class dependencies:
mangadap.proc.bandpassfilter
: Provides the core functions that perform the bandpass integrals.mangadap.par.emissionmomentsdb.EmissionMomentsDB
: Generalized class that provides the detailed parameters for a set of emission-line windows used to perform non-parametric moments.mangadap.proc.spectralfitting.EmissionLineFit
: Provides functions common to both the moment and Gaussian-fit calculations.mangadap.util.pixelmask.SpectralPixelMask
: Used to mask spectral regions.
- Algorithm:
Read the artifact database to setup the
mangadap.util.pixelmask.SpectralPixelMask
object based on theartifact_mask
config.Set up the
mangadap.par.emissionmomentsdb.EmissionMomentsDB
using theemission_passbands
config.Determine the binned spectra above the S/N limit set by the
minimum_snr
config.Use the
mangadap.proc.stellarcontinuummodel.StellarContinuumModel
object to construct the stellar continuum for each binned spectrum.Subtract the continuum using
mangadap.proc.spectralfitting.EmissionLineFit.subtract_continuum()
. If a binned spectrum does not have a fitted stellar continuum, the moment analysis is performed on the binned spectrum without any continuum subtraction.Measure the moments using
mangadap.proc.emissionlinemoments.EmissionLineMoments.measure_moments()
.- Redshift the emission-line passbands based on the NSA redshift.
- Determine the pseudo-continuum in the red and blue bands using
mangadap.proc.bandpassfilter.pseudocontinuum()
. - Set the slope and intercept of a linear continuum beneath extrapolation between the two sidebands for all emission-lines.
- For each emission line, measure the first 3 moments of the
pseudo-continuum-subtracted spectra using
mangadap.proc.emissionlinemoments.EmissionLineMoments.single_band_moments()
: (0) integrated flux; (1) intensity weighted redshift (\(cz\)); and (2) intensity weighted \((cz)^2\). - Determine the instrumental dispersion at the 1st moment locations
of each line using
mangadap.proc.spectralfitting.EmissionLineFit.instrumental_dispersion()
. - Flag any measurement without a continuum spectrum as NOCORRECTION.
- If any of the passbands (blue, red, main) are incomplete (or
empty) due to masked pixels or straddle the jump between where
there is and is not a viable continuum subtracted, or if that jump
occurs between the blue and red passbands, flag the moments as
FITFAILED in the
MAPS
file. - Mask any “dummy” bands. Dummy bands are used to ensure that the
emission-line moment channels match the emission-line Gaussian-fit
channels in the output
MAPS
file.
Using the 0th moment (integrated flux) and the binned spectra (‘’without’’ continuum subtraction), measure the emission-line equivalent widths using
mangadap.proc.bandpassfilter.emission_line_equivalent_width()
.Construct emission-line-moments BINID map. Bin IDs are the same as for the binned spectra except that any bin that does not meet the S/N limit are given a emission-line-moment bin ID of -1.