25 const std::vector<const ISyst *>&
systs = {});
57 const std::vector<SystShifts>& systSeedPts = {},
65 return Fit(seed, systSeed, {}, std::vector<SystShifts>(1, systSeed), verb);
72 return Fit(seed, junkShifts, {}, {}, verb);
78 return Fit(
nullptr, systSeed, {}, std::vector<SystShifts>(1, systSeed), verb);
92 const std::vector<SystShifts>& systSeedPts)
const;
95 virtual std::unique_ptr<IFitSummary>
101 virtual std::unique_ptr<IFitSummary>
105 const std::vector<SystShifts>& systSeedPts,
112 const std::vector<SystShifts>& systSeedPts)
const;
Cuts and Vars for the 2020 FD DiF Study.
Simple record of shifts applied to systematic parameters.
virtual std::unique_ptr< IFitSummary > Fit(SystShifts &systSeed, Verbosity verb=kVerbose) const
Variant with no oscillations - useful for ND fits.
void ValidateSeeds(osc::IOscCalcAdjustable *seed, const SeedList &seedPts, const std::vector< SystShifts > &systSeedPts) const
Check that the seeds that were specified are compatible with the vars being fitted.
std::vector< const ISyst * > fSysts
virtual std::unique_ptr< IFitSummary > Fit(osc::IOscCalcAdjustable *seed, SystShifts &bestSysts=junkShifts, const SeedList &seedPts=SeedList(), const std::vector< SystShifts > &systSeedPts={}, Verbosity verb=kVerbose) const
Master fitting method. Depends on FitHelper and FitHelperSeeded.
SeedPt(const Seed &f, const SystShifts &s)
virtual std::unique_ptr< IFitSummary > FitHelperSeeded(osc::IOscCalcAdjustable *seed, SystShifts &systSeed, Verbosity verb) const =0
Helper for FitHelper – actually does fitting. Reimplement in derived classes.
std::vector< const IFitVar * > fVars
virtual double EvalMetricVal() const =0
static SystShifts junkShifts
virtual bool IsBetterThan(const IFitSummary *other) const =0
Is this fit better than other ?
std::vector< SeedPt > ExpandSeeds(const SeedList &seedPts, const std::vector< SystShifts > &systSeedPts) const
std::unique_ptr< SystShifts > GetSystShifts() const
std::unique_ptr< SystShifts > fShifts
virtual std::unique_ptr< IFitSummary > Fit(osc::IOscCalcAdjustable *seed, SystShifts &systSeed, Verbosity verb) const
Variant with no seedPts.
virtual std::unique_ptr< IFitSummary > FitHelper(osc::IOscCalcAdjustable *seed, SystShifts &bestSysts, const SeedList &seedPts, const std::vector< SystShifts > &systSeedPts, Verbosity verb) const
Helper for Fit.
virtual std::unique_ptr< IFitSummary > Fit(osc::IOscCalcAdjustable *seed, Verbosity verb) const
Variant with no seedPts and no systematics result returned.
IFitter(const std::vector< const IFitVar * > &vars, const std::vector< const ISyst * > &systs={})