Part II of the overhaul to handle the new CAF structure (Part I being #52) is to implement an alternative way to handle the systematic shifts machinery that currently lives in SpectrumLoader. Under the Source - Sink paradigm, it needs to move out of there somewhere else.
The model in the analogous update to SBN's implementation of CAFAna is a new EnsembleSpectrum approach, which is a container for a collection of Spectrums. Its approach is to connect as many _ISinks as are needed to handle all the various modifications that come from systematic shifts.
To-do list has not been fully sketched out, but a few of the items are:
[x] Port EnsembleSpectrum from SBN
[x] Create concrete ShiftedInteractionEnsembleSource (see SBN's ShiftedSliceEnsembleSource::HandleRecord(), in particular) that handles plugging all the individual variations back into an EnsembleSpectrum
Part II of the overhaul to handle the new CAF structure (Part I being #52) is to implement an alternative way to handle the systematic shifts machinery that currently lives in
SpectrumLoader
. Under the Source - Sink paradigm, it needs to move out of there somewhere else.The model in the analogous update to SBN's implementation of CAFAna is a new
EnsembleSpectrum
approach, which is a container for a collection ofSpectrum
s. Its approach is to connect as many_ISink
s as are needed to handle all the various modifications that come from systematic shifts.To-do list has not been fully sketched out, but a few of the items are:
EnsembleSpectrum
from SBNShiftedInteractionEnsembleSource
(see SBN's ShiftedSliceEnsembleSource::HandleRecord(), in particular) that handles plugging all the individual variations back into anEnsembleSpectrum