Program for calculating F-stat values for different time segments and combining them semi-coherently using the Hough transform, and following up candidates using a longer coherent integration. More...
Prototypes | |
| static int | smallerHough (const void *a, const void *b) |
| void | ComputeStackNoiseWeights (LALStatus *status, REAL8Vector **out, FstatInputVector *Fstat_in_vec) |
| Calculate noise weight for each stack. More... | |
| void | ComputeStackNoiseAndAMWeights (LALStatus *status, REAL8Vector *out, FstatInputVector *Fstat_in_vec, SkyPosition skypos) |
| Calculate noise and AM weight for each stack for a given sky position. More... | |
| void | GetStackVelPos (LALStatus *status, REAL8VectorSequence **velStack, REAL8VectorSequence **posStack, FstatInputVector *Fstat_in_vec) |
| Calculate average velocity and position of detector network during each stack. More... | |
| void | SetUpSFTs (LALStatus *status, FstatInputVector **p_Fstat_in_vec, UsefulStageVariables *in) |
| Set up stacks, read SFTs, calculate SFT noise weights and calculate detector-state. More... | |
| void | PrintFstatVec (LALStatus *status, REAL4FrequencySeries *in, FILE *fp, PulsarDopplerParams *thisPoint, LIGOTimeGPS refTime, INT4 stackIndex) |
| Print Fstat vectors. More... | |
| void | PrintHoughGrid (LALStatus *status, HOUGHPatchGrid *patch, HOUGHDemodPar *parDem, CHAR *fnameOut, INT4 iHmap) |
| void | PrintSemiCohCandidates (LALStatus *status, SemiCohCandidateList *in, FILE *fp, LIGOTimeGPS refTime) |
| Print Hough candidates. More... | |
| void | PrintHoughHistogram (LALStatus *status, UINT8Vector *hist, CHAR *fnameOut) |
| Print hough histogram to a file. More... | |
| void | PrintCatalogInfo (LALStatus *status, const SFTCatalog *catalog, FILE *fp) |
| Print some sft catalog info. More... | |
| void | PrintStackInfo (LALStatus *status, const SFTCatalogSequence *catalogSeq, FILE *fp) |
| Print some stack info from sft catalog sequence. More... | |
| void | GetSemiCohToplist (LALStatus *status, toplist_t *list, SemiCohCandidateList *in, REAL8 meanN, REAL8 sigmaN) |
| Get SemiCoh candidates toplist. More... | |
| void | ComputeNumExtraBins (LALStatus *status, SemiCoherentParams *par, REAL8 fdot, REAL8 f0, REAL8 deltaF) |
| Optimized calculation of Fstat overhead. More... | |
| void | DumpLUT2file (LALStatus *status, HOUGHptfLUT *lut, HOUGHPatchGrid *patch, CHAR *basename, INT4 ind) |
| Print single Hough map to a specified output file. More... | |
| void | ValidateHoughLUT (LALStatus *status, HOUGHptfLUT *lut, HOUGHPatchGrid *patch, CHAR *basename, INT4 ind, REAL4 alpha, REAL4 delta, REAL4 weight) |
| void | GetXiInSingleStack (LALStatus *status, HOUGHSizePar *size, HOUGHDemodPar *par) |
| int | MAIN (int argc, char *argv[]) |
| void | ComputeFstatHoughMap (LALStatus *status, SemiCohCandidateList *out, HOUGHPeakGramVector *pgV, SemiCoherentParams *params) |
| Function for calculating Hough Maps and candidates. More... | |
| void | FstatVectToPeakGram (LALStatus *status, HOUGHPeakGramVector *pgV, REAL4FrequencySeriesVector *FstatVect, REAL4 thr) |
| Function for selecting frequency bins from a set of Fstatistic vectors. More... | |
| void | SetUpStacks (LALStatus *status, SFTCatalogSequence *out, REAL8 tStack, SFTCatalog *in, UINT4 nStacksMax) |
| Breaks up input sft catalog into specified number of stacks. More... | |
| void | PrintHmap2file (LALStatus *status, HOUGHMapTotal *ht, CHAR *fnameOut, INT4 iHmap) |
| Print single Hough map to a specified output file. More... | |
| void | GetHoughCandidates_toplist (LALStatus *status, toplist_t *list, HOUGHMapTotal *ht, HOUGHPatchGrid *patch, HOUGHDemodPar *parDem) |
| Get Hough candidates as a toplist. More... | |
| void | GetHoughCandidates_threshold (LALStatus *status, SemiCohCandidateList *out, HOUGHMapTotal *ht, HOUGHPatchGrid *patch, HOUGHDemodPar *parDem, REAL8 threshold) |
| Get Hough candidates as a toplist using a fixed threshold. More... | |
| void | GetFstatCandidates_toplist (LALStatus *status, toplist_t *list, REAL8FrequencySeries *in, REAL8 alpha, REAL8 delta, REAL8 fdot) |
| void | GetChkPointIndex (LALStatus *status, INT4 *loopindex, const CHAR *fnameChkPoint) |
| Read checkpointing file This does not (yet) check any consistency of the existing results file. More... | |
Program for calculating F-stat values for different time segments and combining them semi-coherently using the Hough transform, and following up candidates using a longer coherent integration.
This code implements a hierarchical strategy to look for unknown gravitational wave pulsars. It scans through the parameter space using a less sensitive but computationally inexpensive search and follows up the candidates using more sensitive methods.
Currently the code does a single stage hierarchical search using the Hough algorithm and follows up the candidates using a full coherent integration.
\[ f(t) - F_0(t) = \xi(t).(\hat{n} - \hat{n}_0) \]
where\[ F_0 = f_0 + \sum \Delta f_k \frac{(\Delta t)^k}{k!} \]
Here \( \hat{n}_0 \) is the sky-point at which the F-statistic is calculated and \( \Delta f_k \) is the residual spindown parameter. For details see Phys.Rev.D 70, 082001 (2004). The size of the patch depends on the validity of the above master equation.Definition in file HierarchicalSearch.c.
Go to the source code of this file.
Data Structures | |
| struct | UsefulStageVariables |
| useful variables for each hierarchical stage More... | |
Macros | |
| #define | TRUE (1==1) |
| #define | FALSE (1==0) |
| #define | HS_CHECKPOINTING 0 /* no checkpointing in the non-BOINC case (yet) */ |
| #define | GET_CHECKPOINT(toplist, total, count, outputname, cptname) *total=0; |
| #define | INSERT_INTO_HOUGHFSTAT_TOPLIST insert_into_houghFstat_toplist |
| #define | SHOW_PROGRESS(rac, dec, tpl_count, tpl_total, freq, fband) |
| #define | SET_CHECKPOINT |
| #define | MAIN main |
| #define | COMPUTEFSTATHOUGHMAP ComputeFstatHoughMap |
| #define | GPUREADY_DEFAULT 0 |
| #define | REARRANGE_SFT_DATA |
| #define | INITIALIZE_COPROCESSOR_DEVICE |
| #define | UNINITIALIZE_COPROCESSOR_DEVICE |
| #define | HSMAX(x, y) ( (x) > (y) ? (x) : (y) ) |
| #define | HSMIN(x, y) ( (x) < (y) ? (x) : (y) ) |
| #define | BLOCKSIZE_REALLOC 50 |
| #define | FSTART 310.0 |
| Default Start search frequency. More... | |
| #define | FBAND 0.01 |
| Default search band. More... | |
| #define | FDOT 0.0 |
| Default value of first spindown. More... | |
| #define | DFDOT 0.0 |
| Default range of first spindown parameter. More... | |
| #define | SKYREGION "allsky" |
| default sky region to search over – just a single point More... | |
| #define | NFDOT 10 |
| Default size of hough cylinder of look up tables. More... | |
| #define | MISMATCH 0.2 |
| Default for metric grid maximal mismatch value. More... | |
| #define | DALPHA 0.001 |
| Default resolution for isotropic or flat grids. More... | |
| #define | DDELTA 0.001 |
| Default resolution for isotropic or flat grids. More... | |
| #define | FSTATTHRESHOLD 2.6 |
| Default threshold on Fstatistic for peak selection. More... | |
| #define | NCAND1 5 |
| Default number of candidates to be followed up from first stage. More... | |
| #define | FNAMEOUT "./out/HS.dat" |
| Default output file basename. More... | |
| #define | PIXELFACTOR 2.0 |
| #define | LAL_INT4_MAX 2147483647 |
Variables | |
| int | gpu_device_id |
| BOOLEAN | uvar_printMaps = FALSE |
| global variable for printing Hough maps More... | |
| BOOLEAN | uvar_printGrid = FALSE |
| global variable for printing Hough grid More... | |
| BOOLEAN | uvar_printStats = FALSE |
| global variable for calculating Hough map stats More... | |
| BOOLEAN | uvar_dumpLUT = FALSE |
| global variable for printing Hough look-up-tables for debugging More... | |
| BOOLEAN | uvar_validateLUT = FALSE |
| LALStatus * | global_status |
| int | alloc_len |
| #define TRUE (1==1) |
Definition at line 125 of file HierarchicalSearch.c.
| #define FALSE (1==0) |
Definition at line 126 of file HierarchicalSearch.c.
| #define HS_CHECKPOINTING 0 /* no checkpointing in the non-BOINC case (yet) */ |
Definition at line 129 of file HierarchicalSearch.c.
Definition at line 130 of file HierarchicalSearch.c.
| #define INSERT_INTO_HOUGHFSTAT_TOPLIST insert_into_houghFstat_toplist |
Definition at line 131 of file HierarchicalSearch.c.
| #define SHOW_PROGRESS | ( | rac, | |
| dec, | |||
| tpl_count, | |||
| tpl_total, | |||
| freq, | |||
| fband | |||
| ) |
Definition at line 132 of file HierarchicalSearch.c.
| #define SET_CHECKPOINT |
Definition at line 133 of file HierarchicalSearch.c.
| #define MAIN main |
Definition at line 134 of file HierarchicalSearch.c.
| #define COMPUTEFSTATHOUGHMAP ComputeFstatHoughMap |
Definition at line 138 of file HierarchicalSearch.c.
| #define GPUREADY_DEFAULT 0 |
Definition at line 141 of file HierarchicalSearch.c.
| #define REARRANGE_SFT_DATA |
Definition at line 144 of file HierarchicalSearch.c.
| #define INITIALIZE_COPROCESSOR_DEVICE |
Definition at line 147 of file HierarchicalSearch.c.
| #define UNINITIALIZE_COPROCESSOR_DEVICE |
Definition at line 150 of file HierarchicalSearch.c.
Definition at line 166 of file HierarchicalSearch.c.
Definition at line 167 of file HierarchicalSearch.c.
| #define BLOCKSIZE_REALLOC 50 |
Definition at line 169 of file HierarchicalSearch.c.
| #define FSTART 310.0 |
Default Start search frequency.
Definition at line 246 of file HierarchicalSearch.c.
| #define FBAND 0.01 |
Default search band.
Definition at line 248 of file HierarchicalSearch.c.
| #define FDOT 0.0 |
Default value of first spindown.
Definition at line 249 of file HierarchicalSearch.c.
| #define DFDOT 0.0 |
Default range of first spindown parameter.
Definition at line 250 of file HierarchicalSearch.c.
| #define SKYREGION "allsky" |
default sky region to search over – just a single point
Definition at line 251 of file HierarchicalSearch.c.
| #define NFDOT 10 |
Default size of hough cylinder of look up tables.
Definition at line 252 of file HierarchicalSearch.c.
| #define MISMATCH 0.2 |
Default for metric grid maximal mismatch value.
Definition at line 253 of file HierarchicalSearch.c.
| #define DALPHA 0.001 |
Default resolution for isotropic or flat grids.
Definition at line 254 of file HierarchicalSearch.c.
| #define DDELTA 0.001 |
Default resolution for isotropic or flat grids.
Definition at line 255 of file HierarchicalSearch.c.
| #define FSTATTHRESHOLD 2.6 |
Default threshold on Fstatistic for peak selection.
Definition at line 256 of file HierarchicalSearch.c.
| #define NCAND1 5 |
Default number of candidates to be followed up from first stage.
Definition at line 257 of file HierarchicalSearch.c.
| #define FNAMEOUT "./out/HS.dat" |
Default output file basename.
Definition at line 258 of file HierarchicalSearch.c.
| #define PIXELFACTOR 2.0 |
Definition at line 259 of file HierarchicalSearch.c.
| #define LAL_INT4_MAX 2147483647 |
Definition at line 261 of file HierarchicalSearch.c.
Definition at line 196 of file HierarchicalSearch.c.
| void ComputeStackNoiseWeights | ( | LALStatus * | status, |
| REAL8Vector ** | out, | ||
| FstatInputVector * | Fstat_in_vec | ||
| ) |
Calculate noise weight for each stack.
Definition at line 3233 of file HierarchicalSearch.c.
| void ComputeStackNoiseAndAMWeights | ( | LALStatus * | status, |
| REAL8Vector * | out, | ||
| FstatInputVector * | Fstat_in_vec, | ||
| SkyPosition | skypos | ||
| ) |
Calculate noise and AM weight for each stack for a given sky position.
Definition at line 3297 of file HierarchicalSearch.c.
| void GetStackVelPos | ( | LALStatus * | status, |
| REAL8VectorSequence ** | velStack, | ||
| REAL8VectorSequence ** | posStack, | ||
| FstatInputVector * | Fstat_in_vec | ||
| ) |
Calculate average velocity and position of detector network during each stack.
Definition at line 3142 of file HierarchicalSearch.c.
| void SetUpSFTs | ( | LALStatus * | status, |
| FstatInputVector ** | p_Fstat_in_vec, | ||
| UsefulStageVariables * | in | ||
| ) |
Set up stacks, read SFTs, calculate SFT noise weights and calculate detector-state.
| status | pointer to LALStatus structure |
| p_Fstat_in_vec | pointer to vector of Fstat input data structures for XLALComputeFstat(), one per stack |
| in | input params |
Definition at line 1249 of file HierarchicalSearch.c.
| void PrintFstatVec | ( | LALStatus * | status, |
| REAL4FrequencySeries * | in, | ||
| FILE * | fp, | ||
| PulsarDopplerParams * | thisPoint, | ||
| LIGOTimeGPS | refTime, | ||
| INT4 | stackIndex | ||
| ) |
Print Fstat vectors.
Definition at line 2905 of file HierarchicalSearch.c.
| void PrintHoughGrid | ( | LALStatus * | status, |
| HOUGHPatchGrid * | patch, | ||
| HOUGHDemodPar * | parDem, | ||
| CHAR * | fnameOut, | ||
| INT4 | iHmap | ||
| ) |
Definition at line 2292 of file HierarchicalSearch.c.
| void PrintSemiCohCandidates | ( | LALStatus * | status, |
| SemiCohCandidateList * | in, | ||
| FILE * | fp, | ||
| LIGOTimeGPS | refTime | ||
| ) |
Print Hough candidates.
Definition at line 2870 of file HierarchicalSearch.c.
| void PrintHoughHistogram | ( | LALStatus * | status, |
| UINT8Vector * | hist, | ||
| CHAR * | fnameOut | ||
| ) |
Print hough histogram to a file.
Definition at line 2990 of file HierarchicalSearch.c.
| void PrintCatalogInfo | ( | LALStatus * | status, |
| const SFTCatalog * | catalog, | ||
| FILE * | fp | ||
| ) |
Print some sft catalog info.
Definition at line 3022 of file HierarchicalSearch.c.
| void PrintStackInfo | ( | LALStatus * | status, |
| const SFTCatalogSequence * | catalogSeq, | ||
| FILE * | fp | ||
| ) |
Print some stack info from sft catalog sequence.
Definition at line 3052 of file HierarchicalSearch.c.
| void GetSemiCohToplist | ( | LALStatus * | status, |
| toplist_t * | list, | ||
| SemiCohCandidateList * | in, | ||
| REAL8 | meanN, | ||
| REAL8 | sigmaN | ||
| ) |
Get SemiCoh candidates toplist.
Definition at line 3372 of file HierarchicalSearch.c.
| void ComputeNumExtraBins | ( | LALStatus * | status, |
| SemiCoherentParams * | par, | ||
| REAL8 | fdot, | ||
| REAL8 | f0, | ||
| REAL8 | deltaF | ||
| ) |
Optimized calculation of Fstat overhead.
Definition at line 3428 of file HierarchicalSearch.c.
| void DumpLUT2file | ( | LALStatus * | status, |
| HOUGHptfLUT * | lut, | ||
| HOUGHPatchGrid * | patch, | ||
| CHAR * | basename, | ||
| INT4 | ind | ||
| ) |
Print single Hough map to a specified output file.
Definition at line 2487 of file HierarchicalSearch.c.
| void ValidateHoughLUT | ( | LALStatus * | status, |
| HOUGHptfLUT * | lut, | ||
| HOUGHPatchGrid * | patch, | ||
| CHAR * | basename, | ||
| INT4 | ind, | ||
| REAL4 | alpha, | ||
| REAL4 | delta, | ||
| REAL4 | weight | ||
| ) |
Definition at line 2356 of file HierarchicalSearch.c.
| void GetXiInSingleStack | ( | LALStatus * | status, |
| HOUGHSizePar * | size, | ||
| HOUGHDemodPar * | par | ||
| ) |
Definition at line 3649 of file HierarchicalSearch.c.
fix frequency-quantization offset bug #147, by applying a fixed frequency-correction to all candidates
Definition at line 278 of file HierarchicalSearch.c.
| void ComputeFstatHoughMap | ( | LALStatus * | status, |
| SemiCohCandidateList * | out, | ||
| HOUGHPeakGramVector * | pgV, | ||
| SemiCoherentParams * | params | ||
| ) |
Function for calculating Hough Maps and candidates.
This function takes a peakgram as input. This peakgram was constructed by setting a threshold on a sequence of Fstatistic vectors. The function produces a Hough map in the sky for each value of the frequency and spindown. The Hough nummber counts are then used to select candidates in parameter space to be followed up in a more refined search. This uses DriveHough_v3.c as a prototype suitably modified to work on demodulated data instead of SFTs.
| status | pointer to LALStatus structure |
| out | Candidates from thresholding Hough number counts |
| pgV | HOUGHPeakGramVector obtained after thresholding Fstatistic vectors |
| params | pointer to HoughParams – parameters for calculating Hough maps |
Definition at line 1490 of file HierarchicalSearch.c.
| void FstatVectToPeakGram | ( | LALStatus * | status, |
| HOUGHPeakGramVector * | pgV, | ||
| REAL4FrequencySeriesVector * | FstatVect, | ||
| REAL4 | thr | ||
| ) |
Function for selecting frequency bins from a set of Fstatistic vectors.
Input is a vector of Fstatistic vectors. It allocates memory for the peakgrams based on the frequency span of the Fstatistic vectors and fills tyem up by setting a threshold on the Fstatistic. Peakgram must be deallocated outside the function.
| status | pointer to LALStatus structure |
| pgV | a vector of peakgrams |
| FstatVect | sequence of Fstatistic vectors |
| thr | REAL8 threshold for selecting frequency bins |
Definition at line 2048 of file HierarchicalSearch.c.
| void SetUpStacks | ( | LALStatus * | status, |
| SFTCatalogSequence * | out, | ||
| REAL8 | tStack, | ||
| SFTCatalog * | in, | ||
| UINT4 | nStacksMax | ||
| ) |
Breaks up input sft catalog into specified number of stacks.
Breaks up input sft catalog into specified number of stacks Loops over elements of the catalog, assigns a bin index and allocates memory to the output catalog sequence appropriately.
Loops over elements of the catalog, assigns a bin index and allocates memory to the output catalog sequence appropriately. If there are long gaps in the data, then some of the catalogs in the output catalog sequence may be of zero length.
| status | pointer to LALStatus structure |
| out | Output catalog of sfts – one for each stack |
| tStack | Output duration of each stack |
| in | Input sft catalog to be broken up into stacks (ordered in increasing time) |
| nStacksMax | User specified number of stacks |
Definition at line 2152 of file HierarchicalSearch.c.
| void PrintHmap2file | ( | LALStatus * | status, |
| HOUGHMapTotal * | ht, | ||
| CHAR * | fnameOut, | ||
| INT4 | iHmap | ||
| ) |
Print single Hough map to a specified output file.
Definition at line 2253 of file HierarchicalSearch.c.
| void GetHoughCandidates_toplist | ( | LALStatus * | status, |
| toplist_t * | list, | ||
| HOUGHMapTotal * | ht, | ||
| HOUGHPatchGrid * | patch, | ||
| HOUGHDemodPar * | parDem | ||
| ) |
Get Hough candidates as a toplist.
Definition at line 2614 of file HierarchicalSearch.c.
| void GetHoughCandidates_threshold | ( | LALStatus * | status, |
| SemiCohCandidateList * | out, | ||
| HOUGHMapTotal * | ht, | ||
| HOUGHPatchGrid * | patch, | ||
| HOUGHDemodPar * | parDem, | ||
| REAL8 | threshold | ||
| ) |
Get Hough candidates as a toplist using a fixed threshold.
Definition at line 2675 of file HierarchicalSearch.c.
| void GetFstatCandidates_toplist | ( | LALStatus * | status, |
| toplist_t * | list, | ||
| REAL8FrequencySeries * | in, | ||
| REAL8 | alpha, | ||
| REAL8 | delta, | ||
| REAL8 | fdot | ||
| ) |
Definition at line 2950 of file HierarchicalSearch.c.
Read checkpointing file This does not (yet) check any consistency of the existing results file.
Definition at line 3088 of file HierarchicalSearch.c.
| int gpu_device_id |
Definition at line 156 of file HierarchicalSearch.c.
global variable for printing Hough maps
Definition at line 160 of file HierarchicalSearch.c.
global variable for printing Hough grid
Definition at line 161 of file HierarchicalSearch.c.
global variable for calculating Hough map stats
Definition at line 162 of file HierarchicalSearch.c.
global variable for printing Hough look-up-tables for debugging
Definition at line 163 of file HierarchicalSearch.c.
Definition at line 164 of file HierarchicalSearch.c.
| LALStatus* global_status |
Definition at line 266 of file HierarchicalSearch.c.
| int alloc_len |
Definition at line 268 of file HierarchicalSearch.c.