see also #352
H1 · HIGH · evndisp keeps time-sliced pedestal analysis enabled during normal data reconstruction
Location: EventDisplay_v4/src/VEventLoop.cpp:490-495,1442-1461; EventDisplay_v4/src/VPedestalCalculator.cpp:30-199,280-381; logFiles/analysis/64080.log:71,598-599
On the exercised run, evndisp processes ~205 events/s (543 481 events in 44:04). The active
path still performs pedestal-variance bookkeeping for every telescope during standard
reconstruction: VPedestalCalculator::doAnalysis() loops over hit channels, recomputes trace
sums for every summation window, and fills per-pixel histograms.
Impact: A calibration-style side analysis remains in the hottest reconstruction loop and is a
plausible first-order contributor to the 16× throughput gap between evndisp (~205 ev/s) and
mscw_energy (~3 229 ev/s).
H2 · MEDIUM · evndisp repeats invariant low-gain/sum-window validation in the per-event loop
Location: EventDisplay_v4/src/VEventLoop.cpp:1204-1292
The analysis path rechecks availability of low-gain multipliers for sumwindow_1,
sumwindow_2, and sumwindow_pass1 on every event for every telescope, even though these are
run-level constants after initialisation.
Impact: Avoidable branch-heavy work repeated millions of times in long runs.
H3 · HIGH · anasum double-scans mscw.root and reinitialises TMVA twice per run
Location: EventDisplay_v4/src/VAnaSum.cpp:464-465; EventDisplay_v4/src/VStereoAnalysis.cpp:264-349,434-448; EventDisplay_v4/src/VTMVAEvaluator.cpp:366-511; logFiles/analysis/64080.anasum.log:97-103,237-243
In the reflected-background path, ON and OFF both point to the same mscw.root, yet VAnaSum
runs separate passes. Each pass reads 174 937 entries and rebuilds the gamma/hadron TMVA
readers from disk.
Impact: For every run, anasum roughly doubles tree I/O and repeats expensive TMVA and
effective-area initialisation that could be shared.
H4 · MEDIUM · anasum uses a linear TMVA-bin search with recomputed mean energies per event
Location: EventDisplay_v4/src/VTMVAEvaluator.cpp:714-745,802-839
Each gamma/hadron evaluation calls getDataBin(), which scans all loaded bins and recomputes
the mean energy of each candidate before evaluating the selected reader.
Impact: Avoidable per-event classifier overhead in the inner anasum loop, especially with
many energy/zenith bins.
H5 · MEDIUM · Multi-run anasum jobs scale as O(runs × total entries in chain)
Location: EventDisplay_v4/src/VAnaSum.cpp:464-465; EventDisplay_v4/src/VStereoAnalysis.cpp:434-450
fillHistograms() loops over all chain entries and then filters by runNumber == irun; each
run-specific pass re-reads entries from all other runs.
Impact: Runtime can grow toward O(runs × total_entries) instead of near-linear.
H6 · MEDIUM · evndisp reads pedestal calibration inputs redundantly during initialisation
Location: logFiles/analysis/64080.log:247-252,263-268,275-280,291-296
The same telescope-level pedestal products are read twice in succession during calibration setup.
Impact: Duplicated calibration I/O in the slowest stage of the data pipeline.
H7 · MEDIUM · mscw_energy repeatedly rebuilds TMVA datasets instead of amortising setup
Location: logFiles/analysis/64080.mscw.log:156-169; logFiles/irfs/20deg_0.5wob_NOISE200.mscw.log:261-277
Both data-side and MC-side logs contain repeated Rebuilding Dataset Default messages.
Impact: Avoidable setup churn, expensive when multiplied across large IRF productions.
see also #352
H1 · HIGH ·
evndispkeeps time-sliced pedestal analysis enabled during normal data reconstructionLocation:
EventDisplay_v4/src/VEventLoop.cpp:490-495,1442-1461;EventDisplay_v4/src/VPedestalCalculator.cpp:30-199,280-381;logFiles/analysis/64080.log:71,598-599On the exercised run,
evndispprocesses ~205 events/s (543 481events in 44:04). The activepath still performs pedestal-variance bookkeeping for every telescope during standard
reconstruction:
VPedestalCalculator::doAnalysis()loops over hit channels, recomputes tracesums for every summation window, and fills per-pixel histograms.
Impact: A calibration-style side analysis remains in the hottest reconstruction loop and is a
plausible first-order contributor to the 16× throughput gap between
evndisp(~205 ev/s) andmscw_energy(~3 229 ev/s).H2 · MEDIUM ·
evndisprepeats invariant low-gain/sum-window validation in the per-event loopLocation:
EventDisplay_v4/src/VEventLoop.cpp:1204-1292The analysis path rechecks availability of low-gain multipliers for
sumwindow_1,sumwindow_2, andsumwindow_pass1on every event for every telescope, even though these arerun-level constants after initialisation.
Impact: Avoidable branch-heavy work repeated millions of times in long runs.
H3 · HIGH ·
anasumdouble-scansmscw.rootand reinitialises TMVA twice per runLocation:
EventDisplay_v4/src/VAnaSum.cpp:464-465;EventDisplay_v4/src/VStereoAnalysis.cpp:264-349,434-448;EventDisplay_v4/src/VTMVAEvaluator.cpp:366-511;logFiles/analysis/64080.anasum.log:97-103,237-243In the reflected-background path, ON and OFF both point to the same
mscw.root, yetVAnaSumruns separate passes. Each pass reads
174 937entries and rebuilds the gamma/hadron TMVAreaders from disk.
Impact: For every run,
anasumroughly doubles tree I/O and repeats expensive TMVA andeffective-area initialisation that could be shared.
H4 · MEDIUM ·
anasumuses a linear TMVA-bin search with recomputed mean energies per eventLocation:
EventDisplay_v4/src/VTMVAEvaluator.cpp:714-745,802-839Each gamma/hadron evaluation calls
getDataBin(), which scans all loaded bins and recomputesthe mean energy of each candidate before evaluating the selected reader.
Impact: Avoidable per-event classifier overhead in the inner
anasumloop, especially withmany energy/zenith bins.
H5 · MEDIUM · Multi-run
anasumjobs scale as O(runs × total entries in chain)Location:
EventDisplay_v4/src/VAnaSum.cpp:464-465;EventDisplay_v4/src/VStereoAnalysis.cpp:434-450fillHistograms()loops over all chain entries and then filters byrunNumber == irun; eachrun-specific pass re-reads entries from all other runs.
Impact: Runtime can grow toward O(runs × total_entries) instead of near-linear.
H6 · MEDIUM ·
evndispreads pedestal calibration inputs redundantly during initialisationLocation:
logFiles/analysis/64080.log:247-252,263-268,275-280,291-296The same telescope-level pedestal products are read twice in succession during calibration setup.
Impact: Duplicated calibration I/O in the slowest stage of the data pipeline.
H7 · MEDIUM ·
mscw_energyrepeatedly rebuilds TMVA datasets instead of amortising setupLocation:
logFiles/analysis/64080.mscw.log:156-169;logFiles/irfs/20deg_0.5wob_NOISE200.mscw.log:261-277Both data-side and MC-side logs contain repeated
Rebuilding Dataset Defaultmessages.Impact: Avoidable setup churn, expensive when multiplied across large IRF productions.