Beam Window Functions

From Planck Legacy Archive Wiki
Revision as of 08:53, 30 March 2018 by Ehivon (talk | contribs) (FITS parsing)
Jump to: navigation, search

Beam window functions have computed with the Febecop Pipeline (as described there), and the QuickPol pipeline (see Hivon et al, 2017[1], and the Planck 2016 Likelihood paper[2]).

The beam window function relates, over the full sky or over a masked sky, the angular power spectrum measured (in the absence of noise) on a map produced by a set of detectors [math]C^{XX}_\text{map}(\ell)[/math], to the true underlying sky angular power spectrum [math]C^{XX}_\text{sky}(\ell)[/math] (assumed to have isotropic statistical properties, as is the case for the CMB).

QuickPol effective beam window products[edit]

The effective beam products are defined for each multipole [math] 0 \le \ell \le \ell_\text{max} = 4000[/math].

They are available in three forms:

Temperature beam window functions for polarized and unpolarized detectors (HFI PSB and SWB)[edit]

The temperature beam window function [math]b_{T}(\ell),[/math] is such that
[math]C^{TT}_\text{map}(\ell)\, = \, b_{T}^2(\ell) \, w_\text{pix}^2(\ell) \, C^{TT}_\text{sky}(\ell)[/math]
where [math]w_\text{pix}[/math] is the pixel window function, parameterized by the HEALPix resolution parameter [math]N_\text{side}[/math] (=2048 for Planck HFI maps).
Their availability is described in the Availability section

Temperature and polarized beam window functions for polarized detectors (HFI PSB)[edit]

The temperature and polarization beam window functions [math]b_{T}(\ell), b_{E}(\ell), b_{B}(\ell),[/math] are such that
[math]C^{XX}_\text{map}(\ell)\, = \, b_{X}^2(\ell) \, w_\text{pix}^2(\ell) \, C^{XX}_\text{sky}(\ell)[/math]
for X=T, E or B, and where [math]w_\text{pix}[/math] is defined above.
Their availability is described in the Availability section

  • These polarized and unpolarized effective beam window functions are provided in FITS format files
    compatible with HEALPix tools for map synthesis (such as synfast or syn_alm_cxx)
    or map smoothing (such as smoothing or smoothing_cxx), as well as with map analysis tools such as PolSpice.

Beam matrices for polarized detectors[edit]

The beam matrices [math]W_{XY,X'Y'}(\ell)[/math] are such that
[math]C^{XY}_\text{map}(\ell) \, = \, \sum_{X',Y'} W_{XY,X'Y'}(\ell) \, w_\text{pix}^2(\ell) \, C^{X'Y'}_\text{sky}(\ell)[/math]
for X,Y,X',Y'= T, E or B, and where [math]w_\text{pix}[/math] is defined above.

The non-diagonal terms of the matrix ([math]XY \ne X'Y'[/math]), not present in the usual beam window function defined in the previous section, describe the power spectra cross-talk induced by the scanning beam non-circularity and inter-detector beam mismatch, and are important for the high-ℓ cosmological analysis of the CMB polarization, which is done mostly at 100, 143 and 217GHz for HFI.

  • They are provided in FITS files, containing 4 extensions each:
  1. first one, named 'TT', contains the 9 fields: 'TT_2_TT', 'TT_2_EE', 'TT_2_BB', 'TT_2_TE', 'TT_2_TB', 'TT_2_EB', 'TT_2_ET', 'TT_2_BT', 'TT_2_BE'
    describing the ℓ-dependent leakage template of TT towards TT, EE, BB, ... respectively.
    TT_2_TT is the usual [math]W_{TT}(\ell) = b_T^2(\ell),[/math] with [math]b_T(\ell=0)=1.[/math]
  2. second extension, named 'EE', contains the 9 fields 'EE_2_TT', 'EE_2_EE', 'EE_2_BB', ... for leakage of EE towards TT, EE, BB, ...
    EE_2_EE is the usual [math]W_{EE}(\ell) = b_E^2(\ell).[/math]
  3. 3rd extension: 'BB' with 'BB_2_TT', ...
    BB_2_BB is the usual [math]W_{BB}(\ell) = b_B^2(\ell).[/math]
  4. 4th extension: 'TE' with 'TE_2_TT', ...
Beware: there is no extension #5 nor 6, corresponding to TB and EB, since these terms are unlikely to be major sources of contamination for the other spectra.

