8 #include <unordered_map>
21 SystShifts(
const std::map<const ISyst*, double>& shifts);
50 static std::unique_ptr<SystShifts>
LoadFrom(TDirectory*
dir);
54 std::unordered_map<const ISyst*, double>
fSysts;
std::unordered_map< const ISyst *, double > fSysts
static int fgNextID
The next unused ID.
std::string ShortName() const
Brief description of component shifts, for printing to screen.
void SetShift(const ISyst *syst, double shift)
Shifts are 0=nominal, -1,+1 = 1 sigma shifts.
Simple record of shifts applied to systematic parameters.
static std::unique_ptr< SystShifts > LoadFrom(TDirectory *dir)
process_name opflashCryoW ana
static SystShifts Nominal()
Encapsulate code to systematically shift a caf::StandardRecord.
caf::Proxy< caf::SRSlice > SRSliceProxy
void Shift(caf::SRSliceProxy *slc, double &weight) const
static SystShifts RandomThrow(const std::vector< const ISyst * > &systs)
int ID() const
SystShifts with the same set of systs should have the same ID.
std::string LatexName() const
Long description of component shifts, for plot labels.
double GetShift(const ISyst *syst) const
const SystShifts kNoShift
void SaveTo(TDirectory *dir) const
std::vector< const ISyst * > ActiveSysts() const
double Penalty() const
Penalty term for chi-squared fits.