spaulaus / paass-lc

Acquire and Analyze data from XIA Pixie16 modules
GNU General Public License v3.0
2 stars 7 forks source link

Update utkscan histogram plotting to increase efficiency #120

Closed spaulaus closed 6 years ago

spaulaus commented 6 years ago

Expected Behavior

Plotting histograms should be a relatively quick process.

Current Behavior

Histogram plotting takes an incredible amount of time. This is causing the scan to slow down by a factor of 26 when only the basic histograms are declared for 5 channels. This slow down will only increase as the number of calls to Plot::Plot increases.

Context

I noticed the scan was going way slower than pixie_ldf_c, which is a cause for concern.

Possible Solution (optional)

Update the plotting routines.

Acceptance Criteria

  1. The plotting is on the same order of magnitude as pixie_ldf_c (~46 s)

Important Notes

Note 1

This is a breaking change. We have lost the ability to

  1. Write to DAMM
  2. Analyze online data

Note 2

ROOT is now required to build utkscan.

spaulaus commented 6 years ago

I have converted this to ROOT. Scan time with Raw Histograms enabled and Clover Processor defined is

real    0m46.108s
user    0m32.359s
sys     0m12.672s

Previous Results: These results were obtained by commenting out all of the analysis and only plotting the Statistics histograms.

real    13m25.007s
user    0m50.734s
sys     12m13.266s

Result

We have improved the scan efficiency by a factor of 17.5. We have achieved our goal of reaching the same order of magnitude as pixie_ldf_c (~46s).

spaulaus commented 6 years ago

Important note

This is a breaking change. We have lost the ability to

  1. Write to DAMM
  2. Analyze online data
spaulaus commented 6 years ago

Actually, we can analyze online data!