Dear RHESSI Data Analysts

Over the past 4 weeks I've made a series of three changes to the core
software to improve the performance and robustness of the data
accumulations for imaging and spectroscopy tasks. You can see the
changed routines below and the details are in the following
paragraphs.  Improvements were made in pileup processing, robustness
in the offaxis response determination, and correcting a livetime

I've also fixed a bug that caused an error in the pileup algorithm
when the spectrum time intervals were non-contiguous.   Within the
process method the same time selection function is applied to the

The first change was to separate the pileup correction processing
from the spectrum accumulation.  Changing pileup parameters will not
cause reprocessing of the spectrum object, it only affects the state
of the data reported from the getdata call. Previously, implementing
the pileup correction often caused the spectrum object to completely
update on every call to retrieve the data.  Since many accumulations
take minutes to hours to perform this was highly undesirable. Also,
the pileup code was revised to improve its speed.

The second change was to improve the robustness of the computation of
the offaxis_position.  This time-averaged value is used to determine
the probability of a photon passing through the RHESSI grids to
interact with the detectors. Starting at the beginning of the
observation interval for a hsi_spectrum accumulation, the procedure
tries to find a valid aspect solution over the lesser of the
obs_time_interval or 10 minutes and then uses that and the flare
xyoffset to compute the offaxis_position.  If it fails, it attempts
to find this aspect solution over successive 10 minute intervals.
After 10 failed attempts it stops and issues a warning and uses the
default value of 0.25 for offaxis_position. The user can also specify
the time to use as a 2 element time entered into srm_aspect_time, a
control parameter of the hsi_srm class. After using srm_aspect_time
the default behavior can be restored by setting srm_aspect_time to

The third important change was to prevent problems in assigning times
to the livetime counter values. One symptom of this problem was found
during accumululations that started during a time period when the
front detectors were turned off, such as during night.  Sometimes the
livetime-corrected time history would be zero even when there were
counts during the accumulation's time bins.  There were two
components to this problem. One component has been eliminated at the
source in unpacking the livetime. The other component was identified
in hsi_spectrogram::find_detector_off and it has also been fixed.

Richard Schwartz
richard.schwartz at gsfc.nasa.gov

   1266 Jul  8 07:48 hsi_spectrum_info__define.pro
   2521 Jul  8 07:48 hsi_spectrum_control__define.pro
   2476 Jul  8 07:48 hsi_spectrum_control.pro
    239 Jul  8 07:48 hsi_spectrum__getpileup.pro
    750 Jul  8 07:48 hsi_spectrum__correct_pileup.pro
    928 Jul  8 07:48 hsi_pileup_info__define.pro
   1514 Jul  8 07:48 hsi_pileup_control__define.pro
   1449 Jul  8 07:48 hsi_pileup_control.pro
   7195 Jul  8 07:48 hsi_pileup__define.pro
  10866 Jul  8 07:48 hsi_correct_pileup_old.pro
  11974 Jul  8 07:48 hsi_correct_pileup.pro
   1328 Jul 15 12:20 hsi_srm_info__define.pro
   2908 Jul 15 12:20 hsi_srm_control__define.pro
   2183 Jul 15 12:20 hsi_srm_control.pro
  10167 Jul 15 12:20 hsi_srm__define.pro
  21285 Jul 15 12:20 hsi_spectrum__filewrite.pro
  43093 Jul 15 12:20 hsi_spectrum__define.pro
    895 Jul 15 12:20 hsi_radial_offset_test.pro
   6657 Jul 15 12:20 hsi_radial_offset.pro
   1551 Jul 15 12:20 hsi_radial_coord.pro
   1140 Jul 15 12:20 hsi_lookup_table.pro
  32475 Jul 15 12:20 hsi_calib_eventlist__define.pro
   3456 Jul 27 14:23 hsi_spectrogram__find_detector_off.pro
 100404 Jul 27 14:23 hsi_spectrogram__define.pro
  10121 Jul 27 14:23 hsi_packet2eventlist.pro
   2250 Jul 27 14:23 hsi_eventlist_strategy_info__define.pro
  15518 Jul 27 14:23 hsi_eventlist_packet__define.pro
   6543 Jul 27 14:23 hsi_decim_correction.pro
   8470 Jul 27 14:23 hsi_app100_unpack_livetime.pro

Changes Aug 2:

  19059 Jul 29 19:23 hsi_spectrogram__time_regroup.pro
 119438 Jul 29 19:36 hsi_spectrogram__define.pro
  10420 Aug  2 14:13 hsi_srm__define.pro
  43090 Aug  2 14:15 hsi_spectrum__define.pro