Followup

Currently work in progress; for the present state of the code see here.

Introduction

On the last stage we can precisely estimate signal parameters. At this stage we focus only on a very narrow space around a candidate. Our goal is to find the maximum of the F-statistic and the corresponding signal parameters. To increase the efficiency of the code, we use special libraries (GNU Scientific Library (GSL), YEPPP!) and parallelisation (OpenMP). We already implemented few algorithms to do this: Simplex algorithm, Mesh Adaptive Direct Search - MADS and modified MADS (called 'inverted MADS').

Compilation

To compile a code, go to the followup/src and run: make followup

Switches

Run ./followup --help

Switch Description
-d, -data Data directory (default is .)
-o, -output Output directory (default is ./candidates)
-i, -ident Frame number
-b, -band Band number
-l, -label Custom label for the input and output files
-c, -cwd Change to directory [dir]
-t, -threshold Threshold for the F-statistic (default is 20)
-p, -fpo Reference band frequency fpo value
-s, -dt Data sampling time dt (default value: 0.5)
-u, -usedet Use only detectors from string (default is use all available)
-y, -nod Number of days
-x, -addsig Add signal with parameters from [file]
-a, -candidates As a starting point in followup use parameters from [file]
-r, -refr Reference frame number

Also:

--vetolines Veto known lines from files in data directory
--simplex Direct search of maximum using Nelder-Mead (simplex) algorithm
--mads Direct search of maximum using MADS algorithm
--gauss Generate Gaussian noise instead of reading data. Amplitude and sigma of the noise declared in init.c
--neigh Function neigh() generate area as % from initial value instead of taking it from grid.bin
--naive Function naive() generate area as +/- points taking it from grid.bin and divide it into smaller grid.
--onepoint Calculate Fstatistic only in one point taken from file with candidates (without generating any grid).
--help This help

By default code is searching maximum of the F-statistic on the optimal, 4-dimensional grid (parameters of the grid, like e.g. minimal match, ale defined inside the code, in followup.c). Main idea was to search on a denser grid than in search code, but to focus only on a few points around candidate. Additionally, when the point (on the optimal grid) with the maximal value of the F-statistic is established, one can run one of the direct maximum search algorithm: Nelder-Mead (--simplex switch) or MADS (--mads switch), to determine parameters of the maximum more precisely. In the current version of the code, by using --mads switch, one will use modified, 'inverted' MADS. To skip calculations on the optimal grid and run one of the algorithms directly from the initial point, use --onepoint switch.

Input data

Files required to run the code: xdatc*, DetSSB.bin and grid.bin. Path to the directory is taken from -data switch; there directories named as iii/H1,iii/L1 etc. are expected, where iii is a frame number taken from -ident switch.

Initial point of the calculations (switch -candidates) is required. Usually the best result from coincidences (previous step of the pipeline) is taken. Parameters of the candidate need to be written into the file, as:

frequency spin-down declination right_ascension

Minimal example how to run a code

Run:

LD_LIBRARY_PATH=../../search/network/src-cpu/lib/yeppp-1.0.0/binaries/linux/x86_64 ./followup -data data_path/ -band 0666 -dt 16 -candidates path_to_candidate/candidate.txt -ident 001 -nod 6 --mads> output.txt 

As a result (last line in the output file) one can get parameters of the found maximum:

frequency spin-down declination right_ascension F-statistic_value SNR