Commit 3cea718c authored by Riccardo La Placa's avatar Riccardo La Placa
Browse files

Merge commit 'c47a64fe'

parents c1159d65 c47a64fe
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -16,24 +16,28 @@ Code in the [functions folder](https://ict.inaf.it/gitlab/heag-oar/scsearch/-/tr

powdist.m defines a function which briefly analyses a light curve to search for crosstalk signatures. 
It plots the light curve together with a simple Leahy-normalized power spectrum (PS) of the data and the same PS rebinned onto a quasi-logarithmic grid. Then, assuming that the observation is mostly composed of Poissonian noise modified by crosstalk, it generates the expected distribution in three different crosstalk models, and plots the counts-per-bin distribution both in the data and the models.
Plots are produced both with and without the `-nodesktop` option, but in the second case an interactive window will open too.
By checking that the high-frequency PSs are flat (i.e., the noise tends to white noise), and that the alignment between at least one of the models and the data count distribution is good, users can safely just renormalize the powers in their PSs, even after correcting them or the underlying light curve for orbital motions: by dividing the PSs by half the average power at high frequencies (returned by the function as `HalfMeanPow`), they can be treated as normally done for the purpose of power significance and sensitivity estimation.

The function takes five arguments as input (NyqFreq, LC, Binned, PSname, Noisename) and returns three (extrVoverE, CrossTalkProb, HalfMeanPow).

The function takes five arguments as input  (NyqFreq,LC,Binned,PSname,Noisename) and returns three (extrVoverE,CrossTalkProb,HalfMeanPow). \
Input arguments:
- `NyqFreq` is the Nyquist frequency in Hz 
#### Input arguments:
- `NyqFreq` is the Nyquist frequency in Hz (we suggest to use at least 1500 Hz)
- `LC` (light curve) is the vector of either binned counts, or photon times of arrival (ToAs)
- If `Binned` is true, we assume uniform binning and dt = 1/(2*NyqFreq), otherwise we assume the elements of LC are actually the ToAs, and the function bins the data with the aforementioned dt
- `PSname` and `Noisename` are the filenames (or complete paths) of graphs to be saved: the first figure will contain the power spectra (PSs) and light curve, and the second will compare the counts distribution with the one estimated through assumptions on the crosstalk distributions. Any of the [types supported](https://it.mathworks.com/help/matlab/ref/exportgraphics.html#mw_3db70293-26d3-4e3f-9abf-6b96488e4dde) by MATLAB's exportgraphics function should be fine, but formatting tests were carried out with pdfs

Output arguments:
#### Output arguments:
- `extrVoverE` is a three-element vector containing the ratios of Variance over Expected value calculated assuming a Poissonian process modified by, respectively, 8-pixel, 4-pixel, and 1-pixel crosstalk probability distributions 
- `CrossTalkProb` is the total crosstalk probability (it only assumes underlying poissonian noise and is independent of the number of pixels that can be fired by a single photon)
- `HalfMeanPow` is half the average power at frequencies higher than 1000 Hz in the power spectrum (this is what extrVoverE has to be compared to)


Applying this simple analysis will inevitably produce dubious results when used on data with gaps in it, and observations with a strong presence of high-fluence bursts: it is for this reason that double-checking the light curve is always necessary as confirmation.


<details><summary>Sample graphs from powdist</summary>

For reference, we show here the two figures produced by powdist running on the first 512 seconds of the SiFAP2 3FGLJ1544_20180418_N1_Bary.fits observation with the command `[VsuEtot,epsct,hmp] = powdist_f(Nyq,tsplit,false,'grafiPS.png','grafiCT.png')`. \
For reference, we show here the two figures produced by powdist running on the first 512 seconds of the SiFAP2 3FGLJ1544_20180418_N1_Bary.fits observation with the command `powdist(Nyq,tsplit,false,'grafiPS.png','grafiCT.png')`. \
For compatibility with this readme file, they were produced as png files, but for nicer formatting we suggest to export as pdf.

<img src="sample_figures/grafiPS_3FGLJ1544_20180418_N1_Bary.fits_m1.png" />
@@ -43,7 +47,7 @@ For compatibility with this readme file, they were produced as png files, but fo

<img src="sample_figures/grafiCT_3FGLJ1544_20180418_N1_Bary.fits_m1.png" />
<p>
    <em> Sample second graph produced by powdist, showing: </em>Top<em> - the distribution of the number of counts per bin, both in the data (crosses) and in the models calculated by the function (coloured lines); </em>Bottom<em> - the relative errors, defined as </em><math>|x^model_j - x^data_j|/x^data_j</math><em>, between any of the models and the data (points using the same colour as the lines above).</em>
    <em> Sample second graph produced by powdist, showing: </em>Top<em> - the distribution of the number of counts per bin, both in the data (crosses) and in the models calculated by the function (coloured lines); </em>Bottom<em> - the relative errors, defined as </em><math>|n^model_j - n^data_j|/n^data_j</math><em>, between any of the models and the data (points using the same colour as the lines above).</em>
</p>