The measured [math]C^*(\ell)[/math] are then related to the sky ones [math]C(\ell)[/math] via (ignoring the pixel window function [math]w_\text{pix}^2(\ell)[/math])
CTT*(ℓ) = CTT(ℓ) TT_2_TT(ℓ) + CEE(ℓ) EE_2_TT(ℓ) + CBB(ℓ) BB_2_TT(ℓ) + CTE(ℓ) TE_2_TT(ℓ)
CEE*(ℓ) = CTT(ℓ) TT_2_EE(ℓ) + CEE(ℓ) EE_2_EE(ℓ) + CBB(ℓ) BB_2_EE(ℓ) + CTE(ℓ) TE_2_EE(ℓ)
CBB*(ℓ) = CTT(ℓ) TT_2_BB(ℓ) + CEE(ℓ) EE_2_BB(ℓ) + CBB(ℓ) BB_2_BB(ℓ) + CTE(ℓ) TE_2_BB(ℓ)
CTE*(ℓ) = CTT(ℓ) TT_2_TE(ℓ) + CEE(ℓ) EE_2_TE(ℓ) + CBB(ℓ) BB_2_TE(ℓ) + CTE(ℓ) TE_2_TE(ℓ)
CET*(ℓ) = CTT(ℓ) TT_2_ET(ℓ) + CEE(ℓ) EE_2_ET(ℓ) + CBB(ℓ) BB_2_ET(ℓ) + CTE(ℓ) TE_2_ET(ℓ)


The beam window function products are all contained in the same directory BeamWF_HFI_R3.00, shipped in the tar ball BeamWF_HFI_R3.00.tar.gz (or

They are systematically provided for the (co-)analysis of the

  • full mission,
  • half-mission1 / half-mission2, and
  • even-rings / odd-rings

HFI frequency maps described there.

Those products are identified by a string of the form map1xmap2 where map1 and map2 each take the form freqtype with

  • freq being the map frequency in GHz among 100, 143, 217, 353 (PSB+SWB), 353p (PSB only), 545, 857 (with freq1 [math]\le[/math] freq2) and
  • type being either empty (full mission map), hm1 or hm2 (for 1st and 2nd half-missions), or even or odd (for maps made of even or odd rings)
  • examples of map1xmap2 values
    • 143x217 (for full mission maps),
    • 100hm1x353phm2 (correlation of 100GHz 1st Half mission map, with 353GHz PSB only 2nd Half mission map),
    • 217oddx217odd (auto-correlation of 217GHz odd-rings map), ...

T or TEB window functions[edit]

  • T only: 100 to 857GHz for full sky maps:
  • TEB: 100 to 353GHz for full sky maps:

Polarized beam matrices[edit]

  • 100, 143, 217 and 353 GHz, full sky maps
  • 100, 143 and 217GHz, Plik-like masks
    • valid for analysis done on maps masked with the Plik masks described ??
    • Wl_R3.00_plikmask_map1xmap2.fits

FITS parsing[edit]

These FITS files can be read in IDL and python, as follows

  • IDL:
fits_info, FITSfile,extname=extname ; print list of extensions found in FITSfile, and store their names in extname
data=mrdfits(FITSfile, 10, header)  ; read extension #10 (data and header)
data=mrdfits(FITSfile, 'ABC', header)  ; read extension having EXTNAME='ABC' (data and header)
print,header  ; print header
print,tag_names(data)  ; print column names
plot,data.(0)  ; plot 1st column of binary table
Note: this requires recent versions of fits_info, mrdfits and their supporting routines, all available at .
  • python2:
import as pf
import pylab # only to produce plots # print list of extensions found in FITSfile
data, header = pf.getdata(FITSfile, 10, header=True) # read extension #10 (data and header)
data, header = pf.getdata(FITSfile, 'ABC', header=True) # read extension having EXTNAME='ABC' (data and header)
print header # print header
print data.names # print column names
pylab.plot( data.field(0).flatten() ) # plot 1st column of binary table
Note: replaces the older pyfits
  • python3:
same as python2, replacing   print x   with   print (x)


  1. Hivon E., Mottet, S. & Ponthieu N., 2017 QuickPol: Fast calculation of effective beam matrices for CMB polarization A&A 598, A25
  2. Planck collaboration, 2018, Planck 2016 results. V. Legacy Power Spectra and Likelihoods

--Ehivon (talk) 15:30, 16 February 2018 (CET)
--Ehivon (talk) 18:05, 19 February 2018 (CET)
--Ehivon (talk) 18:55, 29 March 2018 (CEST)

Cosmic Microwave background

(Planck) High Frequency Instrument

(Hierarchical Equal Area isoLatitude Pixelation of a sphere, <ref name="Template:Gorski2005">HEALPix: A Framework for High-Resolution Discretization and Fast Analysis of Data Distributed on the Sphere, K. M. Górski, E. Hivon, A. J. Banday, B. D. Wandelt, F. K. Hansen, M. Reinecke, M. Bartelmann, ApJ, 622, 759-771, (2005).

Flexible Image Transfer Specification