Institut für Astronomie und AstrophysikAbteilung AstronomieSand 1, D-72076 Tübingen, Germany |
epfold
timing tools
epfold,time,rate,raterr=raterr,pstart=pstart,pstop=pstop, nbins=nbins,sampling=sampling,/chisq
time : a vector containing the time in arbitary units (usually to be assumed seconds) rate : a vector containing the countrate; if not given, the times are assumed to come from individual events pstart: lowest period to be considered pstop: highest period to be considered
gti: at the moment for event data only: gti[2,*] is an array with the good times from the event selection, gti[0,*] are the start times, gti[1,*] the stop times. Obviously, use the same time system for time and gti (i.e., also barycenter gtis!). Needed for the computation of the exposure time of the phase bins, if not given, the time of the first and the last event is used instead. gap: array containing bad bins (e.g., gaps in the lightcurve). computed in pfold with timegap or from the gtis if not given, and possibly returned if an undeclared variable is passed through the gap keyword raterror: a given error vector for the countrate. If not given and we are not working on events, raterror is computed using Poissonian statistics. nbins: number of phase-bins to be used in creating the trial pulse (default=20) sampling: how many periods per peak to use (default=10) linear : if set, use a linear trial period array with step equal to the value of linear trial_period : array contains the trial periods. If set, pstart is the smallest trial period and pstop the longest. tolerance: parameter defining the lower limit for the gap length; the reference is the time difference between the first and second entry in the time array; tolerance defines the maximum allowed relative deviation from this reference bin length; default: 1e-8; this parameter is passed to timegap (see timegap.pro for further explanation). Only used if no gti is given. pdot,pddot: period derivative and 2nd period derivative (NB: these are NOT stepped, so they make only sense, e.g., when epfold is called from a two-parametric period search) time0: epoch for folding
fitchi : fit a Gauss distribution to the chi^2 and use the center of the gauss to determine the period, instead of using the maximum of the chi^2 distribution. This is mainly needed by eperror.pro. In case this keyword is set chierg will be 3 dimensional array and the fit result is stored in chierg[2,*]. maxchierg[1] still contains the maximum chi^2 and NOT the chi^2 of the fitted period !! chatty : if set, be chatty fchatty : chatty keyword for pfold mjd : if set, time is assumed in days, but the period will be in seconds anyway (apart from mjd being set, period is in the same units as time)
chierg : 2D-array, chierg[0,*] contains the trial period, and chierg[1,*] the respective chi^2 value.
maxchierg: 2 dim. array, maxchierg[0] contains the period of maximum chi^2, and maxchierg[1] the respective maximum chi^2 persig : uncertainty of that period, from triangular approximation, not to be interpreted in a statistical sense! gap : see above (optional inputs)
none
none
the input lightcurve has to be given in count rates (not in photon numbers). To prevent convergence problems of the fit (only if keyword /fitchi is set), the maximum of the chi^2 distribution has to be in between pstart and pstop, and the period interval has to be resonable large.
This subroutine performs a period search using epoch folding. For each trial period, a pulse profile is generated using pfold. This profile is then tested for constancy using a chi^2 test. The maximum chi^2, i.e., the maximum deviation, is the most possible period. This is done for all periods between pstart and pstop using a grid-search operating on the minimum possible period that can still be detected (given by p^2/t). Caveat: The significance of the found periods SHOULD NOT be tested using the chi^2 value obtained from this routine, since the values are only asymptotically chi^2 distributed (see Davies, 1990, Schwarzenberg-Czerny, 1989, Larsson, 1996) Read (and understand) the references before using this routine!
Davies, S.R., 1990, MNRAS 244, 93 Larsson, S., 1996, A&AS 117, 197 Leahy, D.A., Darbro, W., Elsner, R.F., et al., 1983, ApJ 266, 160-170 Schwarzenberg-Czerny, A., 1989, MNRAS 241, 153
$Log: epfold.pro,v $ Revision 1.28 2007/11/24 15:48:06 wilms small changes in mpfitexpr code (but it still does not work) Revision 1.27 2005/06/08 19:34:59 wilms correct computation of TGes (total exposure) in case the mjd keyword is set (TGes is always in seconds) Revision 1.26 2005/05/14 20:59:25 wilms added mjd keyword Revision 1.25 2004/11/26 08:37:49 wilms we now assume that for event data the events are given from a pure poisson process, i.e., their standard deviation is the sqrt of the mean count rate. Revision 1.24 2004/11/25 17:56:17 wilms modifications such that epfold works with the pfold modifications, where we now return bins set to NaN in the case that the exposure time of the bin is zero. chierg is now set to nan if we cannot compute a profile for a given period (I do not think this ever happens, though, so this is only the case for the most bizarre situations). Revision 1.23 2004/11/01 21:27:27 wilms added fchatty keyword Revision 1.22 2004/09/13 16:00:03 wilms remove subtraction of time[0] from lightcurve since that matters if time0 is set and we have a pdot. This better didn't change any results... Revision 1.21 2004/09/07 17:32:08 wilms added pdot and pddot keywords Revision 1.20 2004/09/06 20:55:41 wilms * removed major bug in which gaps in lightcurves were not properly taken into account, leading to spurious features in chi^2(P). * Added gap keyword. * Various cosmetic cleanups Revision 1.19 2004/09/06 18:34:38 wilms nicer debugging output when chatty=1 Revision 1.18 2004/08/03 15:58:00 goehler fix of special case when gti array contains only single entry. Revision 1.17 2004/07/20 17:25:35 wilms now correctly compute tges for events data (is last time minus first time, not total exposure) Revision 1.16 2004/05/24 18:02:58 wilms better chatty output, some cosmetic changes Revision 1.15 2004/05/24 12:10:21 wilms removed "@mpfitexpr" since this function is loaded automatically, so no action is needed within the code (if it is NOT loaded automatically, something is wrong with the IDL-setup) Revision 1.14 2004/03/16 13:58:11 goehler change/fix: replacement of mpevalexpr with actual computation using the "execute" function this circumvents some problems of the mpfitexpr package. Revision 1.13 2004/03/16 09:12:56 rodina Add @mpfitexpr string Revision 1.12 2004/03/15 14:10:44 rodina replacement of gaussfit with the better converging mpfitexpr routine. Revision 1.11 2003/07/10 13:57:54 goehler fix: if rate is given (as input inrate) no gti determination needed. Problem of asking for "rate" variable existence instead of inrate. And: Set start/stop time as gti if none given (+warning). Revision 1.10 2003/07/02 09:28:06 wilms Ljuba Rodina/Joern Wilms, IAAT: added support for event data epoch folding ----- EARLIER HISTORY -------- Version 1.0, Michael Koenig IAAT Version 1.1, 1998/04/04, Markus Kuster IAAT Version 2.0, 1998/07/01, Joern Wilms, IAAT Version 2.1, 1998/07/20, Joern Wilms, IAAT Now use clearer formula for chi^2 Version 2.2, 1999/08/05, Joern Wilms, IAAT * make use of dt keyword of new pfold (slight speed improvement) * removed significance keyword (caused too much trouble) Version 2.3, 2000/11/28, SB, add maxchierg optional output Version 2.4, 2001/01/08, SB, add linear optional input/keyword Version 2.5, 2001/03/07, SB, add trial_period optional input Version 2.6, 2001/07/30, Markus Kuster, IAAT add fitchi keyword --------- SWITCH TO CVS LOGGING ----, see above!
[Home Page] [Software, Documentation] [IDL Documentation] [Quick Reference] [Feedback]